﻿1
00:00:00,000 --> 00:00:03,814

2
00:00:04,004 --> 00:00:07,814

3
00:00:08,006 --> 00:00:11,814

4
00:00:12,012 --> 00:00:15,813
ของการจัดการ

5
00:00:16,014 --> 00:00:19,813
Process นะครับ

6
00:00:20,015 --> 00:00:23,815
เราเคยได้ยินไหม

7
00:00:24,017 --> 00:00:27,817
Process

8
00:00:28,019 --> 00:00:31,814
ครับ ถามหมู่ 1 เคยได้ยินไหมครับ คำนี้

9
00:00:32,023 --> 00:00:35,815
เรียนตั้งแต่มัธยม

10
00:00:36,029 --> 00:00:39,814
Process คืออะไรเอ่ย

11
00:00:40,031 --> 00:00:43,815
Process ครับ

12
00:00:44,033 --> 00:00:47,815

13
00:00:48,034 --> 00:00:51,814

14
00:00:52,036 --> 00:00:55,813
เขาบอกว่านะครับ เขาให้ความหมาย ความหมายเยอะแยะ

15
00:00:56,037 --> 00:00:59,814
นะครับ แต่ความหมายที่เรา

16
00:01:00,038 --> 00:01:03,813
ใช้กันนะครับ เอกสารยังไม่ได้หรือ

17
00:01:04,039 --> 00:01:07,813
อยู่กับใครเอกสารหมดหรือยัง

18
00:01:08,043 --> 00:01:11,814
อยู่กับใครครับเอกสาร

19
00:01:12,047 --> 00:01:15,815
เหลืออยู่กับใคร

20
00:01:16,051 --> 00:01:19,814
มีไหม อยู่กับใครครับ เอกสารเหลือน่ะ

21
00:01:20,052 --> 00:01:23,813
หมดไหมครับ

22
00:01:24,053 --> 00:01:27,821
บทที่ 2 น่ะ

23
00:01:28,055 --> 00:01:31,817
อยู่กับใคร เหบลืออยู่กับใคร มันต้องเหลือสิ่

24
00:01:32,058 --> 00:01:35,814
มันต้อง 50 ชุดนะครับ ถ่ายมา

25
00:01:36,060 --> 00:01:39,815
อยู่ไหนล่ะ

26
00:01:40,062 --> 00:01:43,814
ห้อง 1 มันยังไม่เห็นเอกสารอาทิตย์ที่แล้ว

27
00:01:44,065 --> 00:01:47,814
วางไว้ที่โต๊ะไหน

28
00:01:48,066 --> 00:01:51,814
หรือหมู่ 1

29
00:01:52,068 --> 00:01:55,814
หมู่ 1 หมู่ 1 ส่

30
00:01:56,069 --> 00:01:59,814
ยังไม่ส่งใช่ไหม

31
00:02:00,071 --> 00:02:03,814

32
00:02:04,072 --> 00:02:07,814
เห็นแต่ของห้อง 2

33
00:02:08,074 --> 00:02:11,814
แต่ผมตรวขแล้วนะครับผมตรวจแล้วก็คืนให้แล้ว

34
00:02:12,077 --> 00:02:15,814
นะครับ ใครมาช้ามาเอา

35
00:02:16,078 --> 00:02:19,813
นะครับ

36
00:02:20,080 --> 00:02:23,814

37
00:02:24,081 --> 00:02:27,814
เอกสารที่ผมตรวจนะครับผมจะไม่ได้ตรวจให้ทุกขอ้ั

38
00:02:28,082 --> 00:02:31,815
ให้เฉย ๆ นะครับ เป็นการตรวจเช็กแต่ละสัปดาห์

39
00:02:32,084 --> 00:02:35,815
แล้วก็เราเอาไว้อ่านสอบนะครับ เพราะว่า

40
00:02:36,085 --> 00:02:39,814
ตอนนี้เราเรียน 2-3 สัปดาห์แล้วนะครับ จะครบเดือนแล้ว

41
00:02:40,086 --> 00:02:43,814
เดี๋ยวสัปดาห์หน้านะครับ

42
00:02:44,090 --> 00:02:47,814
ห้องหมู่ 2 จะไม่อยู่นะครับ

43
00:02:48,091 --> 00:02:51,814
ผมก็ไม่อยู่นะครับ สัปดาห์หน้าเราไม่มี

44
00:02:52,092 --> 00:02:55,816
นะครับ เราจะยกเลิกคลาสนะครับ เพราะว่าหมู่ 2 จะไป

45
00:02:56,093 --> 00:02:59,814
ศึกษาดูงานข้างนอกนะครับ

46
00:03:00,095 --> 00:03:03,814
ผมก็ไปด้วยนะครับ ทั้งวันนะครับ

47
00:03:04,097 --> 00:03:07,814
สัปดาห์ถัดไปปิดใช่ไหม

48
00:03:08,098 --> 00:03:11,814
หยุด สัปดาห์ถัดไปอีกเรียน สัปดาห์ถัดไปหยุดอีก

49
00:03:12,101 --> 00:03:15,814
เดือนนี้หยุดเยอะนะครับ

50
00:03:16,103 --> 00:03:19,814
มาดูนะครับ Process นะครับ Process Process

51
00:03:20,107 --> 00:03:23,814
เขาให้ความหมายว่า

52
00:03:24,108 --> 00:03:27,814
Process คือ โปรแกรมที่กำลังถูก Execute

53
00:03:28,109 --> 00:03:31,815

54
00:03:32,111 --> 00:03:35,814
คืออะไร

55
00:03:36,112 --> 00:03:39,816
เคยได้ยินไหมครับ

56
00:03:40,114 --> 00:03:43,822
เขาบอก Process คือ โปรแกรมที่กำลังถูก Execute

57
00:03:44,117 --> 00:03:47,814
เป็นอย่างไรครับ Exsik

58
00:03:48,119 --> 00:03:51,814
ผมเชื่อว่าพวกเราจบ

59
00:03:52,120 --> 00:03:55,814
มัธยมศึกษาปีที่ 6 มา มันต้องเคยได้เน

60
00:03:56,121 --> 00:03:59,814
เรียนหรือยัง เรียนหรือยังครับหมู่ 1

61
00:04:00,123 --> 00:04:03,815
เรียนแล้วใช่ไหม

62
00:04:04,126 --> 00:04:07,815
นะครับ ถามตอบด้วยเด้อ ถามตอบ

63
00:04:08,127 --> 00:04:11,815
มีปฏิสัมพันธ์ด้วยนะครับ

64
00:04:12,129 --> 00:04:15,815
เพราะเราทุกวันนี้นะครับ เราค่อนข้างขาดปฏิสัมพันธ์

65
00:04:16,130 --> 00:04:19,814
นะครับ

66
00:04:20,133 --> 00:04:23,814
ผมเข้าใจนะ พวกเราเป็น Gener

67
00:04:24,134 --> 00:04:27,814
นะครับ เราเจนอะไรครับ

68
00:04:28,137 --> 00:04:31,817
เรา Genaration อะไร

69
00:04:32,139 --> 00:04:35,814
Gen Y หรอ แม่นหรอ

70
00:04:36,140 --> 00:04:39,825
ใช่ไหม ใช่หรือ เรา Gen y หรือ

71
00:04:40,141 --> 00:04:43,815
Gen อะไรดี

72
00:04:44,144 --> 00:04:47,815
ยังไม่รู้อีกตัวเอง Gen อะไร เดี๋ยวไปถามห้อง 2

73
00:04:48,145 --> 00:04:51,815
ยังไม่ถามห้อง 2 ถามห้อง 1 ก่อน

74
00:04:52,146 --> 00:04:55,814
ตอนนี้พวกเรามีปัญหานะครับ เรื่องของ

75
00:04:56,148 --> 00:04:59,814
ความแตกต่างระหว่าง Genaretion

76
00:05:00,149 --> 00:05:03,814
รุ่นผมนี่ คุยกับพวกเรานี่

77
00:05:04,150 --> 00:05:07,814
ไม่ค่อยรู้เรื่อง

78
00:05:08,151 --> 00:05:11,814
จริงไหม เราคนละ Generation

79
00:05:12,154 --> 00:05:15,814
นะครับ รุ่นพวกเรานี่

80
00:05:16,156 --> 00:05:19,816
ความอดทนน้อยนะครับ รอได้ไหม รอไม่ได้นะครับ

81
00:05:20,158 --> 00:05:23,814
จะเอาเดี๋ยวนี้จะกินข้าวก็จะกินเดี๋ยวนี้

82
00:05:24,160 --> 00:05:27,814
ถ้าจะให้ไปต่อคิวก็ไม่ไป

83
00:05:28,162 --> 00:05:31,814
เห็นไหมครับ มันถึงเกิดอะไรขึ้นมา ขาย

84
00:05:32,164 --> 00:05:35,815
พวกแก๊บ พวก Food Panda ใช่ไหม

85
00:05:36,165 --> 00:05:39,815

86
00:05:40,166 --> 00:05:43,817
จากที่ผมอ่านนะครับ อ่าน

87
00:05:44,167 --> 00:05:47,814
ทดสอบก่อนเรียนพวกเรา ก็พื้นฐาน

88
00:05:48,168 --> 00:05:51,816
พอ ๆ กันนะ พอ ๆ กันนะครับ

89
00:05:52,170 --> 00:05:55,814
ก็คือ ยังไม่เข้าใจ

90
00:05:56,171 --> 00:05:59,814
ความหมาย ยังไม่เข้าใจหลักการของคอมพิวเตอร์มาก

91
00:06:00,173 --> 00:06:03,814
ก็ไม่เป็นไรนะครับ จริง  ๆ อย่างที่ผมบ

92
00:06:04,175 --> 00:06:07,815
เราควรจะจัดให้เรียนอยู่ชั้นปีที่ 3 นะครับ แต่เราก็

93
00:06:08,176 --> 00:06:11,815
มาจัด ปี 1 เทอม 1

94
00:06:12,177 --> 00:06:15,815
ก็ไม่เป็นไรนะครับ ก็ปรับเอา เขาบอกว่า Process

95
00:06:16,178 --> 00:06:19,815
โปรแกรมที่กำลังถูก Execute

96
00:06:20,180 --> 00:06:23,815
สัปดาห์ก่อนใช่ไหม พอเราส่งข้อมูลจากคีย์บอร์ด

97
00:06:24,182 --> 00:06:27,815
ใช่ไหมครับ

98
00:06:28,183 --> 00:06:31,814
ส่งจากคีย์บอร์ปุ๊บเข้าไปไหนครับ คิดตาม

99
00:06:32,185 --> 00:06:35,815
เข้าไปไหน

100
00:06:36,187 --> 00:06:39,815
คีย์บอร์ด คือ Input ใช่ไหม

101
00:06:40,188 --> 00:06:43,815
พอเข้าไปในคอมพิวเตอร์เราเรียกว่าเข้าไปอะไร

102
00:06:44,190 --> 00:06:47,816
ไปประมวลผลใช่ไหมครับ ประมวลผลเสร็จ

103
00:06:48,191 --> 00:06:51,815
ทำอะไรต่อ

104
00:06:52,192 --> 00:06:55,814
ก็ไปแสดงผลใช่ไหม นี่คือหลักของมัน

105
00:06:56,194 --> 00:06:59,815
Input ประมวลผล Process

106
00:07:00,194 --> 00:07:03,814
แล้วก็ออกไป Output

107
00:07:04,195 --> 00:07:07,815
เขาบอกว่า Process คือโปรแกรม

108
00:07:08,196 --> 00:07:11,815
กำลังถูก Execute นั่นหมายความว่า... บางคนให้ความหมายว่า

109
00:07:12,197 --> 00:07:15,815
เป็นโปรแกรมที่เข้าไปครอบครอง CPU

110
00:07:16,199 --> 00:07:19,814
หรือเข้าไปใช้งาน CPU

111
00:07:20,203 --> 00:07:23,815
แล้วแต่เอกสารตำราแต่ละคนแต่ง

112
00:07:24,205 --> 00:07:27,815
นะครับ คือ หลักการคำว่า "Process" ก็คือ

113
00:07:28,210 --> 00:07:31,815
โปรแกรมที่กำลังถูก Excil

114
00:07:32,212 --> 00:07:35,815
ในคอมพิวเตอร์เรา มันจะมีไฟล์อยู่ไฟล์หนึ่ง เป็น

115
00:07:36,213 --> 00:07:39,815
นามสกุล ไฟล์ทุกไฟลืต้องมีนามสกุล

116
00:07:40,214 --> 00:07:43,814
ดูรายละเอียดต่อไปนะครับ ก็คือนามสกุลที่ .exe

117
00:07:44,216 --> 00:07:47,814
เคยเห็ฯไหมเคยสังเกตไหมเวลาเราใช้

118
00:07:48,217 --> 00:07:51,815
หรือไม่รู้เปิดขึ้นมาใช้แล้วก็ปิด

119
00:07:52,218 --> 00:07:55,815
นะครับ เราอย่าไปดู

120
00:07:56,219 --> 00:07:59,815
ในสไลด์อาจารย์มากนะ อาจารย์ก็พูดไปเรื่อยนะ

121
00:08:00,220 --> 00:08:03,815
มันไม่ได้อยู่ในนี้

122
00:08:04,221 --> 00:08:07,815
คราวนี้ถ้า Process

123
00:08:08,222 --> 00:08:11,814
ถ้าโปรแกรมเดียว โปรแกรม...

124
00:08:12,224 --> 00:08:15,815
ทำงานปุ๊บเป็นอย่างไรครับ ยุ่งยากไหม

125
00:08:16,226 --> 00:08:19,815
Imput เสร็จ เข้าไปประมลผลเสร็จ

126
00:08:20,227 --> 00:08:23,815
เข้าไปประมวลผลเสร็จ แสดงออก ถ้าโปรแกรมเดียว

127
00:08:24,228 --> 00:08:27,815
ไม่มีปัญหานะครับ แต่ถ้าเมื่อไหร่ก็ตามที่

128
00:08:28,231 --> 00:08:31,814
มีหลาย ๆ โปรแกรมทำงานพร้อมกัน ที่เขาบอกว่าเป็นระบบหลายโปรแกรม

129
00:08:32,233 --> 00:08:35,814
เขาบอก Process

130
00:08:36,234 --> 00:08:39,814
อาจเปรียบได้กับรถยนต์ คือ มีรถยนต์หลายคัน

131
00:08:40,237 --> 00:08:43,815
และตัวของ

132
00:08:44,238 --> 00:08:47,815
CPU เอง ก็เปรียบเหมือนคนขับ

133
00:08:48,239 --> 00:08:51,815
เหมือนกับว่า คอมพิวเตอร์เรา

