Process 2
- 동기식 입출력과 비동기식 입출력
instruction이 끝날 때까지 기다리고 아무것도 안하면 – 동기식
입출력 진행 동안에 곧바로 CPU를 잡아서 instruction을 수행 – 비동기식
-> 동기식과 비동기식 입출력 헷갈리는 것
프로세스가 IO요청 후 CPU를 가지고 있으면서 기다리면 구현방법 1
다른 프로그램에게 CPU를 넘겨주면 구현방법 2 / 효율적인 CPU 사용을 위함
-> 구현방법 2는 CPU를 빼앗아서 프로그램을 줄 세우는 거고 비동기식은 시작하자마자 제어가 사용자 프로그램으로 넘어가는 것.
- Thread (lightweight process)
프로세스 내부에 CPU 수행 단위가 여러 개 있는 경우
프로세스를 여러 개 만들면 별도의 주소공간이 만들어지기에 같은 일을 하는 프로세스를 여러 개 사용하고 싶을 때 한 가지 주소공간으로 다른 부분의 코드를 사용하게 하면 된다.(PC만 여러 개를 두면 되는 것)
-> 프로세스 하나에서 메모리 주소 공간, 프로세스 상태, 각종 자원들 까지 공유(task)
-> CPU 수행관련 정보 Program Counter, Register set, Stack space 과 같은 것들만 별도로 가지고 있게 됨
- 스레드의 장점
1. 응답성, Responsiveness : 다중 스레드로 구성된 태스크 구조에서는 하나의 서버 스레드가 blocked, waiting 상태인 동안에도
동일 태스크 내 다른 스레드가 running 되어 빠른 처리가 가능하다. ex)multi-threaded Web
2. 자원 공유,Resource Sharing : 동일한 일 수행 다중 스레드가 협력하여 높은 처리율, throughtput과 성능 향상을 얻을 수 있다.
3. 경제성, Economy : 프로세스 하나를 만드는 것에 대한 오버헤드, CPU switching 에 관한 오버헤드를 줄일 수 있다.
4. 병렬성, Utilization of MP Architectures : CPU가 여러 개 일 경우!
- 단일 스레드와 멀티 스레드 비교
'잰이_IT > OS' 카테고리의 다른 글
Process 3 (0) | 2018.08.08 |
---|---|
04. Process1 (0) | 2018.07.23 |
03. System Structure & Program Execution 2 (0) | 2018.07.20 |
02. System Structure & Program Execution 1 (0) | 2018.07.18 |
01. Introduction to Operating Systems (0) | 2018.07.17 |