운영체제

컴퓨터 하드웨어 바로 위에 설치되어, sw와 hw를 연결하는 sw 계층

  • 좁은 의미 : 커널(운영체제의 핵심, 부팅 이후 항상 메모리에 상주)
  • 넓은 의미 :  각종 시스템들

 

운영체제의 목적

1. 자원을 효율적으로 관리하는 것

  • hw 자원(cpu, 메모리, I/O 장치 등)을 관리
  • sw 자원(프로세스, 파일, 메시지 등)을 관리
  • 형평성있는 자원 배분

2. 사용자가 편리하게 컴퓨터를 사용할 수 있는 환경을 제공하는 것.


운영체제의 분류

 

✅ 동시 작업 가능 여부를 기준으로 2가지로 나뉜다.

 

1. 단일 작업(single tasking)

  • 한 번에 하나의 작업만 처리
    • ex) MS-DOS 프롬프트

2. 다중 작업(multi tasking)

  • 동시에 두 개 이상의 작업 처리
    • ex) UNIX, MS Windows

사용자의 수에 따라 2가지로 나뉜다.

 

1. 단일 사용자(single User)

 

2. 다중 사용자(multi User)

 

 

처리 방식에 따라 3가지로 나뉜다.

 

1. 일괄 처리(batch processing)

  • 작업 요청을 모아뒀다가 한꺼번에 처리
  • 작업이 완전히 종료될 때까지 기다려야 한다.(not Interactive)

2. 시분할(time sharing)

  • Interactive : 바로바로 결과가 나옴. -> 짧은 응답 시간
  • 여러 작업을 수행할 때 컴퓨터 수행 능력을 수행해야하는 일에 분할하여 줌으로써 여러가지 일을 동시에 처리하게됨.

3. 실시간(Realtime OS)

  • 정해진 시간 안에 어떤 일이 반드시 종료됨이 보장되어야 함. 정교함 ⬆️
    • 예) 공장 제어, 미사일 제어, 반도체 장비..
  • Hard realtime system, Soft realtime system

왜 OS를 배우는가?

1. Abstraction : 한정된 컴퓨터 자원을 실세계와 비교하여, 잘 사용하기 위해서

2. System design : 프로그래머는 항상 trace offs 문제를 겪는다. (HW vs SW, 편리성과 수행능력, OS의 단순화와 수행능력)

3. Primary intersection point : OS는 하드웨어, 소프트웨어, 프로그래밍 언어, 자료구조, 알고리즘 등 모든 점의 교차로이다.

4. Curiosity : 내가 개발하는 환경 아래에 있는 무언가에 대한 호기심

 

 

 

sebinChu