#3-2. Process
???) 동기식 입출력과 비동기식 입출력의 차이점.
- 동기식 : 입출력 진행되는 동안에 프로세스가 아무일도 하지 않고 기다리는 것.
- 비동기식 : 입출력이 진행되는 동안에 그 프로세스가 cpu를 잡아서 instruction을 실행을 하는것.
* Thread
: 프로세스 내부에 cpu 수행 단위
# pc가 code 어느부분을 가리키게 된다.
# Thread 라는건 프로세스 하나에서 공유할수 있는건 최대한 공유,
1. 메모리 주소공간 (data, code)
2. 프로세스 상태
3. 프로세스가 사용하는 각종 자원들
# 별도로 가지고 있는것. (점선으로 되어있는것)
1. cpu 관련된것들(PC, register)
2. 주소공간의 (stack)
* Thread 정리 (light weight process)
: cpu를 수행하는 단위
v. Thread의 구성 (독립적으로 가지고 있는 것)
- Program Counter
- register set
- stack space
v. Thread가 동료 thread와 공유하는 부분 (=task)
- code section
- data section
- OS resources
v. 전통적인 개념의 heavy weight process는 하나의 thread를 가지고 있는 task로 볼 수 있다.
* 쓰레드를 사용하면 어떤 장점이 있나?
- 응답시간이 빨라진다.
: 다중 스레도로 구성된 task 구조에서는 하나의 서버 스레드가 blocked(waiting) 상태인 동아넹도 동일한 task 내의 다른 스레드가 실행 (running)되어 빠른 처리를 할 수 있다.
- 동일한 일을 수행하는 다중 스레드가 협력하여 높은 처리율과 성능 향상을 얻을 수 있다.
- 스레드를 사용하면 병렬성을 높일 수 있다.
ex> 웹 브라우저에서 naver를 본다면, network을 통해서 web page를 읽어오는 작업이 I/O 작업이된다.
만약 멀티 스레드가 아니라면 이 작업중에 사용자는 아무것도 할 수 없게 되어 답답한게 된다.
'cs > os' 카테고리의 다른 글
#4. Process Management (0) | 2018.01.02 |
---|---|
#3-3. Thread (0) | 2017.12.29 |
#3-1. Process (0) | 2017.12.27 |
#2-2. System Structure & Program Execution (0) | 2017.12.25 |
#2-1. System Structure & Program Execution (0) | 2017.12.24 |