
-
1
-
2
-
3
-
4
-
5
-
6
-
7
-
8
-
9
-
10
-
11
-
12
-
13
-
14
-
15
-
16
-
17
-
18
-
19
-
20
-
21
-
22
-
23
-
24
-
25
-
26
-
27
-
28
-
29
-
30
-
31
-
32
-
33
-
34
-
35
-
36
-
37
-
38
-
39
-
40
-
41
-
42
-
43
-
44
-
45
-
46
-
47
-
48
-
49
-
50
-
51
-
52
-
53


목차
■ 개요(Overview)
■ 다중 쓰레드 모델(Multithreading Models)
■ 쓰레드와 관련된 문제들(Threading Issues)
■ 쓰레드 라이브러리(Thread Library)
● Pthreads
● Windows XP Threads
● Linux Threads
● Java Threads
■ 다중 쓰레드 모델(Multithreading Models)
■ 쓰레드와 관련된 문제들(Threading Issues)
■ 쓰레드 라이브러리(Thread Library)
● Pthreads
● Windows XP Threads
● Linux Threads
● Java Threads
본문내용
Chapter 4
Threads
개요
╋━━━━━━━━━━────────
■ 프로세스 모델의 한계
● 주소 공간을 공유하는 독립적 태스크의 병렬 수행
► 예: 서버측 DB 관리자, TPM(TP-Monitor), 중상위 계층 네트워크 프로토콜
● 다중처리기 구조의 활용이 불가능
► 독립적인 프로세스들이 서로 자원 공유, 동기화 등을 통해 병렬 처리
● 최근의 유닉스
► 커널 쓰레드, 사용자 쓰레드, 커널 지원 사용자 쓰레드(Kernel-supported User Thread)
쓰레드 패키지 제공
► C-thread, Pthread, Light Weight Process(LWP)
쓰레드 개발 동기
╋━━━━━━━━━━────────
■ DB 서버의 요구 처리
● 과거 Listener Process는 요구가 도착할 때마다 새로운 프로세스를 fork( )
● 과학 계산시, 다른 데이터 부분을 독자적인 프로세스가 처리
■ UNIX의 make는 다수의 파일을 다수의 프로세스가 독립적으로 컴파일
■ 한 응용에 다수의 프로세스 사용시의 단점
● 프로세스 생성에 대한 오버헤드
● 프로세스간 통신 비용이 큼(메시지 패싱, 공유 메모리)
● 네트워크와 같은 자원 공유가 어려움
● 프로세스를 처리기에 전달하고, 그 결과를 수집하는 오버헤드
전통적인 PCB 구성
╋━━━━━━━━━━────────
≪ 그 림 ≫
← OS 관련 정보
CPU 관련 정보(Words) 전체 1KB
⇐ (Thread) (Process)
(Lightweight) (Heavyweight)
← 자원 관련 정보
Threads
개요
╋━━━━━━━━━━────────
■ 프로세스 모델의 한계
● 주소 공간을 공유하는 독립적 태스크의 병렬 수행
► 예: 서버측 DB 관리자, TPM(TP-Monitor), 중상위 계층 네트워크 프로토콜
● 다중처리기 구조의 활용이 불가능
► 독립적인 프로세스들이 서로 자원 공유, 동기화 등을 통해 병렬 처리
● 최근의 유닉스
► 커널 쓰레드, 사용자 쓰레드, 커널 지원 사용자 쓰레드(Kernel-supported User Thread)
쓰레드 패키지 제공
► C-thread, Pthread, Light Weight Process(LWP)
쓰레드 개발 동기
╋━━━━━━━━━━────────
■ DB 서버의 요구 처리
● 과거 Listener Process는 요구가 도착할 때마다 새로운 프로세스를 fork( )
● 과학 계산시, 다른 데이터 부분을 독자적인 프로세스가 처리
■ UNIX의 make는 다수의 파일을 다수의 프로세스가 독립적으로 컴파일
■ 한 응용에 다수의 프로세스 사용시의 단점
● 프로세스 생성에 대한 오버헤드
● 프로세스간 통신 비용이 큼(메시지 패싱, 공유 메모리)
● 네트워크와 같은 자원 공유가 어려움
● 프로세스를 처리기에 전달하고, 그 결과를 수집하는 오버헤드
전통적인 PCB 구성
╋━━━━━━━━━━────────
≪ 그 림 ≫
← OS 관련 정보
CPU 관련 정보(Words) 전체 1KB
⇐ (Thread) (Process)
(Lightweight) (Heavyweight)
← 자원 관련 정보