운영체제(Operating System)란 컴퓨터 시스템의 자원들을 효율적으로 관리하며, 사용자가 컴퓨터를 편리하고 효과적으로 사용할 수 있는 환경을 제공하는 소프트웨어이다. 컴퓨터 사용자와 하드웨어 시스템을 관리하는 소프트웨어의 일종으로 다른 응용프로그램이 유용한 작업을 할 수 있도록 환경을 제공해준다.
운영체제는 컴퓨터 하드웨어 바로 윗단에 설치되어 있으며 하드웨어 + 운영체제를 컴퓨터 시스템이라고도 부른다. 우리가 사용하는 각종 소프트웨어들은 바로 이 컴퓨터 시스템 위에서 작동하게 된다.
대표적인 운영체제는 Windows, Linux, Mac OSX, iOS 등이 있다.
주로 WINDOWS는 개인용 UNIX, LINUX는 서버용 운영체제로 사용됩니다.
운영체제는 사용자를 위한 역할과 하드웨어를 위한 역할이 있다.
운영체제는 사용자에게 컴퓨터 시스템을 편리하게 사용할 수 있는 인터페이스를 제공한다. 운영체제가 없다면 위에서 말한 하드웨어에 관한 모든 관리를 사용자가 해야한다는 점과 같이 컴퓨터를 사용하는데 매우 불편함을 겪어야 할 것이다. 하지만 현재 많은 발전을 거쳐온 운영체제가 설치된 컴퓨터는 사용하기에 매우 편리하다는 것을 알 수 있다. GUI와 CLI가 대표적인 예시이다.
우리가 많은 프로그램을 한번에 이용하는 경우에, 컴퓨터의 CPU가 하나임에도 이를 동시에 처리할 수 있는 이유는 운영체제에서 적절한 방식으로 프로세스들을 관리해주기 때문이다. 이와 관련된 내용으로는 시분할 방식, CPU 스케쥴링과 같은 개념들이 있다.
메모리는 CPU가 직접 접근할 수 있는 컴퓨터 내부의 기억 장치이며 모든 프로그램은 메모리 위에서 실행된다. 최근에는 여러 프로그램을 동시에 실행시키기 때문에 메모리 관리를 하지 않으면 메모리 침범 이슈와 같은 문제들이 발생하게 된다. 이러한 문제를 해결하기 위해서 한정된 메모리 공간을 가지고 얼마만큼 메모리를 할당해줄 것인지를 운영체제에서 관리한다. 물리적 메모리 관리 방식으로는 고정 분할 방식, 가변 분할 방식, 가상 메모리 방식 등이 있다.
운영체제는 하드웨어를 직접 관리하여 사용자의 실수를 방지하고 고의적인 공격에 대해서 방어한다. 또한 하드 디스크의 많은 파일들을 효율적으로 저장하고 관리해주는 역할도 수행합니다.
정리하면 운영체제는 컴퓨터의 성능을 높이고(performance), 사용자에게 편의성(Convenience)을 제공하는 컴퓨터 하드웨어 관리하는 프로그램이다.