📌 운영체제
운영체제는 컴퓨터 하드웨어와 응용 프로그램 사이의 중개자 역할을 하며, 시스템 자원을 효율적으로 관리하고 사용자에게 편리한 인터페이스를 제공하는 소프트웨어이다.
운영체제는
인터페이스, 시스템콜, 커널, 드라이버 4가지로 이루어져있다.
그중에서도 크게 인터페이스와 커널로 구분할 수 있다.
EX )Window, MAC OS, Unix, Linux, Android, iOS
- 커널
프로세스 관리, 메모리 관리, 저장 장치 관리와 같은 운영체제의 핵심적인 기능을 모아놓은 것이다.
그래서 운영체제의 성능은 커널이 좌우하게 된다. - 인터페이스
사용자와 응용프로그램에 인접하여 커널에 명령을 전달하고 실행 결과를 사용자와 응용프로그램에 돌려주는 역할을 한다.
📌 운영체제의 역할
운영체제는 효율성, 안정성, 확장성, 편리성을 목표로 한다. 주요 역할로는 다음과 같다.
- 자원관리
CPU, 메모리, 저장장치, 입출력 장치 등 다양한 하드웨어 자원을 효율적으로 배분하고 관리한다. 자원을 요청하면 적절한 순서로 배분(스케줄링)하여 관리한다. (메모리 관리, 프로세스 관리, 입출력 장치 관리,파일 관리 등등) - 시스템 관리(시스템 보호, 네트워크, 명령 해석기)
시스템 전반의 안전성과 효율성을 유지한다.
⭐️ 커널
위에서 말했듯이 커널은 운영체제의 성능을 좌우한다. 왜냐하면 커널은 프로세스, 메모리, 저장 장치, 입출력 장치등에 자원을 배분하는 역할을 하기 때문이다.
커널은 시스템콜(시스템호출)과 드라이버가 있다.
시스템콜
시스템콜은 커널이 자신을 보호하기 위해 만든 인터페이스다. 커널은 자원에 대한 직접 접근을 차단하기 때문에 자원을 이용하기 위한 시스템 호출이라는 인터페이스를 필요로 한다.
드라이버
드라이버는 하드웨어 인터페이스 역할을 한다. 디바이스 드라이버와 함께 동작한다.
✔️ User Mode & Kernel Mode
커널은 중요한 자원을 관리하기 때문에, 사용자가 임의로 자원에 접근하지 못하도록 보호하기 위해 두 가지 모드로 구분된다. 프로세스가 실행되는 동안 유저모드와 커널모드를 반복적으로 전환하며, 유저 애플리케이션이 시스템 서비스를 호출할 때 유저모드에서 커널모드로 전환된다.
User Mode
- 사용자가 접근할 수 있는 영역이 제한되어, 프로그램이 자원에 함부로 접근하지 못하도록 한다.
- 하드웨어에 직접 접근할 수 없다.
- 시스템 서비스를 사용하기 위해 시스템 콜을 통해 커널모드로 전환된다.
Kernel Mode
- 운영체제 코드나 디바이스 드라이버 등 중요한 시스템 코드가 실행되는 모드이다.
- 모든 시스템 메모리와 하드웨어 자원에 직접 접근할 수 있다.
- CPU의 모든 명령어를 실행할 수 있다.
'Computer Science' 카테고리의 다른 글
[CS]동기화와 교착 상태 (0) | 2025.04.18 |
---|---|
[CS]프로세스와 스레드 (0) | 2025.04.18 |
[OSTEP 운영체제 정리] - Log-Structured File System (0) | 2024.06.24 |
[OSTEP 운영체제 정리] - File system implementation (0) | 2024.06.24 |
[OSTEP 운영체제 정리] - File and Directories (0) | 2024.06.24 |