134
00:08:52,240 --> 00:08:55,814
แต่มีคนต้องการใช้งานเยอะ โปรแกรมเยอะ ต้องทำอย่างไรครับ

135
00:08:56,241 --> 00:08:59,815
วิธีการมัน ถ้าเป็นเรา เราทำอย่างไรครับ

136
00:09:00,245 --> 00:09:03,815
เช่น มีรถอยู่ 5 คัน

137
00:09:04,248 --> 00:09:07,815
มีคนขับอยู่คนเดียว ทำอย่างไรจึงจะขับเข้าๆ

138
00:09:08,251 --> 00:09:11,815
พร้อมกันได้

139
00:09:12,252 --> 00:09:15,815
ลากรถ 4 คัน คนอื่นล่ะ

140
00:09:16,255 --> 00:09:19,814
คนอื่นล่ะทำอย่างไร

141
00:09:20,256 --> 00:09:23,817
คนอื่นมีวิธีการอื่นไหมครับ

142
00:09:24,258 --> 00:09:27,815
หลักการคอมพิวเตอร์เวลาทำงาน

143
00:09:28,259 --> 00:09:31,817
ใช่ไหม โปรแกรมจะเข้าไปทำงาน เข้าไปครอบ

144
00:09:32,261 --> 00:09:35,815
CPU ได้ที่ละ 1 โปรแกรม ก็เหมือนคนเรานี่

145
00:09:36,262 --> 00:09:39,815
ขัยรถ ขับได้ทีละคัน

146
00:09:40,263 --> 00:09:43,815
จะลากจะพ่วง ทำไม่ได้ หลักการทำไม่ได้

147
00:09:44,264 --> 00:09:47,815
ทำอย่างไรดีล่ะ วิธีการก็คือ

148
00:09:48,265 --> 00:09:51,816
ขึ้นไปขับคันที่ 1 จากราชภัฏสกลนคร

149
00:09:52,267 --> 00:09:55,815
แล้วไปจอด

150
00:09:56,268 --> 00:09:59,815
กลับมาขับครั้งที่ 2 ก็มา... คันที่ 4 คันที่ 5

151
00:10:00,270 --> 00:10:03,815
นะครับ พอถึงขับไปใหม่ขับ

152
00:10:04,274 --> 00:10:07,815
ไปถึงหน้าประตูเมือง ย้อนไปที่ 1, 2, 3, 4, 5 อย่างนี้

153
00:10:08,275 --> 00:10:11,815
นะครับ แต่

154
00:10:12,277 --> 00:10:15,815
เวลาทำงานจริงเป็นอย่างไรครับ คอมพิวเตอร์ทำงานด้วยความเร็ว

155
00:10:16,278 --> 00:10:19,815
สูงไหม

156
00:10:20,281 --> 00:10:23,815
หายใจทันไหมครับ ทันไหม

157
00:10:24,282 --> 00:10:27,815
ไม่น่าทันนะ

158
00:10:28,284 --> 00:10:31,815
การทำงานจริง ๆ มันจะทำงานเหมือนที่อาจารย์

159
00:10:32,285 --> 00:10:35,815
ยกตัวอย่างเมื่อกี้ ไปทีละคัน ๆ

160
00:10:36,286 --> 00:10:39,815
แต่พอมาทำงานจริงมันทำงานได้ความเร็วสูง มันเลยเหมือนประหนึ่ง

161
00:10:40,287 --> 00:10:43,815
ว่ามันไปพร้อม ๆ กันเลย

162
00:10:44,288 --> 00:10:47,815
นะครับ นี่คือหลักการทำงานของคอมพิวเตอร์

163
00:10:48,289 --> 00:10:51,815
อย่างยกตัวอย่างนี้ ระบบ

164
00:10:52,290 --> 00:10:55,815
CPU เป็นคนขับโปรแกรมหลาย ๆ โปรแกรม เหมือนรถ

165
00:10:56,291 --> 00:10:59,815
นะครับทำอย่างไรให้ไปด้วยความเร็วสูง

166
00:11:00,293 --> 00:11:03,815

167
00:11:04,295 --> 00:11:07,816
คราวนี้มาดู

168
00:11:08,296 --> 00:11:11,815
องค์ประกอบของ Process นะครับ

169
00:11:12,297 --> 00:11:15,816
Process มีองค์ประกอบอะไรบ้าง

170
00:11:16,299 --> 00:11:19,815
พอเรียนจบบทนี้นะครับ นักศึกษาก็จะงง

171
00:11:20,300 --> 00:11:23,815
เริ่มงงนะ มันเริ่มเหมือนบทที่ 1 ใช่ไหม

172
00:11:24,301 --> 00:11:27,821
พื้นฐานนะครับ งงไม่ต้องตกใจครับ

173
00:11:28,302 --> 00:11:31,815
ค่อย ๆ ปรับนะครับ

174
00:11:32,304 --> 00:11:35,815
ปรับสภาพแวดล้อม ปรับสภาพหลาย ๆ อย่างนะครับ

175
00:11:36,305 --> 00:11:39,817
แล้วตอนนี้ห้องแล็ปเราก็ยังใช้ไม่ได้ใช่ไหม

176
00:11:40,306 --> 00:11:43,815
อาจารย์เข้าแจ้งหรือยังว่าใช้ได้เมื่อไหร่ อาคาร 7 เรา

177
00:11:44,308 --> 00:11:47,816
ไม่แจ้งเพราะว่าเราไม่รู้ว่าจะใช้ได้เมื่อไหร่

178
00:11:48,310 --> 00:11:51,815
ผมแวะไปเมื่อวานก็ไม่มีทีท่าว่าจะได้ใช้เลยนะ

179
00:11:52,312 --> 00:11:55,815
คนทำก็นั่งทำง็อกแง็ก ๆ อยู่คน 2 คน

180
00:11:56,314 --> 00:11:59,815
เทอมนี้ผมว่าไม่น่าทันนะ น่าจะได้ใช้เทอมหน้า

181
00:12:00,315 --> 00:12:03,815
นะครับ เทอมหน้าก็

182
00:12:04,316 --> 00:12:07,815
เราอยากได้เทอมหน้า ก็เป็นรุ่นพวกเราได้ใช้

183
00:12:08,317 --> 00:12:11,815
นะครับ เทอมหน้า

184
00:12:12,319 --> 00:12:15,815
องค์ประกอบตัวที่ 1 ของ Process นะครับ ก็คือ 1. Process

185
00:12:16,321 --> 00:12:19,815
ทุกวตัวจะต้องมีชื่อและหมายเลขประจำตัว

186
00:12:20,322 --> 00:12:23,815
นะครับ Process ID

187
00:12:24,323 --> 00:12:27,815
นะครับ และจะต้อง

188
00:12:28,324 --> 00:12:31,815
ไม่ซ้ำกันนะครับ

189
00:12:32,325 --> 00:12:35,815
เหมือนชื่อ ไฟล์น่ะ

190
00:12:36,326 --> 00:12:39,816

191
00:12:40,328 --> 00:12:43,815
ได้ไหมครับ ชื่อไฟลืนามสกุลไฟล์

192
00:12:44,329 --> 00:12:47,815
นะครับ องค์ประกอบ Process อีกตัวหนึ่ง คือ

193
00:12:48,332 --> 00:12:51,815
ชื่อและหมายเลขประจำตัวเหมือนหมายเลขบัตรประจำตัวเราน

194
00:12:52,333 --> 00:12:55,816
เราซ้ำกันได้ไหมครับ ได้ไหม

195
00:12:56,334 --> 00:12:59,815
ไม่ได้นะครับ แต่ถ้าถาม

196
00:13:00,335 --> 00:13:03,815
ย้อนกลับว่าชื่อและนามสกุลมีโอกาสซ้ำกันได้ไหม

197
00:13:04,336 --> 00:13:07,816
ได้นะครับเพราะอะไร

198
00:13:08,342 --> 00:13:11,815
เช่น อาจจะมีพิเชน จันทร์ปุ่ม เหมือนกัน

199
00:13:12,343 --> 00:13:15,815
เพราะอะไรครับ เพราะอาจจะมีญาติพี่น้อง

200
00:13:16,345 --> 00:13:19,815
นามสกุลเหมือนกัน บังเอิญว่าชื่อพิเชนทร์มันเพราะ เลยตั้งเหมือนกัน

201
00:13:20,346 --> 00:13:23,815
เลข 123 หลักห้ามซ้ำกัน

202
00:13:24,348 --> 00:13:27,815
องค์ประกอบอันที่ 2 ของ

203
00:13:28,349 --> 00:13:31,815
Process ทุก Pro

204
00:13:32,350 --> 00:13:35,815
มีโค้ดนะครับ เป็นโค้ดนะครับ

205
00:13:36,351 --> 00:13:39,815
เป็น code เป็นรหัส

206
00:13:40,352 --> 00:13:43,816
คำว่า "โค้ด" ก็คือจะต้อง Execute ได้ทันที

207
00:13:44,353 --> 00:13:47,816
คือภาษาเครื่องแปล้รียบร้อยแล้ว

208
00:13:48,354 --> 00:13:51,816
นะครับ

209
00:13:52,356 --> 00:13:55,815
องค์ประกอบอันที่ 3 ก็คือข้อมูล

210
00:13:56,358 --> 00:13:59,815
Data ข้อมูลนี้นะครับ

211
00:14:00,359 --> 00:14:03,815
เขาบอกว่าโปรแกรม

212
00:14:04,362 --> 00:14:07,815
ต้องการหรือจัดการข้อมูลอาจจะเป็นของ Process ใด Process หนึ่ง

213
00:14:08,364 --> 00:14:11,815
หรืออาจจะใช้ข้อมูลร่วมกันกับ Process

214
00:14:12,365 --> 00:14:15,815
ใช้ร่วมกันได้ ตัวอย่างของ Process

215
00:14:16,366 --> 00:14:19,818
ที่ใช้ข้อมูลร่วมกัน เช่น

216
00:14:20,369 --> 00:14:23,815
Process ในระบบฐานข้อมูล

217
00:14:24,370 --> 00:14:27,815
นะครับ

218
00:14:28,372 --> 00:14:31,815
เช่น ฐานข้อมูลระบบทะเบียนราชภัฏสกลนคร

219
00:14:32,373 --> 00:14:35,815
เช่นเรามา

220
00:14:36,374 --> 00:14:39,815
รายงานตัวเป็นนักศึกษานะครับ ขึ้นทะเบียนปุ๊บ

221
00:14:40,376 --> 00:14:43,815
พอเราไปห้องสมุดก็ใช้ฐานข้อมูลเดียวกัน

222
00:14:44,377 --> 00:14:47,816
ในการเงิน ก็ใช้ฐานข้อมูลชุดเดียวกัน

223
00:14:48,378 --> 00:14:51,815
นะครับศูนย์คอมไปกอง

224
00:14:52,379 --> 00:14:55,815
ก็ฐานข้อมูลอันเดียวกันนะครับ โดยใช้ฐานข้อมูลร่วมกัน

225
00:14:56,381 --> 00:14:59,816
นะครับ

226
00:15:00,382 --> 00:15:03,815
องค์ประกอบ

227
00:15:04,384 --> 00:15:07,815
อันที่ 4 ของ Process ก็คือ

228
00:15:08,387 --> 00:15:11,815
Process  Control Block นะครับ หรือบล็อกควบคุมโปรแกรม

229
00:15:12,388 --> 00:15:15,815
ระบบปฎิบัติการจะกำหนดเนื้อที่บางส่วน

230
00:15:16,390 --> 00:15:19,815
กำหนดเนื้อที่บางส่วนในหน่วยความจำ ทำเป็น Process

231
00:15:20,394 --> 00:15:23,815
Contoln bO

232
00:15:24,397 --> 00:15:27,815
หรือ PCB นะครับ

233
00:15:28,398 --> 00:15:31,815

234
00:15:32,401 --> 00:15:35,820
กำหนดไว้ทำไมนะครับ ก็คือ 1. กำหนดไว้เป็น Process

235
00:15:36,402 --> 00:15:39,815
กำหนดไว้เพื่อเป็น

236
00:15:40,404 --> 00:15:43,815

237
00:15:44,407 --> 00:15:47,815
เก็บหมาเลขความสำคัญของ Process

238
00:15:48,408 --> 00:15:51,815
อยู่ใน PCB นะครับ

239
00:15:52,409 --> 00:15:55,815
ใน Process แต่ละตัวจะมี

240
00:15:56,413 --> 00:15:59,815
บล็อกควบคุมโปรแกรมหรือ PCB อยู่นะครับ ซึ่ง PCB นี้

241
00:16:00,414 --> 00:16:03,815
ก็จะเก็บสถานะของ Process

242
00:16:04,417 --> 00:16:07,815
แล้วก็เก็บลำดับความสำคัญของ Process เอาไว้นะครับ

243
00:16:08,419 --> 00:16:11,815
นอกจากนั้น

244
00:16:12,420 --> 00:16:15,815
ก็ยังเก็บสารสนเทศที่เกี่ยวกับ

245
00:16:16,422 --> 00:16:19,816
การจัดการหน่วยความจำของ Process

246
00:16:20,423 --> 00:16:23,815
ข้อมูลรับส่งข้อมูลของ Process

247
00:16:24,424 --> 00:16:27,815
หรือเก็บข้ามูลสำคัญของ Pro

248
00:16:28,425 --> 00:16:31,815
ใน PCB นั่นเองนะครับ พื้นที่จัดเก็บ คือ Register

249
00:16:32,426 --> 00:16:35,815
นะครับ

250
00:16:36,429 --> 00:16:39,815
Register คือ หน่วยความจำขนาดเล็ก

251
00:16:40,430 --> 00:16:43,816
ที่ในหน่วยความจำ ส่วนในรายละเอียดต่าง ๆ

252
00:16:44,433 --> 00:16:47,816
อาจารย์จะพูดในบทที่ 3, 4, 5 นะครับ อันนี้พูดคร่าว ๆ ก่อน

253
00:16:48,435 --> 00:16:51,815
ให้พวกเรามอภาพกว้าง ๆ

254
00:16:52,437 --> 00:16:55,816

255
00:16:56,440 --> 00:16:59,816

256
00:17:00,442 --> 00:17:03,816
ครับผม

257
00:17:04,443 --> 00:17:07,816

258
00:17:08,446 --> 00:17:11,816

259
00:17:12,447 --> 00:17:15,816

260
00:17:16,448 --> 00:17:19,816

261
00:17:20,452 --> 00:17:23,819

262
00:17:24,453 --> 00:17:27,816

263
00:17:28,454 --> 00:17:31,816

