운영체제
운영체제의 특징과 종류에 대해 알기 전에 우선 운영체제가 무엇인지에 대해 알아야 될 필요가 있다.
운영체제란 시스템 하드웨어를 관리할 뿐 아니라 응용 소프트웨어를 실행하기 위하여 하드웨어 추상화 플랫폼과 공통 시스템 서비스를 제공하는 시스템 소프트웨어이다.
부팅이란
부팅 또는 부팅업이란 컴퓨터에서 사용자가 사용자가 운영 체제를 시동할 때 운영 체제를 시작하는 부트스트래핑 과정이다. 시동이라고도 한다.
운영체제의 특징
- 여러 프로그램들을 같이 실행 시켜도 서로 충돌이 없이 실행되도록 프로그램 실행을 제어해야 된다.
- 컴퓨터와 하드웨어 사이의 인터페이스라고도 할 수 있다.
- 컴퓨터에서 발생할 수 있는 각종 오류나 예외상황을 감지하고 상위계층에 보고해야 한다.
- 컴퓨터 자원의 이용 현황에 대한 통계자료를 제공한다.
프로그램 (OS 위의 계층)
유틸리티(utility) : 시스템 프로그램
ex) 디버거(debugger), 컴파일러(compiler), 디스크 관리 프로그램, 시스템 진단 프로그램
응용프로그램(Application Program) : 사용자가 일상 생활에서 사용하는 프로그램
폰 노이만 구조에 따라 소프트웨어가 실행되려면 메인 메모리에 위치해 있어야 한다. 즉, 보조기억장치에 있는 운영체제와 프로그램은 보관용일 뿐이며 이들이 실행되기 위해 메모리로 복사되어 들어온다.
컴퓨터 하드웨어와 프로세스의 보안을 책임지는 커널은 항상 메인메모리에 있어야 한다.
운영체제의 운용기법
1. 단순 일괄처리 시스템
- 초기의 컴퓨터 시스템에서 사용된 형태로, 일정량 또는 일정 기간 동안 데이터를 모아서 한꺼번에 처리하는 방식이다.
2. 멀티프로그래밍 시스템 (다중프로그래밍)
- 하나의 CPU와 주기억장치를 이용하여 여러 개의 프로그램을 동시에 처리하는 방식이다. -> 프로세서의 수에 따라 처리한다.
- 하나의 주기억장치에 두 개 이상의 프로그램을 기억시켜 놓고, 하나의 CPU와 대화하면서 동시에 처리 -> 메인 메모리의 크기가 커져야 한다.
- CPU의 사용률과 처리량 증가 하지만 반응시간이 늦다.
3. 시분할 시스템 (타임 쉐어링시스템)
- 여러 명의 사용자가 사용하는 시스템에서 컴퓨터가 사용자들의 프로그램을 번갈아가며 처리해 줌으로써 각 사용자에게 독립된 컴퓨터를 사용하는 느낌을 주는 방식.
라울드 로빈 방식이라고도 한다.
- 하나의 CPU는 같은 시점에서 여러 개의 작업을 동시에 수행할 수 없기 때문에 CPU의 전체 사용 시간을 작은 작업 시간량으로 나누어서 그 시간량 동안만 번갈아가면서 CPU를 할당하여 각 작업을 처리한다.
'타임 슬라이스' 또는 '타임 퀀텀'이라 한다.
4.다중 처리 시스템
- 여러 개의 CPU와 하나의 주기억장치를 이용하여 여러 개의 프로그램을 동시에 처리하는 방식이다.
- 하나의 CPU가 고장나더라도 다른 CPU를 이용하여 업무를 처리할 수 있으므로 시스템의 신뢰성과 안정성이 높다.
5. 실시간 처리 시스템 (임베디드 시스템에서 주로 사용)
- 데이터 발생 즉시, 또는 데이터 처리 요구가 있는 즉시 처리하여 결과를 산출하는 방식이다.
- 처리 시간이 단축되고, 처리 비용 절감할 수 있다.
- 우주선 운행, 교통 제어, 레이더 추적기, 은행의 온라인 업무, 의료기기 등 에서 사용한다.
6. 다중 모드 처리
- 일괄 처리 시스템, 시분할 시스템, 다중 처리 시스템, 실시간 처리 시스템을 한 시스템에서 모두 제공하는 방식이다.
7. 분산 처리 시스템 (네트워킹)
- 여러 개의 컴퓨터를 통신 회선으로 연결하여 하나의 작업을 처리하는 방식
- 개별 컴퓨터들이 분담하여 일을 처리하므로 처리 속도가 빠르며 서비스나 데이터의 가용성이 높다.
- 하나의 컴퓨터가 고장나더라도 다른 컴퓨터를 이용하여 업무를 처리할 수 있으므로 시스템의 신뢰성과 안정성이 높다.