반응형
﹥ 시스템 콜(System Call)이란?
시스템 콜이란 OS의 특정 기능을 쓸 수 있게 하는 인터페이스를 요청하는 함수입니다.
운영체제는 커널 모드(Kernel Mode)와 사용자 모드(User Mode)로 나뉘어 구동됩니다.
→ 커널 모드 : 모든 시스템 메모리에 접근 가능하며, 모든 CPU 명령 실행 가능
→ 사용자 모드 : 하드웨어에 직접 접근이 불가하며, 사용자 애플리케이션 실행 가능. 시스템 콜 호출 시 일시적으로 커널모드로 전환.
즉, 사용자 모드에서 커널 영역의 기능에 접근할 수 있게 도와주는 기능을 시스템 콜이라고 합니다.
﹥ 시스템 콜을 사용하는 이유
OS는 프로세스의 실행, 종료나 I/O 작업 등의 사용자가 함부로 사용하면 문제가 될 만한 명령들을 Privileged Instruction으로 분류해놓았는데, 이와 같은 기능을 사용하기 위해서는 OS가 제공하는 시스템 콜을 사용해야 합니다.
특권 명령(Privileged Instruction)
관리자 모드에서만 사용할 수 있는 명령 (stop, halt, reset, set_timer 등)
일반 사용자가 아닌 OS만 명령어를 사용할 수 있다.
﹥ 시스템 콜의 종류
1. 프로세스 제어 (Process Control)
- fork()
- exit()
- wait()
2. 파일 조작 (File Manipulation)
- open()
- read()
- write()
- close()
3. 장치 관리 (Device Management)
- ioctl()
- read()
- write()
4. 정보 유지 (Information Maintenance)
- getpid()
- alarm()
- sleep()
5. 통신 (Communication)
- pipe()
- shm_open()
- mmap()
6. 보호 (Pretection)
- chmod()
- umask()
- chown()
References
반응형
'🗂 Study > 운영체제' 카테고리의 다른 글
[OS] 인터럽트 (Interrupt) 🚨 (0) | 2021.08.25 |
---|---|
[OS] 프로세스의 주소 공간 (0) | 2021.08.20 |
[OS] 프로세스(Process) 와 쓰레드(Thread) (0) | 2021.08.13 |
댓글