운영체제의 분류
동시 작업 가능 여부, 사용자의 수, 처리 방식에 따라 운영체제를 분류할 수 있다.
동시작업 가능 여부
단일 작업(Single Tasking)
- 한번에 하나의 작업만 처리
- 예) MS-DOS 프롬프트 상에서는 한 명령의 수행을 끝내기 전에 다른 명령을 수행시킬 수 없음
다중 작업(Multi Tasking)
- 동시에 두 개 이상의 작업 처리
- 예) UNIX, MS Windows 등에서는 한 명령의 수행이 끝나기 전에 다른 명령이나 프로그램을 수행 할 수 있음
예전 운영체제에서는 한번에 하나의 작업만 처리 가능한 단일 작업만 가능했다.
하지만 스마트폰, 스마트티비 등이 다중작업을 지원해주는 범용 컴퓨터 기기로 발전하면서 지금의 운영체제들은 대부분 다중작업을 지원해주는 운영체제다.
단, 전화만 되는 휴대폰, 엘리베이터등 기능이 하나밖에 없고 그 기능에 충실한 특수 목적의 프로그램의 경우 아직도 단일 작업만 지원하기도 한다.
사용자의 수
컴퓨터 한대를 여러 사용자가 동시에 접속해서 쓸 수 있는가
단일 사용자(Single User)
- MS-DOS, MS Windows
- 단일 작업만 지원해주는 운영체제의 경우 단일 사용자만 지원
다중 사용자(Multi User)
- UNIX, NT Server
- 서버에 계정을 여러개 만들고 원격으로 여러명이 동시에 접근 가능 한 것
- 보안기능, 지원 형평성있게 배분하는 기능들이 추가로 필요
처리방식
일괄 처리(Batch Processing) - 배치 프로세싱 한다.
- 작업 요청의 일정량 모아서 한꺼번에 처리
- 작업이 완전 종료될때까지 기다려야 함
- 예) 초기 Punch Card 처리 시스템
시분할(Time Sharing)
- 여러 작업을 수행할 때 컴퓨터 처리 능력을 일정한 시간 단위로 분할하여 사용
- 일괄 처리 시스템에 비해 짧은 응답 시간을 가짐
- 각각의 사용자 입장에서는 interactive한 방식 : 사용자가 키보드를 치면 바로 화면에 나옴
- 정해진 시간 제약조건을 만족하진 않음 : 데드라인이 있는 것이 아니기 때문에 사용자가 엄청 많아지면 느려질 수 있음
- 목적 : 사람이 느끼기에 빠르게 해주면서 동시에 주어진 자원을 최대한 활용하는 것
- 예) UNIX
실시간(Realtime OS)
- 정해진 시간 안에 반드시 종료됨이 보장되어야 하는 실시간시스템을 위한 OS
- 데드라인이 정해져 있어서 정해진 시간안에 반드시 결과가 나오는 것을 보장해주는 시스템
- 예) 특수한 목적을 가진 시스템에서 사용 : 원자로/공장 제어, 미사일 제어, 반도체 장비, 로보트 제어
실시간 시스템 개념 확장
1. Hard Realtime System(경성 실시간 시스템)
- 데드라인을 정확히 지키지 않으면 치명적인 결과가 나오는 것
2. Soft Realtime System
- 데드라인은 있지만 조금 어겼다고 해도 큰 영향은 없는 것
- 예) 영화보기, 멀티미디어 플레이어 : 초당 24프레임을 읽어와서 디코딩해서 화면을 뿌려줘야 플레이가 됨. 못맞추면 영화가 끊김 > 치명적인 결과를 초래하는 것은 아님
범용컴퓨터에 비해서 스마트폰이라든지 장비들이 실시간성을 필요로하는 응용프로그램들이 늘어나고 있기 때문에 운영체제도 이러한 애플리케이션을 어떻게 지원해야하는지 연구
예) 네비게이션 : 늦게 알려주면 소용이 없음
현대 운영체제 : 다중작업, 다중사용자, 시분할 방식
[참고]
'Computer Science > OS' 카테고리의 다른 글
[OS] 프로그램 실행 (0) | 2022.02.19 |
---|---|
[OS] 컴퓨터 시스템 구조 (0) | 2022.02.16 |
[OS] 운영체제란 (0) | 2022.02.12 |
댓글