Computer Science/OS

[OS] 시스템 콜 System Call

깨구르르 2024. 6. 16. 23:18
728x90

1. 정의

사용자 모드에서 커널 모드에 접근해 필요한 기능을 수행할 수 있게 하는 시스템 함수. 시스템 호출이라고도 부름

 


 

2. 필요성

  • 보호와 보안: 사용자 프로그램이 직접 하드웨어 자원에 접근하면 시스템의 안정성과 보안에 문제가 발생할 수 있음. 시스템 콜은 이러한 접근을 운영 체제의 통제를 받도록 하여 보호와 보안을 강화함
  • 추상화: 시스템 콜은 하드웨어의 복잡한 동작을 추상화하여, 프로그램이 쉽게 하드웨어를 사용할 수 있게 함
  • 자원 관리: 운영 체제가 시스템 자원을 효율적으로 관리하고, 사용자 프로그램 간의 자원 충돌을 방지할 수 있음

 


 

3. 종류

시스템 콜의 종류에는 프로세스 제어, 파일 조작, 디바이스 조작, 정보 유지, 통신, 보호가 있다.

 

- 프로세스 제어 Process Control

  • 끝내기 exit, 중지 abort
  • 적재 load, 실행 execute
  • 프로세스 생성 create process - fork
  • 프로세스 속성 획득과 속성 설정
  • 시간 대기 wait time
  • 사건 대기 wait event
  • 사건을 알림 signal event
  • 메모리 할당 및 해제

 


 

- 파일 조작 File Manipulation

  • 파일 생성/삭제 create, delete
  • 열기/닫기/읽기/쓰기 open, close, read, write
  • 위치 변경 reposition
  • 파일 속성 획득 및 설정 get file attribute, set file attribute

 


 

- 디바이스 조작

  • 하드웨어의 제어와 상대 정보를 얻음 ioctl
  • 장치를 요구 request device, 장치를 방출 release device
  • 읽기 read, 쓰기 write, 위치 변경
  • 장치 속성 획득 및 설정
  • 장치의 논리적 부착 및 분리

 


 

- 정보 유지 Information Maintenance

  • getpid(), alaram(), sleep()
  • 시간과 날짜의 설정과 획득 time
  • 시스템 데이터의 설정과 획득 date
  • 프로세스 파일, 장치 속성의 획득 및 설정

 


 

- 통신 Communication

  • pipe(), shm_open90, mmap()
  • 통신 연결의 생성, 제거
  • 메시지의 송신, 수신
  • 상태 정보 전달
  • 원격 장치의 부착 및 분리

 


 

- 보호 Protection

  • chmod()
  • unmask()
  • chown()

 


 

출처

 

https://github.com/devSquad-study/2023-CS-Study/blob/main/OS/os_system_call.md

 

728x90