01. Introduction to Operating Systems

운영체제란 무엇인가, 운영체제의 목적, 운영체제의 분류, 운영체제의 예, 운영체제의 구조

1. 운영체제란 무엇인가?

컴퓨터 하드웨어 바로 위에 설치되어 사용자 및 다른 모든 소프트웨어와 하드웨어를 연결하는 소프트웨어 계층이다.

  • 협의의 운영체제 (커널)
    • 운영체제의 핵심 부분으로 메모리에 항상 상주
  • 광의의 운영체제
    • 커널 뿐 아니라 주변 시스템 유틸리티 포함

2. 운영체제의 목적 2가지

자원을 효율적으로 관리
- 프로세서, 기억장치, 입출력 장치 등 HW적인 부분/ 프로세스,파일 메시지 등 SW적인 부분

컴퓨팅 환경 제공
- 컴퓨터 시스템을 편리하게 사용할 수 있는 환경을 제공

3. 운영체제의 분류

① 동시 작업 가능 여부 단일 작업(single tasking) : 한 번에 하나의 작업만 처리
ex) MS-DOS
다중 작업(multi tasking) : 동시에 두 개 이상의 작업 처리
ex) UNIX, MS WINDOWS

② 사용자의 수 단일 사용자(single user)
다중 사용자(multi user)

③ 처리 방식

  • 일괄 처리(batch processing) : 작업 요청의 일정량을 모아서 한꺼번에 처리

  • 시분할(time sharing) : 여러 작업을 수행할때 컴퓨터 처리 능력을 일정한 시간 단위로 분할하여 사용 (Interactive 방식)

  • 실시간(Realtime OS) : 정해진 시간 안에 어떠한 일이 반드시 종료됨이 보장되어야 하는 실시간 시스템을 위한 OS
    ex) 원자로 / 공장 제어 등 시분할과는 달리 DeadLine이 존재

    • Hard Realtime System(경성 실시간 시스템)
      ex) 원자로,미사일 제어

    • Soft Realtime System(연성 실시간 시스템)
      ex) 영화, 멀티미디어

4. 운영체제의 예

① UNIX : 멀티태스킹 기본
C언어로 작성 (기계와 독립적인 언어)
높은 이식성 ( 다른 컴퓨터에 이식하기 쉽다.)
최소한의 커널 구조
다양한 버전 : Linux , SunOs, Solaris
ex) 안드로이드 커널도 Linux 커널임

② WINDOWS : 개인용 컴퓨터 (처음엔 단일 사용자로 시작)

5. 운영체제의 구조

  • CPU 스케줄링 : 누구한테 CPU를 넘겨 줄 것인가?
    cf) 컴퓨터는 디스크, 메모리 접근시간 등이 다르기 때문에 FCFS 방법말고 다른 방법이 효율적일 수 있다.

  • 메모리 관리 : 메모리 공간은 한정적인데 올려야하는 프로그램이 많기 때문에 메모리 관리가 필요하다.
    cf) 읽어올때 => 디스크는 헤드에 위치에 따라 데이터를 읽기 때문에 헤드 이동을 줄이는 방법이 중요하다.

  • 파일 관리 : 디스크에 파일을 어떻게 보관할 것인가?

  • 입출력 관리 : 각기 다른 입출력 장치와 컴퓨터간의 정보를 어떻게 주고 받는가?
    cf) IO 디바이스는 매우 느린데 CPU와 정보를 어떻게 주고 받을 것인가? => 인터럽트

  • 프로세스 관리 등등


© 2019. All rights reserved.

Powered by Hydejack v8.4.0