전 강의 Q&A
- 동기식 입출력과 비동기식 입출력
- 입출력 요청은 운영체제를 통해서 해야함.
- 해당 과정은 오래 걸림
- 입출력이 끝날 때까지 기다려야 하면 동기식 입출력
- 입출력 요청 후 다른 작업을 진행한다면 비동기식 입출력
Thread
- "A thread(or lightweight process) is a basic unit of CPU utilization"
- Thread의 구성
- program counter
- register set
- stack space
- Thread가 동료 Thread와 공유하는 부분(=task)
- code section
- data section
- OS resources
- 전통적인 개념의 heavyweight process는 하나의 thread를 가지고 있는 task로 볼 수 있다.
- CPU 수행을 위해서는 PC가 필요하고, 해당 CPU에서 실행하면서 register 저장 공간이 필요하므로 Thread 각각 별도로 유지하고 있다.
- 또한, Thread가 각각 함수를 호출할 때 별도의 Stack 공간에 저장한다.
Thread의 장점
- 다중 스레드로 구성된 태스크 구조에서는 하나의 서버 스레드가 blocked (waiting) 상태인 동안에도 동일한 태스트 내의 다른 스레드가 실행(running)되어 빠른 처리를 할 수 있다.
- 동일한 일을 수행하는 다중 스레드가 협력하여 높은 처리율(throughput)과 성능 향상을 얻을 수 있다.
- 스레드를 사용하면 병렬성을 높일 수 있다.
'프로그래밍 > 운영체제(OS)' 카테고리의 다른 글
[KOCW] 반효경 운영체제 강의 정리 - 4. Process Management 1 (0) | 2022.05.12 |
---|---|
[KOCW] 반효경 운영체제 강의 정리 - 3. Process 3 (0) | 2022.05.09 |
[KOCW] 반효경 운영체제 강의 정리 - 3. Process 1 (0) | 2022.05.03 |
[KOCW] 반효경 운영체제 강의 정리 - 2. System Structure & Program Execution 2 (0) | 2022.05.03 |
[KOCW] 반효경 운영체제 강의 정리 - 2. System Structure & Program Execution 1 (0) | 2022.04.30 |