[OS/운영체제] 시스템 콜(System Call)

·2021년 7월 28일
0

OS

목록 보기
5/11
post-custom-banner

System Call (시스템 콜)

알아두기

커널(Kernel) 모드란?

프로세서의 특권 레벨로 프로세서의 모든 명령을 처리하며 시스템의 자원이나 하드웨어를 직접적으로 엑세스하여 컨트롤할 수 있는 모드. 실제 장치 드라이버나 운영체제 프로그램이 구동하는 모드

사용자(User) 모드란?

일반 응용 프로그램이 동작하는 비특권 모드. 시스템의 자원이나 하드웨어를 직접적으로 컨트롤 할 수 없으며 이를 하기 위해서는 System call(시스템 콜)을 사용해야 한다.


1. System call 이란?

정의

운영 체제의 커널이 제공하는 서비스에 대해, 응용 프로그램의 요청에 따라 커널에 접근하기 위한 인터페이스

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


2. System call과 Interrupt

시스템 콜(System call)은 내부 인터럽트(==SW 인터럽트, Trap)의 한 종류로 볼 수 있다.

인터럽트 더보기

3. System call의 유형

  1. 프로세스 제어

    • exec() : 다른 프로그램의 실행
    • fork() : 새 프로세스의 생성
    • wait() : 자식 프로세스가 끝날 때 까지 대기
  2. 파일 조작 : 파일 생성, 삭제, 관리 등 (open(), read(), write(), ...)

  3. 장치 관리 : 장치 요구 및 장치 해제, 읽기, 쓰기, 재배치 등

  4. 정보 유지: 시간과 날짜의 설정과 획득, 시스템 자료의 설정과 획득

  5. 통신 : 통신 연결의 생성 및 제거, 메시지의 송수신, 상태 정보 전달 등
    (공유 메모리에서 다른 프로세스 소유 메모리 접근 시)


출처

https://github.com/haewon-park/csStudy/blob/5b257ba07925220d9f0c2d533bbdee358511c878/OS/systemCall.md
https://velog.io/@woo0_hooo/%EA%B8%B0%EC%88%A0%EB%A9%B4%EC%A0%91%EB%8C%80%EB%B9%84-System-Call%EC%9D%B4%EB%9E%80
https://mamu2830.blogspot.com/2021/01/whatIsSystemCall.html

profile
당근먹고 자라나는 개발자
post-custom-banner

0개의 댓글