운영체제의 목적
- 컴퓨터 시스템의 자원을 효율적으로 관리한다.
-> 프로세서, 기억장치, 입출력 장치 등의 효율적 관리
- 사용자간에 형평성 있게 자원을 분배한다.
- 주어진 자원으로 최대한의 성능을 낼 수 있도록 한다.
운영체제의 분류
- 동시 작업 가능 여부
- 단일 작업 : 한번에 하나의 작업만 처리한다. ex) MS-DOS
- 다중 작업 : 동시에 두 개 이상의 작업을 처리한다. ex) UNIX, Windows
- 사용자의 수
여러 계정을 만들어 동시 접근할 수 있는가에 대한 분류다.
Windows는 원격접속을 이용해 다중 사용자용으로도 사용할 수 있다.
- 단일 사용자 ex) MS-DOS, Windows
- 다중 사용자 ex) UNIX, NT Server
- 처리 방식
- 일괄 처리(batch processing) - 작업 요청의 일정량을 모아서 한꺼번에 처리하는 방법.
다음 작업을 하기 위해선 작업이 완전히 종료되기전까지 기다려야 한다.
- 시분할(time sharing) - 여러 작업을 수행할 때 컴퓨터 처리 능력을 일정한 시간 단위로 분할하여 사용하는 방법.
일괄 처리 시스템에 비해 짧은 응답 시간을 가진다.
빠르게 응답하며 주어진 자원을 최대한 활용하는 것이 목적.
- 실시간(realtime os) - 정해진 시간 안에 어떠한 일이 반드시 종료됨이 보장되어야 하는 실시간 시스템을 위한 OS
ex) 미사일 제어, 반도체 장비 등
몇 가지 용어들
Multitasking
- 여러 작업이 동시에 실행되는 방식
-> 그러나 엄밀히 말하면, cpu는 한 번에 하나의 작업만 수행. 짧은 시간 단위로 분할하여 작업하기 때문에 동시에 실행되는 것처럼 보인다.
Multiprogramming
- 메모리에 여러 프로그램이 동시에 올라가는 방식
-> 메모리의 동작 방식을 강조한 용어
Time sharing
- 위에서 설명한 시분할 시스템 방식
-> CPU의 동작 방식을 강조한 용어
Multiprocess
위 4가지 용어는 유사한 뜻으로 사용된다.
Multiprocessor
- 위 용어들과는 전혀 다른 뜻으로, 하나의 컴퓨터에 CPU가 여러 개 붙어 있음을 의미
운영체제의 예
UNIX
- 코드 대부분을 C언어로 작성했고, 높은 이식성을 가졌으며 최소한의 커널 구조를 가지고 소스코드가 공개되어있다.
- 다양한 버전이 존재한다.
DOS
- MS사에서 IBM-PC를 위해 개발.
- 단일 사용자용 운영체제이며 주 기억 장치가 640KB로 메모리 능력의 한계를 가졌다.
MS Windows
- MS사의 다중 작업용 GUI 기반 운영체제
- DOS용 응용 프로그램과 호환성 제공
운영체제의 구조
운영체제를 크게 나누면,
CPU를 할당하는 방법 -> CPU 스케줄링
한정된 메모리를 할당하는 방법 -> 메모리 관리
디스크에 파일을 보관하는 방법 -> 파일 관리
입출력장치와 컴퓨터 간에 정보를 주고 받는 방법 -> 입출력 관리
반효경 교수님의 운영체제 강의를 바탕으로 작성했습니다