본문 바로가기
CONCEPT/OS

[OS] 커널, 이중 모드, 시스템 콜

by 1005 2025. 2. 22.

 

스마트폰의 기능은 다양하지만 핵심 기능이 전화, 문자이듯

운영체제가 제공하는 기능은 다양하지만 가장 핵심적인 서비스가 존재한다.

운영체제의 핵심 서비스를 담당하는 부분을 커널(kernel)이라고 한다.

e.g. 핵심적인 서비스 = 자원에 접근하고 조작하는 기능, 프로그램이 올바르고 안전하게 실행되게 하는 기능

 

자동차의 엔진, 사람의 심장과 같은 역할을 하는 '커널'

 

Q) 운영체제에는 속하는데 커널에는 속하지 않는 기능은?

: 유저 인터페이스(UI)는 사용자와 컴퓨터 간의 통로일 뿐 운영체제의 핵심 기능(커널)은 아님.

 

Q) 사용자가 실행하는 프로그램은 자원에 직접 접근할 수 있을까?

: 일반적인 응용프로그램은 자원에 직접 접근할 수 없다. 운영체제는 오직 자신을 통해서만 접근하도록하여 자원을 보호한다. = 자원 접근을 대행하는 문지기 역할

 

하드웨어(하드디스크) 호출 예시

 

 

 

 

self-learning-cs/system_calls/syscalls.html at main · kangtegong/self-learning-cs · GitHub

 

self-learning-cs/system_calls/syscalls.html at main · kangtegong/self-learning-cs

『혼자 공부하는 컴퓨터구조 & 운영체제』 (한빛미디어). Contribute to kangtegong/self-learning-cs development by creating an account on GitHub.

github.com

Chromium OS Docs - Linux System Call Table

 

Chromium OS Docs - Linux System Call Table

Linux System Call Table These are the system call numbers (NR) and their corresponding symbolic names. These vary significantly across architectures/ABIs, both in mappings and in actual name. This is a quick reference for people debugging things (e.g. secc

chromium.googlesource.com


< 운영체제의 핵심 서비스 >

 

1) 프로세스 관리 (process = task)

 

일목요연하게 관리 = 프로세스와 스레드, 프로세스 동기화, 교착상태 해결

 

2) 자원 접근 및 할당

- CPU(CPU 스케줄링: 어떤 프로세스를 먼저, 얼마나 오래 실행할까?)

 

- 메모리(페이징, 스와핑 등) <- 메모리에 비어있는 공간을 어떻게 찾을것인지,

                                                 다양한 프로세스를 전부 메모리에 적재하는게 효율적인지,

                                                 메모리 용량보다 큰 프로세스를 어떻게 적재할지

 

- 입출력 장치: 인터럽트 서비스 루틴

 

3) 파일 시스템 관리

- 관련된 정보를 파일이라는 단위로 저장 장치에 보관

- 파일들을 묶어 폴더(디렉토리) 단위로 저장 장치에 보관

 

* 보조기억장치에 있는 정보 덩어리를 '파일'이라고 하는 단위로 묶어서 저장장치에 보관함.

'파일들'을 묶은 단위로써 '폴더'라고함.

댓글