264
00:17:32,458 --> 00:17:35,816
ดูต่อนะครับ

265
00:17:36,459 --> 00:17:39,816
องค์ประกอบต่อมา

266
00:17:40,461 --> 00:17:43,816
นะครับ ของ Process ก็คือ

267
00:17:44,465 --> 00:17:47,816
นะครับ

268
00:17:48,466 --> 00:17:51,816
หรือ PSW นะครับ Program Status Words นะครับ

269
00:17:52,467 --> 00:17:55,816
เป็นตัวควบคุมลับดับของ Exci

270
00:17:56,469 --> 00:17:59,817
ของ Process

271
00:18:00,471 --> 00:18:03,816
มันจะบอกว่า Process นี้จะเข้าไปครอบครอง

272
00:18:04,472 --> 00:18:07,816
CPU ลำดับที่เท่าไรนะครับ

273
00:18:08,474 --> 00:18:11,816

274
00:18:12,477 --> 00:18:15,816
ต่อมานะครับ คุณสมบัติของ Process นะครับ แต่ละ Process

275
00:18:16,478 --> 00:18:19,817
จะมีคุณสมบัติดังต่อไปนี้

276
00:18:20,481 --> 00:18:23,817
นะครับ ก็คือ 1. Process ทุก

277
00:18:24,483 --> 00:18:27,817
ตัวจะมีบำดับความสำคัญ

278
00:18:28,484 --> 00:18:31,817
ต่างกันนะครับ Process ทุก Process

279
00:18:32,485 --> 00:18:35,817
จะมีลำดับความสำคัญ เช่น

280
00:18:36,486 --> 00:18:39,819
Process A อาจจะมีความสำคัญมากกว่า Process B หรือ Process ของ

281
00:18:40,487 --> 00:18:43,821
ผู้ดูแลรับอาจจะมีความสำคัญมากกว่าข

282
00:18:44,489 --> 00:18:47,817
ของ User อย่างนี้ อันที่ 2

283
00:18:48,490 --> 00:18:51,817
คุณสมบัติอันที่ 2 อำนาจหน้าที่

284
00:18:52,492 --> 00:18:55,818
Process ทุกตัวจะมีอำนาจหน้าที่ที่ต่างกัน เช่น Process

285
00:18:56,493 --> 00:18:59,817
ของผู้ดุแลระบบมีอนาจ

286
00:19:00,499 --> 00:19:03,818
มากกว่าของ User อย่างนี้เป็นต้นนะครับ หรือ

287
00:19:04,501 --> 00:19:07,817
คุณสมบัติอื่น ๆ ที่

288
00:19:08,505 --> 00:19:11,817
OS กำหนด

289
00:19:12,508 --> 00:19:15,820
อันนี้ขึ้นอยู่กับ OS ครับ

290
00:19:16,513 --> 00:19:19,817
เช่น ใช้ Windows 8

291
00:19:20,514 --> 00:19:23,817
ใช้ Windows 10

292
00:19:24,521 --> 00:19:27,820
ของ Process ก็จะต่างออกไป ยกตัวอย่างเช่นนะครับ

293
00:19:28,523 --> 00:19:31,818
Windoes 8

294
00:19:32,524 --> 00:19:35,817
สามารถตั้งชื่อได้

295
00:19:36,525 --> 00:19:39,819
ความยาวกี่ตัวอักษรรู้ไหม

296
00:19:40,526 --> 00:19:43,822
เคยไหม อาจารย์จะยังไม่บอกว่ากี่ตัวอักษรนะ

297
00:19:44,527 --> 00:19:47,818
เราสามารตั้งชื่อได้นะ

298
00:19:48,528 --> 00:19:51,821
นะครับ กับ Windows 11

299
00:19:52,531 --> 00:19:55,818
ต่างกันไหม ลองดูนะ ลองดู

300
00:19:56,532 --> 00:19:59,818
จะไปลองตอนภาคปฏิบัติ ลองสิว่าเรา

301
00:20:00,533 --> 00:20:03,818
ถ้าเกิดเป็น Window

302
00:20:04,535 --> 00:20:07,818
Windows 11 สามารถตั้งชื่อความยาวกี่ตัว

303
00:20:08,536 --> 00:20:11,818
นะครับ นี่คือคุณสมบัติที่แต่ละตัว

304
00:20:12,537 --> 00:20:15,818
เป็นคนกำหนดนะครับ

305
00:20:16,538 --> 00:20:19,819

306
00:20:20,540 --> 00:20:23,818
เมื่อกี้องค์ประกอบของ Process นะครับ คราวนี้องค์ประกอบ

307
00:20:24,541 --> 00:20:27,818
ของ Process นะครับ

308
00:20:28,545 --> 00:20:31,818
สไลด์นะครับ อยู่กับพี่พลอยนะ

309
00:20:32,546 --> 00:20:35,818
พลอยค่อย เอาขึ้นให้น้องนะครั

310
00:20:36,547 --> 00:20:39,818
อาจารย์ลืมอัปลงในไลน์กลุ่มนะครับ

311
00:20:40,550 --> 00:20:43,818
แวะดูก่อนนะครับ คราวนี้

312
00:20:44,551 --> 00:20:47,818
มาดูสถานะของ Process นะครับ Process ก็แบ่งออกเป็นสถานะ

313
00:20:48,552 --> 00:20:51,818
ได้ดังต่อไปนนี้นะครับ

314
00:20:52,556 --> 00:20:55,818
สถานะพร้อมเป็นอย่างไร

315
00:20:56,556 --> 00:20:59,818
สถานะพร้อมเป็นสถานะพร้อมที่ Process

316
00:21:00,557 --> 00:21:03,818
พร้อมที่จะใช้ CPU ทันทีที่

317
00:21:04,560 --> 00:21:07,819
OS มอบหมายให้

318
00:21:08,561 --> 00:21:11,819
รอแล้ว เหมือนเรารอคิวแล้ว ยืนรอแล้ว

319
00:21:12,562 --> 00:21:15,819
รอเข้าไปครอบครอง CPU

320
00:21:16,566 --> 00:21:19,819
หรือรอเข้าไปใช้งาน CPU เราเรียกว่า "สถานะพร้อม"

321
00:21:20,567 --> 00:21:23,818
เช่น

322
00:21:24,568 --> 00:21:27,819
เราจะไปเข้าห้องน้ำ ห้องน้ำเป็น CPU แล้วนะครับ เรายืนรอคิว

323
00:21:28,569 --> 00:21:31,821
นี่ เราพร้อมแล้ว พร้อมจะเข้าไปใช้งาน

324
00:21:32,570 --> 00:21:35,819
เราเรียกว่า "สถานะพร้อม" นะครับ สถานะที่ 2 คือ

325
00:21:36,571 --> 00:21:39,819
สถานะ run

326
00:21:40,573 --> 00:21:43,819
Run คืออะไรครับ สถานะ Run เป็นสถานะ

327
00:21:44,577 --> 00:21:47,819
Process กำลังครอบครอง CPU อยู่

328
00:21:48,578 --> 00:21:51,819
CPU อยู่ ก็คือเข้าไปครอบครอง CPU

329
00:21:52,579 --> 00:21:55,819
ที่เราเรียกว่า Run Progarm

330
00:21:56,580 --> 00:21:59,819
นี่คือสถานะ Run

331
00:22:00,581 --> 00:22:03,820
นะครับ

332
00:22:04,582 --> 00:22:07,819
สถานะที่ 3 นะครับ

333
00:22:08,583 --> 00:22:11,819
สถานะติดขัด

334
00:22:12,585 --> 00:22:15,819
เขาบอกว่าสถานะติดขัดเกิดจากการ

335
00:22:16,586 --> 00:22:19,820
ที่ Process หยุดรอ

336
00:22:20,587 --> 00:22:23,819
เหตุการณ์ใดเหตุการณ์หนึ่งให้เกิดขึ้น

337
00:22:24,588 --> 00:22:27,820
โดย Process ไม่จำเป็นต้องใช้ CPU

338
00:22:28,589 --> 00:22:31,820
และมันต้องไปครอบครอง CPU เราไม่รู้

339
00:22:32,591 --> 00:22:35,819
เหตุการณ์นั้นคือเหตุการณ์อะไร ไม่รู้

340
00:22:36,592 --> 00:22:39,820
ยกตัวอย่างเช่น

341
00:22:40,593 --> 00:22:43,822
ผมกับแม็กกี้หรือกับอุบล

342
00:22:44,594 --> 00:22:47,819
ผมเป็น Process A ไปยืนรอคิวใน

343
00:22:48,595 --> 00:22:51,819
สถานะพร้อม อุบลรอผมคนที่ 2

344
00:22:52,597 --> 00:22:55,820
คนที่ 2 ผมเปลี่ยนจากสถานะ

345
00:22:56,598 --> 00:22:59,820
พร้อมเข้าเป็นสถานะ Run ก็คือ

346
00:23:00,600 --> 00:23:03,819
เข้าไปครอบครอง CPU

347
00:23:04,603 --> 00:23:07,819
อุบลก็รออยู่สถานะพร้อม

348
00:23:08,604 --> 00:23:11,820
ในจังหวะที่ผมกำลังครอบครอง CPU อยู่ บังเอิญว่า

349
00:23:12,605 --> 00:23:15,820
ผมจำเป็นจะต้อง

350
00:23:16,606 --> 00:23:19,820
ไปพิมพ์งาน ไปพิมพ์เอกสาร ช่วงที่พิมพ์

351
00:23:20,607 --> 00:23:23,820
เอกสาร ผมจะต้องออกไปที่พรินต์เตอร์

352
00:23:24,608 --> 00:23:27,823
ไปที่พรินเตอร์ แล้วช่วงที่ออกไปที่พรินเตอร์นี่

353
00:23:28,609 --> 00:23:31,820
ต้องใช้งาน CPU

354
00:23:32,611 --> 00:23:35,820
จังหวะนี่ล่ะครับ เรียกว่าสถานะติดขัด

355
00:23:36,612 --> 00:23:39,820
คือเกิดเหตุการณ์ที่ตัวของ Process

356
00:23:40,613 --> 00:23:43,820
ออกไปติดต่ออุปกรณ์รองข้าง จังหวะนี้

357
00:23:44,614 --> 00:23:47,820
อุยลก็จะเข้ามาแทนที่ผม

358
00:23:48,615 --> 00:23:51,825
นึกออกไหมนะครับ ถ้าเขาถามว่าสถานะติดขัด

359
00:23:52,616 --> 00:23:55,822
จากอะไร เราก็บอกว่าเกิดจากสถานะ

360
00:23:56,617 --> 00:23:59,820
ที่ Process เข้าไปครอบครอง CPU แล้วนะครับ

361
00:24:00,618 --> 00:24:03,821
แต่เกิดเหตที่ Processเอ

362
00:24:04,619 --> 00:24:07,820
ไม่จำเป็นจะต้องครอบครอง CPU ต่อ

363
00:24:08,619 --> 00:24:11,820
หรือ ไปติดต่ออุปกรณ์ข้างนอก

364
00:24:12,622 --> 00:24:15,820
อุปกรณ์รอบข้างแทน ต้องปล่อย CPU ออกไป Process ใหม่ก็

365
00:24:16,623 --> 00:24:19,821
เข้ามาครองแทนที่นะครับ

366
00:24:20,628 --> 00:24:23,820
นี่คือสถานะติดขัด

367
00:24:24,630 --> 00:24:27,821
สถานะต่อมานะครับ สถานะพัก

368
00:24:28,633 --> 00:24:31,821
เขาบอกสถานะพัก

369
00:24:32,634 --> 00:24:35,820
ก็คือาถานะ Process ไม่มีการทำง

370
00:24:36,635 --> 00:24:39,820
ก็คือจบสมบูรณ์ เช่น ผมไปครอบครอง

371
00:24:40,636 --> 00:24:43,821
CPU ทำงานเสร็จสิ้นแล้วปุ๊บ ออก

372
00:24:44,637 --> 00:24:47,820
จบเลย มาทำงานต่อ ได้พัก จบนะครับ

373
00:24:48,639 --> 00:24:51,821

374
00:24:52,641 --> 00:24:55,821

375
00:24:56,648 --> 00:24:59,820
ซึ่ง Process นั้นนะครับ

376
00:25:00,651 --> 00:25:03,821
สามารถที่จะเปลี่ยนสถานะหนึ่งเป็น

377
00:25:04,652 --> 00:25:07,820
สถานะหนึ่ง ได้ตลอดเวลา

378
00:25:08,653 --> 00:25:11,820
นะครับ ขึ้นอยู่ว่า ณ ตรงนั้นอยู่ในสถานะอะไร

379
00:25:12,654 --> 00:25:15,821
อาจจะพร้อม พร้อมเสร็จ

380
00:25:16,656 --> 00:25:19,820
เข้าไป Run Run เสร็จปุ๊บต้องไปติดต่ออุปกรณ์รอบข้าง

381
00:25:20,657 --> 00:25:23,821
เป็นสถานะติดขัด พอติดขัดเสร็จก็

382
00:25:24,658 --> 00:25:27,820
กลับไปพร้อมใหม่ พร้อมเสร็จเข้าไป Run Run

383
00:25:28,660 --> 00:25:31,821
เสร็จแล้ว จบแล้วไปพัก

384
00:25:32,661 --> 00:25:35,821
นะครับ มันจะเปลี่ยนไปอย่างนี้ตลอดเวลานะครับ

385
00:25:36,662 --> 00:25:39,821

386
00:25:40,671 --> 00:25:43,821

387
00:25:44,673 --> 00:25:47,821

388
00:25:48,675 --> 00:25:51,822
อันนี้อาจารย์อธิบายไปแล้วนะครับ

389
00:25:52,676 --> 00:25:55,821
อันนี้อาจารย์ ฮธิบายไปแล้วนะครับลอง

390
00:25:56,677 --> 00:25:59,821
ดูรูปนะครับ เห็นไหมครับ

391
00:26:00,677 --> 00:26:03,821
ในรูปภาพอธิบาย

392
00:26:04,681 --> 00:26:07,821
การเปลี่ยนสถานะของ Process ใช่ไหม

393
00:26:08,682 --> 00:26:11,821
เหมือนที่อาจายร์อธิบายไปเมื่อกี้

394
00:26:12,684 --> 00:26:15,821
ยืนต่อคิวเลย 1 2 3 4 5

395
00:26:16,688 --> 00:26:19,822
พร้อมไหม พร้อม

396
00:26:20,691 --> 00:26:23,821
พอพร้อมเสร็จ ได้เวลา โอเค Run

397
00:26:24,692 --> 00:26:27,821
ทีละตัวทีละโปรแกรมทีละ Processe

