2025-09-06 22:30
Tags: 소프트웨어 공학
운영체제
-
컴퓨터 하드웨어를 관리하고 응용 프로그램에 기반을 제공하는 핵심 시스템 소프트웨어
-
커널은 운영체제의 심장으로, 프로세스, 메모리, 저장장치 등 시스템의 모든 것을 제어
-
커널의 역할
역할 | 설명 | 비유 |
---|---|---|
프로세스 관리 | CPU에 여러 프로세스(실행 중인 프로그램)를 번갈아 할당하여 동시에 여러 작업이 처리되는 것처럼 보이게 합니다. | 레스토랑의 유능한 매니저가 여러 테이블의 주문을 효율적으로 처리하는 것 |
메모리 관리 | 각 프로세스가 필요로 하는 메모리 공간을 할당하고, 다른 프로세스의 영역을 침범하지 않도록 보호합니다. | 도서관 사서가 각 이용자에게 필요한 책을 찾아주고 반납받는 것 |
파일 시스템 관리 | 하드디스크나 SSD 같은 저장장치에 파일을 생성, 읽기, 쓰기, 삭제하는 기능을 제공하고, 디렉터리 구조로 파일을 관리합니다. | 거대한 창고의 물품을 체계적으로 정리하고 재고를 파악하는 관리인 |
입출력(I/O) 관리 | 키보드, 마우스, 모니터, 프린터 등 다양한 입출력 장치와 컴퓨터 간의 데이터 전송을 제어합니다. | 공항의 관제탑이 수많은 비행기의 이착륙을 안전하게 통제하는 것 |
프로세스 간 통신(IPC) 관리 | 여러 프로세스가 서로 데이터를 주고받고 협력할 수 있도록 돕습니다. | 회사의 다른 부서들이 프로젝트를 위해 협업하도록 조율하는 것 |
-
시스템 호출 (System Call)과 모드 전환
- 사용자 모드: 일반 응용 프로그램이 실행되는 모드. 하드웨어에 직접 접근하는 등 민감한 작업은 제한됩니다.
- 커널 모드: 운영체제 커널이 실행되는 모드. 모든 시스템 자원에 접근할 수 있는 무소불위의 권한을 가집니다.”
-
종류
- 데스크톱 OS: Windows, macOS, Linux
- 모바일 OS: Android, iOS
- 서버 OS: Linux (CentOS, Ubuntu Server), Windows Server
- 임베디드 OS: 자동차, 가전제품, 산업용 로봇 등에 내장되는 실시간 운영체제(RTOS)