1) 운영체제의 역할
- 편리성(CUI, GUI, EUCI)
- 효율성(HW/SW Resource Management 자원관리)
- 실행 주체(Process and Thead Management
- 시스템 보호(System Management)
컴퓨터 시스템의 구성
System Call Interface
사용자가 커널에 기능을 요청하는 통로(바로 커널을 조작 못함)
사용자 사용할 수 있는 기능을 모아 놓은 곳
2) 운영체제의 구분
- 동시 사용자 수
- 동시 실행 프로세스 수
- 작업방식(사용자 관점)
1. 동시 사용자 수
-- single-user 단일 사용자 : 한 명의 사용자만 시스템 사용 가능(개인용 컴퓨터, 모바일에 사용)
-- multi-user 다중 사용자 : 동시에 여러 사용자들이 시스템 사용(서버, 클러스터에 사용)
2. 동시 실행 프로세스 수
-- single-tasking system 단일 작업
시스템 내에 하나의 프로세스(작업)만 존재
하나의 프로그램 실행을 마친 뒤에 다른 프로그램의 실행
ex) MS-DOS
-- multi-tasking system 다중 작업
동시에 여러 프로세스 수행 가능
작업들 사이의 동시 수행, 동기화 등을 관리해야 함
ex) Unix/Linux, Windows 등
3. 작업 수행 방식
-- Batch Processing System 일괄처리 시스템
-- Time-Sharing System 시분할 시스템
-- Distributed Processing System 분산처리 시스템
-- Real-Time System 실시간 시스템
1940's - 순차 처리
운영체제 개념 존재하지 않음
각각의 작업에 대한 준비 시간이 소요
1950's - 60's - 일괄처리(배치) 시스템
모든 시스템을 중앙에서 관리 및 운영
사용자의 요청 작업을 일정 시간에 모아두었다가 한 번에 처리
시스템 지향적
장점 : 많은 사용자가 시스템 자원 공유, 처리 효율 향상
단점 : 생산성 저하(같은 유형 작업들이 모이기를 기다려야 함), 긴 응답시간(제출->결과까지 시간이 김)
1960's - 70's - 시분할 시스템
여러 사용자가 자원을 동시에 사용(OS가 파일 시스템 및 가상 메모리 관리)
사용자 지향적(User-oriented) : 터미널 사용
장점 : 응답시간 단축(약 5초), 생산성 향상
단점 : 통신 비용 증가, 보안 문제, 개인 사용자 체감 속도 저하(동시사용자 수 증가 -> 부하 증가 -> 느려짐)
Personal Computer(PC)
개인이 시스템 전체 독점
CPU 활용률이 고려의 대상이 아님
OS가 상대적으로 단순함
장점 : 빠른 응답시간
단점 : 성능이 낮음
Parallel Processing System 병렬처리 시스템
단일 시스템(기억장치, 주변장치) 내에서 둘 이상의 프로세서(CPU 2이상) 사용
tightly-coupled system
메모리 등의 자원 공유
사용목적 : 성능 향상, 신뢰성 향상
Distributed Processing System 분산처리 시스템
네트워크를 기반으로 구축된 병렬처리 시스템
Loosely-coupled system
사용자는 분산운영체제를 통해 하나의 프로그램, 자원처럼 사용가능
각 구성 요소들간의 독립성유지, 공동작업 가능
Cluster system, Client-server System, P2P 등
장점 : 자원 공유를 통한 높은 성능, 고신뢰성, 높은 확정성
단점 : 구축 및 관리가 어려움
Real-Time System 실시간 시스템
작업 처리에 제한시간을 갖는 시스템
제한 시간 내에 서비스를 제공하는 것이 자원 활용 효율보다 중요
작업의 종류
1. Hard real time task : 시간제약 지키지 못함 -> 시스템에 치명적 영향 ex) 발전소 제어, 무기 제어
2. Soft real time task : 동영상 재생
3. Non real time task :