3학년/운영체제

Chapter2-3

김야키 2018. 4. 12. 13:34

프로세스와 스레드 관리 3

스레드

-      다중 스레드

n  각각 독립적으로 실행할 수 있음

n  실행 순서는 시그널이나 동기화 방법을 통해서 제어

n  Ex) 한글(hwp)프로세스 사용 중에 맞춤법 검사를 해주는 것(스레드)

 

(프로세스 스레드 그림)

단일 프로세스, 단일 스레드 (), 프로세스 하나에 다중 스레드()

 

프로세스당 항목, 스레드당 항목

-      공통

n  코드, , 정적

-      스레드

n  레지스터와 스택은 스레드 당 하나씩 존재

n  프로그램 카운터

n  프로세스 안에 하나의 코드를 가지고 여러 스택과 레지스터를 활용해서 프로그램 카운터가 각각 위치를 가리킨다. 그렇게 되면 메모리 사용량이 줄어든다.

-      각각 사용해야 하는 것

n  프로그램 카운터

 

다중 스레딩

-      다수의 스레드를 이용하여 하나의 프로세스를 처리하는 것

-      중량 프로세스(HWP : Heavy Weight Process)

n  프로세스

n  하나의 프로세스가 하나의 기능 씩 사용하는 것

-      경량 프로세스(LWP : Light Weight Process)

n  스레드

n  하나의 공통적인 것을 공유해서 함께 사용하는 것


 

프로세스와 스레드의 차이

-      단일 프로세스

n  프로세스 생성

u  같은 것을 복제함

u  필요한 부분만 사용하면 되는데 모든 것을 복제한다.

n  각자가 독립된 프로세스이기 때문에 전역 변수로 선언해도 각자 다른 값이 될 수 있다.

-      스레드

n  Codedata, heap는 공유

u  공유 되는 위의 3가지 속성은 각 스레드가 한가지만 가지고 접근

n  Stack, 프로세스 상태, 프로그램 카운터, 레지스터, 프로세스 ID 각자

 

선점 / 비 선점 스케줄링

-      비 선점

n  FCFS, SJF, 우선순위, HRM

-      선점

n  Round-Robin(가장 많이 쓰임), SRT, 다단계 Queue,


'3학년 > 운영체제' 카테고리의 다른 글

Chapter4-1  (0) 2018.04.17
Chapter3  (0) 2018.04.13
Chapter2-2  (0) 2018.03.28
Chapter 2-1  (0) 2018.03.22
Chapter1  (0) 2018.03.15