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
'Computer Science > OS' 카테고리의 다른 글
[OS] 주소 공간과 가상 메모리 (0) | 2024.06.18 |
---|---|
[OS] PCB와 Context Switching (0) | 2024.06.18 |
[OS] 인터럽트 (0) | 2024.06.16 |
[OS] CPU 스케줄링 알고리즘 (2) | 2024.06.16 |
[OS] 프로세스와 스레드 (0) | 2024.06.13 |