1. 운영체제란?

2021. 5. 2. 17:39Computer Sciences/OS

운영체제(OS; Operating System)란 컴퓨터 하드웨어 바로 위에 설치되어 컴퓨터 하드웨어와 각종 소프트웨어, 사용자를 연결하는 소프트웨어 계층이다. 좁은 의미의 운영체제를 커널이라고도 부르며, 운영체제의 핵심 부분으로 메모리에 상주하는 부분을 말한다. 넓은 의미의 운영체제는 커널 뿐 아니라 각종 주변 시스템 유틸리티를 포함한 개념이다.

운영체제의 목적은 크게 두 가지가 있다. 첫 번째는 사용자가 컴퓨터를 편리하게 사용할 수 있게 사용할 수 있는 환경을 제공하는 것이고, 두 번째는 컴퓨터의 자원을 효율적으로 관리하기 위함이다.

컴퓨터의 효율적인 자원 관리

  • 프로세서, 기억장치, 입출력 장치 등의 효율적 관리 → 하드웨어 자원
    • 사용자간의 형평성 있는 자원 분배
    • 주어진 자원으로 최대한의 성능을 내도록
  • 사용자 및 운영체제 자신의 보호
  • 프로세스, 파일, 메시지 등을 관리 → 소프트웨어 자원

운영체제의 분류

  • 동시 작업 가능 여부
    • 단일 작업(Single tasking)
      • 한 번에 하나의 작업만 처리
        • MS-DOS 프롬프트 상에서는 한 명령의 수행을 끝내기 전에 다른 명령을 수행시킬 수 없음
    • 다중 작업(Multi tasking)
      • 동시에 두 개 이상의 작업 처리
        • UNIX, MS Windows 등에서는 한 명령의 수행이 끝나기 전에 다른 명령이나 프로그램을 수행할 수 있음
  • 사용자의 수
    • 단일 사용자(single user)
      • MS-DOS, MS Windows
    • 다중 사용자(multi user)
      • UNIX, NT server
  • 처리 방식
    • 일괄 처리(batch processing)
      • 작업 요청의 일정량을 모아서 한꺼번에 처리하는 방식
      • 작업이 완전히 종료될 때까지 기다려야 함
      • 초기 Punch Card 처리 시스템
    • 시분할(time sharing)
      • 여러 작업이 수행될 때 컴퓨터 처리 능력을 일정한 시간 단위로 분할하여 사용하는 방식
      • 일괄 처리 시스템에 비해 짧은 응답 시간을 가짐
        • UNIX
      • interactive한 방식
    • 실시간(Realtime OS)
      • 정해진 시간 안에 어떠한 일이 반드시 종료됨(deadline)이 보장되어야 하는 실시간시스템을 위한 OS
      • 실시간 시스템의 개념 확장
        • Hard realtime system(경성 실시간 시스템)
          • 원자로/공장 제어, 미사일 제어, 반도체 장비, 로봇 제어 등 도중에 중단 시 치명적인 시스템
        • Soft realtime system(연성 실시간 시스템)
          • 영화관 등 도중에 중단되더라도 큰 영향이 없는 시스템

몇 가지 용어

  • Multitasking
  • Multiprogramming
  • Time sharing
  • Multiprocess
  •  구분
    • 위의 용어들은 컴퓨터에서 여러 작업을 동시에 수행하는 것을 뜻함
    • Multiprogramming은 여러 프로그램이 메모리에 올라가 있음을 강조
    • Time sharing - CPU의 시간을 분할하여 나누어 쓴다는 의미를 강조
    • Multiprocess - 여러 프로그램이 동시에 실행된다는 의미를 강조
    • Multiprocessor : 하나의 컴퓨터에 CPU가 여러 개 붙어 있음을 의미

운영체제의 예

  • 유닉스(UNIX)
    • 대형 컴퓨터를 위해서 만들어짐
    • For 다중 사용자
    • 커널 코드가 대부분 C언어로 작성됨
    • 소스 코드 공개
    • 높은 이식성
    • 최소한의 커널 구조
    • 다양한 버전
      • System V, FreeBSD, SunOS, Solaris
      • Linux
  • MS Windows
    • 개인용 컴퓨터(PC)를 위해서 만들어짐
    • For 개인 사용자
    • 다중 작업용 GUI 기반 운영체제
    • 풍부한 자원 소프트웨어
    • Plug and Play, 네트워크 환경 강화

Uploaded by Notion2Tistory v1.1.0

'Computer Sciences > OS' 카테고리의 다른 글

4. CPU 스케줄링  (0) 2021.05.03
3-3. 프로세스의 연산  (0) 2021.05.02
3-2. PCB와 문맥 교환  (0) 2021.05.02
3-1. 프로세스의 개요  (0) 2021.05.02
2. 컴퓨터의 구조와 성능 향상  (0) 2021.05.02