운영 체제란?
정의
- 컴퓨터 하드웨어와 시스템 자원을 관리하며, 응용 프로그램과 하드웨어 간의 인터페이스 역할을 하는 시스템 소프트웨어이다.
- 이를 통해 다른 응용 프로그램이 원활히 작동할 수 있는 환경을 제공하며, 사용자가 컴퓨터 자원을 효율적으로 사용할 수 있도록 돕는다.
구조
운영 체제는 크게 커널과 인터페이스 두 부분으로 나뉜다.
- 인터페이스: 사용자와 상호작용하는 부분이다.
- 결과를 화면에 표시하거나 사용자 입력을 받아 처리하는 기능을 담당한다.
- 커널: 운영 체제의 핵심 기능을 수행하는 부분이다.
- 프로세스 관리, 메모리 관리, 저장장치 관리 등 하드웨어 자원 관리와 응용 프로그램의 요청을 처리한다.
커널
- 시스템 호출(Call): 자원에 대한 직접 접근을 차단하고, 자원 사용을 위해 응용 프로그램이 커널에 요청할 수 있는 인터페이스를 제공한다.
- 예를 들어 응용 프로그램이 하드 디스크에 데이터를 저장하려면, 직접 하드디스크 특정 위치에 데이터를 저장하는 것이 아닌 커널의 시스템 호출을 통해 요청한다.
- 드라이버: 하드웨어와 소프트웨어 간의 인터페이스 역할을 수행하며, 커널이 하드웨어를 제어하고 통신할 수 있도록 지원한다.
역할과 목표
- 자원 보호: CPU와 메모리 등의 자원에 대한 사용자 및 응용 프로그램의 직접 접근을 차단하여 시스템의 안정성과 보안을 유지한다.
- 자원 관리: 여러 응용 프로그램이 자원을 요청할 때, 자원을 적절한 순서로 배분하고 회수하여 효율적으로 관리한다.
- 인터페이스 제공: 하드웨어 인터페이스(드라이버)와 사용자 인터페이스를 제공하여, 하드웨어와 소프트웨어를 쉽게 사용할 수 있도록 지원한다.
기능
1. 자원 관리
- 프로세스 관리: 프로그램의 실행과 CPU 자원 배분을 담당한다.
- 메모리 관리: 메모리의 할당, 해제, 가상 메모리 관리 기능을 포함한다.
- 입출력 장치 관리: 하드웨어 장치와 소프트웨어 간의 통신과 입출력 요청을 최적화한다.
- 파일 관리: 파일과 디렉터리를 관리하고 데이터의 보안을 책임진다.
2. 시스템 관리
- 시스템 보호: 사용자 인증, 접근 제어, 암호화 등을 통해 시스템 자원을 보호한다.
- 네트워크 관리: 네트워크 통신과 프로토콜을 관리하여 데이터 송수신을 담당한다.
- 명령 해석기(커맨드 인터프리터): 사용자 명령을 해석하고 운영 체제의 기능을 실행한다.
'CS > 운영체제' 카테고리의 다른 글
[OS] CPU 스케줄링 (1) | 2024.09.02 |
---|---|
[OS] 스레드 (0) | 2024.09.02 |
[OS] 프로세스간 통신(IPC) (0) | 2024.09.02 |
[OS] 프로세스 구조, PCB와 Context Switching (1) | 2024.09.02 |
[OS] 시스템콜과 I/O인터럽트 (3) | 2024.09.02 |