본문 바로가기
Knowledge/CS

[CS] 시스템 콜

by YoonJong 2023. 1. 23.
728x90

시스템 콜은 운영체제가 커널에 접근하기 위한 인터페이스(추상화) 이다.

유저 프로그램이 운영체제의 서비스를 사용하기 위해서는 시스템 콜을 통해 해당 로직을 실행할 수 있다.

 

면접을 위한 CS 전공지식 노트

유저 프로그램에서 파일을 읽는 메서드(함수)를 실행시켰다고 생각해보자.

유저프로그램은 직접 파일 시스템에 접근할 수 없다.

유저 모드에서는 시스템 콜을 통해 커널모드로 들어가서 파일을 읽고 다시 시스템 콜을 통해 유저모드로 들어가 해당 메서드를 수행한다.

 

유저모드 : 유저가 접근할 수 있는 영역, 컴퓨터 자원에 침범하지 못한다.

커널모드 : 모든 컴퓨터 자원에 접근가능한 모드이다.

 

시스템콜을 통해 모드를 구분하지 않고 시스템에 접근이 가능하게 되면, 보안상 큰 문제가 발생할 수 있다.

 

이로인해, 파일 시스템은 외부에서의 접근에 보호받을 수 있다.

 

시스템콜이 작동될 때 modebit 이라는 것으로 유저모드인지, 커널모드인지 구분한다.

0 또는 1의 값을 가지는 0은 커널모드이고 1은 유저모드이다.

위의 진행 순서처럼 파일 시스템에 접근할 때는 1 -> 0 으로 변경되며 로직 실행 후, 0 -> 1 로 변경되며 유저모드로 돌아간다.

728x90

'Knowledge > CS' 카테고리의 다른 글

[CS] RDBMS 와 NoSQL 의 차이  (0) 2023.02.09
[CS] 트랜잭션(Transaction) 이란?  (0) 2023.01.28
[CS] 스프링 프레임워크란?  (0) 2023.01.13
[CS] HTTP 1.0 / 1.1 / 2  (0) 2023.01.11
[CS] 네트워크 토폴로지  (0) 2022.12.30

댓글