컴퓨터 하드웨어를 관리하고 응용 프로그램 실행 환경을 제공하는 소프트웨어이다.
가장 기초적이고 체계적인 소프트웨어로서 모든 하드웨어와 소프트웨어를 가장 효율적으로 관리해 시스템의 성능을 극대화시키기 위해 사용한다.
운영체제의 두 가지 주요 기능은 시스템의 자원(resource)을 효율적으로 관히라는 것과 컴퓨터 시스템을 편리하게 사용할 수 있는 환경을 제공하는 것이다.
운영체제의 핵심은 자원을 효율적으로 관리하는 것으로, 하드웨어와 소프트웨어 자원이 있다.
CPU 스케줄링
: 어떤 프로그램에 CPU를 줄 것인가?메모리 관리
: 한정된 메모리를 어떻게 나누어 사용할 것인가?입출력 관리
: 각기 다른 입출력 장치와 컴퓨터 간에 어떻게 정보를 주고받을 것인가?파일 관리
: 디스크에 파일을 어떻게 보관할 것인가?프로세스 관리
: 디바이스 드라이버
: 운영체제 안에 하드웨어를 추상화 해주는 계층