![post-thumbnail](https://velog.velcdn.com/images/alpaka206/post/727bf8df-1db2-4769-b9d8-ffbe5d11d71e/image.png)
운영체제(OS; Operating System)의 정의
- 운영체제는 컴퓨터 시스템의 자원들을 효율적으로 관리하며, 사용자가 컴퓨터를 편리하고 효과적으로 사용할 수 있도록 환경을 제공하는 여러 프로그램의 모임이다.
- 컴퓨터 사용자와 컴퓨터 하드웨어 간의 인터페이스로서 동작하는 시스템 소프트웨어의 일종으로, 다른 응용 프로그램이 유용한 작업을 할 수 있도록 환경을 제공해준다.
![](https://velog.velcdn.com/images/alpaka206/post/ad1234a2-1ee1-4a28-93d8-4ee371863232/image.png)
운영체제의 목적
- 운영체제의 목적에는 처리 능력 향상, 사용 가능도 향상, 신뢰도 향상, 반환 시간 단축 등이 있다.
- 처리 능력, 반환 시간, 사용 가능도, 신뢰도는 운영체제의 성능을 평가하는 기준이 된다.
- 처리 능력(Throughput): 일정 시간 내에 시스템이 처리하는 일의 양
- 반환 시간(Turn Around Time): 시스템에 작업을 의뢰한 시간부터 처리가 완료될 때까지 걸린 시간
- 사용 가능도(Availability): 시스템을 사용할 필요가 있을 때 즉시 사용 가능한 정도
- 신뢰도(Reliability): 시스템이 주어진 문제를 정확하게 해결하는 정도
운영체제의 구성
제어프로그램
- 제어 프로그램(Control Program)은 컴퓨터 전체의 작동 상태 감시, 작업의 순서 지정, 작업에 사용되는 데이터 관리 등의 역할을 수행하는 것으로 다음과 같이 구분할 수 있다.
- 감시 프로그램(Supervisor Program): 제어 프로그램 중 가장 핵심적인 역할을 하는 것으로, 자원의 할당 및 시스템 전체의 작동 상태를 감시하는 프로그램
- 작업 관리 프로그램(Job Management Program): 작업이 정상적으로 처리될 수 있도록 작업의 순서와 방법을 관리하는 프로그램
- 데이터 관리 프로그램(Data Management Program): 작업에 사용되는 데이터와 파일의 표준적인 처리 및 전송을 관리하는 프로그램
처리 프로그램
- 처리 프로그램(Processing Program)은 제어 프로그램의 지시를 받아 사용자가 요구한 문제를 해결하기 위한 프로그램으로, 다음과 같이 구분할 수 있다.
- 언어 번역 프로그램: 사용자가 고급언어로 작성한 원시 프로그램을 기계어 형태의 목적 프로그램으로 변환시키는 것으로, 컴파일러, 어셈블러, 인터프리터 등이 있음
- 서비스 프로그램: 사용자가 컴퓨터를 더욱 효율적으로 사용할 수 있도록 제작된 프로그램
- 분류/병합(Sort/Merge), 유틸리티 프로그램 등이 여기에 해당됨
운영체제의 기능
- 프로세서(처리기, Processor), 기억장치(주기억장치, 보조기억장치), 입·출력장치, 파일 및 정보 등의 자원을 관리한다.
- 자원을 효율적으로 관리하기 위해 자원의 스케줄링 기능을 제공한다.
- 사용자와 시스템 간의 편리한 인터페이스를 제공한다.
- 시스템의 각종 하드웨어와 네트워크를 관리·제어한다.
- 데이터를 관리하고, 데이터 및 자원의 공유 기능을 제공한다.
- 시스템의 오류를 검사하고 복구한다.
- 자원 보호 기능을 제공한다.
- 입·출력에 대한 보조 기능을 제공한다.
- 가상 계산기 기능을 제공한다.