정의
하드웨어를 관리하고, 응용 프로그램과 하드웨어 사이에서 인터페이스 역할을 하며 시스템의 동작을 제어하는 시스템 소프트웨어이다.
시스템의 자원과 동작을 관리하는 소프트웨어
운영체제를 큰 틀로 나눠보자
1차 저장장치에 해당하는 메인메모리와 2차 저장장치에 해당하는 하드디스크, NAND(Negative-AND, 플래시메모리) 등을 관리하는 기능이다.
1차 저장장치 (Main Memory)
2차 저장장치 (HDD, NAND Flash Memory 등)
TCP/IP 기반의 인터넷에 연결하거나, 응용 프로그램이 네트워크를 사용하려면 운영체제에서 네트워크 프로토콜을 지원 해야 한다.
이처럼 운영체제는 사용자와 컴퓨터 하드웨어 사이에 위치해서, 하드웨어를 운영 및 관리하고 명령어를 제어하며 응용프로그램 및 하드웨어를 소프트웨어적으로 제어 및 관리를 해야한다.
하나의 PC로도 여러 사람이 사용하는 경우가 많다.
운영체제는 각 계정을 관리할 수 있는 기능이 필요하다.
사용자 별로 프라이버시와 보안을 위해 개인 파일에 대해선 다른 사용자가 접근할 수 없도록 해야 한다. 이 밖에도 파일이나 시스템 자원에 접근 권한을 지정할 수 있도록 지원하는 것이 사용자 관리 기능이다.
운영체제는 시스템의 자원, 하드웨어를 관리한다. 시스템에는 여러 하드웨어가 붙어있는데, 이들을 운영체제에서 인식하고 관리하게 만들어 응용 프로그램이 하드웨어를 사용할 수 있게 만들어야 한다.
따라서, 운영체제 안에 하드웨어를 추상화 해주는 계층이 필요하다. 이 계층이 바로 디바이스 드라이버라고 불린다. 하드웨어의 종류가 많은 만큼, 운영체제 내부의 디바이스 드라이버도 많이 존재한다.
이러한 수많은 디바이스 드라이버들을 관리하는 기능 또한 운영체제가 맡고 있다.
처리능력(Throughput) 향상 : 일정시간 내에 시스템이 처리하는 일의 양
반환시간(Turn Around Time) 단축 : 시스템에 작업을 의뢰한 시간부터 처리가 완료될 때까지 걸리는 시간
사용가능도(Availability) 향상 : 시스템을 사용할 필요가 있을 때, 즉시 사용 가능한 정도
신뢰도(Reliability) 향상 : 시스템이 주어진 문제를 정확하게 해결하는 정도