OS (Operating System)

[OS] Week02 - 2 (3/11) : system call interface (POSIX - kernel - system call number - run)

FDEE 2021. 3. 16. 17:29

OS 전반적인 내용 요약

- Process : 현재 수행중인 프로그램 (program in execution) : Context Switch를 통해 전환된다

- Thread : Overhead를 줄이기 위한 개념

- Scheduling : CPU - 100 process 중 1 process를 CPU가 연산

- Synchronization : "semaphore", "critical section" 중요개념

- Deadlock : process 중단현상

- Memory : Virtual Memory : address translation이 이루어진다 : MMU가 한다 (Memory Management Unit)

- HDD scheduling : seektime이 오래걸린다, SSD : NVM, NVMe, SATA 방식이 있다

 

Chapter 2

 

Operating system service

- File system manipulation : permition이 필요하다 (create, delete, search file)

- Efficiency (효율성) : Resource allocation (자원 할당), Accounting, Protection, Security

- Resource allocation : CPU, Memory, file, I/O device 등 많은 processes를 가지고 multi tasking

- Accounting : 작업관리자창 : 통계자료 제공

 

Interface

- CLI (Command line interface)

- GUI (Graphical user interface)

- Batch interface : many file들의 모음집

 

CLI

- Fetches a command from user and executes it

- commend 에서 shell 에서 task로 넘어간다

- shell은 해석 프로그램으로, commend를 바탕으로 실행할 file의 "위치"를 찾아 외부file을 실행하는 역할

 

System calls

- HW interrupt : ISR 무조건 실행 : kernel 모드로 전환

- Trap - Exception

- Trap - System call

 

System call

- application program 에서 OS 에게 serveice를 요청할 때 사용되는 "Mechanism" 이다

- 이때, API (Application Program Interface)를 통해 요청된다

 

Policy and Mechanism

Policy : "What" will be down? : 수행 목적

Mechanism : "How" to do it? : 수행 방법

 

System call 에서 사용되는 API (Application Program Interface)

- UNIX 기반 OS는 "POSIX" API를 통해 system call를 "indirectly"하게 부른다

- indirectly invoke system call

- POSIX : Portable Operating System Interface

- 즉, 개발자는 POSIX의 library를 통해 명령을 내리면 그에 해당하는 실제 system call이 동작된다

- Portability 한 특징 때문에 API를 사용한다 : easy

 

System call interface

- Table 형식으로 만들어져있다

- system call number 값을 통해 system call이 이루어진다

- Library 에서 system call 요청 : kernel 모드 진입 - system call number - system call 수행되는 형식