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 수행되는 형식
'OS (Operating System)' 카테고리의 다른 글
[OS] Week03 - 2 (3/18) : process state, PCB, scheduler, architecture (0) | 2021.03.18 |
---|---|
[OS] Week03 - 1 (3/16) : parameter, layered structure, virtual machine, boot (0) | 2021.03.16 |
[OS] Week02 - 1 (3/9) : storage structure, cashing, multiprocess, scheduling (0) | 2021.03.09 |
[OS] Week01 - 2 (3/4) : OS 정의, DMA, Interrupt 개념 (0) | 2021.03.04 |
[OS] Mac에서 VirtualBox로 Linux 설치하는 방법 (0) | 2021.03.02 |