-
운영체제 - 4(쓰레드, 병행프로세스)OS 2019. 6. 26. 14:56
쓰레드
- 프로세서의 이용 기본 단위(Process > Threads)
- 프로그램 명령을 실행하는 프로세스 내의 개체 - 명령어의 제어 흐름
1. 쓰레드의 구조
- 1개 Process에는 1개 이상의 Thread 존재
- 1개의 Process 내 Thread가 모두 종료되면 Process도 제거됨
2. 쓰레드의 병렬수행
- 프로세스 하나에 포함된 쓰레드들은 공동 목적 달성을 위해 병렬 수행
- 프로세서에서 프로그램의 다른 부분 동시 실행
3. 단일 쓰레드와 다중 쓰레드
1) 단일 쓰레드 프로세스 : 쓰레드 1개
2) 다중 쓰레드 프로세스 : 쓰레드 n개 -> 병렬수행이 잘 이루어진다면 성능 향상
4. 사용자 레벨 쓰레드 / 커널 레벨 쓰레드
1) User level thread : Kernel의 개입 없이 사용자 영역에서 실행되는 쓰레드
2) Kernel level thread : Kernel이 스레드를 관리하여 Kernel 종속 적인 스레드
3) Hybrid level thread : 사용자 영역에서 생성 -> 매핑 -> 커널 영역
병행프로세스
병행 프로세스 :
- 동시에 실행 중인 2개 이상의 프로세스
- 병행성이 보장되면 성능 향상
1. 병행성을 보장하려면?
1) 공유자원의 배타적 사용 허용
2) 상호 프로세스간 협력/동기화 관리
3) 프로세스간 상호 통신방식 필요
4) 교착상태 해결방법 제시
5) 상호 실행속도와 상관없는 일정한 실행결과
2. 선행그래프
: 두 프로세스 간 존재하는 선행관계를 규칙적으로 표현한 것
: 선행그래프로 병행성을 판별한다
3. Fork, Join
Fork() : 수도 코드로 프로세스를 생성하는 구문
Join() : 2개 이상의 병행문장들을 하나로 결합
'OS' 카테고리의 다른 글
운영체제 - 6(모니터, IPC) (0) 2019.06.28 운영체제 - 5(++ 병행프로세스/상호배제 해결법) (0) 2019.06.27 운영체제 - 3 (프로세스) (0) 2019.06.26 운영체제 - 2 (기능 , 구조) (0) 2019.06.25 운영체제 - 1 (역할/기능/발전과정/유형) (0) 2019.06.25