Systemcall
title: 2025-08-19 author: 강병호 (이름) date: 2025-08-19 (날짜) category: TIL/강병호/2025/08 (파일 경로 : TIL/{이름}/{연}/{월}) layout: post (자유) —
우리가 사용하는 시스템 콜의 예시를 들어주세요.
System.out.println
해당 명령어를 통해 응용 프로그램에서 write를 할수 있도록 처리합니다.mkdir
cd
시스템 콜이, 운영체제에서 어떤 과정으로 실행되는지 설명해 주세요.
- 평소 사용자 모드에 있는 응용 프로그램이 커널의
시스템 콜의 유형에 대해 설명해 주세요.
시스템 콜을 통해 커널에게 OS단의 처리를 할 수 있는 처리들을 하게 되는데 다음의 범주로 나눌 수 있다.
- 프로세스 제어 :
end
,abort
,create process
- 파일 조작 :
create file
,open
,close
,read
- 장치 관리 : 마우스, 키보드 등의 디바이스 입출력
- 정보 유지 : 시스템 내부 데이터, 파일의 처리
- 통신 : 메시지 송수신 및 상태연결, 공유메모리 처리
- 정보 보호 : 파일 권한 처리
운영체제의 Dual Mode 에 대해 설명해 주세요
운영체제는 운영체제를 사용자로부터 보호하기 위해 존재하는 기법으로 사용자와 운영체제 사이에서의 시스템 자원 공유 과정에서 사용자가 메모리 내의 주요한 운영체제의 지원을 망가뜨리지 않도록 보호하는 것이다.
Dual Mode는 다음 두 가지 모드로 나뉠 수 있다.
- 사용자 모드 : 사용자가 접근 가능
- 커널 모드 : 사용자가 접근 불가능
왜 유저모드와 커널모드를 구분해야 하나요?
일부 명령은 운영체제 내부에 나쁜 영향을 끼칠 수 있다. 이러한 명령들을 priviledge instruction
으로 지정하여 운영체제 자신과 유저에게 시스템 상의 보호를 제공할 수 있다.
위 방식을 통해 priviledge instruction
이 커널 모드에서만 실행되도록 하여 사용자가 운영체제 내부에 문제를 발생시키지 않도록 처리한다.
실제로 사용자 모드에서 priviledge instruction
을 사용하면 불법적인 명령으로 간주하여 trap
이라는 인터럽트를 걸게 된다.