운영 체제

최근 편집: 2023년 1월 5일 (목) 20:05

운영 체제(영어: OS; Operating system)는 컴퓨터에서 시스템 하드웨어를 관리할 뿐 아니라 응용 소프트웨어를 실행하기 위하여 하드웨어 추상화 플랫폼과 공통 시스템 서비스를 제공하는 시스템 소프트웨어이다. 최근에는 가상화 기술의 발전에 힘입어 실제 하드웨어가 아닌 하이퍼바이저 위에서 실행되기도 한다.

역할

입출력과 메모리 할당과 같은 하드웨어 기능의 경우 운영 체제는 응용 프로그램과 컴퓨터 하드웨어 사이의 중재 역할을 한다. 그러나 응용 프로그램 코드는 일반적으로 하드웨어에서 직접 실행된다.

운영 체제는 실행되는 응용 프로그램들이 메모리CPU, 입출력 장치 등의 자원들을 사용할 수 있도록 만들어 주고, 이들을 추상화하여 파일 시스템 등의 서비스를 제공한다. 또한 멀티태스킹을 지원하는 경우, 여러 개의 응용 프로그램을 실행하고 있는 동안, 운영 체제는 이러한 모든 프로세스들을 스케줄링하여 마치 그들이 동시에 수행되는 것처럼 보이는 효과를 낸다.

종류

운영 체제는 스마트폰, 게임기에서부터 슈퍼컴퓨터, 웹 서버에 이르기까지 컴퓨터를 포함하는 거의 모든 장치에서 볼 수 있다. 운영 체제는 한 면으로는 소비자를, 다른 한 면으로는 프로그램 개발자를 함께 하나의 시장으로 데려다 놓을 수 있는 양면 플랫폼이다. 잘 알려진 현대의 PC 운영 체제에는 마이크로소프트 윈도우, macOS, 리눅스가 있다. 이 밖에 BSD, 유닉스 등의 PC용 운영 체제도 존재한다.

운영 체제는 컴퓨터 과학의 연구 분야이기도 하다.

커널

커널(영어: Kernel)은 운영 체제의 심장부로써, 가장 중요한 일을 담당하고 있다. 대체로 메모리 관리, 프로세스스레드 관리, 하드웨어소프트웨어 간의 통신 등의 일을 수행하며, 운영 체제 연구 주제의 대부분은 커널과 관련되어 있다.

커널 영역과 사용자 영역

보안 및 안정성 상의 이유로 대부분의 운영 체제에서 응용프로그램은 두 개의 영역으로 구분되어 실행된다.

일반적으로 응용프로그램은 사용자 영역에서 실행되는데, 하드웨어와 같은 커널이 관리하는 자원에 접근하거나 운영체제의 저수준에 접근하기 위해서는 커널 영역에 진입해야 한다. 이 때 시스템 콜을 사용하게 되며, 필요한 작업이 끝나면 다시 사용자 영역에 돌아온다.

커널 영역과 사용자 영역의 구분이 없었던 윈도우 2000 미만의 DOS 커널을 사용하는 윈도우 시스템에서는 이러한 이유로 커널 영역의 메모리가 손상되거나 하드웨어를 잘못 만져서 블루스크린이 발생하는 경우가 많았다.

커널의 분류

알려진 커널