운영체제의 정의, 목적, 분류, 예, 구조
컴퓨터 하드웨어 바로 위에 설치되어 사용자 및 다른 모든 소프트웨어와 하드웨어를 연결하는 소프트웨어 계층
- 좁은 의미의 OS (커널) : 운영체제의 핵심 부분으로 메모리에 상주하는 부분
- 넓은 의미의 OS : 커널 뿐 아니라 각종 주변 시스템 유틸리티를 포함한 개념
(1) 동시 작업 가능 여부
- Single Tasking : 한번에 하나의 작업만 처리, 한 프로그램이 끝날 때 까지 다른거 시작도 못함 (ex. MS-DOS)
- Multi Tasking : 동시에 두 개 이상의 작업 처리 (ex. Unix, MS Windows)
(2) 사용자 수
- Single User : MS-DOS, MS Windows
- Multi User : Unix, NT Server
(3) 처리 방식
- 일괄 처리(Batch processing) : 작업 요청의 일정량 모아서 한꺼번에 처리, 자업이 완전 종료될 때까지 기다려야 함
- 시분할(Time sharing) : 여러 작업을 수행할 때 컴퓨터 처리 능력을 일정한 시간 단위로 분할해서 사용, 일괄 처리에 비해 짧은 응답 시간, interactive함 (ex. Unix)
- 실시간(Realtime OS) : 정해진 시간 안에 어떠한 일이 반드시 종료됨이 보장되어야 함, Deadline이 있음 (ex. 원자로/공장 제어, 미사일 제어 - 시간이 조금 어긋나서 미사일이 이상한 곳에 발사되고 이러면 안되니까)
여러 작업 동시에 실행하는 거
메모리에 여러 프로그램이 동시에 올라가있는거
CPU쪽을 좀 더 강조한 말
하나의 컴퓨터에 CPU가 여러개
- CPU 스케줄링
- 메모리 관리
- 파일 관리 : 디스크에 파일을 어떻게 보관할 지
- 입출력 관리 : 각기 다른 I/O 장치와 컴퓨터 간에 어떻게 정보를 주고 받게 할 지
- 프로세스 관리 : 프로세스 생성과 삭제, 자원 할당 및 반환, 프로세스간 협력