398
00:26:28,694 --> 00:26:31,821
ถ้ามีอะไรเกิดขึ้น จบครับ พักเลย

399
00:26:32,697 --> 00:26:35,834
นี่คือการเปลี่ยนสถานะของ Process

400
00:26:36,702 --> 00:26:39,821
แต่ถ้าเกิดเหตุการณ์ใดเหตุการณ์หนึ่งขึ้น

401
00:26:40,704 --> 00:26:43,821
นะครับเพราะอะไรครับ

402
00:26:44,706 --> 00:26:47,823
รูปนี้ รูปนี้

403
00:26:48,708 --> 00:26:51,821
มาพร้อมมา Run

404
00:26:52,709 --> 00:26:55,822
แล้วก็จบ ถ้าสมมติว่า

405
00:26:56,711 --> 00:26:59,823
Process แต่ละตัวเข้าไป Run ไม่

406
00:27:00,712 --> 00:27:03,821
ใช้เวลาไม่เท่ากันจะเกิดอะไรขึ้นนะ เช่น

407
00:27:04,713 --> 00:27:07,821
Process A เช่นผม

408
00:27:08,714 --> 00:27:11,821
พร้อมเข้าไป Run 2 วินาที

409
00:27:12,717 --> 00:27:15,824
แล้วก็จบ มีอะไรเกินขึ้นไหม

410
00:27:16,719 --> 00:27:19,822
ไม่มี คราวนี้อุบล

411
00:27:20,720 --> 00:27:23,821
อุบลมาต่อคิวมาพร้อม

412
00:27:24,721 --> 00:27:27,822
อุบลเข้าไป Run ปุ๊บ อุบลบอกผมใช้เวลา 3 ชั่วโมง

413
00:27:28,722 --> 00:27:31,822
เป็นอย่างไรครับเราก็จบ

414
00:27:32,724 --> 00:27:35,822
ใช่ไหม คราวนี้

415
00:27:36,725 --> 00:27:39,821
นิ่ง 3 คนที่ 3 มา

416
00:27:40,726 --> 00:27:43,824
ต่อคิวพร้อม แต่ปรากฏว่ามิ่งต้องการใช้เวลาแค่

417
00:27:44,727 --> 00:27:47,822
1 วินาที แตค่ต้องรออุบล

418
00:27:48,728 --> 00:27:51,822
3 ชั่วโมงนึกออกไหม นึกภาพตามนะ

419
00:27:52,732 --> 00:27:55,822
ดังนั้นในระบบคอมพิวเตอร์ของเรานั้น

420
00:27:56,738 --> 00:27:59,822
มันจะต้องไม่ให้เกิดเหตุการณ์นี้เกิดขึ้น มันจึงต้องกำหนด

421
00:28:00,741 --> 00:28:03,822
เวลาขึ้นมา คุณจะต้อง

422
00:28:04,742 --> 00:28:07,822
เข้าไปเวลานี้แล้วจบนะ เราเรียกเวลานี้ว่าเวลาควอนตัม

423
00:28:08,744 --> 00:28:11,824
ถ้าย้อนถามกลับว่า

424
00:28:12,745 --> 00:28:15,823
เวลาควอนตัมคืออะไร

425
00:28:16,746 --> 00:28:19,823
คืออะไรครับคือเวลาที่

426
00:28:20,747 --> 00:28:23,823
ถูกกำหนดไว่ว่า Process แต่ละตัวสามารถ

427
00:28:24,748 --> 00:28:27,822
เข้าไปครอบครอง

428
00:28:28,749 --> 00:28:31,822
CPU ได้เป็นเวลาเท่าไร หรือนานเท่าไร

429
00:28:32,750 --> 00:28:35,822
เช่น เรากดหนดเวลา ควอนต

430
00:28:36,751 --> 00:28:39,822
5 วินาทีสมมตินะ 5 วินาที แสดงว่า

431
00:28:40,752 --> 00:28:43,823
Process ทุกตัวจะสามารถเข้าไปครอบครองได้แ

432
00:28:44,753 --> 00:28:47,822
5 วินาที เช่น เมื่อกี้อย่างเมื่อกี้

433
00:28:48,754 --> 00:28:51,831
ผม Process A เข้าไป

434
00:28:52,755 --> 00:28:55,822
3 วิฯ จบไหม จบ

435
00:28:56,756 --> 00:28:59,821
เพราะว่าเราให้ 5 วินาทีใช่ไหมควอนตัม

436
00:29:00,757 --> 00:29:03,822
อุบลก็จะเข้าไปได้แค่ 5 วิ(นาที) แล้วอุบลต้องย้อนกลับ

437
00:29:04,758 --> 00:29:07,822
ไปพร้อมใหม่เพิ่มให้ มิ้งเข้าไปใหม่

438
00:29:08,762 --> 00:29:11,823
นี่คือหลักการของมันนะครับ

439
00:29:12,763 --> 00:29:15,823

440
00:29:16,765 --> 00:29:19,822
มันก็จะเกิดรูปนี้ขึ้น

441
00:29:20,766 --> 00:29:23,822
ใช่ไหม

442
00:29:24,768 --> 00:29:27,822
นี่นะครับ พร้อม

443
00:29:28,770 --> 00:29:31,823
พออเราเอาเวลาควอนตัมมาจับ

444
00:29:32,771 --> 00:29:35,823
เข้าไป Run ได้แค่ 5 วิฯ นะ ถ้าเกินนั้นกลับไปวนใหม่

445
00:29:36,773 --> 00:29:39,823
มันเลยทำให้เกิดระบบหลายโป

446
00:29:40,774 --> 00:29:43,822
นะครับ แต่เวลาเราทำงานกับคอมพิวเตอร์ มันเป็นอย่างไรครับ

447
00:29:44,775 --> 00:29:47,822
แต่ในความรู้สึกเราเป็นอย่างไรครับ มันทำงาน

448
00:29:48,776 --> 00:29:51,823
ด้วยความเร็วสูง มันเลยเหมือนประหนึ่งว่าอย่างนี้จริงหรือ

449
00:29:52,778 --> 00:29:55,823
ใช่ไหมเราหายใจแทบไม่ทัน

450
00:29:56,779 --> 00:29:59,822
สมัยที่อาจารย์เรียนเขียนโปรแกรมนะครับ

451
00:30:00,780 --> 00:30:03,822
เมื่อเกือบ 30 ปีที่แล้วนะ

452
00:30:04,781 --> 00:30:07,823
เวลาเรา Run โปรแกรม เราจะกด Escape

453
00:30:08,783 --> 00:30:11,822
S Slacap

454
00:30:12,784 --> 00:30:15,824
กด F8 F9 ปุ๊บ นึกได้ผ่านไป 2 นาที

455
00:30:16,785 --> 00:30:19,822
ไม่ถูกกดยกเลิก

456
00:30:20,786 --> 00:30:23,822
แต่โปรแกรมเราทุกวันนี้ เราคลิก

457
00:30:24,787 --> 00:30:27,822
ปุ๊บ ประมวลผลปั๊บ

458
00:30:28,788 --> 00:30:31,822
มันมีความเร็วสูงนะครับ ตามรูปนี้นะครับ

459
00:30:32,789 --> 00:30:35,822
พยายามมองตามนะ เพราะว่า

460
00:30:36,793 --> 00:30:39,822
เราจะเรียนอีก 3 ครั้ง

461
00:30:40,794 --> 00:30:43,822
แล้วก็จะสอบกลางภาต

462
00:30:44,795 --> 00:30:47,822
นะครับ สอบกลางภาค พอสอบกลางภาคเสร็จ

463
00:30:48,796 --> 00:30:51,822
อาจารย์ก็จะะยกคลาสไปอยู่

464
00:30:52,797 --> 00:30:55,822
อาคาร 7 เพื่อเรียนภาคปฏิบัติ

465
00:30:56,798 --> 00:30:59,823
นะครับ ภาคปฎิบัติเราก็จะ

466
00:31:00,798 --> 00:31:03,823
เรียนแค่สัปดาห์ละ 8 คน เราจะไม่เรียนทั้งห้อง

467
00:31:04,800 --> 00:31:07,823
แบบนี้นะครับ

468
00:31:08,801 --> 00:31:11,822

469
00:31:12,803 --> 00:31:15,822
คราวนี้มาดูอีกสถานะ

470
00:31:16,806 --> 00:31:19,822
นะครับ ที่เรา

471
00:31:20,808 --> 00:31:23,823
พูดไว้ก็คือสถานะติดขัด

472
00:31:24,809 --> 00:31:27,823
เห็นไหมครับดูรูป

473
00:31:28,810 --> 00:31:31,825
มาพร้อม เห็นไหม

474
00:31:32,811 --> 00:31:35,831
พร้อมปุ๊บ มา Run เข้าไป

475
00:31:36,813 --> 00:31:39,824
Run จะหมดเวลาควอนตัม หรือไม่หมดก็แล

476
00:31:40,814 --> 00:31:43,822
แต่บังเอิญว่า Process นั้น

477
00:31:44,816 --> 00:31:47,823
ไปติดต่อกับอุปกรณ์รอบข้าง

478
00:31:48,821 --> 00:31:52,821
ติดต่อกับ Printer

479
00:31:52,823 --> 00:31:56,822
ช่วงที่ติดต่อพรินเตอร์ไม่ได้ทำงานก็จะถ

480
00:31:56,825 --> 00:32:00,822
ทุกผลักออกมาเป็นสถานะติดขัด พอติดขัดเสร็จ

481
00:32:00,825 --> 00:32:04,822
ก็จะย้อนกลับไปพร้อมใหม่

482
00:32:04,827 --> 00:32:08,822
นะครับ นี่คือสถานะติดขัด

483
00:32:08,830 --> 00:32:12,822

484
00:32:12,831 --> 00:32:16,822

485
00:32:16,833 --> 00:32:20,833
เขาบอกว่าการเปลี่ยน

486
00:32:20,835 --> 00:32:24,823
ทั้ง 3 ของ Process ก็คือ พร้อม Run ติดขัด

487
00:32:24,842 --> 00:32:28,822
เป็นการเปลี่ยน

488
00:32:28,842 --> 00:32:32,822
ในสภาพทั่วไปนะครับ พร้อม

489
00:32:32,843 --> 00:32:36,822
Run ติดขัด

490
00:32:36,846 --> 00:32:40,822
แต่ถ้าเกิดเหตุการณ์ที่

491
00:32:40,847 --> 00:32:44,823
ผิดปกติขึ้นในระบบปฏิบัติการห

492
00:32:44,848 --> 00:32:48,822
หรือระบบคอมพิวเตอร์เรา ระบบปฏิบัติการอาจจะย้าย Process

493
00:32:48,850 --> 00:32:52,822
ใดสถานะหนึ่ง

494
00:32:52,851 --> 00:32:56,822
ให้ไปอยู่สถานะพักก็ได้

495
00:32:56,853 --> 00:33:00,821
เพราะสถานะพักเราบอกว่ามันหยุดนิ่งเลย

496
00:33:00,855 --> 00:33:04,822
มันหยุดนิ่งเลย ไม่ทำงานต่อแล้ว ก็คือเข้าไป Run แล้วก็จบใช่ไหม แต่

497
00:33:04,857 --> 00:33:08,822
ถ้าเกิดเหตการณ์ขึ้น

498
00:33:08,859 --> 00:33:12,822
จากสถานะพร้อม Run ติดขัด ไปพักก็ได้

499
00:33:12,860 --> 00:33:16,822
นะครับ ซึ่ง

500
00:33:16,861 --> 00:33:20,821
จะเกิดขึ้นได้ก็ด้วยสาเหตุดังต่อไปนี้นะครับ

501
00:33:20,863 --> 00:33:24,821
1

502
00:33:24,869 --> 00:33:28,822
เกิดการทำงานของระบบผิดพลาด

503
00:33:28,871 --> 00:33:32,822
เช่นสั่ง ๆ ไป ปรากฎว่าระบบ Error

504
00:33:32,876 --> 00:33:36,822
ปรากฏว่าระบบ Error ผิดพลาด

505
00:33:36,877 --> 00:33:40,821
ไปกดสตางค์ 1 บาท

506
00:33:40,878 --> 00:33:44,823
ออกมา 10,000 บาท ดีไหมโทมัส ดีไหม

507
00:33:44,879 --> 00:33:48,822
เอาไหม อย่าไปเอานะลูก

508
00:33:48,890 --> 00:33:52,822
เขาจับเจ้าเด้อ

509
00:33:52,892 --> 00:33:56,826
ต้องไปแจ้งธนาคารนะครับ

510
00:33:56,894 --> 00:34:00,822
นี่คือระบบผิดพลาด มันก็จะย้ายทุกอย่างไปที่

511
00:34:00,897 --> 00:34:04,821
สถานะพัก จนกว่าเหตุการณ์ปกติ

512
00:34:04,898 --> 00:34:08,821
เริ่มต้นใหม่นะครับ สาเหตุอันที่ 2 นะครับ

513
00:34:08,899 --> 00:34:12,821
ที่จะเกิดสถานะพักนะครับ

514
00:34:12,900 --> 00:34:16,821
ผู้ใช้ต้องการหยุดการทำงาน

515
00:34:16,901 --> 00:34:20,821
ชั่วคราว ทำ ๆ อยู่

516
00:34:20,902 --> 00:34:24,821
เราสั่งหยุดอย่างนี้ มันก็จะไปอยู่สถานะพัก

517
00:34:24,903 --> 00:34:28,822
เช่น Run อยู่กดยกเลิก

518
00:34:28,905 --> 00:34:32,822
สาเหตุอันที่ 3 นะครับ

519
00:34:32,906 --> 00:34:36,821
ในระบบมีงานมากเกินไป

520
00:34:36,907 --> 00:34:40,821

521
00:34:40,908 --> 00:34:44,821
สั่งเข้าไป ๆ Over load

522
00:34:44,911 --> 00:34:48,821
แฮงค์ Error ก็ย้ายไปสถานะพัก

523
00:34:48,912 --> 00:34:52,823
นะครับ นี่คือสาเหตุหลัก ๆ 3 สาเหตุ

524
00:34:52,914 --> 00:34:56,822
ทำให้การเปลี่ยนสถานะจากสถานะพร้อม

525
00:34:56,916 --> 00:35:00,822
Run ติดขัดไปอยู่ในสถานะำพ

526
00:35:00,918 --> 00:35:04,821
เห็นไหมครับ

527
00:35:04,919 --> 00:35:08,821
รูป

528
00:35:08,920 --> 00:35:12,821
จากรูปนะครับ พร้อม

529
00:35:12,921 --> 00:35:16,821
Run ติดขัด

