운영체제(OS)는 컴퓨터 시스템의 자원들을 효율적으로 사용하기 위해, 또 사용자가 편리하고 안전하게 작업을 할 수 있도록 지원하는 프로그램이다. 즉, 사용자가 원하는 응용 프로그램의 실행을 돕는데, 그 과정에서 하드웨어 제어 등과 같은 기능들을 처리한다. 운영체제를 사용하는 방식은 저마다 다를 수 있는데, 대표적으로 사용자가 직접 키보드 입력을 통해 운영체제에 작업 실행을 요청하는 명령 해석기와 마우스 입력을 통해 작업 실행을 처리하는 그래픽 사용자 인터페이스(GUI) 방식이 있다. 명령 해석기의 예시는 UNIX의 셸이 있다. 운영체제를 구성하는 요소로는 여러 프로세스들 중 어떤 것을 실행할 지 선택하는 스케줄링 등의 프로세스 관리, 프로세스 별 메모리 할당 및 회수를 담당하는 메모리 관리, 컴퓨터 시스템에 장착된 입출력 장치들을 제어하는 입출력 관리 등이 있다. 이 운영체제를 설계하고 구현하는 방법은 크게 모놀리식 커널 구조와 마이크로 커널 구조가 있는데, 의미는 다음과 같다. 먼저 커널은 항상 메모리에 적재된 상태로 실행되는 운영체제의 부분으로서, 좁은 의미의 운영체제로 보면 된다. 모놀리식 커널은 전통적인 방법으로서 운영체제의 모든 기능들을 묶은 하나의 큰 소프트웨어 조각과도 같다. 마이크로 커널은 기본적인 기능만 포함하는 대신 별도의 서버 프로세스들을 두고, 운영체제에 기능 호출할 때는 서버 프로세스와의 메시지 형태로 통신을 한다. 특히 후자는 이식성이 좋고 기능의 추가 및 변경이 용이하다는 장점이 있지만 속도가 느려 전자와 조합한 형태인 하이브리드 커널이 만들어졌다.
'OS' 카테고리의 다른 글
| 운영체제의 이해 8장: 저장장치 입출력 및 스케줄링 (2023.05.16) (0) | 2026.03.13 |
|---|---|
| 운영체제의 이해 7장: 파일 관리 (2023.05.10) (0) | 2026.03.13 |
| 운영체제의 이해 4장: CPU 스케줄링 (2023.04.12) (0) | 2026.03.13 |
| 운영체제의 이해 3장: 프로세스 관리 (2023.03.31) (0) | 2026.03.13 |
| 운영체제의 이해 2장: 컴퓨터 구조와 어셈블리 언어 (2023.03.23) (0) | 2026.03.13 |