항해99/TIL

시스템 호출 (system call, syscall)

하로이 2023. 1. 13. 23:31

1. 운영체제의 기능

 

'시스템콜(system call)'을 알기 전에 기본적인 운영체제의 기능에 대해 알고 있다면 이해가 참 쉽다.

'운영체제(Operating System)' Operating(운영)이란 이름에 걸맞게 컴퓨터를 제대로 실행 및 사용하게 해주는 프로그램이다.

운영체제가 없으면 컴퓨터 사용이 어려울 정도로 중요한 프로그램이 바로 '운영체제'이기 때문에 컴퓨터 사용에 필수적이며, 운영체제의 가격이 비싼것도 사실 어느 정도 이해가 되는 부분이다.

 

Q 이게 무슨 관련 ?

A 시스템 콜(system call)이란 것이 바로 프로세스가 운영체제(system)에게 운영체제 기능 요청하는(call) 것!

 

 

2. system call이란?

 

프로세스가 컴퓨터를 관리하는 시스템인 운영체제에게 어떤 기능(서비스)을 사용하게 해달라고 요청(call)할 때 사용

 

ex) '운영체제'🧘‍♀️는 회사 관리자고 '프로세스'👩‍💼는 말단 직원이다.

'프로세스 3'👩‍💼이란 직원이 자기 자리에 앉아 자신의 프로그램 코드를 실행 중이었는데, 만약 자기 프로그램 외 특정 파일 데이터를 필요로 한다고 쳐보자 이럴 때 조용히 독자적으로 파일 데이터를 읽을 수 있을까?

 

아니다! 멋대로 다른 파일을 읽어 들이는 것도 문제지만 기본적으로 파일을 읽고, 메모리에 데이터를 올리는 것은 운영체제🧘‍♀️의 역할이다. 

그래서 '프로세스3'👩‍💼은 관리자 운영체제🧘‍♀️에게 허락을 요청(call)을 할 수밖에 없다.

 

다만, 특정 파일이 필요한 경우가 아니라 운영체제가 관리하는 모~든 자원 (네트워크, 디스크, 메모리 등)을 '프로세스'가 필요로 할 경우 전부다 이 시스템콜(system call)'을 통해 사용해야

한다.

 

 

 

3. 사용방법

 

이런 시스템 콜들은 실제로 운영체제에서 사용하라고 만들어놓은 코드들(함수)로 프로그래밍을 할 때 시스템콜이 들어있는 헤더파일을 불러와서 사용

 

 

4. syscall이란? 

컴퓨터 공학에선 수많은 프로그램 및 명령어들을 줄여서 쓰는 것처럼 이 'system call'을 줄여서 'syscall'이라고도 합니다.

 

 

※ 참고 

 

 

시스템콜이란? 쉽고 자세히!

시스템 콜(system call, syscall)이란 것에 대해서 쉽고 자세하게 알려주는 포스트입니다.

mamu2830.blogspot.com

 

'항해99 > TIL' 카테고리의 다른 글

프로세스와 스레드의 차이점  (0) 2023.01.13
로그인 토큰 저장  (0) 2022.11.28
에러 마주하기  (0) 2022.11.02
항해 5주차(주특기 숙련주차)-1  (0) 2022.10.19
서버리스란?  (0) 2022.10.09