530
00:35:16,922 --> 00:35:20,821
แต่ถ้าเกิดสาเหตุจากเมื่อกี้ ระบบ

531
00:35:20,923 --> 00:35:24,821
เกิดทำงานผิดพลาด ผู้ใช้สั่งหยุดเอง

532
00:35:24,925 --> 00:35:28,821
ระบบทำงานมากเกินไปปุ๊บ มาพักเลย

533
00:35:28,926 --> 00:35:32,821
นะครับ

534
00:35:32,928 --> 00:35:36,822

535
00:35:36,929 --> 00:35:40,822
ดังนั้นนะครับ เราก็สามารถ

536
00:35:40,930 --> 00:35:44,821
แยกสถานะของ Process เป็น 2 ส่วน

537
00:35:44,931 --> 00:35:48,824
ก็คือส่วนที่ 1 พร้อม Runติดขัด

538
00:35:48,932 --> 00:35:52,821
Run ติดขัดใช่ไหม ส่วนที่ 2 คือ

539
00:35:52,933 --> 00:35:56,821
พักนะครับ

540
00:35:56,935 --> 00:36:00,821

541
00:36:00,936 --> 00:36:04,821

542
00:36:04,937 --> 00:36:08,821

543
00:36:08,938 --> 00:36:12,821
คราานี้มาดูลำดับชั้นของ Process

544
00:36:12,940 --> 00:36:16,821
นะครับ Process ก็มีลำดับชั้นนะครับ

545
00:36:16,942 --> 00:36:20,822
เขาบอกว่าระบบปฏิบัติการ

546
00:36:20,943 --> 00:36:24,822
หรือ OS นะครับ ผมใช้คำย่อว่า OS

547
00:36:24,945 --> 00:36:28,822
เขาบอกว่า OS เอง

548
00:36:28,946 --> 00:36:32,821
ก็ประกอบด้วยหลาย ๆ Process

549
00:36:32,948 --> 00:36:36,821
ถ้าหลายคนสับสน ถ้าอาจาย?์

550
00:36:36,950 --> 00:36:40,821
Process เราจะเรียกว่าโปรแกรมได้ไหม

551
00:36:40,951 --> 00:36:44,821
ได้ไหม

552
00:36:44,953 --> 00:36:48,821
ได้ไหมครับ

553
00:36:48,954 --> 00:36:52,821
บางคนไม่รู้เหมือนกัน

554
00:36:52,955 --> 00:36:56,821
เขาบอกว่า OS เองก็ประกอบไปด้วยหลาย

555
00:36:56,956 --> 00:37:00,821
Process 1 2 3 เยอะแยะมากมาย

556
00:37:00,958 --> 00:37:04,822
เมื่อผู้ใช้สั่งงาน

557
00:37:04,959 --> 00:37:08,821

558
00:37:08,960 --> 00:37:12,821

559
00:37:12,961 --> 00:37:16,821

560
00:37:16,962 --> 00:37:20,821
เอาสีอะไรดี

561
00:37:20,963 --> 00:37:24,821

562
00:37:24,964 --> 00:37:28,821

563
00:37:28,967 --> 00:37:32,821

564
00:37:32,970 --> 00:37:36,821

565
00:37:36,974 --> 00:37:40,825

566
00:37:40,977 --> 00:37:44,821

567
00:37:44,980 --> 00:37:48,820

568
00:37:48,981 --> 00:37:52,824
พื้นสีดำไปไม่เป็นเลยนะครับ

569
00:37:52,982 --> 00:37:56,821
เขาบอกว่าเมื่อ Process ประกอบด้วยหลายข

570
00:37:56,983 --> 00:38:00,821
นั้นนะครับ เมื่อผู้ใช้สั่งงานหรือให้โปรแกรม Run

571
00:38:00,985 --> 00:38:04,822
OS หรือระบบปฏิบัติการจะ

572
00:38:04,986 --> 00:38:08,821
สร้าง Process สำหรับงานนั้นขึ้นมานะครับ ซึ่ง Process สำหรับผู้ใช้

573
00:38:08,987 --> 00:38:12,821
นี่นะครับเป็น Process ย่อยของ

574
00:38:12,989 --> 00:38:16,821
นึกออกไหม

575
00:38:16,990 --> 00:38:20,820
เขาบอกว่า Process เองก็มีเยอะแยะมา

576
00:38:20,991 --> 00:38:24,823
ของมันนะครับ ซึ่งเราสำหรับผู้ใช้สั่งงานปุ๊บ เช่น อุบล

577
00:38:24,992 --> 00:38:28,822
บอกอุบลต้องการเข้าไปครอบครอง CPU

578
00:38:28,993 --> 00:38:32,823
ระบบปฏิบัติการก็จะสร้าง Process หนึ่งเข้ามาในระบบปฏิบัติการ

579
00:38:32,994 --> 00:38:36,821
สำหรับงานนะครับ นั่นแสดงว่า

580
00:38:36,995 --> 00:38:40,821
Process ของอุบลนั้นก็เป็น Process ย่อยของระบบปฏิบัติการ

581
00:38:40,997 --> 00:38:44,821
นึกออกไหมครับนึกตามนะ

582
00:38:44,998 --> 00:38:48,820
นะครับ ซึ่ง

583
00:38:48,999 --> 00:38:52,820
Process OS ก็จะมีคุณสมาบัติเหมือน

584
00:38:53,000 --> 00:38:56,820
อื่น ๆ ทั่วไปนะครับ เขาว่าดังนั้น Process อื่น ๆ

585
00:38:57,003 --> 00:39:00,821
สามารถมี Process ย่อย ๆ ไปอีกเรื่อย ๆ ได้

586
00:39:01,004 --> 00:39:04,821
นะครับ เขาเรียกว่าการให้กำเนิด

587
00:39:05,009 --> 00:39:08,822

588
00:39:09,011 --> 00:39:12,821
นึกออกไหม ตัวอย่างเช่นนะครับ

589
00:39:13,012 --> 00:39:16,821
อุบล

590
00:39:17,013 --> 00:39:20,825
ต้องการเข้าไปครอบครอง CPU อุบลเป็น Process หนึ่งแล้ว

591
00:39:21,016 --> 00:39:24,821
ตัวอาจารย์เองเป็น OS เป็นระบบปฏิบัติ

592
00:39:25,017 --> 00:39:28,820
เมื่ออุบลจะเข้าไปครอบครอง CPU หรือเข้าไปสถานะ Run

593
00:39:29,018 --> 00:39:32,820
เข้าไปสถานะ Run

594
00:39:33,019 --> 00:39:36,821
จะถูกผม OS ตั้ง Process หนึ่งขึ้นมา

595
00:39:37,021 --> 00:39:40,821
เพื่อไปกำกับดูแลอุบล

596
00:39:41,023 --> 00:39:44,821
นะครับ นี่เราเรียกว่า "การให้กำเนิด"

597
00:39:45,024 --> 00:39:48,821
แต่พออุบลเข้าไป

598
00:39:49,025 --> 00:39:52,823
ครอบครอง CPU แล้ว เข้าไปสถานะ Run แล้ว

599
00:39:53,027 --> 00:39:56,820
อุบลก็จะมี Process ย่อย

600
00:39:57,028 --> 00:40:00,820
ต่อไปอีก นึกออกไหม ซึ่งไม่รู้ว่ามีอะไรบ้างเราไม่รู้

601
00:40:01,030 --> 00:40:04,821
ซึ่งตัวของ Process ย่อย

602
00:40:05,031 --> 00:40:08,820
ที่เราเรียกว่า การให้กำเนิดนั้นเราจะเรียกว่า โปรเซสพ่อ

603
00:40:09,032 --> 00:40:12,821
นะครับ

604
00:40:13,033 --> 00:40:16,822
ส่วน Process ย่อยที่สร้างต่อจาก Process

605
00:40:17,035 --> 00:40:20,824
ผู้ให้กำเนิดเรีาเรียกว่า Proc

606
00:40:21,036 --> 00:40:24,821
เป็นลำดับชั้นนะครับ เป็นลักษณะแบบโครงสร้าง

607
00:40:25,037 --> 00:40:28,822
แบบต้นไม้ ดูรูปนี้เห็นไหมครับ

608
00:40:29,038 --> 00:40:32,823
นี่คือลำดับชั้นของ Process นะครับ

609
00:40:33,041 --> 00:40:36,821
นี่คือลำดับย่อของ Porcess

610
00:40:37,042 --> 00:40:40,820

611
00:40:41,043 --> 00:40:44,820
หัวข้อต่อมานะครับ ความสัมพันธ์

612
00:40:45,044 --> 00:40:48,820
ระหว่าง Process

613
00:40:49,045 --> 00:40:52,821

614
00:40:53,046 --> 00:40:56,823
เราไม่พักเลยนะ

615
00:40:57,048 --> 00:41:00,820
พี่ล่ามคนเดียวนะครับ

616
00:41:01,049 --> 00:41:04,821
ขอพัก 5 นาทีนะครับ

617
00:41:05,050 --> 00:41:08,820
พี่ล่ามจะได้ไป ทานน้ำ ไปเข้าน้ำ

618
00:41:09,051 --> 00:41:12,820
ทานน้ำ แล้วก็เข้าห้องน้ำนะครับ

619
00:41:13,052 --> 00:41:16,820
พักก่อน 5 นาทีนะครับ เดี๋ยวเราต่ออีกประม

620
00:41:17,070 --> 00:41:20,820
ประมาณ 15 สไลด์นะครับ

621
00:41:21,072 --> 00:41:24,821

622
00:41:25,073 --> 00:41:28,820

623
00:41:29,075 --> 00:41:32,820

624
00:41:33,076 --> 00:41:36,820

625
00:41:37,078 --> 00:41:40,820

626
00:41:41,080 --> 00:41:44,820

627
00:41:45,081 --> 00:41:48,820

628
00:41:49,082 --> 00:41:52,820

629
00:41:53,084 --> 00:41:56,820

630
00:41:57,087 --> 00:42:00,820

631
00:42:01,090 --> 00:42:04,820

632
00:42:05,093 --> 00:42:08,820

633
00:42:09,097 --> 00:42:12,820

634
00:42:13,101 --> 00:42:16,820

635
00:42:17,105 --> 00:42:20,822

636
00:42:21,107 --> 00:42:24,820

637
00:42:25,108 --> 00:42:28,820

638
00:42:29,109 --> 00:42:32,820

639
00:42:33,111 --> 00:42:36,820

640
00:42:37,112 --> 00:42:40,820

641
00:42:41,113 --> 00:42:44,820

642
00:42:45,114 --> 00:42:48,828

643
00:42:49,116 --> 00:42:52,832

644
00:42:53,118 --> 00:42:56,820

645
00:42:57,121 --> 00:43:00,820

646
00:43:01,125 --> 00:43:04,820

647
00:43:05,129 --> 00:43:08,820

648
00:43:09,133 --> 00:43:12,829

649
00:43:13,136 --> 00:43:16,820

650
00:43:17,138 --> 00:43:20,821

651
00:43:21,141 --> 00:43:24,820

652
00:43:25,142 --> 00:43:28,822

653
00:43:29,144 --> 00:43:32,820

654
00:43:33,147 --> 00:43:36,820

655
00:43:37,149 --> 00:43:40,820

656
00:43:41,150 --> 00:43:44,820

657
00:43:45,154 --> 00:43:48,820

658
00:43:49,155 --> 00:43:52,821

659
00:43:53,156 --> 00:43:56,820

660
00:43:57,157 --> 00:44:00,820

661
00:44:01,159 --> 00:44:04,820

662
00:44:05,160 --> 00:44:08,820

663
00:44:09,161 --> 00:44:12,820

664
00:44:13,162 --> 00:44:16,820

665
00:44:17,164 --> 00:44:20,820

666
00:44:21,165 --> 00:44:24,820

667
00:44:25,168 --> 00:44:28,820

668
00:44:29,169 --> 00:44:32,820

669
00:44:33,171 --> 00:44:36,820

670
00:44:37,172 --> 00:44:40,820

671
00:44:41,174 --> 00:44:44,820

672
00:44:45,176 --> 00:44:48,820

673
00:44:49,178 --> 00:44:52,820

674
00:44:53,181 --> 00:44:56,820

675
00:44:57,183 --> 00:45:00,820

676
00:45:01,184 --> 00:45:04,820

677
00:45:05,187 --> 00:45:08,820

678
00:45:09,189 --> 00:45:12,820

679
00:45:13,191 --> 00:45:16,820

680
00:45:17,193 --> 00:45:20,820

681
00:45:21,195 --> 00:45:24,821

682
00:45:25,196 --> 00:45:28,820

683
00:45:29,197 --> 00:45:32,819

684
00:45:33,198 --> 00:45:36,820

685
00:45:37,200 --> 00:45:40,820

686
00:45:41,201 --> 00:45:44,820

687
00:45:45,203 --> 00:45:48,820

688
00:45:49,204 --> 00:45:52,820

689
00:45:53,206 --> 00:45:56,820

690
00:45:57,207 --> 00:46:00,820

691
00:46:01,209 --> 00:46:04,820

692
00:46:05,210 --> 00:46:08,820

693
00:46:09,212 --> 00:46:12,821

694
00:46:13,214 --> 00:46:16,819

695
00:46:17,217 --> 00:46:20,820

696
00:46:21,218 --> 00:46:24,820

697
00:46:25,219 --> 00:46:28,820

698
00:46:29,221 --> 00:46:32,820

699
00:46:33,222 --> 00:46:36,821

700
00:46:37,223 --> 00:46:40,820

701
00:46:41,224 --> 00:46:44,820

702
00:46:45,226 --> 00:46:48,820

703
00:46:49,229 --> 00:46:52,820

704
00:46:53,231 --> 00:46:56,820

705
00:46:57,233 --> 00:47:00,820

706
00:47:01,234 --> 00:47:04,819

707
00:47:05,238 --> 00:47:08,819

708
00:47:09,239 --> 00:47:12,820

709
00:47:13,243 --> 00:47:16,820

710
00:47:17,247 --> 00:47:20,820

711
00:47:21,253 --> 00:47:24,820

712
00:47:25,256 --> 00:47:28,820

713
00:47:29,259 --> 00:47:32,820

714
00:47:33,263 --> 00:47:36,820

715
00:47:37,264 --> 00:47:40,820

716
00:47:41,265 --> 00:47:44,820

717
00:47:45,270 --> 00:47:48,820

718
00:47:49,273 --> 00:47:52,820

719
00:47:53,274 --> 00:47:56,819

720
00:47:57,275 --> 00:48:00,819

721
00:48:01,278 --> 00:48:04,823

722
00:48:05,280 --> 00:48:08,820

