운영체제(Operating System, OS) 란?
컴퓨터 하드웨어 바로 위에 설치되어 사용자 및 다른 모든 소프트웨어와 하드웨어를 연결하는 소프트웨어 계층
운영체제의 목적
- 컴퓨터 시스템을 편리하게 사용할 수 있는 환경을 제공
- 컴퓨터 시스템의 자원(CPU, Memory)을 효율적으로 관리
- CPU, 메모리, I/O 장치 등의 효율적 관리
- 실행중인 프로그램들에 메모리 공간을 적절히 분배
- 인터럽트가 들어오면 CPU는 운영체제로 넘어가 그 이유를 보고 자신이 할 일을 계속 수행.
운영체제의 분류
- 동시 작업 가능 여부
- 단일 작업(single tasking)
한번에 하나의 작업만 처리
- 다중 작업(multi tasking)
동시에 두 개 이상의 작업처리
- 사용자의 수
- 단일 사용자(single user)
ex) MS-DOS, MS Windows
- 다중 사용자(multi user)
ex) UNIX, NT server
- 처리 방식
- 일괄 처리 (batch processing)
작업 요청의 일정량 모아서 한꺼번에 처리
작업이 완전 종료될 때까지 기다려야 함
- 시분할 (time sharing)
여러 작업을 수행할 때 컴퓨터 처리 능력을 일정한 시간 단위로 분할하여 사용
일괄 처리 시스템에 비해 짧은 응답 시간을 가짐 (예) UNIX
Interactive한 방식
- 실시간 (Realtime OS)
정해진 시간(DeadLine) 안에 어떠한 일이 반드시 종료됨이 보장되어야 하는 실시간시스템을 위한 OS
예) 원자로/공장 제어, 미사일 제어, 반도체 장비, 로보트 제어
몇 가지 용어
- Multitasking
- Multiprogramming
메모리에 여러 프로그램이 동시에 올라온 상황
- Time sharing
CPU의 시간을 쪼개서 사용한다 (CPU 강조)
- Multiprocess
- Multiprocessor 주의
하나의 컴퓨터에 CPU(processor)가 여러 개 붙어 있음을 의미