723
00:48:09,281 --> 00:48:12,820

724
00:48:13,282 --> 00:48:16,819

725
00:48:17,284 --> 00:48:20,820

726
00:48:21,285 --> 00:48:24,820

727
00:48:25,287 --> 00:48:28,820

728
00:48:29,288 --> 00:48:32,819

729
00:48:33,291 --> 00:48:36,820

730
00:48:37,294 --> 00:48:40,819

731
00:48:41,295 --> 00:48:44,819

732
00:48:45,297 --> 00:48:48,820

733
00:48:49,299 --> 00:48:52,822

734
00:48:53,301 --> 00:48:56,819

735
00:48:57,303 --> 00:49:00,829

736
00:49:01,305 --> 00:49:04,819

737
00:49:05,307 --> 00:49:08,820

738
00:49:09,309 --> 00:49:12,820

739
00:49:13,310 --> 00:49:16,819

740
00:49:17,312 --> 00:49:20,820

741
00:49:21,314 --> 00:49:24,820

742
00:49:25,316 --> 00:49:28,820

743
00:49:29,317 --> 00:49:32,821

744
00:49:33,321 --> 00:49:36,819

745
00:49:37,323 --> 00:49:40,824

746
00:49:41,325 --> 00:49:44,820

747
00:49:45,326 --> 00:49:48,820

748
00:49:49,327 --> 00:49:52,819

749
00:49:53,329 --> 00:49:56,819

750
00:49:57,330 --> 00:50:00,820

751
00:50:01,332 --> 00:50:04,820

752
00:50:05,333 --> 00:50:08,820

753
00:50:09,335 --> 00:50:12,820

754
00:50:13,337 --> 00:50:16,819

755
00:50:17,339 --> 00:50:20,819

756
00:50:21,340 --> 00:50:24,820

757
00:50:25,342 --> 00:50:28,820

758
00:50:29,343 --> 00:50:32,820

759
00:50:33,347 --> 00:50:36,819

760
00:50:37,348 --> 00:50:40,820

761
00:50:41,350 --> 00:50:44,820

762
00:50:45,352 --> 00:50:48,820

763
00:50:49,353 --> 00:50:52,820

764
00:50:53,355 --> 00:50:56,820

765
00:50:57,358 --> 00:51:00,819

766
00:51:01,360 --> 00:51:04,820

767
00:51:05,363 --> 00:51:08,820

768
00:51:09,364 --> 00:51:12,828

769
00:51:13,366 --> 00:51:16,820

770
00:51:17,369 --> 00:51:20,820

771
00:51:21,370 --> 00:51:24,820

772
00:51:25,373 --> 00:51:28,820

773
00:51:29,374 --> 00:51:32,820

774
00:51:33,377 --> 00:51:36,820

775
00:51:37,378 --> 00:51:40,820

776
00:51:41,380 --> 00:51:44,820

777
00:51:45,381 --> 00:51:48,820

778
00:51:49,383 --> 00:51:52,820

779
00:51:53,385 --> 00:51:56,821

780
00:51:57,386 --> 00:52:00,820

781
00:52:01,387 --> 00:52:04,820

782
00:52:05,394 --> 00:52:08,823

783
00:52:09,396 --> 00:52:12,820

784
00:52:13,397 --> 00:52:16,820
(อาจารย์พิเชนทร์)

785
00:52:17,400 --> 00:52:20,825
ดูต่อนะครับ

786
00:52:21,402 --> 00:52:24,821
ความสัมพันธ์ระหว่าง Process

787
00:52:25,403 --> 00:52:28,822
นะครับ

788
00:52:29,404 --> 00:52:32,822
การทำงานของระบบคอมพิวเตอร์นั้นนะครับ จะประกอบไปด้วย

789
00:52:33,408 --> 00:52:36,820
Process  ต่าง ๆ นะครับ

790
00:52:37,410 --> 00:52:40,820
ทั้งของระบบแล้วของผู้ใช้นะครับ

791
00:52:41,425 --> 00:52:44,820
เมื่อมันมี

792
00:52:45,427 --> 00:52:48,832
Process มากมายทำงานพร้อม ๆ กันนะครับ จัดการขึ้น

793
00:52:49,428 --> 00:52:52,820
นะครับ นอกจากการจัดการแล้ว

794
00:52:53,429 --> 00:52:56,820
เราก็ต้องมีการ

795
00:52:57,431 --> 00:53:00,821
ติต่อระหว่างกัน เหมือนเราเรา

796
00:53:01,432 --> 00:53:04,822
อยู่ในห้องเรานะครับ เราจะต้องมีการติดต่อสัมพันธ์กัน

797
00:53:05,434 --> 00:53:08,820
นะครับ คราวนี้

798
00:53:09,435 --> 00:53:12,820
เรามาดูหัวข้อความสัมพันธ์ระหว่าง Process นะครับ

799
00:53:13,436 --> 00:53:16,820
การติดต่อระหว่าง Process นั้น

800
00:53:17,439 --> 00:53:20,820
หมายความว่า Process หนึ่งอาจต้องการใช้ข้อมูล

801
00:53:21,440 --> 00:53:24,820
ของอีก Process  นึ่งจึงต้องทำไมครับ

802
00:53:25,440 --> 00:53:28,821
ต้องมีการส่งข้อมูลหรือต้องการติดต่อ

803
00:53:29,441 --> 00:53:32,821
กันระหว่างProcess นะครับ ซึ่ง

804
00:53:33,442 --> 00:53:36,821
การติดต่อกันระหว่าง Process นั้นนะครับ ก็มีหลายวิธี

805
00:53:37,445 --> 00:53:40,820
มาดูวิธีที่ 1 นะครับ

806
00:53:41,446 --> 00:53:44,821

807
00:53:45,448 --> 00:53:48,821
ติดต่อกันโดย

808
00:53:49,449 --> 00:53:52,820
ใช้หน่วยความจำร่วม

809
00:53:53,451 --> 00:53:56,821
นะครับ

810
00:53:57,453 --> 00:54:00,821
หมายความว่า เมื่อ Process หนึ่งต้องการ

811
00:54:01,454 --> 00:54:04,820
หรือส่งข้อมูลไปให้อีก Process หนึ่ง

812
00:54:05,455 --> 00:54:08,821
มันจะส่งข้อมูลผ่านหน่วยความจำร่วม

813
00:54:09,456 --> 00:54:12,821
ฟังก่อนนะครับฟังก่อนอย่างพึ่

814
00:54:13,457 --> 00:54:16,822
อย่าเพิ่งคุยกันครับ จะจบแล้ว อีก

815
00:54:17,459 --> 00:54:20,821
แค่ 10 สไลด์นะครับ

816
00:54:21,460 --> 00:54:24,820
ฟังหรือเปล่าครับนี่ ฟังหรือเปล่า บอก

817
00:54:25,461 --> 00:54:28,821
เงียบก่อนนะครับ ฟังก่อน

818
00:54:29,463 --> 00:54:32,821
อย่าเพิ่งคุยกันเสียงดังนะครับ เดี๋ยวมันจะไม่เข้าใจ

819
00:54:33,467 --> 00:54:36,821
นะครับ เวลาสอบ เรามัวแต่ลอก

820
00:54:37,468 --> 00:54:40,823
ในหน้าจอนี่บางทีมันพอเวลาไปสอบนะครับ มันจะตอบไม่ได้นะครับ

821
00:54:41,470 --> 00:54:44,821

822
00:54:45,471 --> 00:54:48,821
เดี๋ยวสอบกลางภาคก็จะรู้คะแนนตัวเองว่าได้เท่าไร

823
00:54:49,472 --> 00:54:52,821
ผมบอกแล้วนะครับว่าข้อสอบผมนั้นมี

824
00:54:53,473 --> 00:54:56,821
ทั้งหมด 8 ชุดนะครับ ผมให้นั่ง

825
00:54:57,474 --> 00:55:00,821
สอบแบบติดกันเลยนะครับ

826
00:55:01,474 --> 00:55:04,821
ข้อสอบคนละชุดนะครับ ถ้าเราไม่เข้าใจเราจะเขียน

827
00:55:05,475 --> 00:55:08,821
อธิบายได้ ดูนะครับความสัมพันธ์

828
00:55:09,476 --> 00:55:12,824
อันที่ 1 ก็คือเวลามันติดต่อหากันมันจะใช้หน่วยความจำร่วมกัน

829
00:55:13,477 --> 00:55:16,821
ดูรูปข้างล่างเลยนะครับ

830
00:55:17,479 --> 00:55:20,821
Process A

831
00:55:21,480 --> 00:55:24,821
ต้องการส่งข้อมูลไปให้ Process B

832
00:55:25,480 --> 00:55:28,822
มันทำกันอย่างไรนะครับ วิธีการ ก็คือ Process A

833
00:55:29,483 --> 00:55:32,829
ส่งไปแล้วจัดส่งไปที่หน่วยความจำ

834
00:55:33,484 --> 00:55:36,821
นะครับ ส่งไปที่หน่วนความจำ เมื่อ Process B

835
00:55:37,485 --> 00:55:40,821
ต้องการจะไปรับข้อมูลจาก Process A

836
00:55:41,486 --> 00:55:44,824
มันก็จะไปรับที่หน่วยความจำนะครับ ซึ่งหน่วยความจำก็จะ

837
00:55:45,487 --> 00:55:48,821
มี Adssdes

838
00:55:49,488 --> 00:55:52,821
แล้วเราจะรู้ได้อย่างไรครับ Process A ส่งอะไร

839
00:55:53,489 --> 00:55:56,821
มาให้เช็กจากอะไรครับ

840
00:55:57,490 --> 00:56:00,821
เช็กจากชื่อ จาก ID ใช่ไหม เพราะว่า

841
00:56:01,492 --> 00:56:04,821
ชื่อของ Process  แต่ละตัวก็จะมีรหัสด้วยนะครับ

842
00:56:05,493 --> 00:56:08,821
เห็นไหมครับ Process A นี่ มันจะส่งข้อมูล

843
00:56:09,494 --> 00:56:12,821
มานะครับ เราส่งไปให้

844
00:56:13,495 --> 00:56:16,821
หน่วยความจำร่วม Process A ก็ไปรับที่หน่วยความจำ

845
00:56:17,496 --> 00:56:20,821
นะครับการติดต่อกันระหว่างหน่อวยความจำระครับ

846
00:56:21,497 --> 00:56:24,821

847
00:56:25,499 --> 00:56:28,821
นอกจากการใช้หน่วยควาามจำร่วม

848
00:56:29,500 --> 00:56:32,821
ติดต่อระหว่าง Process นะครับ ก็ยังมีวิธีการที่สะดวก

849
00:56:33,502 --> 00:56:36,826
นะครับแล้วก้นิยมใช้เป็นมาตราฐานนะครับ

850
00:56:37,503 --> 00:56:40,821
นั่นก็คือการใช้ช่องทางข้อมูล

851
00:56:41,505 --> 00:56:44,821
หรือเรียกง่าย ๆ ว่า พอร์ต

852
00:56:45,506 --> 00:56:48,822
นะครับ ติดต่อผ่านพอร์ต

853
00:56:49,508 --> 00:56:52,821
รู้จัก Port นะ

854
00:56:53,510 --> 00:56:56,822
Port parareal

855
00:56:57,511 --> 00:57:00,822
ต่อสายเข้าไปในเครื่องคอทมพิวเตอร์เราผ้

856
00:57:01,512 --> 00:57:04,821
นะครับ อันนี้ง่ายกว่านะครับ สะดวกกว่า

857
00:57:05,513 --> 00:57:08,821
เช่น เราต้องการส่งข้อมูลจาก

858
00:57:09,514 --> 00:57:12,822
เครื่องของคนหนึ่งไปเครื่องอีกคนหนึ่ง

859
00:57:13,515 --> 00:57:16,821
ผ่านอะไร ผ่านพอร์ตนะครับ

860
00:57:17,517 --> 00:57:20,821

861
00:57:21,518 --> 00:57:24,821
คราวนี้วิธี่การส่งข้อมูล

862
00:57:25,521 --> 00:57:28,822
ส่งข้อมูลทั้งผ่านหน่วยความจำร่วมแล้วก็ผ่านพอร์ต

863
00:57:29,522 --> 00:57:32,821
นั้นนะครับ ในเรื่องของ

864
00:57:33,528 --> 00:57:36,822
โครงสร้างของพอร์ตก็มีหลายแบบนะครับ จะส่งแบบไหนนะครับ

865
00:57:37,529 --> 00:57:40,822
อันที่ 1 นะครับโครสร้างของ Port

866
00:57:41,530 --> 00:57:44,822
แบบที่ 1 ก็คือแบบคิว

867
00:57:45,531 --> 00:57:48,821
นะครับ โครงสร้างแบบนี้ก็คือ ข้อมูล

868
00:57:49,533 --> 00:57:52,822
จะถูกดึงออกมาจากพอร์ตตามลำดับก่อน-หลัง

869
00:57:53,534 --> 00:57:56,822
ข้อมูลไหนส่งเข้ามาก่้อนก็จะ

870
00:57:57,536 --> 00:58:00,821
ออกไปก่อน ก็คือแบบคิวเป็นคิว

871
00:58:01,537 --> 00:58:04,821
นะครับ เช่น ผมเข้าไปก่อนอุบล

872
00:58:05,539 --> 00:58:08,821
ผมก็ออกก่อนอุบลนะครับ นี่คือโครงสร้างข้อมูลแบบพอร์ต

873
00:58:09,540 --> 00:58:12,822
ง่าย ๆ ครับเข้าก่อน ออกก่อน

874
00:58:13,543 --> 00:58:16,821
นะครับ โครงสร้างพอร์ต

875
00:58:17,544 --> 00:58:20,822
แบบที่ 2 ก้คือโครงสร้างแบบ

876
00:58:21,546 --> 00:58:24,821
รูปข้างล่างใช่ไหม

877
00:58:25,547 --> 00:58:28,821
แบบ prit

878
00:58:29,548 --> 00:58:32,824
แบบมีการทำงานแบบคิว คือเข้าก่อน

879
00:58:33,549 --> 00:58:36,822
ออกก่อน แต่มี

880
00:58:37,551 --> 00:58:40,822
ข้อแตกต่างกับแบบคิวที่ว่าถ้าเป็นพอร์ตแบบไปป์

881
00:58:41,552 --> 00:58:44,821
จะมีความยาวของ Port ไม่จำกัด

882
00:58:45,554 --> 00:58:48,822
ถ้าเป็นแบบคิวจะจำกัน

883
00:58:49,555 --> 00:58:52,824
เช่นพอร์ตแบบคิวแบบว่า

884
00:58:53,555 --> 00:58:56,822
มีขนาดของพอร์ต ความยาว

885
00:58:57,560 --> 00:59:00,822
10 ช่องสมมตินะ

886
00:59:01,561 --> 00:59:04,822
ก็แสดงว่าเข้าไปได้แค่ 10 คิวนะครับ

887
00:59:05,562 --> 00:59:08,822
แต่ถ้าพอร์ตแบบไปท์โครงส

888
00:59:09,565 --> 00:59:12,822
เหมือนพอร์ตแบบคิวก็จริง เข้าก่อนออกก่อน แต่จะ

889
00:59:13,566 --> 00:59:16,832
มีความยาวของ Port

890
00:59:17,570 --> 00:59:20,822

891
00:59:21,572 --> 00:59:24,822
นี่คือโครงสร้าง

892
00:59:25,572 --> 00:59:28,822
แบบไปป์นะครับ

893
00:59:29,573 --> 00:59:32,821
โครงสร้าง Port แบบที่ 3 ก็คือ

894
00:59:33,574 --> 00:59:36,822
Stack นะครับ เป็นอย่างไรครับ

895
00:59:37,576 --> 00:59:40,822
แบบสแต็ก

896
00:59:41,577 --> 00:59:44,822
Stack คือ โครงสร้างที่ตรงข้ามกับแบบคิวเลยครับ

897
00:59:45,578 --> 00:59:48,822
ก็คือข้อมูลชุดใดที่ถูกส่งออกมาก่อน

898
00:59:49,579 --> 00:59:52,822
จะถูกดึงออกทีหลัง คือ เข้าก่อนออกทีหลัง

899
00:59:53,580 --> 00:59:56,822
นะครับนี่คือโครงสร้างแบบ

900
00:59:57,581 --> 01:00:00,822
Stack นะครับ นี่คือโครงสร้างของพอร์ตทั้ง 3 แบบนะครับ

901
01:00:01,582 --> 01:00:04,822

902
01:00:05,584 --> 01:00:08,822
คราวนี้มาดู

903
01:00:09,585 --> 01:00:12,831
ปัยหาของ Process นะครับ

904
01:00:13,586 --> 01:00:16,823
เมื่อมีการทำงานมากกว่า 1 Process ขึ้นไป

905
01:00:17,587 --> 01:00:20,822
นะครับมันย่อมทำให้เกิดปัญหาเกิดขึ้น

906
01:00:21,589 --> 01:00:24,822
ในการใช้งาน เมื่อมีโปรแกรม

907
01:00:25,590 --> 01:00:28,822
ทำงานในระบบคอมพิวเตอร์เรา ปัยหาก้ไม่เกิดขึ้นร

908
01:00:29,591 --> 01:00:32,822
นะครับ เมื่อมีหลาย ๆ โปรแกรมทำงานอยู่บนระบบเดียวกัน

909
01:00:33,591 --> 01:00:36,822
มีการใช้ทรัพยากร

910
01:00:37,592 --> 01:00:40,822
แย่งกันใช้ มันย่อมเกิดปัญหาขึ้น

911
01:00:41,593 --> 01:00:44,823
นะครับดังนั้นมันจะต้องมีการจัดสรร

912
01:00:45,594 --> 01:00:48,822
การใช้ Process ขึ้นนะครับ

913
01:00:49,595 --> 01:00:52,827
ถึงอย่างไรก็ตาม

914
01:00:53,596 --> 01:00:56,822
ที่เราจะกล่าวต่อไปนี้ มันจะต้อง

915
01:00:57,600 --> 01:01:00,822
ไม่เกิดขึ้นกับระบบของเรา

916
01:01:01,602 --> 01:01:04,822
นะครับ ดังนั้น คนที่ออกแบบระบบปฏิบัติการจะต้องแก้ปัญหา

917
01:01:05,603 --> 01:01:08,822
ดังต่อไปนี้ให้ได้

918
01:01:09,603 --> 01:01:12,828
เวลาเราเขียนโปรแกรมเราจะต้องเลี่ยงปัญหาเหล่านี้ให้ได้

919
01:01:13,604 --> 01:01:16,822
นะครับ ปัญหาการทำงานของProcess อันดับ

920
01:01:17,605 --> 01:01:20,822
แรกเลยนะครับ ก็คือปัญหาการตัดตอน

921
01:01:21,606 --> 01:01:24,822
นะครับปัญหา

922
01:01:25,608 --> 01:01:28,822
เกิดจากอะไรครับ เกิดจากการที่ Process หนึ่ง

923
01:01:29,609 --> 01:01:32,822
ต้องการใช้ทรัพยากร

924
01:01:33,610 --> 01:01:36,822
ของ Process แต่ปรากฏว่า Process นั้นมีลำกับความสำคัญ

925
01:01:37,611 --> 01:01:40,822
น้อยกว่าจึงยอมปลดปล่อย

926
01:01:41,612 --> 01:01:44,822
ที่มีระดับความสำคัญมากกว่าเข้าไปครอบครองตัว CPU

927
01:01:45,615 --> 01:01:48,822
แทนตัวมันเอง

928
01:01:49,616 --> 01:01:52,822
นึกออกใช่ไหมครับ ก็คือ Process หนึ่ง อย่าง

929
01:01:53,617 --> 01:01:56,822
เช่น ผมกำลังจะเข้าไปครอบครอง

930
01:01:57,618 --> 01:02:00,822
CPU แต่ปรากฏว่าอุบลเข้ามาต่อคิวผม

931
01:02:01,619 --> 01:02:04,822
บังเอิญว่าลำดับความสำคัญอุบ

932
01:02:05,621 --> 01:02:08,823
สำคัญมากกว่าผม ผมยอมให้อุบลเข้าไปแทนผม นี่

933
01:02:09,622 --> 01:02:12,822
เกิดการตัดตอนขึ้น

934
01:02:13,623 --> 01:02:16,823
ให้เป็นวิชาการ อธิบายว่าเกิดจาการ

935
01:02:17,624 --> 01:02:20,822
ที่ Process ใด Process หนึ่ง

936
01:02:21,625 --> 01:02:24,825
ที่จะเข้าไปครอบครอง CPU หรือเข้าไปในสถานะ Run นั้น

937
01:02:25,628 --> 01:02:28,822
ยอมให้ Process น

938
01:02:29,629 --> 01:02:32,823
ความสำคัญมากกว่าเข้าไปแทนที่มัน มันก็จะเกิด

939
01:02:33,630 --> 01:02:36,822
การตัดตอนขึ้นนะครับ

940
01:02:37,633 --> 01:02:40,823
ซึ่งปัญหาตัวนี้นะครับ คนที่ออกแบบระบบปฏิบัติการจะต้อง

941
01:02:41,634 --> 01:02:44,823
ไม่ให้เกิดขึ้นนะครัย

942
01:02:45,636 --> 01:02:48,822

943
01:02:49,640 --> 01:02:52,822
ปัญหาต่อมานอกจากปัญหาการตัดตอ

944
01:02:53,641 --> 01:02:56,824
ปัญหาการตัดตอนแล้ว ปัญหาต่อมา ก็คือปัญหา

945
01:02:57,643 --> 01:03:00,822
การอดตาย หรือปัญหา

946
01:03:01,647 --> 01:03:04,822
การเลื่อนไปอย่างไม่มีสิ้นสุด

947
01:03:05,648 --> 01:03:08,822
หมายความว่าเมื่อเกิดการตัดตอนขึ้น

948
01:03:09,649 --> 01:03:12,822
Process หนึ่งปล่อยให้ Process อีก Process หนึ่งที่มีความสำคัญ

949
01:03:13,650 --> 01:03:16,823
มากกว่าเข้าไปครอบคลอง CPU มัน

950
01:03:17,652 --> 01:03:20,823
แล้วแทนไปเรื่อย ๆ

951
01:03:21,654 --> 01:03:24,824
นี่เราเรียกว่าว่า "การอดตาย"

952
01:03:25,655 --> 01:03:28,822
เช่น ตัวอย่างเมื่อกี้ผมจะเข้าไปครอบครอง CPU

953
01:03:29,656 --> 01:03:32,823
แต่บังเอินว่า อุบล

954
01:03:33,657 --> 01:03:36,823
มาต่อคิว อุบลมีลำดับความสำคัญมากกว่า อุบลเข้าไปแทนที่

955
01:03:37,658 --> 01:03:40,822
พออุบลเสร็จแล้ว

956
01:03:41,675 --> 01:03:44,826
ผมจะเข้าไปต่อ แต่ปรากฏว่า

957
01:03:45,677 --> 01:03:48,823
แม็กกี้มาต่อแล้วแม็กกี้มีความ

958
01:03:49,678 --> 01:03:52,823
ก็เข้าไปแทนที่อีก พอ

959
01:03:53,681 --> 01:03:56,825
แม็กกี้ออกมา ผมจะเข้าไปต่อ ปรากฎว่า

960
01:03:57,686 --> 01:04:00,822
มิ่งมาต่อ แล้ว

961
01:04:01,687 --> 01:04:04,822
มิ้งมีความสำคัญมากกว่า มิ้งก็

962
01:04:05,691 --> 01:04:08,822
ก็คือรอไป

963
01:04:09,692 --> 01:04:12,823
ไม่มีวันสิ้นสุด รอไปเรื่อย ๆ  ไม่มีวันสิ้นสุ

964
01:04:13,696 --> 01:04:16,823
นะครับ ถ้าเป็นสมัยก่อนนะครับ

965
01:04:17,697 --> 01:04:20,823
ผมก็จะยกตัวอย่างให้พวกเรา

966
01:04:21,698 --> 01:04:24,822
สมมติว่าที่อาคาร 7 เรานะครับ

967
01:04:25,699 --> 01:04:28,822
สร้างห้องน้ำมาใหม่

968
01:04:29,700 --> 01:04:32,823
เปรียบเสมือน CPU สมมตินะ

969
01:04:33,701 --> 01:04:36,822
ผมจะเข้าเป็นคนแรก

970
01:04:37,702 --> 01:04:40,823
กำลังจะเปิดประตูเข้าไปห้องน้ำ ปรากฏว่าอุบล ไม่ใช่อุบล

971
01:04:41,703 --> 01:04:44,823
อธิการ สะกิดหลัง

972
01:04:45,704 --> 01:04:48,823
พิเชนทร์ ๆ ผมขออนุญาตเข้าก่อน ผมมองไปข้างหลัง

973
01:04:49,707 --> 01:04:52,823
อธิการใหญ่กว่าผม

974
01:04:53,708 --> 01:04:56,825
นี่เกิดการตัดตอน

975
01:04:57,709 --> 01:05:00,822
แต่พออธิการเข้าไปเสร็จปุ๊บ

976
01:05:01,711 --> 01:05:04,822
ปรากฏว่ามีคนสะกิดหลังอีกแล้ว ผู้ว่าฯ สะกิดหลัง

977
01:05:05,712 --> 01:05:08,823
เป็นอย่างไรครับ ผู้ว่าเข้าไป

978
01:05:09,713 --> 01:05:12,823
นายอำเภอสกิดหลัง ผู้ว่าสกิดหลังเกิดการ

979
01:05:13,714 --> 01:05:16,822
ต้องตัดตอน พอตัดตอนเสร็จปุ๊บ

980
01:05:17,715 --> 01:05:20,822
ไม่มีโอกาสได้เข้า ก็เลยเป็นอดตายนะครับ

981
01:05:21,718 --> 01:05:24,822
นี่คือปัญหาหาที่ 2

982
01:05:25,719 --> 01:05:28,822
ของเรานะครับ ปัญหาที่ 3

983
01:05:29,720 --> 01:05:32,823

984
01:05:33,722 --> 01:05:36,823
เขาบอกว่าทำไมถึงให้เกิดการ

985
01:05:37,723 --> 01:05:40,822
ตัดตอนไม่ได้หรือการอดตายไม่ได้

986
01:05:41,738 --> 01:05:44,822
มันจะเกิดปัญหาขึ้น ถ้าทรัพยากรบางประเภท

987
01:05:45,738 --> 01:05:48,822
ถ้าเราปล่อยให้เกิดการตัดตอน

988
01:05:49,740 --> 01:05:52,822
จะเกิดปัญหาขึ้น เช่น เครื่องพิมพ์

989
01:05:53,741 --> 01:05:56,829
ให้เรามาถึงเครื่องพิมพ์

990
01:05:57,742 --> 01:06:00,822
ที่เป็นหัวเข็ม เคยเห็นไหม มันจะดังแกร๊ก มันจะ

991
01:06:01,743 --> 01:06:04,823
พรินทีละบรรทัด

992
01:06:05,747 --> 01:06:08,822
เคยเห็นไหมครับ เครื่องพิมพ์แบบหัวเข็ม เหมือนเราไปซื้อ

993
01:06:09,749 --> 01:06:12,822
ของตามเซเว่น

994
01:06:13,751 --> 01:06:16,823
หรือเราไปจ่ายค่าเทอม มันจะ

995
01:06:17,752 --> 01:06:20,822
พรินเป็นหัวเข็มออกมา

996
01:06:21,753 --> 01:06:24,822
ถ้าเราปล่อยให้เกิดการตัดตอนขึ้น เช่น ผมสั่งพรินต์

997
01:06:25,755 --> 01:06:28,822
ไปได้ 2 บรรทัด

998
01:06:29,756 --> 01:06:32,823
สั่งมา อุบลบอกว่าอุบลมีความสำคัญมากกว่าแล้วเกิดการตัดตอน

999
01:06:33,757 --> 01:06:36,822
บรรทัดที่ 3 จะกลายเป็นของอุบล

1000
01:06:37,758 --> 01:06:40,822
ดังนั้น ห้ามให้มีเหตุการณ์นี้เกิดขึ้นนะครับ

1001
01:06:41,760 --> 01:06:44,822
เพราะทรัพยากร บางอย่าง

1002
01:06:45,763 --> 01:06:48,824
ให้เกิดขึ้นไม่ได้นะครับ

1003
01:06:49,764 --> 01:06:52,823
ปัญหาต่อมานะครับ

1004
01:06:53,765 --> 01:06:56,822
ปัญหาการติดตาย

1005
01:06:57,766 --> 01:07:00,822
ดูรูปประกอบเลยนะครับ

1006
01:07:01,767 --> 01:07:04,822
ปัญหาการติดตายคืออะไรครับ ดูรูปเลย เมื่อ Process

1007
01:07:05,768 --> 01:07:08,822
ใดก็แล้วแต่ ครอบครองทรัพยากรของตั

1008
01:07:09,768 --> 01:07:12,822
ทรัพยากรของตัวเองอยู่ แล้วในขณะเดียวกัน

1009
01:07:13,770 --> 01:07:16,833
ต้องการไปครอบครองทรัพยากรของเรา

1010
01:07:17,771 --> 01:07:20,827
แต่ไม่ยอมให้ Process อื่น เข้า

1011
01:07:21,772 --> 01:07:24,822
มาครอบครองทรัพยากรของตัวเอง

1012
01:07:25,773 --> 01:07:28,823
เหมือนกันนะครับ เช่น ผมบอกอุบล

1013
01:07:29,776 --> 01:07:32,824
อาจารย์ยิมสตางค์ของอุบลหน่อย 1 ร้อยล

1014
01:07:33,778 --> 01:07:36,822
อุบลก็บอกเหมือนกัน อาจารย์

1015
01:07:37,778 --> 01:07:40,822
ผมก้ยืมตังอาจารย์หน่อย 200,000.

1016
01:07:41,780 --> 01:07:44,822
แต่อุบลก็ไม่ควักให้ผมนะ ผมก็ไม่ควักให้อุบล

1017
01:07:45,781 --> 01:07:48,822
เพราะเราก็ไม่มีทั้งคูนะ

1018
01:07:49,782 --> 01:07:52,822
คือ อยากได้สตางค์อุบล อุบล

1019
01:07:53,783 --> 01:07:56,822
ไม่ควักให้ นี่คือลักษณะการปิดตาย

1020
01:07:57,786 --> 01:08:00,822
ก็คือ Process ใด Process หนึ่งนี่ครอบครองทรัพยากรตัวเอง

1021
01:08:01,788 --> 01:08:04,822
อยู่แต่อยากไปได้ทรัพยากรของคนอื่น

1022
01:08:05,790 --> 01:08:08,822
คนอื่น แต่ตัวเองก็ไม่ยอมให้ทรัพยากรของตัวเอง

1023
01:08:09,791 --> 01:08:12,838
นะครับนี่คือลักษณธการปืดตายหรือ

1024
01:08:13,792 --> 01:08:16,823

1025
01:08:17,794 --> 01:08:20,823
เขาบอกว่า

1026
01:08:21,796 --> 01:08:24,823
ปัญหาการติดตายนั้น ไม่จำเป็นต้องเกิดจาก 2

1027
01:08:25,797 --> 01:08:28,822
Process อาจจะ

1028
01:08:29,798 --> 01:08:32,821
เกิดจากหลาย Process ก็ได้นะครับ มากกว่า 2 Process แต่ต้อง

1029
01:08:33,800 --> 01:08:36,823
มีเงื่อนไขดังนี้เช่น

1030
01:08:37,803 --> 01:08:40,822
1. การครอบครองเป็นแบบตัดตอนไม่ได้

1031
01:08:41,804 --> 01:08:44,822
อันนี้ก้ตัดตอนไม่ได้นะ

1032
01:08:45,807 --> 01:08:48,822
Process A, Process B ก็ไม่ได้ Process C ก็ไม่ได้

1033
01:08:49,808 --> 01:08:52,822

1034
01:08:53,809 --> 01:08:56,822
ไม่ไป ไม่มา นะครับ เงื่อนไขแบบที่ 2

1035
01:08:57,810 --> 01:09:00,825
การครอบครองเป็นแบบไม่เกิดร่วม

1036
01:09:01,810 --> 01:09:04,822
ต่างคนต่างทำงาน ต่างคนต่างอยู่คนละส่วน

1037
01:09:05,811 --> 01:09:08,822
ปิดตายขึ้น

1038
01:09:09,813 --> 01:09:12,822
นะครับ เงื่อนไขที่ 3 คือ

1039
01:09:13,814 --> 01:09:16,822
ในการรอใช้ทรัพยากร

1040
01:09:17,815 --> 01:09:20,822
เป็นการรอแบบวนรอบ

1041
01:09:21,817 --> 01:09:24,821
หรือวงรอบ หรือภาษาเขีียนโปรแกรม

1042
01:09:25,818 --> 01:09:28,821
เราเรียกว่าวนลูป หรือวนรอบ

1043
01:09:29,819 --> 01:09:33,819
ก้จะเกิดปัญหาการปิดตายขึ้น

1044
01:09:33,821 --> 01:09:37,821
นะครับ นี่คือปัญหา 3 ปัญหาที่เกิดขึ้นในระบบเรา

1045
01:09:37,828 --> 01:09:41,828
แต่เวลาเราออกแบบ OS ก็เกิดขึ้น

1046
01:09:41,852 --> 01:09:45,821

1047
01:09:45,859 --> 01:09:49,821
หัวข้อสุดท้ายนะครับ

1048
01:09:49,860 --> 01:09:53,822
ของบทนี้นะครับ เธรดนะครับ

1049
01:09:53,862 --> 01:09:57,821
เขาบอกในระบบปฏยั

1050
01:09:57,863 --> 01:10:01,828
บางตัวซึ่งเราใช้แล้วนะครับ เราใช้แบบนี้อยู่

1051
01:10:01,864 --> 01:10:05,823
นะครับ ถ้าเป็นสมัยก่อนยกไม่เกิดระบ

1052
01:10:05,865 --> 01:10:09,823
นะครับ เธรด ก็คือเป็นการที่ระบบปฏิบัติการ

1053
01:10:09,866 --> 01:10:13,822
แบ่งย่อย Processing ออกมาเป็นส่วน ๆ

1054
01:10:13,867 --> 01:10:17,821
ดูรูปประกอบเลยนะครับ

1055
01:10:17,868 --> 01:10:21,821

1056
01:10:21,869 --> 01:10:25,822
นี่... ทำไมไม่ขึ้น

1057
01:10:25,874 --> 01:10:29,822
ขวามือผมนะครับ

1058
01:10:29,875 --> 01:10:33,821
กับ Process B

1059
01:10:33,876 --> 01:10:37,823
Process A

1060
01:10:37,877 --> 01:10:41,821
โค้ดโปรแกรม

1061
01:10:41,878 --> 01:10:45,821
แล้วก็ข้อมูลองค์ประกอบอื่น

1062
01:10:45,879 --> 01:10:49,821
เขียนโปรแกรมแบบไม่ใช่เธรด แต่

1063
01:10:49,879 --> 01:10:53,822
พอเทรดปุ๊บมันจะแบ่งส่วนเทรด

1064
01:10:53,880 --> 01:10:57,823
1, 2, 3, 4, 5 เป็นส่วนย่อยนะครับ

1065
01:10:57,885 --> 01:11:01,821
เราแบ่ง มีประโยชน์อะไร

1066
01:11:01,886 --> 01:11:05,821
นะครับ มันจะให้ทำงานเร็วขึ้น สามารถ

1067
01:11:05,888 --> 01:11:09,821
ทำงานกับหน่วยความจำที่มีขนาดเล็กได้

1068
01:11:09,893 --> 01:11:13,821
แก้ไขง่าย นี่คือหลักการเขียนโปรแกรม

1069
01:11:13,897 --> 01:11:17,821
ใน ณ ปัจจุบันนี้นะครับ

1070
01:11:17,903 --> 01:11:21,821
เดี๋ยวพอเราเขียนโปรแกรมเราเรียนไปสัก ปี 2

1071
01:11:21,904 --> 01:11:25,823
ทำไมเราต้องมาเขียนเป็นแบบเทรด

1072
01:11:25,906 --> 01:11:29,822
โบราณนะครับ เขียนทีเดียว 100 บรรทัด, 500 บรรทัด

1073
01:11:29,907 --> 01:11:33,822
เวลามีปัญหามาปุ๊บการแก้ไขปัญหา

1074
01:11:33,908 --> 01:11:37,821
นะครับ แก้ไขยากนะครับ นี่คือหลักการ

1075
01:11:37,909 --> 01:11:41,821
ของการเขียนโปรแกรม

1076
01:11:41,910 --> 01:11:45,821
แจ้งพวกเรานะครับ เมื่อกี้ได้พูดไปแล้วนะครับ

1077
01:11:45,913 --> 01:11:49,821
สัปดาห์หน้านะครับ

1078
01:11:49,914 --> 01:11:53,821
เราก็จะไปศึกษาดูงานนอกสถานที่นะครับ

1079
01:11:53,917 --> 01:11:57,821
หมู่ 2 นะครับ หมู่ 2

1080
01:11:57,917 --> 01:12:01,821
หมู่ 1 ยังไม่ได้ไปนะครับ เราจะไปศึกษาดูงาน

1081
01:12:01,918 --> 01:12:05,821
ที่นครพนม ผมจะ

1082
01:12:05,919 --> 01:12:09,822
พาไปที่บุสบานก่อน

1083
01:12:09,920 --> 01:12:13,823
ไปดุหมู่บ้าน

1084
01:12:13,921 --> 01:12:17,821
อะไรไม่รู้จำไม่ได้นะครับ พวกทำเกี่ยวกับพื้นเมือง แล้วก็จะพาไปพิพิธภัณฑ์สัตว์น้ำ

1085
01:12:17,925 --> 01:12:21,824

1086
01:12:21,926 --> 01:12:25,824
นครพนม ก็สัปดาห์หน้าก็

1087
01:12:25,927 --> 01:12:29,823
หมู่ 1 ก็ต้องมาเรียน ก็เห็นพี่พลอย

1088
01:12:29,928 --> 01:12:33,821
ประสานไปที่อาจารย์อะไรนะที่เราเรียนน่ะ ตอนเช้าน่ะ

1089
01:12:33,930 --> 01:12:37,821
ก็เรียนด้วยกันใช่ไหม

1090
01:12:37,931 --> 01:12:41,821
เห็นว่าอาจารย์ว่าคณะก็

1091
01:12:41,932 --> 01:12:45,823
ไหว้ครู แต่ว่าสัปดาห์หน้าเราไม่มีเรียน

1092
01:12:45,933 --> 01:12:49,822
นะครับ ห้อง 1 นะมีเรียน แต่สัปดาห์หน้าหมู่ 2

1093
01:12:49,933 --> 01:12:53,822
เราจะไปนอกสถานที่

1094
01:12:53,934 --> 01:12:57,822
จะพาไปดูอะไรนะ ไปดู

1095
01:12:57,937 --> 01:13:01,827
ปลาบึก เขาจะป้อนอาหารปลาบึก

1096
01:13:01,939 --> 01:13:05,821
เอาอุบลไปให้อาหารปลา อุบลนะ

1097
01:13:05,940 --> 01:13:09,821
ก็ไปทั้งวันนะครับ

1098
01:13:09,943 --> 01:13:13,821
ก็แจ้งพวกเราไว้ สัปดาห์หน้าก็หยุด

1099
01:13:13,942 --> 01:13:17,821
นะครับ สัปดาห์ถัดไปก็เจอกันนู้นเลยครับ

1100
01:13:17,945 --> 01:13:21,823
นะครับ ก็ตอนนี้เราเปิดเทอมมาได้

1101
01:13:21,946 --> 01:13:25,821
เดือนหนึ่งนะครับเป้นอย้างไรครับปรับตัวได้

1102
01:13:25,947 --> 01:13:29,821
ได้แล้วนะ บางคนก็ส่งงานไว้ที่โต๊ะนะครับ เดี๋ยว

1103
01:13:29,948 --> 01:13:33,824
ผมจะส่งคืนให้นะ ผมจะตรวจ

1104
01:13:33,950 --> 01:13:37,821
แล้วส่งคืนให้ ๆ เราเอาเก็บไว้อ่านสอบ

1105
01:13:37,951 --> 01:13:41,821
แบบฝึกหัดที่ผมให้ทำ

1106
01:13:41,952 --> 01:13:45,821
มีใครอยากจะถามอะไรเพิ่มเติมไหมครับ

1107
01:13:45,953 --> 01:13:49,821

1108
01:13:49,956 --> 01:13:53,822
ครับ ถ้าไม่มีก็...

1109
01:13:53,957 --> 01:13:57,821

1110
01:13:57,958 --> 01:14:01,821
Process พ่อเกิดอย่างไร

1111
01:14:01,959 --> 01:14:05,822
Process พ่อเกิดขึ้นจาก

1112
01:14:05,960 --> 01:14:09,822
การที่เมื่อเวลาใดเวลาหนึ่ง เช่น เรา... สมมตินะ ๆ

1113
01:14:09,961 --> 01:14:13,821
ผมเป็นProcess  ผมต้องการจะเข้าไป ครอบครอง

1114
01:14:13,964 --> 01:14:17,821
จะเข้าไปครอบครอง CPU ตัวของระบบปฏิบัติการจะสร้าง

1115
01:14:17,965 --> 01:14:21,821
Process หนึ่งขึ้นมา เพื่อมากำกับผม

1116
01:14:21,966 --> 01:14:25,821
ไป จะพาเข้าไปครอบครอง CPU นะ นี่

1117
01:14:25,970 --> 01:14:29,821
เป็นการให้กำเนิด เป้นการให้กำเนิด

1118
01:14:29,972 --> 01:14:33,821
เพื่อพา Process เข้าไป ตรงนี้เรียกว่า Process พ่อ

1119
01:14:33,973 --> 01:14:37,821
นะครับนี่คือหลักการของมัน

1120
01:14:37,975 --> 01:14:41,823
ของมันนะครับ

1121
01:14:41,975 --> 01:14:45,821
ครับก็ต้อง

1122
01:14:45,976 --> 01:14:49,821
ขอบคุณพี่ล่ามมากนะครับ ที่ได้ให้การอนุเคราะห์เรา

1123
01:14:49,977 --> 01:14:53,821
มาอีก 1 สัปดาห์ สัปดาห์หน้า

1124
01:14:53,978 --> 01:14:57,821
เราไม่ได้เจอกันนะครับพี่ล่าม สัปดาห์หน้าจะพาน้อง ๆ ไปนอกสถานที่

1125
01:14:57,978 --> 01:15:01,821
ก็ ถ้าไม่มีใครถามอะไรแล้วนะครับ

1126
01:15:01,979 --> 01:15:05,821
ก็เจอกันสัปดาห์หน้านะครับ ไปดูงานนอกสถานที่

1127
01:15:05,980 --> 01:15:09,821
กัน โอเคครับผม ไป

1128
01:15:09,981 --> 01:15:13,821

1129
01:15:13,983 --> 01:15:17,822

1130
01:15:17,984 --> 01:15:21,823

1131
01:15:21,985 --> 01:15:25,821

1132
01:15:25,986 --> 01:15:29,821

1133
01:15:29,987 --> 01:15:33,821

1134
01:15:33,988 --> 01:15:37,988

1135
01:15:37,989 --> 01:15:41,989

1136
01:15:41,990 --> 01:15:41,990


