﻿WEBVTT

1
00:00:00.000 --> 00:00:03.687

2
00:00:04.011 --> 00:00:07.687

3
00:00:08.015 --> 00:00:11.687

4
00:00:12.018 --> 00:00:15.688
ของการจัดการ

5
00:00:16.021 --> 00:00:19.687
Process นะครับ

6
00:00:20.023 --> 00:00:23.688
เราเคยได้ยินไหม

7
00:00:24.026 --> 00:00:27.687
Process

8
00:00:28.029 --> 00:00:31.687
ครับ ถามหมู่ 1 เคยได้ยินไหมครับ คำนี้

9
00:00:32.032 --> 00:00:35.687
เรียนตั้งแต่มัธยม

10
00:00:36.033 --> 00:00:39.687
Process คืออะไรเอ่ย

11
00:00:40.034 --> 00:00:43.688
Process ครับ

12
00:00:44.037 --> 00:00:47.699

13
00:00:48.039 --> 00:00:51.687

14
00:00:52.041 --> 00:00:55.688
เขาบอกว่านะครับ เขาให้ความหมาย ความหมายเยอะแยะ

15
00:00:56.042 --> 00:00:59.687
นะครับ แต่ความหมายที่เรา

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

17
00:01:04.047 --> 00:01:07.688
อยู่กับใครเอกสารหมดหรือยัง

18
00:01:08.049 --> 00:01:11.688
อยู่กับใครครับเอกสาร

19
00:01:12.052 --> 00:01:15.687
เหลืออยู่กับใคร

20
00:01:16.056 --> 00:01:19.688
มีไหม อยู่กับใครครับ เอกสารเหลือน่ะ

21
00:01:20.058 --> 00:01:23.687
หมดไหมครับ

22
00:01:24.059 --> 00:01:27.687
บทที่ 2 น่ะ

23
00:01:28.060 --> 00:01:31.687
อยู่กับใคร เหบลืออยู่กับใคร มันต้องเหลือสิ่

24
00:01:32.061 --> 00:01:35.687
มันต้อง 50 ชุดนะครับ ถ่ายมา

25
00:01:36.063 --> 00:01:39.687
อยู่ไหนล่ะ

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

27
00:01:44.067 --> 00:01:47.687
วางไว้ที่โต๊ะไหน

28
00:01:48.068 --> 00:01:51.688
หรือหมู่ 1

29
00:01:52.069 --> 00:01:55.690
หมู่ 1 หมู่ 1 ส่

30
00:01:56.070 --> 00:01:59.688
ยังไม่ส่งใช่ไหม

31
00:02:00.073 --> 00:02:03.688

32
00:02:04.074 --> 00:02:07.687
เห็นแต่ของห้อง 2

33
00:02:08.076 --> 00:02:11.688
แต่ผมตรวขแล้วนะครับผมตรวจแล้วก็คืนให้แล้ว

34
00:02:12.076 --> 00:02:15.688
นะครับ ใครมาช้ามาเอา

35
00:02:16.077 --> 00:02:19.688
นะครับ

36
00:02:20.078 --> 00:02:23.688

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

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

39
00:02:32.083 --> 00:02:35.688
แล้วก็เราเอาไว้อ่านสอบนะครับ เพราะว่า

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

41
00:02:40.087 --> 00:02:43.688
เดี๋ยวสัปดาห์หน้านะครับ

42
00:02:44.088 --> 00:02:47.688
ห้องหมู่ 2 จะไม่อยู่นะครับ

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

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

45
00:02:56.092 --> 00:02:59.688
ศึกษาดูงานข้างนอกนะครับ

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

47
00:03:04.096 --> 00:03:07.688
สัปดาห์ถัดไปปิดใช่ไหม

48
00:03:08.098 --> 00:03:11.688
หยุด สัปดาห์ถัดไปอีกเรียน สัปดาห์ถัดไปหยุดอีก

49
00:03:12.100 --> 00:03:15.688
เดือนนี้หยุดเยอะนะครับ

50
00:03:16.101 --> 00:03:19.688
มาดูนะครับ Process นะครับ Process Process

51
00:03:20.102 --> 00:03:23.688
เขาให้ความหมายว่า

52
00:03:24.103 --> 00:03:27.688
Process คือ โปรแกรมที่กำลังถูก Execute

53
00:03:28.106 --> 00:03:31.688

54
00:03:32.109 --> 00:03:35.689
คืออะไร

55
00:03:36.110 --> 00:03:39.689
เคยได้ยินไหมครับ

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

57
00:03:44.113 --> 00:03:47.689
เป็นอย่างไรครับ Exsik

58
00:03:48.115 --> 00:03:51.689
ผมเชื่อว่าพวกเราจบ

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

60
00:03:56.127 --> 00:03:59.692
เรียนหรือยัง เรียนหรือยังครับหมู่ 1

61
00:04:00.130 --> 00:04:03.688
เรียนแล้วใช่ไหม

62
00:04:04.131 --> 00:04:07.688
นะครับ ถามตอบด้วยเด้อ ถามตอบ

63
00:04:08.135 --> 00:04:11.688
มีปฏิสัมพันธ์ด้วยนะครับ

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

65
00:04:16.140 --> 00:04:19.688
นะครับ

66
00:04:20.141 --> 00:04:23.688
ผมเข้าใจนะ พวกเราเป็น Gener

67
00:04:24.143 --> 00:04:27.688
นะครับ เราเจนอะไรครับ

68
00:04:28.144 --> 00:04:31.690
เรา Genaration อะไร

69
00:04:32.146 --> 00:04:35.688
Gen Y หรอ แม่นหรอ

70
00:04:36.147 --> 00:04:39.688
ใช่ไหม ใช่หรือ เรา Gen y หรือ

71
00:04:40.148 --> 00:04:43.688
Gen อะไรดี

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

73
00:04:48.152 --> 00:04:51.688
ยังไม่ถามห้อง 2 ถามห้อง 1 ก่อน

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

75
00:04:56.156 --> 00:04:59.688
ความแตกต่างระหว่าง Genaretion

76
00:05:00.158 --> 00:05:03.689
รุ่นผมนี่ คุยกับพวกเรานี่

77
00:05:04.159 --> 00:05:07.688
ไม่ค่อยรู้เรื่อง

78
00:05:08.161 --> 00:05:11.688
จริงไหม เราคนละ Generation

79
00:05:12.162 --> 00:05:15.688
นะครับ รุ่นพวกเรานี่

80
00:05:16.164 --> 00:05:19.688
ความอดทนน้อยนะครับ รอได้ไหม รอไม่ได้นะครับ

81
00:05:20.167 --> 00:05:23.688
จะเอาเดี๋ยวนี้จะกินข้าวก็จะกินเดี๋ยวนี้

82
00:05:24.172 --> 00:05:27.688
ถ้าจะให้ไปต่อคิวก็ไม่ไป

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

84
00:05:32.177 --> 00:05:35.688
พวกแก๊บ พวก Food Panda ใช่ไหม

85
00:05:36.178 --> 00:05:39.688

86
00:05:40.179 --> 00:05:43.688
จากที่ผมอ่านนะครับ อ่าน

87
00:05:44.181 --> 00:05:47.688
ทดสอบก่อนเรียนพวกเรา ก็พื้นฐาน

88
00:05:48.187 --> 00:05:51.688
พอ ๆ กันนะ พอ ๆ กันนะครับ

89
00:05:52.188 --> 00:05:55.688
ก็คือ ยังไม่เข้าใจ

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

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

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

93
00:06:08.194 --> 00:06:11.689
มาจัด ปี 1 เทอม 1

94
00:06:12.195 --> 00:06:15.689
ก็ไม่เป็นไรนะครับ ก็ปรับเอา เขาบอกว่า Process

95
00:06:16.196 --> 00:06:19.688
โปรแกรมที่กำลังถูก Execute

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

97
00:06:24.200 --> 00:06:27.688
ใช่ไหมครับ

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

99
00:06:32.204 --> 00:06:35.688
เข้าไปไหน

100
00:06:36.205 --> 00:06:39.688
คีย์บอร์ด คือ Input ใช่ไหม

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

102
00:06:44.208 --> 00:06:47.688
ไปประมวลผลใช่ไหมครับ ประมวลผลเสร็จ

103
00:06:48.210 --> 00:06:51.689
ทำอะไรต่อ

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

105
00:06:56.213 --> 00:06:59.689
Input ประมวลผล Process

106
00:07:00.215 --> 00:07:03.691
แล้วก็ออกไป Output

107
00:07:04.216 --> 00:07:07.688
เขาบอกว่า Process คือโปรแกรม

108
00:07:08.217 --> 00:07:11.689
กำลังถูก Execute นั่นหมายความว่า... บางคนให้ความหมายว่า

109
00:07:12.219 --> 00:07:15.689
เป็นโปรแกรมที่เข้าไปครอบครอง CPU

110
00:07:16.220 --> 00:07:19.689
หรือเข้าไปใช้งาน CPU

111
00:07:20.221 --> 00:07:23.689
แล้วแต่เอกสารตำราแต่ละคนแต่ง

112
00:07:24.223 --> 00:07:27.689
นะครับ คือ หลักการคำว่า "Process" ก็คือ

113
00:07:28.224 --> 00:07:31.688
โปรแกรมที่กำลังถูก Excil

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

115
00:07:36.226 --> 00:07:39.689
นามสกุล ไฟล์ทุกไฟลืต้องมีนามสกุล

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

117
00:07:44.228 --> 00:07:47.689
เคยเห็ฯไหมเคยสังเกตไหมเวลาเราใช้

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

119
00:07:52.230 --> 00:07:55.689
นะครับ เราอย่าไปดู

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

121
00:08:00.232 --> 00:08:03.689
มันไม่ได้อยู่ในนี้

122
00:08:04.234 --> 00:08:07.689
คราวนี้ถ้า Process

123
00:08:08.235 --> 00:08:11.689
ถ้าโปรแกรมเดียว โปรแกรม...

124
00:08:12.237 --> 00:08:15.689
ทำงานปุ๊บเป็นอย่างไรครับ ยุ่งยากไหม

125
00:08:16.239 --> 00:08:19.689
Imput เสร็จ เข้าไปประมลผลเสร็จ

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

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

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

129
00:08:32.245 --> 00:08:35.689
เขาบอก Process

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

131
00:08:40.252 --> 00:08:43.688
และตัวของ

132
00:08:44.255 --> 00:08:47.689
CPU เอง ก็เปรียบเหมือนคนขับ

133
00:08:48.260 --> 00:08:51.689
เหมือนกับว่า คอมพิวเตอร์เรา

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

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

136
00:09:00.265 --> 00:09:03.700
เช่น มีรถอยู่ 5 คัน

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

138
00:09:08.269 --> 00:09:11.689
พร้อมกันได้

139
00:09:12.270 --> 00:09:15.689
ลากรถ 4 คัน คนอื่นล่ะ

140
00:09:16.272 --> 00:09:19.689
คนอื่นล่ะทำอย่างไร

141
00:09:20.273 --> 00:09:23.689
คนอื่นมีวิธีการอื่นไหมครับ

142
00:09:24.274 --> 00:09:27.689
หลักการคอมพิวเตอร์เวลาทำงาน

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

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

145
00:09:36.278 --> 00:09:39.689
ขัยรถ ขับได้ทีละคัน

146
00:09:40.280 --> 00:09:43.689
จะลากจะพ่วง ทำไม่ได้ หลักการทำไม่ได้

147
00:09:44.282 --> 00:09:47.689
ทำอย่างไรดีล่ะ วิธีการก็คือ

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

149
00:09:52.285 --> 00:09:55.688
แล้วไปจอด

150
00:09:56.286 --> 00:09:59.689
กลับมาขับครั้งที่ 2 ก็มา... คันที่ 4 คันที่ 5

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

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

153
00:10:08.290 --> 00:10:11.689
นะครับ แต่

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

155
00:10:16.292 --> 00:10:19.688
สูงไหม

156
00:10:20.294 --> 00:10:23.689
หายใจทันไหมครับ ทันไหม

157
00:10:24.296 --> 00:10:27.689
ไม่น่าทันนะ

158
00:10:28.297 --> 00:10:31.690
การทำงานจริง ๆ มันจะทำงานเหมือนที่อาจารย์

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

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

161
00:10:40.302 --> 00:10:43.689
ว่ามันไปพร้อม ๆ กันเลย

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

163
00:10:48.304 --> 00:10:51.689
อย่างยกตัวอย่างนี้ ระบบ

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

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

166
00:11:00.311 --> 00:11:03.689

167
00:11:04.314 --> 00:11:07.689
คราวนี้มาดู

168
00:11:08.315 --> 00:11:11.689
องค์ประกอบของ Process นะครับ

169
00:11:12.316 --> 00:11:15.688
Process มีองค์ประกอบอะไรบ้าง

170
00:11:16.318 --> 00:11:19.689
พอเรียนจบบทนี้นะครับ นักศึกษาก็จะงง

171
00:11:20.319 --> 00:11:23.689
เริ่มงงนะ มันเริ่มเหมือนบทที่ 1 ใช่ไหม

172
00:11:24.321 --> 00:11:27.689
พื้นฐานนะครับ งงไม่ต้องตกใจครับ

173
00:11:28.322 --> 00:11:31.689
ค่อย ๆ ปรับนะครับ

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

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

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

177
00:11:44.328 --> 00:11:47.689
ไม่แจ้งเพราะว่าเราไม่รู้ว่าจะใช้ได้เมื่อไหร่

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

179
00:11:52.331 --> 00:11:55.689
คนทำก็นั่งทำง็อกแง็ก ๆ อยู่คน 2 คน

180
00:11:56.332 --> 00:11:59.689
เทอมนี้ผมว่าไม่น่าทันนะ น่าจะได้ใช้เทอมหน้า

181
00:12:00.334 --> 00:12:03.689
นะครับ เทอมหน้าก็

182
00:12:04.335 --> 00:12:07.689
เราอยากได้เทอมหน้า ก็เป็นรุ่นพวกเราได้ใช้

183
00:12:08.336 --> 00:12:11.689
นะครับ เทอมหน้า

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

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

186
00:12:20.341 --> 00:12:23.689
นะครับ Process ID

187
00:12:24.342 --> 00:12:27.689
นะครับ และจะต้อง

188
00:12:28.343 --> 00:12:31.689
ไม่ซ้ำกันนะครับ

189
00:12:32.344 --> 00:12:35.689
เหมือนชื่อ ไฟล์น่ะ

190
00:12:36.346 --> 00:12:39.689

191
00:12:40.347 --> 00:12:43.689
ได้ไหมครับ ชื่อไฟลืนามสกุลไฟล์

192
00:12:44.349 --> 00:12:47.689
นะครับ องค์ประกอบ Process อีกตัวหนึ่ง คือ

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

194
00:12:52.352 --> 00:12:55.689
เราซ้ำกันได้ไหมครับ ได้ไหม

195
00:12:56.353 --> 00:12:59.689
ไม่ได้นะครับ แต่ถ้าถาม

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

197
00:13:04.355 --> 00:13:07.689
ได้นะครับเพราะอะไร

198
00:13:08.356 --> 00:13:11.689
เช่น อาจจะมีพิเชน จันทร์ปุ่ม เหมือนกัน

199
00:13:12.357 --> 00:13:15.689
เพราะอะไรครับ เพราะอาจจะมีญาติพี่น้อง

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

201
00:13:20.361 --> 00:13:23.689
เลข 123 หลักห้ามซ้ำกัน

202
00:13:24.361 --> 00:13:27.689
องค์ประกอบอันที่ 2 ของ

203
00:13:28.362 --> 00:13:31.689
Process ทุก Pro

204
00:13:32.363 --> 00:13:35.691
มีโค้ดนะครับ เป็นโค้ดนะครับ

205
00:13:36.364 --> 00:13:39.689
เป็น code เป็นรหัส

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

207
00:13:44.368 --> 00:13:47.689
คือภาษาเครื่องแปล้รียบร้อยแล้ว

208
00:13:48.369 --> 00:13:51.689
นะครับ

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

210
00:13:56.372 --> 00:13:59.689
Data ข้อมูลนี้นะครับ

211
00:14:00.373 --> 00:14:03.689
เขาบอกว่าโปรแกรม

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

213
00:14:08.375 --> 00:14:11.689
หรืออาจจะใช้ข้อมูลร่วมกันกับ Process

214
00:14:12.376 --> 00:14:15.689
ใช้ร่วมกันได้ ตัวอย่างของ Process

215
00:14:16.377 --> 00:14:19.689
ที่ใช้ข้อมูลร่วมกัน เช่น

216
00:14:20.378 --> 00:14:23.689
Process ในระบบฐานข้อมูล

217
00:14:24.380 --> 00:14:27.689
นะครับ

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

219
00:14:32.382 --> 00:14:35.689
เช่นเรามา

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

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

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

223
00:14:48.390 --> 00:14:51.689
นะครับศูนย์คอมไปกอง

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

225
00:14:56.394 --> 00:14:59.690
นะครับ

226
00:15:00.397 --> 00:15:03.689
องค์ประกอบ

227
00:15:04.398 --> 00:15:07.689
อันที่ 4 ของ Process ก็คือ

228
00:15:08.399 --> 00:15:11.689
Process  Control Block นะครับ หรือบล็อกควบคุมโปรแกรม

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

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

231
00:15:20.406 --> 00:15:23.690
Contoln bO

232
00:15:24.408 --> 00:15:27.689
หรือ PCB นะครับ

233
00:15:28.409 --> 00:15:31.689

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

235
00:15:36.412 --> 00:15:39.689
กำหนดไว้เพื่อเป็น

236
00:15:40.414 --> 00:15:43.689

237
00:15:44.417 --> 00:15:47.689
เก็บหมาเลขความสำคัญของ Process

238
00:15:48.418 --> 00:15:51.689
อยู่ใน PCB นะครับ

239
00:15:52.420 --> 00:15:55.689
ใน Process แต่ละตัวจะมี

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

241
00:16:00.424 --> 00:16:03.689
ก็จะเก็บสถานะของ Process

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

243
00:16:08.427 --> 00:16:11.689
นอกจากนั้น

244
00:16:12.429 --> 00:16:15.689
ก็ยังเก็บสารสนเทศที่เกี่ยวกับ

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

246
00:16:20.431 --> 00:16:23.689
ข้อมูลรับส่งข้อมูลของ Process

247
00:16:24.432 --> 00:16:27.691
หรือเก็บข้ามูลสำคัญของ Pro

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

249
00:16:32.436 --> 00:16:35.689
นะครับ

250
00:16:36.437 --> 00:16:39.689
Register คือ หน่วยความจำขนาดเล็ก

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

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

253
00:16:48.441 --> 00:16:51.689
ให้พวกเรามอภาพกว้าง ๆ

254
00:16:52.442 --> 00:16:55.689

255
00:16:56.444 --> 00:16:59.689

256
00:17:00.446 --> 00:17:03.689
ครับผม

257
00:17:04.447 --> 00:17:07.690

258
00:17:08.449 --> 00:17:11.690

259
00:17:12.451 --> 00:17:15.690

260
00:17:16.452 --> 00:17:19.690

261
00:17:20.455 --> 00:17:23.690

262
00:17:24.457 --> 00:17:27.690

263
00:17:28.458 --> 00:17:31.690

264
00:17:32.460 --> 00:17:35.690
ดูต่อนะครับ

265
00:17:36.462 --> 00:17:39.690
องค์ประกอบต่อมา

266
00:17:40.463 --> 00:17:43.692
นะครับ ของ Process ก็คือ

267
00:17:44.465 --> 00:17:47.690
นะครับ

268
00:17:48.467 --> 00:17:51.690
หรือ PSW นะครับ Program Status Words นะครับ

269
00:17:52.469 --> 00:17:55.690
เป็นตัวควบคุมลับดับของ Exci

270
00:17:56.470 --> 00:17:59.703
ของ Process

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

272
00:18:04.473 --> 00:18:07.691
CPU ลำดับที่เท่าไรนะครับ

273
00:18:08.475 --> 00:18:11.691

274
00:18:12.476 --> 00:18:15.691
ต่อมานะครับ คุณสมบัติของ Process นะครับ แต่ละ Process

275
00:18:16.478 --> 00:18:19.693
จะมีคุณสมบัติดังต่อไปนี้

276
00:18:20.479 --> 00:18:23.692
นะครับ ก็คือ 1. Process ทุก

277
00:18:24.481 --> 00:18:27.691
ตัวจะมีบำดับความสำคัญ

278
00:18:28.482 --> 00:18:31.691
ต่างกันนะครับ Process ทุก Process

279
00:18:32.484 --> 00:18:35.691
จะมีลำดับความสำคัญ เช่น

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

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

282
00:18:44.488 --> 00:18:47.692
ของ User อย่างนี้ อันที่ 2

283
00:18:48.490 --> 00:18:51.692
คุณสมบัติอันที่ 2 อำนาจหน้าที่

284
00:18:52.491 --> 00:18:55.691
Process ทุกตัวจะมีอำนาจหน้าที่ที่ต่างกัน เช่น Process

285
00:18:56.491 --> 00:18:59.691
ของผู้ดุแลระบบมีอนาจ

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

287
00:19:04.495 --> 00:19:07.691
คุณสมบัติอื่น ๆ ที่

288
00:19:08.495 --> 00:19:11.694
OS กำหนด

289
00:19:12.497 --> 00:19:15.709
อันนี้ขึ้นอยู่กับ OS ครับ

290
00:19:16.498 --> 00:19:19.692
เช่น ใช้ Windows 8

291
00:19:20.499 --> 00:19:23.692
ใช้ Windows 10

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

293
00:19:28.502 --> 00:19:31.692
Windoes 8

294
00:19:32.504 --> 00:19:35.691
สามารถตั้งชื่อได้

295
00:19:36.505 --> 00:19:39.692
ความยาวกี่ตัวอักษรรู้ไหม

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

297
00:19:44.508 --> 00:19:47.692
เราสามารตั้งชื่อได้นะ

298
00:19:48.510 --> 00:19:51.692
นะครับ กับ Windows 11

299
00:19:52.515 --> 00:19:55.692
ต่างกันไหม ลองดูนะ ลองดู

300
00:19:56.516 --> 00:19:59.692
จะไปลองตอนภาคปฏิบัติ ลองสิว่าเรา

301
00:20:00.517 --> 00:20:03.692
ถ้าเกิดเป็น Window

302
00:20:04.519 --> 00:20:07.692
Windows 11 สามารถตั้งชื่อความยาวกี่ตัว

303
00:20:08.520 --> 00:20:11.693
นะครับ นี่คือคุณสมบัติที่แต่ละตัว

304
00:20:12.521 --> 00:20:15.693
เป็นคนกำหนดนะครับ

305
00:20:16.523 --> 00:20:19.692

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

307
00:20:24.526 --> 00:20:27.693
ของ Process นะครับ

308
00:20:28.530 --> 00:20:31.693
สไลด์นะครับ อยู่กับพี่พลอยนะ

309
00:20:32.534 --> 00:20:35.692
พลอยค่อย เอาขึ้นให้น้องนะครั

310
00:20:36.535 --> 00:20:39.692
อาจารย์ลืมอัปลงในไลน์กลุ่มนะครับ

311
00:20:40.536 --> 00:20:43.692
แวะดูก่อนนะครับ คราวนี้

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

313
00:20:48.538 --> 00:20:51.693
ได้ดังต่อไปนนี้นะครับ

314
00:20:52.539 --> 00:20:55.693
สถานะพร้อมเป็นอย่างไร

315
00:20:56.540 --> 00:20:59.693
สถานะพร้อมเป็นสถานะพร้อมที่ Process

316
00:21:00.544 --> 00:21:03.692
พร้อมที่จะใช้ CPU ทันทีที่

317
00:21:04.545 --> 00:21:07.693
OS มอบหมายให้

318
00:21:08.546 --> 00:21:11.693
รอแล้ว เหมือนเรารอคิวแล้ว ยืนรอแล้ว

319
00:21:12.547 --> 00:21:15.693
รอเข้าไปครอบครอง CPU

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

321
00:21:20.550 --> 00:21:23.693
เช่น

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

323
00:21:28.552 --> 00:21:31.693
นี่ เราพร้อมแล้ว พร้อมจะเข้าไปใช้งาน

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

325
00:21:36.557 --> 00:21:39.693
สถานะ run

326
00:21:40.560 --> 00:21:43.693
Run คืออะไรครับ สถานะ Run เป็นสถานะ

327
00:21:44.561 --> 00:21:47.694
Process กำลังครอบครอง CPU อยู่

328
00:21:48.562 --> 00:21:51.693
CPU อยู่ ก็คือเข้าไปครอบครอง CPU

329
00:21:52.563 --> 00:21:55.693
ที่เราเรียกว่า Run Progarm

330
00:21:56.564 --> 00:21:59.694
นี่คือสถานะ Run

331
00:22:00.566 --> 00:22:03.695
นะครับ

332
00:22:04.567 --> 00:22:07.693
สถานะที่ 3 นะครับ

333
00:22:08.570 --> 00:22:11.695
สถานะติดขัด

334
00:22:12.572 --> 00:22:15.695
เขาบอกว่าสถานะติดขัดเกิดจากการ

335
00:22:16.577 --> 00:22:19.694
ที่ Process หยุดรอ

336
00:22:20.578 --> 00:22:23.693
เหตุการณ์ใดเหตุการณ์หนึ่งให้เกิดขึ้น

337
00:22:24.580 --> 00:22:27.693
โดย Process ไม่จำเป็นต้องใช้ CPU

338
00:22:28.581 --> 00:22:31.693
และมันต้องไปครอบครอง CPU เราไม่รู้

339
00:22:32.582 --> 00:22:35.693
เหตุการณ์นั้นคือเหตุการณ์อะไร ไม่รู้

340
00:22:36.585 --> 00:22:39.694
ยกตัวอย่างเช่น

341
00:22:40.589 --> 00:22:43.694
ผมกับแม็กกี้หรือกับอุบล

342
00:22:44.590 --> 00:22:47.694
ผมเป็น Process A ไปยืนรอคิวใน

343
00:22:48.591 --> 00:22:51.694
สถานะพร้อม อุบลรอผมคนที่ 2

344
00:22:52.592 --> 00:22:55.694
คนที่ 2 ผมเปลี่ยนจากสถานะ

345
00:22:56.593 --> 00:22:59.694
พร้อมเข้าเป็นสถานะ Run ก็คือ

346
00:23:00.594 --> 00:23:03.694
เข้าไปครอบครอง CPU

347
00:23:04.595 --> 00:23:07.694
อุบลก็รออยู่สถานะพร้อม

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

349
00:23:12.597 --> 00:23:15.696
ผมจำเป็นจะต้อง

350
00:23:16.598 --> 00:23:19.694
ไปพิมพ์งาน ไปพิมพ์เอกสาร ช่วงที่พิมพ์

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

352
00:23:24.608 --> 00:23:27.694
ไปที่พรินเตอร์ แล้วช่วงที่ออกไปที่พรินเตอร์นี่

353
00:23:28.608 --> 00:23:31.694
ต้องใช้งาน CPU

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

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

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

357
00:23:44.613 --> 00:23:47.694
อุยลก็จะเข้ามาแทนที่ผม

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

359
00:23:52.617 --> 00:23:55.695
จากอะไร เราก็บอกว่าเกิดจากสถานะ

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

361
00:24:00.622 --> 00:24:03.694
แต่เกิดเหตที่ Processเอ

362
00:24:04.624 --> 00:24:07.694
ไม่จำเป็นจะต้องครอบครอง CPU ต่อ

363
00:24:08.625 --> 00:24:11.695
หรือ ไปติดต่ออุปกรณ์ข้างนอก

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

365
00:24:16.627 --> 00:24:19.695
เข้ามาครองแทนที่นะครับ

366
00:24:20.628 --> 00:24:23.695
นี่คือสถานะติดขัด

367
00:24:24.630 --> 00:24:27.697
สถานะต่อมานะครับ สถานะพัก

368
00:24:28.633 --> 00:24:31.694
เขาบอกสถานะพัก

369
00:24:32.634 --> 00:24:35.694
ก็คือาถานะ Process ไม่มีการทำง

370
00:24:36.635 --> 00:24:39.695
ก็คือจบสมบูรณ์ เช่น ผมไปครอบครอง

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

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

373
00:24:48.640 --> 00:24:51.695

374
00:24:52.642 --> 00:24:55.697

375
00:24:56.644 --> 00:24:59.695
ซึ่ง Process นั้นนะครับ

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

377
00:25:04.649 --> 00:25:07.701
สถานะหนึ่ง ได้ตลอดเวลา

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

379
00:25:12.651 --> 00:25:15.695
อาจจะพร้อม พร้อมเสร็จ

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

381
00:25:20.653 --> 00:25:23.694
เป็นสถานะติดขัด พอติดขัดเสร็จก็

382
00:25:24.654 --> 00:25:27.695
กลับไปพร้อมใหม่ พร้อมเสร็จเข้าไป Run Run

383
00:25:28.655 --> 00:25:31.695
เสร็จแล้ว จบแล้วไปพัก

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

385
00:25:36.657 --> 00:25:39.695

386
00:25:40.659 --> 00:25:43.695

387
00:25:44.661 --> 00:25:47.699

388
00:25:48.663 --> 00:25:51.695
อันนี้อาจารย์อธิบายไปแล้วนะครับ

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

390
00:25:56.665 --> 00:25:59.695
ดูรูปนะครับ เห็นไหมครับ

391
00:26:00.666 --> 00:26:03.695
ในรูปภาพอธิบาย

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

393
00:26:08.669 --> 00:26:11.696
เหมือนที่อาจายร์อธิบายไปเมื่อกี้

394
00:26:12.669 --> 00:26:15.696
ยืนต่อคิวเลย 1 2 3 4 5

395
00:26:16.671 --> 00:26:19.700
พร้อมไหม พร้อม

396
00:26:20.674 --> 00:26:23.696
พอพร้อมเสร็จ ได้เวลา โอเค Run

397
00:26:24.675 --> 00:26:27.696
ทีละตัวทีละโปรแกรมทีละ Processe

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

399
00:26:32.679 --> 00:26:35.696
นี่คือการเปลี่ยนสถานะของ Process

400
00:26:36.681 --> 00:26:39.698
แต่ถ้าเกิดเหตุการณ์ใดเหตุการณ์หนึ่งขึ้น

401
00:26:40.682 --> 00:26:43.696
นะครับเพราะอะไรครับ

402
00:26:44.683 --> 00:26:47.696
รูปนี้ รูปนี้

403
00:26:48.684 --> 00:26:51.695
มาพร้อมมา Run

404
00:26:52.686 --> 00:26:55.695
แล้วก็จบ ถ้าสมมติว่า

405
00:26:56.688 --> 00:26:59.695
Process แต่ละตัวเข้าไป Run ไม่

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

407
00:27:04.690 --> 00:27:07.704
Process A เช่นผม

408
00:27:08.691 --> 00:27:11.695
พร้อมเข้าไป Run 2 วินาที

409
00:27:12.692 --> 00:27:15.695
แล้วก็จบ มีอะไรเกินขึ้นไหม

410
00:27:16.693 --> 00:27:20.693
ไม่มี คราวนี้อุบล

411
00:27:20.694 --> 00:27:24.694
อุบลมาต่อคิวมาพร้อม

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

413
00:27:28.703 --> 00:27:32.696
เป็นอย่างไรครับเราก็จบ

414
00:27:32.704 --> 00:27:36.696
ใช่ไหม คราวนี้

415
00:27:36.704 --> 00:27:40.696
นิ่ง 3 คนที่ 3 มา

416
00:27:40.705 --> 00:27:44.696
ต่อคิวพร้อม แต่ปรากฏว่ามิ่งต้องการใช้เวลาแค่

417
00:27:44.706 --> 00:27:48.695
1 วินาที แตค่ต้องรออุบล

418
00:27:48.707 --> 00:27:52.696
3 ชั่วโมงนึกออกไหม นึกภาพตามนะ

419
00:27:52.710 --> 00:27:56.696
ดังนั้นในระบบคอมพิวเตอร์ของเรานั้น

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

421
00:28:00.712 --> 00:28:04.696
เวลาขึ้นมา คุณจะต้อง

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

423
00:28:08.715 --> 00:28:12.696
ถ้าย้อนถามกลับว่า

424
00:28:12.721 --> 00:28:16.696
เวลาควอนตัมคืออะไร

425
00:28:16.722 --> 00:28:20.696
คืออะไรครับคือเวลาที่

426
00:28:20.723 --> 00:28:24.697
ถูกกำหนดไว่ว่า Process แต่ละตัวสามารถ

427
00:28:24.724 --> 00:28:28.700
เข้าไปครอบครอง

428
00:28:28.728 --> 00:28:32.697
CPU ได้เป็นเวลาเท่าไร หรือนานเท่าไร

429
00:28:32.729 --> 00:28:36.696
เช่น เรากดหนดเวลา ควอนต

430
00:28:36.730 --> 00:28:40.696
5 วินาทีสมมตินะ 5 วินาที แสดงว่า

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

432
00:28:44.735 --> 00:28:48.696
5 วินาที เช่น เมื่อกี้อย่างเมื่อกี้

433
00:28:48.735 --> 00:28:52.696
ผม Process A เข้าไป

434
00:28:52.737 --> 00:28:56.696
3 วิฯ จบไหม จบ

435
00:28:56.738 --> 00:29:00.698
เพราะว่าเราให้ 5 วินาทีใช่ไหมควอนตัม

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

437
00:29:04.742 --> 00:29:08.696
ไปพร้อมใหม่เพิ่มให้ มิ้งเข้าไปใหม่

438
00:29:08.743 --> 00:29:12.696
นี่คือหลักการของมันนะครับ

439
00:29:12.744 --> 00:29:16.696

440
00:29:16.745 --> 00:29:20.697
มันก็จะเกิดรูปนี้ขึ้น

441
00:29:20.747 --> 00:29:24.697
ใช่ไหม

442
00:29:24.748 --> 00:29:28.696
นี่นะครับ พร้อม

443
00:29:28.749 --> 00:29:32.696
พออเราเอาเวลาควอนตัมมาจับ

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

445
00:29:36.751 --> 00:29:40.697
มันเลยทำให้เกิดระบบหลายโป

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

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

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

449
00:29:52.765 --> 00:29:56.696
ใช่ไหมเราหายใจแทบไม่ทัน

450
00:29:56.766 --> 00:30:00.696
สมัยที่อาจารย์เรียนเขียนโปรแกรมนะครับ

451
00:30:00.770 --> 00:30:04.696
เมื่อเกือบ 30 ปีที่แล้วนะ

452
00:30:04.771 --> 00:30:08.696
เวลาเรา Run โปรแกรม เราจะกด Escape

453
00:30:08.772 --> 00:30:12.699
S Slacap

454
00:30:12.773 --> 00:30:16.697
กด F8 F9 ปุ๊บ นึกได้ผ่านไป 2 นาที

455
00:30:16.774 --> 00:30:20.697
ไม่ถูกกดยกเลิก

456
00:30:20.775 --> 00:30:24.696
แต่โปรแกรมเราทุกวันนี้ เราคลิก

457
00:30:24.776 --> 00:30:28.696
ปุ๊บ ประมวลผลปั๊บ

458
00:30:28.777 --> 00:30:32.696
มันมีความเร็วสูงนะครับ ตามรูปนี้นะครับ

459
00:30:32.778 --> 00:30:36.696
พยายามมองตามนะ เพราะว่า

460
00:30:36.784 --> 00:30:40.696
เราจะเรียนอีก 3 ครั้ง

461
00:30:40.785 --> 00:30:44.696
แล้วก็จะสอบกลางภาต

462
00:30:44.786 --> 00:30:48.696
นะครับ สอบกลางภาค พอสอบกลางภาคเสร็จ

463
00:30:48.787 --> 00:30:52.696
อาจารย์ก็จะะยกคลาสไปอยู่

464
00:30:52.788 --> 00:30:56.696
อาคาร 7 เพื่อเรียนภาคปฏิบัติ

465
00:30:56.789 --> 00:31:00.696
นะครับ ภาคปฎิบัติเราก็จะ

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

467
00:31:04.791 --> 00:31:08.696
แบบนี้นะครับ

468
00:31:08.792 --> 00:31:12.697

469
00:31:12.794 --> 00:31:16.697
คราวนี้มาดูอีกสถานะ

470
00:31:16.795 --> 00:31:20.696
นะครับ ที่เรา

471
00:31:20.796 --> 00:31:24.696
พูดไว้ก็คือสถานะติดขัด

472
00:31:24.797 --> 00:31:28.696
เห็นไหมครับดูรูป

473
00:31:28.798 --> 00:31:32.696
มาพร้อม เห็นไหม

474
00:31:32.799 --> 00:31:36.696
พร้อมปุ๊บ มา Run เข้าไป

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

476
00:31:40.802 --> 00:31:44.697
แต่บังเอิญว่า Process นั้น

477
00:31:44.803 --> 00:31:48.696
ไปติดต่อกับอุปกรณ์รอบข้าง

478
00:31:48.804 --> 00:31:52.697
ติดต่อกับ Printer

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

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

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

482
00:32:04.810 --> 00:32:08.696
นะครับ นี่คือสถานะติดขัด

483
00:32:08.816 --> 00:32:12.696

484
00:32:12.817 --> 00:32:16.696

485
00:32:16.818 --> 00:32:20.697
เขาบอกว่าการเปลี่ยน

486
00:32:20.819 --> 00:32:24.696
ทั้ง 3 ของ Process ก็คือ พร้อม Run ติดขัด

487
00:32:24.820 --> 00:32:28.696
เป็นการเปลี่ยน

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

489
00:32:32.822 --> 00:32:36.696
Run ติดขัด

490
00:32:36.828 --> 00:32:40.697
แต่ถ้าเกิดเหตุการณ์ที่

491
00:32:40.830 --> 00:32:44.696
ผิดปกติขึ้นในระบบปฏิบัติการห

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

493
00:32:48.833 --> 00:32:52.695
ใดสถานะหนึ่ง

494
00:32:52.834 --> 00:32:56.695
ให้ไปอยู่สถานะพักก็ได้

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

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

497
00:33:04.838 --> 00:33:08.696
ถ้าเกิดเหตการณ์ขึ้น

498
00:33:08.839 --> 00:33:12.695
จากสถานะพร้อม Run ติดขัด ไปพักก็ได้

499
00:33:12.840 --> 00:33:16.696
นะครับ ซึ่ง

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

501
00:33:20.842 --> 00:33:24.696
1

502
00:33:24.843 --> 00:33:28.696
เกิดการทำงานของระบบผิดพลาด

503
00:33:28.846 --> 00:33:32.695
เช่นสั่ง ๆ ไป ปรากฎว่าระบบ Error

504
00:33:32.848 --> 00:33:36.697
ปรากฏว่าระบบ Error ผิดพลาด

505
00:33:36.850 --> 00:33:40.696
ไปกดสตางค์ 1 บาท

506
00:33:40.851 --> 00:33:44.696
ออกมา 10,000 บาท ดีไหมโทมัส ดีไหม

507
00:33:44.854 --> 00:33:48.696
เอาไหม อย่าไปเอานะลูก

508
00:33:48.855 --> 00:33:52.695
เขาจับเจ้าเด้อ

509
00:33:52.856 --> 00:33:56.696
ต้องไปแจ้งธนาคารนะครับ

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

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

512
00:34:04.859 --> 00:34:08.696
เริ่มต้นใหม่นะครับ สาเหตุอันที่ 2 นะครับ

513
00:34:08.860 --> 00:34:12.695
ที่จะเกิดสถานะพักนะครับ

514
00:34:12.862 --> 00:34:16.695
ผู้ใช้ต้องการหยุดการทำงาน

515
00:34:16.864 --> 00:34:20.695
ชั่วคราว ทำ ๆ อยู่

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

517
00:34:24.873 --> 00:34:28.695
เช่น Run อยู่กดยกเลิก

518
00:34:28.875 --> 00:34:32.695
สาเหตุอันที่ 3 นะครับ

519
00:34:32.877 --> 00:34:36.697
ในระบบมีงานมากเกินไป

520
00:34:36.878 --> 00:34:40.695

521
00:34:40.879 --> 00:34:44.695
สั่งเข้าไป ๆ Over load

522
00:34:44.880 --> 00:34:48.695
แฮงค์ Error ก็ย้ายไปสถานะพัก

523
00:34:48.881 --> 00:34:52.696
นะครับ นี่คือสาเหตุหลัก ๆ 3 สาเหตุ

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

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

526
00:35:00.885 --> 00:35:04.695
เห็นไหมครับ

527
00:35:04.888 --> 00:35:08.695
รูป

528
00:35:08.889 --> 00:35:12.695
จากรูปนะครับ พร้อม

529
00:35:12.890 --> 00:35:16.695
Run ติดขัด

530
00:35:16.894 --> 00:35:20.695
แต่ถ้าเกิดสาเหตุจากเมื่อกี้ ระบบ

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

532
00:35:24.896 --> 00:35:28.695
ระบบทำงานมากเกินไปปุ๊บ มาพักเลย

533
00:35:28.897 --> 00:35:32.695
นะครับ

534
00:35:32.906 --> 00:35:36.695

535
00:35:36.908 --> 00:35:40.695
ดังนั้นนะครับ เราก็สามารถ

536
00:35:40.909 --> 00:35:44.696
แยกสถานะของ Process เป็น 2 ส่วน

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

538
00:35:48.911 --> 00:35:52.695
Run ติดขัดใช่ไหม ส่วนที่ 2 คือ

539
00:35:52.912 --> 00:35:56.695
พักนะครับ

540
00:35:56.914 --> 00:36:00.695

541
00:36:00.916 --> 00:36:04.701

542
00:36:04.917 --> 00:36:08.697

543
00:36:08.918 --> 00:36:12.696
คราานี้มาดูลำดับชั้นของ Process

544
00:36:12.919 --> 00:36:16.696
นะครับ Process ก็มีลำดับชั้นนะครับ

545
00:36:16.926 --> 00:36:20.695
เขาบอกว่าระบบปฏิบัติการ

546
00:36:20.927 --> 00:36:24.695
หรือ OS นะครับ ผมใช้คำย่อว่า OS

547
00:36:24.928 --> 00:36:28.695
เขาบอกว่า OS เอง

548
00:36:28.930 --> 00:36:32.695
ก็ประกอบด้วยหลาย ๆ Process

549
00:36:32.933 --> 00:36:36.697
ถ้าหลายคนสับสน ถ้าอาจาย?์

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

551
00:36:40.935 --> 00:36:44.695
ได้ไหม

552
00:36:44.937 --> 00:36:48.694
ได้ไหมครับ

553
00:36:48.938 --> 00:36:52.695
บางคนไม่รู้เหมือนกัน

554
00:36:52.940 --> 00:36:56.695
เขาบอกว่า OS เองก็ประกอบไปด้วยหลาย

555
00:36:56.942 --> 00:37:00.695
Process 1 2 3 เยอะแยะมากมาย

556
00:37:00.943 --> 00:37:04.695
เมื่อผู้ใช้สั่งงาน

557
00:37:04.944 --> 00:37:08.695

558
00:37:08.946 --> 00:37:12.695

559
00:37:12.948 --> 00:37:16.695

560
00:37:16.949 --> 00:37:20.695
เอาสีอะไรดี

561
00:37:20.951 --> 00:37:24.695

562
00:37:24.952 --> 00:37:28.695

563
00:37:28.954 --> 00:37:32.694

564
00:37:32.961 --> 00:37:36.694

565
00:37:36.962 --> 00:37:40.694

566
00:37:40.963 --> 00:37:44.694

567
00:37:44.965 --> 00:37:48.694

568
00:37:48.966 --> 00:37:52.695
พื้นสีดำไปไม่เป็นเลยนะครับ

569
00:37:52.967 --> 00:37:56.694
เขาบอกว่าเมื่อ Process ประกอบด้วยหลายข

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

571
00:38:00.969 --> 00:38:04.695
OS หรือระบบปฏิบัติการจะ

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

573
00:38:08.971 --> 00:38:12.696
นี่นะครับเป็น Process ย่อยของ

574
00:38:12.972 --> 00:38:16.694
นึกออกไหม

575
00:38:16.973 --> 00:38:20.697
เขาบอกว่า Process เองก็มีเยอะแยะมา

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

577
00:38:24.975 --> 00:38:28.695
บอกอุบลต้องการเข้าไปครอบครอง CPU

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

579
00:38:32.978 --> 00:38:36.694
สำหรับงานนะครับ นั่นแสดงว่า

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

581
00:38:40.979 --> 00:38:44.694
นึกออกไหมครับนึกตามนะ

582
00:38:44.980 --> 00:38:48.694
นะครับ ซึ่ง

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

584
00:38:52.983 --> 00:38:56.694
อื่น ๆ ทั่วไปนะครับ เขาว่าดังนั้น Process อื่น ๆ

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

586
00:39:00.985 --> 00:39:04.695
นะครับ เขาเรียกว่าการให้กำเนิด

587
00:39:04.988 --> 00:39:08.694

588
00:39:08.989 --> 00:39:12.696
นึกออกไหม ตัวอย่างเช่นนะครับ

589
00:39:12.990 --> 00:39:16.696
อุบล

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

591
00:39:20.993 --> 00:39:24.694
ตัวอาจารย์เองเป็น OS เป็นระบบปฏิบัติ

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

593
00:39:28.996 --> 00:39:32.694
เข้าไปสถานะ Run

594
00:39:33.001 --> 00:39:36.694
จะถูกผม OS ตั้ง Process หนึ่งขึ้นมา

595
00:39:37.003 --> 00:39:40.694
เพื่อไปกำกับดูแลอุบล

596
00:39:41.004 --> 00:39:44.697
นะครับ นี่เราเรียกว่า "การให้กำเนิด"

597
00:39:45.005 --> 00:39:48.694
แต่พออุบลเข้าไป

598
00:39:49.006 --> 00:39:52.694
ครอบครอง CPU แล้ว เข้าไปสถานะ Run แล้ว

599
00:39:53.007 --> 00:39:56.694
อุบลก็จะมี Process ย่อย

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

601
00:40:01.017 --> 00:40:04.695
ซึ่งตัวของ Process ย่อย

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

603
00:40:09.019 --> 00:40:12.695
นะครับ

604
00:40:13.020 --> 00:40:16.695
ส่วน Process ย่อยที่สร้างต่อจาก Process

605
00:40:17.022 --> 00:40:20.694
ผู้ให้กำเนิดเรีาเรียกว่า Proc

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

607
00:40:25.027 --> 00:40:28.694
แบบต้นไม้ ดูรูปนี้เห็นไหมครับ

608
00:40:29.027 --> 00:40:32.694
นี่คือลำดับชั้นของ Process นะครับ

609
00:40:33.029 --> 00:40:36.694
นี่คือลำดับย่อของ Porcess

610
00:40:37.030 --> 00:40:40.694

611
00:40:41.031 --> 00:40:44.694
หัวข้อต่อมานะครับ ความสัมพันธ์

612
00:40:45.033 --> 00:40:48.694
ระหว่าง Process

613
00:40:49.035 --> 00:40:52.694

614
00:40:53.036 --> 00:40:56.694
เราไม่พักเลยนะ

615
00:40:57.037 --> 00:41:00.694
พี่ล่ามคนเดียวนะครับ

616
00:41:01.039 --> 00:41:04.694
ขอพัก 5 นาทีนะครับ

617
00:41:05.040 --> 00:41:08.694
พี่ล่ามจะได้ไป ทานน้ำ ไปเข้าน้ำ

618
00:41:09.044 --> 00:41:12.694
ทานน้ำ แล้วก็เข้าห้องน้ำนะครับ

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

620
00:41:17.046 --> 00:41:20.695
ประมาณ 15 สไลด์นะครับ

621
00:41:21.047 --> 00:41:24.694

622
00:41:25.048 --> 00:41:28.694

623
00:41:29.050 --> 00:41:32.694

624
00:41:33.051 --> 00:41:36.694

625
00:41:37.052 --> 00:41:40.694

626
00:41:41.056 --> 00:41:44.694

627
00:41:45.058 --> 00:41:48.694

628
00:41:49.060 --> 00:41:52.694

629
00:41:53.062 --> 00:41:56.694

630
00:41:57.063 --> 00:42:00.694

631
00:42:01.064 --> 00:42:04.694

632
00:42:05.066 --> 00:42:08.694

633
00:42:09.073 --> 00:42:12.694

634
00:42:13.075 --> 00:42:16.694

635
00:42:17.076 --> 00:42:20.694

636
00:42:21.085 --> 00:42:24.694

637
00:42:25.086 --> 00:42:28.694

638
00:42:29.088 --> 00:42:32.696

639
00:42:33.089 --> 00:42:36.694

640
00:42:37.091 --> 00:42:40.694

641
00:42:41.092 --> 00:42:44.694

642
00:42:45.094 --> 00:42:48.694

643
00:42:49.095 --> 00:42:52.694

644
00:42:53.096 --> 00:42:56.694

645
00:42:57.097 --> 00:43:00.694

646
00:43:01.100 --> 00:43:04.694

647
00:43:05.102 --> 00:43:08.694

648
00:43:09.104 --> 00:43:12.694

649
00:43:13.105 --> 00:43:16.694

650
00:43:17.107 --> 00:43:20.697

651
00:43:21.108 --> 00:43:24.694

652
00:43:25.110 --> 00:43:28.694

653
00:43:29.114 --> 00:43:32.694

654
00:43:33.116 --> 00:43:36.694

655
00:43:37.118 --> 00:43:40.694

656
00:43:41.119 --> 00:43:44.694

657
00:43:45.121 --> 00:43:48.694

658
00:43:49.123 --> 00:43:52.694

659
00:43:53.124 --> 00:43:56.694

660
00:43:57.125 --> 00:44:00.694

661
00:44:01.132 --> 00:44:04.694

662
00:44:05.136 --> 00:44:08.694

663
00:44:09.141 --> 00:44:12.694

664
00:44:13.149 --> 00:44:16.694

665
00:44:17.154 --> 00:44:20.696

666
00:44:21.156 --> 00:44:24.693

667
00:44:25.157 --> 00:44:28.693

668
00:44:29.161 --> 00:44:32.694

669
00:44:33.165 --> 00:44:36.694

670
00:44:37.165 --> 00:44:40.694

671
00:44:41.167 --> 00:44:44.694

672
00:44:45.169 --> 00:44:48.694

673
00:44:49.170 --> 00:44:52.694

674
00:44:53.171 --> 00:44:56.694

675
00:44:57.172 --> 00:45:00.694

676
00:45:01.173 --> 00:45:04.694

677
00:45:05.175 --> 00:45:08.694

678
00:45:09.179 --> 00:45:12.693

679
00:45:13.180 --> 00:45:16.694

680
00:45:17.182 --> 00:45:20.693

681
00:45:21.183 --> 00:45:24.707

682
00:45:25.185 --> 00:45:28.694

683
00:45:29.187 --> 00:45:32.693

684
00:45:33.189 --> 00:45:36.694

685
00:45:37.190 --> 00:45:40.693

686
00:45:41.191 --> 00:45:44.693

687
00:45:45.193 --> 00:45:48.694

688
00:45:49.195 --> 00:45:52.694

689
00:45:53.197 --> 00:45:56.694

690
00:45:57.198 --> 00:46:00.694

691
00:46:01.200 --> 00:46:04.694

692
00:46:05.201 --> 00:46:08.694

693
00:46:09.204 --> 00:46:12.698

694
00:46:13.206 --> 00:46:16.694

695
00:46:17.207 --> 00:46:20.693

696
00:46:21.209 --> 00:46:24.693

697
00:46:25.211 --> 00:46:28.694

698
00:46:29.212 --> 00:46:32.693

699
00:46:33.218 --> 00:46:36.694

700
00:46:37.222 --> 00:46:40.694

701
00:46:41.223 --> 00:46:44.694

702
00:46:45.226 --> 00:46:48.694

703
00:46:49.236 --> 00:46:52.694

704
00:46:53.239 --> 00:46:56.693

705
00:46:57.240 --> 00:47:00.693

706
00:47:01.242 --> 00:47:04.693

707
00:47:05.246 --> 00:47:08.693

708
00:47:09.247 --> 00:47:12.694

709
00:47:13.249 --> 00:47:16.694

710
00:47:17.252 --> 00:47:20.693

711
00:47:21.256 --> 00:47:24.694

712
00:47:25.258 --> 00:47:28.694

713
00:47:29.260 --> 00:47:32.693

714
00:47:33.261 --> 00:47:36.694

715
00:47:37.264 --> 00:47:40.693

716
00:47:41.266 --> 00:47:44.693

717
00:47:45.267 --> 00:47:48.693

718
00:47:49.268 --> 00:47:52.694

719
00:47:53.269 --> 00:47:56.694

720
00:47:57.272 --> 00:48:00.694

721
00:48:01.274 --> 00:48:04.694

722
00:48:05.276 --> 00:48:08.694

723
00:48:09.280 --> 00:48:12.694

724
00:48:13.282 --> 00:48:16.693

725
00:48:17.284 --> 00:48:20.694

726
00:48:21.286 --> 00:48:24.693

727
00:48:25.288 --> 00:48:28.693

728
00:48:29.290 --> 00:48:32.693

729
00:48:33.292 --> 00:48:36.694

730
00:48:37.294 --> 00:48:40.694

731
00:48:41.297 --> 00:48:44.694

732
00:48:45.299 --> 00:48:48.694

733
00:48:49.301 --> 00:48:52.693

734
00:48:53.303 --> 00:48:56.693

735
00:48:57.305 --> 00:49:00.693

736
00:49:01.307 --> 00:49:04.693

737
00:49:05.308 --> 00:49:08.693

738
00:49:09.309 --> 00:49:12.694

739
00:49:13.310 --> 00:49:16.694

740
00:49:17.311 --> 00:49:20.693

741
00:49:21.313 --> 00:49:24.694

742
00:49:25.315 --> 00:49:28.694

743
00:49:29.316 --> 00:49:32.694

744
00:49:33.318 --> 00:49:36.694

745
00:49:37.319 --> 00:49:40.694

746
00:49:41.321 --> 00:49:44.693

747
00:49:45.322 --> 00:49:48.693

748
00:49:49.323 --> 00:49:52.693

749
00:49:53.326 --> 00:49:56.693

750
00:49:57.327 --> 00:50:00.693

751
00:50:01.329 --> 00:50:04.693

752
00:50:05.330 --> 00:50:08.693

753
00:50:09.332 --> 00:50:12.693

754
00:50:13.334 --> 00:50:16.693

755
00:50:17.336 --> 00:50:20.693

756
00:50:21.337 --> 00:50:24.693

757
00:50:25.340 --> 00:50:28.694

758
00:50:29.341 --> 00:50:32.693

759
00:50:33.346 --> 00:50:36.694

760
00:50:37.348 --> 00:50:40.694

761
00:50:41.349 --> 00:50:44.694

762
00:50:45.351 --> 00:50:48.693

763
00:50:49.353 --> 00:50:52.694

764
00:50:53.355 --> 00:50:56.694

765
00:50:57.356 --> 00:51:00.694

766
00:51:01.358 --> 00:51:04.693

767
00:51:05.361 --> 00:51:08.694

768
00:51:09.363 --> 00:51:12.694

769
00:51:13.365 --> 00:51:16.694

770
00:51:17.366 --> 00:51:20.694

771
00:51:21.368 --> 00:51:24.694

772
00:51:25.369 --> 00:51:28.694

773
00:51:29.370 --> 00:51:32.694

774
00:51:33.371 --> 00:51:36.694

775
00:51:37.372 --> 00:51:40.694

776
00:51:41.373 --> 00:51:44.694

777
00:51:45.378 --> 00:51:48.694

778
00:51:49.383 --> 00:51:52.694

779
00:51:53.384 --> 00:51:56.694

780
00:51:57.385 --> 00:52:00.694

781
00:52:01.386 --> 00:52:04.694

782
00:52:05.388 --> 00:52:08.694

783
00:52:09.390 --> 00:52:12.694

784
00:52:13.392 --> 00:52:16.694
(อาจารย์พิเชนทร์)

785
00:52:17.392 --> 00:52:20.694
ดูต่อนะครับ

786
00:52:21.393 --> 00:52:24.694
ความสัมพันธ์ระหว่าง Process

787
00:52:25.394 --> 00:52:28.694
นะครับ

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

789
00:52:33.397 --> 00:52:36.695
Process  ต่าง ๆ นะครับ

790
00:52:37.400 --> 00:52:40.697
ทั้งของระบบแล้วของผู้ใช้นะครับ

791
00:52:41.402 --> 00:52:44.694
เมื่อมันมี

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

793
00:52:49.407 --> 00:52:52.695
นะครับ นอกจากการจัดการแล้ว

794
00:52:53.408 --> 00:52:56.694
เราก็ต้องมีการ

795
00:52:57.412 --> 00:53:00.694
ติต่อระหว่างกัน เหมือนเราเรา

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

797
00:53:05.415 --> 00:53:08.695
นะครับ คราวนี้

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

799
00:53:13.417 --> 00:53:16.694
การติดต่อระหว่าง Process นั้น

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

801
00:53:21.421 --> 00:53:24.695
ของอีก Process  นึ่งจึงต้องทำไมครับ

802
00:53:25.424 --> 00:53:28.694
ต้องมีการส่งข้อมูลหรือต้องการติดต่อ

803
00:53:29.426 --> 00:53:32.694
กันระหว่างProcess นะครับ ซึ่ง

804
00:53:33.427 --> 00:53:36.694
การติดต่อกันระหว่าง Process นั้นนะครับ ก็มีหลายวิธี

805
00:53:37.428 --> 00:53:40.694
มาดูวิธีที่ 1 นะครับ

806
00:53:41.430 --> 00:53:44.694

807
00:53:45.432 --> 00:53:48.699
ติดต่อกันโดย

808
00:53:49.433 --> 00:53:52.695
ใช้หน่วยความจำร่วม

809
00:53:53.434 --> 00:53:56.694
นะครับ

810
00:53:57.436 --> 00:54:00.696
หมายความว่า เมื่อ Process หนึ่งต้องการ

811
00:54:01.437 --> 00:54:04.695
หรือส่งข้อมูลไปให้อีก Process หนึ่ง

812
00:54:05.438 --> 00:54:08.694
มันจะส่งข้อมูลผ่านหน่วยความจำร่วม

813
00:54:09.440 --> 00:54:12.695
ฟังก่อนนะครับฟังก่อนอย่างพึ่

814
00:54:13.441 --> 00:54:16.695
อย่าเพิ่งคุยกันครับ จะจบแล้ว อีก

815
00:54:17.442 --> 00:54:20.695
แค่ 10 สไลด์นะครับ

816
00:54:21.443 --> 00:54:24.695
ฟังหรือเปล่าครับนี่ ฟังหรือเปล่า บอก

817
00:54:25.444 --> 00:54:28.695
เงียบก่อนนะครับ ฟังก่อน

818
00:54:29.446 --> 00:54:32.695
อย่าเพิ่งคุยกันเสียงดังนะครับ เดี๋ยวมันจะไม่เข้าใจ

819
00:54:33.451 --> 00:54:36.695
นะครับ เวลาสอบ เรามัวแต่ลอก

820
00:54:37.452 --> 00:54:40.695
ในหน้าจอนี่บางทีมันพอเวลาไปสอบนะครับ มันจะตอบไม่ได้นะครับ

821
00:54:41.454 --> 00:54:44.696

822
00:54:45.456 --> 00:54:48.696
เดี๋ยวสอบกลางภาคก็จะรู้คะแนนตัวเองว่าได้เท่าไร

823
00:54:49.457 --> 00:54:52.695
ผมบอกแล้วนะครับว่าข้อสอบผมนั้นมี

824
00:54:53.459 --> 00:54:56.697
ทั้งหมด 8 ชุดนะครับ ผมให้นั่ง

825
00:54:57.462 --> 00:55:00.695
สอบแบบติดกันเลยนะครับ

826
00:55:01.463 --> 00:55:04.695
ข้อสอบคนละชุดนะครับ ถ้าเราไม่เข้าใจเราจะเขียน

827
00:55:05.464 --> 00:55:08.695
อธิบายได้ ดูนะครับความสัมพันธ์

828
00:55:09.465 --> 00:55:12.695
อันที่ 1 ก็คือเวลามันติดต่อหากันมันจะใช้หน่วยความจำร่วมกัน

829
00:55:13.466 --> 00:55:16.695
ดูรูปข้างล่างเลยนะครับ

830
00:55:17.467 --> 00:55:20.696
Process A

831
00:55:21.469 --> 00:55:24.695
ต้องการส่งข้อมูลไปให้ Process B

832
00:55:25.470 --> 00:55:28.695
มันทำกันอย่างไรนะครับ วิธีการ ก็คือ Process A

833
00:55:29.472 --> 00:55:32.695
ส่งไปแล้วจัดส่งไปที่หน่วยความจำ

834
00:55:33.473 --> 00:55:36.695
นะครับ ส่งไปที่หน่วนความจำ เมื่อ Process B

835
00:55:37.474 --> 00:55:40.695
ต้องการจะไปรับข้อมูลจาก Process A

836
00:55:41.475 --> 00:55:44.695
มันก็จะไปรับที่หน่วยความจำนะครับ ซึ่งหน่วยความจำก็จะ

837
00:55:45.476 --> 00:55:48.695
มี Adssdes

838
00:55:49.477 --> 00:55:52.698
แล้วเราจะรู้ได้อย่างไรครับ Process A ส่งอะไร

839
00:55:53.478 --> 00:55:56.695
มาให้เช็กจากอะไรครับ

840
00:55:57.479 --> 00:56:00.695
เช็กจากชื่อ จาก ID ใช่ไหม เพราะว่า

841
00:56:01.482 --> 00:56:04.696
ชื่อของ Process  แต่ละตัวก็จะมีรหัสด้วยนะครับ

842
00:56:05.483 --> 00:56:08.696
เห็นไหมครับ Process A นี่ มันจะส่งข้อมูล

843
00:56:09.484 --> 00:56:12.704
มานะครับ เราส่งไปให้

844
00:56:13.485 --> 00:56:16.695
หน่วยความจำร่วม Process A ก็ไปรับที่หน่วยความจำ

845
00:56:17.486 --> 00:56:20.696
นะครับการติดต่อกันระหว่างหน่อวยความจำระครับ

846
00:56:21.487 --> 00:56:24.695

847
00:56:25.488 --> 00:56:28.696
นอกจากการใช้หน่วยควาามจำร่วม

848
00:56:29.490 --> 00:56:32.696
ติดต่อระหว่าง Process นะครับ ก็ยังมีวิธีการที่สะดวก

849
00:56:33.492 --> 00:56:36.696
นะครับแล้วก้นิยมใช้เป็นมาตราฐานนะครับ

850
00:56:37.493 --> 00:56:40.695
นั่นก็คือการใช้ช่องทางข้อมูล

851
00:56:41.494 --> 00:56:44.696
หรือเรียกง่าย ๆ ว่า พอร์ต

852
00:56:45.494 --> 00:56:48.699
นะครับ ติดต่อผ่านพอร์ต

853
00:56:49.495 --> 00:56:52.695
รู้จัก Port นะ

854
00:56:53.496 --> 00:56:56.696
Port parareal

855
00:56:57.497 --> 00:57:00.696
ต่อสายเข้าไปในเครื่องคอทมพิวเตอร์เราผ้

856
00:57:01.498 --> 00:57:04.696
นะครับ อันนี้ง่ายกว่านะครับ สะดวกกว่า

857
00:57:05.499 --> 00:57:08.696
เช่น เราต้องการส่งข้อมูลจาก

858
00:57:09.500 --> 00:57:12.696
เครื่องของคนหนึ่งไปเครื่องอีกคนหนึ่ง

859
00:57:13.502 --> 00:57:16.696
ผ่านอะไร ผ่านพอร์ตนะครับ

860
00:57:17.504 --> 00:57:20.695

861
00:57:21.506 --> 00:57:24.695
คราวนี้วิธี่การส่งข้อมูล

862
00:57:25.507 --> 00:57:28.695
ส่งข้อมูลทั้งผ่านหน่วยความจำร่วมแล้วก็ผ่านพอร์ต

863
00:57:29.511 --> 00:57:32.695
นั้นนะครับ ในเรื่องของ

864
00:57:33.512 --> 00:57:36.696
โครงสร้างของพอร์ตก็มีหลายแบบนะครับ จะส่งแบบไหนนะครับ

865
00:57:37.513 --> 00:57:40.696
อันที่ 1 นะครับโครสร้างของ Port

866
00:57:41.514 --> 00:57:44.696
แบบที่ 1 ก็คือแบบคิว

867
00:57:45.515 --> 00:57:48.696
นะครับ โครงสร้างแบบนี้ก็คือ ข้อมูล

868
00:57:49.517 --> 00:57:52.696
จะถูกดึงออกมาจากพอร์ตตามลำดับก่อน-หลัง

869
00:57:53.519 --> 00:57:56.696
ข้อมูลไหนส่งเข้ามาก่้อนก็จะ

870
00:57:57.520 --> 00:58:00.696
ออกไปก่อน ก็คือแบบคิวเป็นคิว

871
00:58:01.522 --> 00:58:04.696
นะครับ เช่น ผมเข้าไปก่อนอุบล

872
00:58:05.524 --> 00:58:08.696
ผมก็ออกก่อนอุบลนะครับ นี่คือโครงสร้างข้อมูลแบบพอร์ต

873
00:58:09.525 --> 00:58:12.696
ง่าย ๆ ครับเข้าก่อน ออกก่อน

874
00:58:13.526 --> 00:58:16.696
นะครับ โครงสร้างพอร์ต

875
00:58:17.527 --> 00:58:20.696
แบบที่ 2 ก้คือโครงสร้างแบบ

876
00:58:21.528 --> 00:58:24.696
รูปข้างล่างใช่ไหม

877
00:58:25.530 --> 00:58:28.696
แบบ prit

878
00:58:29.531 --> 00:58:32.696
แบบมีการทำงานแบบคิว คือเข้าก่อน

879
00:58:33.532 --> 00:58:36.697
ออกก่อน แต่มี

880
00:58:37.532 --> 00:58:40.698
ข้อแตกต่างกับแบบคิวที่ว่าถ้าเป็นพอร์ตแบบไปป์

881
00:58:41.536 --> 00:58:44.696
จะมีความยาวของ Port ไม่จำกัด

882
00:58:45.537 --> 00:58:48.696
ถ้าเป็นแบบคิวจะจำกัน

883
00:58:49.538 --> 00:58:52.696
เช่นพอร์ตแบบคิวแบบว่า

884
00:58:53.539 --> 00:58:56.696
มีขนาดของพอร์ต ความยาว

885
00:58:57.540 --> 00:59:00.696
10 ช่องสมมตินะ

886
00:59:01.541 --> 00:59:04.695
ก็แสดงว่าเข้าไปได้แค่ 10 คิวนะครับ

887
00:59:05.542 --> 00:59:08.696
แต่ถ้าพอร์ตแบบไปท์โครงส

888
00:59:09.544 --> 00:59:12.696
เหมือนพอร์ตแบบคิวก็จริง เข้าก่อนออกก่อน แต่จะ

889
00:59:13.546 --> 00:59:16.696
มีความยาวของ Port

890
00:59:17.547 --> 00:59:20.696

891
00:59:21.549 --> 00:59:24.696
นี่คือโครงสร้าง

892
00:59:25.550 --> 00:59:28.697
แบบไปป์นะครับ

893
00:59:29.552 --> 00:59:32.697
โครงสร้าง Port แบบที่ 3 ก็คือ

894
00:59:33.552 --> 00:59:36.696
Stack นะครับ เป็นอย่างไรครับ

895
00:59:37.555 --> 00:59:40.696
แบบสแต็ก

896
00:59:41.556 --> 00:59:44.696
Stack คือ โครงสร้างที่ตรงข้ามกับแบบคิวเลยครับ

897
00:59:45.557 --> 00:59:48.696
ก็คือข้อมูลชุดใดที่ถูกส่งออกมาก่อน

898
00:59:49.559 --> 00:59:52.696
จะถูกดึงออกทีหลัง คือ เข้าก่อนออกทีหลัง

899
00:59:53.561 --> 00:59:56.696
นะครับนี่คือโครงสร้างแบบ

900
00:59:57.562 --> 01:00:00.696
Stack นะครับ นี่คือโครงสร้างของพอร์ตทั้ง 3 แบบนะครับ

901
01:00:01.564 --> 01:00:04.696

902
01:00:05.565 --> 01:00:08.696
คราวนี้มาดู

903
01:00:09.566 --> 01:00:12.699
ปัยหาของ Process นะครับ

904
01:00:13.567 --> 01:00:16.697
เมื่อมีการทำงานมากกว่า 1 Process ขึ้นไป

905
01:00:17.568 --> 01:00:20.696
นะครับมันย่อมทำให้เกิดปัญหาเกิดขึ้น

906
01:00:21.569 --> 01:00:24.696
ในการใช้งาน เมื่อมีโปรแกรม

907
01:00:25.571 --> 01:00:28.696
ทำงานในระบบคอมพิวเตอร์เรา ปัยหาก้ไม่เกิดขึ้นร

908
01:00:29.572 --> 01:00:32.696
นะครับ เมื่อมีหลาย ๆ โปรแกรมทำงานอยู่บนระบบเดียวกัน

909
01:00:33.573 --> 01:00:36.696
มีการใช้ทรัพยากร

910
01:00:37.575 --> 01:00:40.696
แย่งกันใช้ มันย่อมเกิดปัญหาขึ้น

911
01:00:41.579 --> 01:00:44.697
นะครับดังนั้นมันจะต้องมีการจัดสรร

912
01:00:45.580 --> 01:00:48.705
การใช้ Process ขึ้นนะครับ

913
01:00:49.582 --> 01:00:52.696
ถึงอย่างไรก็ตาม

914
01:00:53.583 --> 01:00:56.696
ที่เราจะกล่าวต่อไปนี้ มันจะต้อง

915
01:00:57.584 --> 01:01:00.697
ไม่เกิดขึ้นกับระบบของเรา

916
01:01:01.585 --> 01:01:04.698
นะครับ ดังนั้น คนที่ออกแบบระบบปฏิบัติการจะต้องแก้ปัญหา

917
01:01:05.586 --> 01:01:08.696
ดังต่อไปนี้ให้ได้

918
01:01:09.587 --> 01:01:12.696
เวลาเราเขียนโปรแกรมเราจะต้องเลี่ยงปัญหาเหล่านี้ให้ได้

919
01:01:13.587 --> 01:01:16.696
นะครับ ปัญหาการทำงานของProcess อันดับ

920
01:01:17.588 --> 01:01:20.696
แรกเลยนะครับ ก็คือปัญหาการตัดตอน

921
01:01:21.590 --> 01:01:24.697
นะครับปัญหา

922
01:01:25.592 --> 01:01:28.698
เกิดจากอะไรครับ เกิดจากการที่ Process หนึ่ง

923
01:01:29.593 --> 01:01:32.696
ต้องการใช้ทรัพยากร

924
01:01:33.594 --> 01:01:36.696
ของ Process แต่ปรากฏว่า Process นั้นมีลำกับความสำคัญ

925
01:01:37.595 --> 01:01:40.697
น้อยกว่าจึงยอมปลดปล่อย

926
01:01:41.597 --> 01:01:44.697
ที่มีระดับความสำคัญมากกว่าเข้าไปครอบครองตัว CPU

927
01:01:45.599 --> 01:01:48.696
แทนตัวมันเอง

928
01:01:49.600 --> 01:01:52.696
นึกออกใช่ไหมครับ ก็คือ Process หนึ่ง อย่าง

929
01:01:53.602 --> 01:01:56.696
เช่น ผมกำลังจะเข้าไปครอบครอง

930
01:01:57.605 --> 01:02:00.697
CPU แต่ปรากฏว่าอุบลเข้ามาต่อคิวผม

931
01:02:01.606 --> 01:02:04.696
บังเอิญว่าลำดับความสำคัญอุบ

932
01:02:05.607 --> 01:02:08.699
สำคัญมากกว่าผม ผมยอมให้อุบลเข้าไปแทนผม นี่

933
01:02:09.608 --> 01:02:12.696
เกิดการตัดตอนขึ้น

934
01:02:13.609 --> 01:02:16.696
ให้เป็นวิชาการ อธิบายว่าเกิดจาการ

935
01:02:17.611 --> 01:02:20.696
ที่ Process ใด Process หนึ่ง

936
01:02:21.612 --> 01:02:24.699
ที่จะเข้าไปครอบครอง CPU หรือเข้าไปในสถานะ Run นั้น

937
01:02:25.613 --> 01:02:28.705
ยอมให้ Process น

938
01:02:29.614 --> 01:02:32.696
ความสำคัญมากกว่าเข้าไปแทนที่มัน มันก็จะเกิด

939
01:02:33.615 --> 01:02:36.698
การตัดตอนขึ้นนะครับ

940
01:02:37.616 --> 01:02:40.696
ซึ่งปัญหาตัวนี้นะครับ คนที่ออกแบบระบบปฏิบัติการจะต้อง

941
01:02:41.617 --> 01:02:44.697
ไม่ให้เกิดขึ้นนะครัย

942
01:02:45.618 --> 01:02:48.696

943
01:02:49.620 --> 01:02:52.697
ปัญหาต่อมานอกจากปัญหาการตัดตอ

944
01:02:53.622 --> 01:02:56.696
ปัญหาการตัดตอนแล้ว ปัญหาต่อมา ก็คือปัญหา

945
01:02:57.623 --> 01:03:00.697
การอดตาย หรือปัญหา

946
01:03:01.624 --> 01:03:04.697
การเลื่อนไปอย่างไม่มีสิ้นสุด

947
01:03:05.626 --> 01:03:08.697
หมายความว่าเมื่อเกิดการตัดตอนขึ้น

948
01:03:09.627 --> 01:03:12.697
Process หนึ่งปล่อยให้ Process อีก Process หนึ่งที่มีความสำคัญ

949
01:03:13.630 --> 01:03:16.697
มากกว่าเข้าไปครอบคลอง CPU มัน

950
01:03:17.631 --> 01:03:20.697
แล้วแทนไปเรื่อย ๆ

951
01:03:21.631 --> 01:03:24.696
นี่เราเรียกว่าว่า "การอดตาย"

952
01:03:25.632 --> 01:03:28.697
เช่น ตัวอย่างเมื่อกี้ผมจะเข้าไปครอบครอง CPU

953
01:03:29.633 --> 01:03:32.697
แต่บังเอินว่า อุบล

954
01:03:33.634 --> 01:03:36.697
มาต่อคิว อุบลมีลำดับความสำคัญมากกว่า อุบลเข้าไปแทนที่

955
01:03:37.637 --> 01:03:40.696
พออุบลเสร็จแล้ว

956
01:03:41.639 --> 01:03:44.696
ผมจะเข้าไปต่อ แต่ปรากฏว่า

957
01:03:45.640 --> 01:03:48.696
แม็กกี้มาต่อแล้วแม็กกี้มีความ

958
01:03:49.641 --> 01:03:52.697
ก็เข้าไปแทนที่อีก พอ

959
01:03:53.642 --> 01:03:56.698
แม็กกี้ออกมา ผมจะเข้าไปต่อ ปรากฎว่า

960
01:03:57.645 --> 01:04:00.697
มิ่งมาต่อ แล้ว

961
01:04:01.646 --> 01:04:04.697
มิ้งมีความสำคัญมากกว่า มิ้งก็

962
01:04:05.648 --> 01:04:08.697
ก็คือรอไป

963
01:04:09.649 --> 01:04:12.697
ไม่มีวันสิ้นสุด รอไปเรื่อย ๆ  ไม่มีวันสิ้นสุ

964
01:04:13.654 --> 01:04:16.697
นะครับ ถ้าเป็นสมัยก่อนนะครับ

965
01:04:17.655 --> 01:04:20.697
ผมก็จะยกตัวอย่างให้พวกเรา

966
01:04:21.656 --> 01:04:24.698
สมมติว่าที่อาคาร 7 เรานะครับ

967
01:04:25.658 --> 01:04:28.698
สร้างห้องน้ำมาใหม่

968
01:04:29.659 --> 01:04:32.696
เปรียบเสมือน CPU สมมตินะ

969
01:04:33.661 --> 01:04:36.699
ผมจะเข้าเป็นคนแรก

970
01:04:37.662 --> 01:04:40.698
กำลังจะเปิดประตูเข้าไปห้องน้ำ ปรากฏว่าอุบล ไม่ใช่อุบล

971
01:04:41.665 --> 01:04:44.696
อธิการ สะกิดหลัง

972
01:04:45.666 --> 01:04:48.696
พิเชนทร์ ๆ ผมขออนุญาตเข้าก่อน ผมมองไปข้างหลัง

973
01:04:49.667 --> 01:04:52.697
อธิการใหญ่กว่าผม

974
01:04:53.668 --> 01:04:56.697
นี่เกิดการตัดตอน

975
01:04:57.669 --> 01:05:00.699
แต่พออธิการเข้าไปเสร็จปุ๊บ

976
01:05:01.670 --> 01:05:04.697
ปรากฏว่ามีคนสะกิดหลังอีกแล้ว ผู้ว่าฯ สะกิดหลัง

977
01:05:05.671 --> 01:05:08.696
เป็นอย่างไรครับ ผู้ว่าเข้าไป

978
01:05:09.672 --> 01:05:12.699
นายอำเภอสกิดหลัง ผู้ว่าสกิดหลังเกิดการ

979
01:05:13.673 --> 01:05:16.697
ต้องตัดตอน พอตัดตอนเสร็จปุ๊บ

980
01:05:17.677 --> 01:05:20.697
ไม่มีโอกาสได้เข้า ก็เลยเป็นอดตายนะครับ

981
01:05:21.678 --> 01:05:24.699
นี่คือปัญหาหาที่ 2

982
01:05:25.680 --> 01:05:28.697
ของเรานะครับ ปัญหาที่ 3

983
01:05:29.682 --> 01:05:32.696

984
01:05:33.684 --> 01:05:36.697
เขาบอกว่าทำไมถึงให้เกิดการ

985
01:05:37.685 --> 01:05:40.697
ตัดตอนไม่ได้หรือการอดตายไม่ได้

986
01:05:41.686 --> 01:05:44.696
มันจะเกิดปัญหาขึ้น ถ้าทรัพยากรบางประเภท

987
01:05:45.687 --> 01:05:48.697
ถ้าเราปล่อยให้เกิดการตัดตอน

988
01:05:49.689 --> 01:05:52.697
จะเกิดปัญหาขึ้น เช่น เครื่องพิมพ์

989
01:05:53.690 --> 01:05:56.696
ให้เรามาถึงเครื่องพิมพ์

990
01:05:57.691 --> 01:06:00.697
ที่เป็นหัวเข็ม เคยเห็นไหม มันจะดังแกร๊ก มันจะ

991
01:06:01.692 --> 01:06:04.696
พรินทีละบรรทัด

992
01:06:05.696 --> 01:06:09.696
เคยเห็นไหมครับ เครื่องพิมพ์แบบหัวเข็ม เหมือนเราไปซื้อ

993
01:06:09.704 --> 01:06:13.697
ของตามเซเว่น

994
01:06:13.706 --> 01:06:17.697
หรือเราไปจ่ายค่าเทอม มันจะ

995
01:06:17.708 --> 01:06:21.696
พรินเป็นหัวเข็มออกมา

996
01:06:21.709 --> 01:06:25.697
ถ้าเราปล่อยให้เกิดการตัดตอนขึ้น เช่น ผมสั่งพรินต์

997
01:06:25.714 --> 01:06:29.696
ไปได้ 2 บรรทัด

998
01:06:29.722 --> 01:06:33.696
สั่งมา อุบลบอกว่าอุบลมีความสำคัญมากกว่าแล้วเกิดการตัดตอน

999
01:06:33.724 --> 01:06:37.696
บรรทัดที่ 3 จะกลายเป็นของอุบล

1000
01:06:37.725 --> 01:06:41.697
ดังนั้น ห้ามให้มีเหตุการณ์นี้เกิดขึ้นนะครับ

1001
01:06:41.726 --> 01:06:45.696
เพราะทรัพยากร บางอย่าง

1002
01:06:45.729 --> 01:06:49.696
ให้เกิดขึ้นไม่ได้นะครับ

1003
01:06:49.732 --> 01:06:53.696
ปัญหาต่อมานะครับ

1004
01:06:53.734 --> 01:06:57.696
ปัญหาการติดตาย

1005
01:06:57.735 --> 01:07:01.697
ดูรูปประกอบเลยนะครับ

1006
01:07:01.737 --> 01:07:05.696
ปัญหาการติดตายคืออะไรครับ ดูรูปเลย เมื่อ Process

1007
01:07:05.739 --> 01:07:09.696
ใดก็แล้วแต่ ครอบครองทรัพยากรของตั

1008
01:07:09.740 --> 01:07:13.696
ทรัพยากรของตัวเองอยู่ แล้วในขณะเดียวกัน

1009
01:07:13.741 --> 01:07:17.696
ต้องการไปครอบครองทรัพยากรของเรา

1010
01:07:17.743 --> 01:07:21.696
แต่ไม่ยอมให้ Process อื่น เข้า

1011
01:07:21.744 --> 01:07:25.696
มาครอบครองทรัพยากรของตัวเอง

1012
01:07:25.752 --> 01:07:29.696
เหมือนกันนะครับ เช่น ผมบอกอุบล

1013
01:07:29.754 --> 01:07:33.696
อาจารย์ยิมสตางค์ของอุบลหน่อย 1 ร้อยล

1014
01:07:33.755 --> 01:07:37.696
อุบลก็บอกเหมือนกัน อาจารย์

1015
01:07:37.757 --> 01:07:41.696
ผมก้ยืมตังอาจารย์หน่อย 200,000.

1016
01:07:41.758 --> 01:07:45.696
แต่อุบลก็ไม่ควักให้ผมนะ ผมก็ไม่ควักให้อุบล

1017
01:07:45.760 --> 01:07:49.696
เพราะเราก็ไม่มีทั้งคูนะ

1018
01:07:49.764 --> 01:07:53.696
คือ อยากได้สตางค์อุบล อุบล

1019
01:07:53.765 --> 01:07:57.696
ไม่ควักให้ นี่คือลักษณะการปิดตาย

1020
01:07:57.767 --> 01:08:01.696
ก็คือ Process ใด Process หนึ่งนี่ครอบครองทรัพยากรตัวเอง

1021
01:08:01.771 --> 01:08:05.696
อยู่แต่อยากไปได้ทรัพยากรของคนอื่น

1022
01:08:05.783 --> 01:08:09.696
คนอื่น แต่ตัวเองก็ไม่ยอมให้ทรัพยากรของตัวเอง

1023
01:08:09.785 --> 01:08:13.697
นะครับนี่คือลักษณธการปืดตายหรือ

1024
01:08:13.785 --> 01:08:17.696

1025
01:08:17.786 --> 01:08:21.703
เขาบอกว่า

1026
01:08:21.787 --> 01:08:25.697
ปัญหาการติดตายนั้น ไม่จำเป็นต้องเกิดจาก 2

1027
01:08:25.789 --> 01:08:29.695
Process อาจจะ

1028
01:08:29.792 --> 01:08:33.696
เกิดจากหลาย Process ก็ได้นะครับ มากกว่า 2 Process แต่ต้อง

1029
01:08:33.793 --> 01:08:37.696
มีเงื่อนไขดังนี้เช่น

1030
01:08:37.794 --> 01:08:41.695
1. การครอบครองเป็นแบบตัดตอนไม่ได้

1031
01:08:41.795 --> 01:08:45.697
อันนี้ก้ตัดตอนไม่ได้นะ

1032
01:08:45.796 --> 01:08:49.697
Process A, Process B ก็ไม่ได้ Process C ก็ไม่ได้

1033
01:08:49.797 --> 01:08:53.695

1034
01:08:53.801 --> 01:08:57.696
ไม่ไป ไม่มา นะครับ เงื่อนไขแบบที่ 2

1035
01:08:57.802 --> 01:09:01.696
การครอบครองเป็นแบบไม่เกิดร่วม

1036
01:09:01.803 --> 01:09:05.695
ต่างคนต่างทำงาน ต่างคนต่างอยู่คนละส่วน

1037
01:09:05.804 --> 01:09:09.696
ปิดตายขึ้น

1038
01:09:09.805 --> 01:09:13.696
นะครับ เงื่อนไขที่ 3 คือ

1039
01:09:13.806 --> 01:09:17.696
ในการรอใช้ทรัพยากร

1040
01:09:17.809 --> 01:09:21.695
เป็นการรอแบบวนรอบ

1041
01:09:21.811 --> 01:09:25.696
หรือวงรอบ หรือภาษาเขีียนโปรแกรม

1042
01:09:25.812 --> 01:09:29.696
เราเรียกว่าวนลูป หรือวนรอบ

1043
01:09:29.814 --> 01:09:33.695
ก้จะเกิดปัญหาการปิดตายขึ้น

1044
01:09:33.816 --> 01:09:37.696
นะครับ นี่คือปัญหา 3 ปัญหาที่เกิดขึ้นในระบบเรา

1045
01:09:37.817 --> 01:09:41.696
แต่เวลาเราออกแบบ OS ก็เกิดขึ้น

1046
01:09:41.818 --> 01:09:45.695

1047
01:09:45.819 --> 01:09:49.697
หัวข้อสุดท้ายนะครับ

1048
01:09:49.820 --> 01:09:53.696
ของบทนี้นะครับ เธรดนะครับ

1049
01:09:53.822 --> 01:09:57.696
เขาบอกในระบบปฏยั

1050
01:09:57.823 --> 01:10:01.695
บางตัวซึ่งเราใช้แล้วนะครับ เราใช้แบบนี้อยู่

1051
01:10:01.824 --> 01:10:05.695
นะครับ ถ้าเป็นสมัยก่อนยกไม่เกิดระบ

1052
01:10:05.826 --> 01:10:09.695
นะครับ เธรด ก็คือเป็นการที่ระบบปฏิบัติการ

1053
01:10:09.834 --> 01:10:13.696
แบ่งย่อย Processing ออกมาเป็นส่วน ๆ

1054
01:10:13.836 --> 01:10:17.695
ดูรูปประกอบเลยนะครับ

1055
01:10:17.840 --> 01:10:21.697

1056
01:10:21.849 --> 01:10:25.696
นี่... ทำไมไม่ขึ้น

1057
01:10:25.859 --> 01:10:29.697
ขวามือผมนะครับ

1058
01:10:29.862 --> 01:10:33.695
กับ Process B

1059
01:10:33.863 --> 01:10:37.696
Process A

1060
01:10:37.864 --> 01:10:41.695
โค้ดโปรแกรม

1061
01:10:41.865 --> 01:10:45.695
แล้วก็ข้อมูลองค์ประกอบอื่น

1062
01:10:45.866 --> 01:10:49.698
เขียนโปรแกรมแบบไม่ใช่เธรด แต่

1063
01:10:49.870 --> 01:10:53.697
พอเทรดปุ๊บมันจะแบ่งส่วนเทรด

1064
01:10:53.871 --> 01:10:57.695
1, 2, 3, 4, 5 เป็นส่วนย่อยนะครับ

1065
01:10:57.873 --> 01:11:01.695
เราแบ่ง มีประโยชน์อะไร

1066
01:11:01.874 --> 01:11:05.696
นะครับ มันจะให้ทำงานเร็วขึ้น สามารถ

1067
01:11:05.875 --> 01:11:09.697
ทำงานกับหน่วยความจำที่มีขนาดเล็กได้

1068
01:11:09.876 --> 01:11:13.696
แก้ไขง่าย นี่คือหลักการเขียนโปรแกรม

1069
01:11:13.878 --> 01:11:17.695
ใน ณ ปัจจุบันนี้นะครับ

1070
01:11:17.880 --> 01:11:21.700
เดี๋ยวพอเราเขียนโปรแกรมเราเรียนไปสัก ปี 2

1071
01:11:21.882 --> 01:11:25.695
ทำไมเราต้องมาเขียนเป็นแบบเทรด

1072
01:11:25.884 --> 01:11:29.695
โบราณนะครับ เขียนทีเดียว 100 บรรทัด, 500 บรรทัด

1073
01:11:29.885 --> 01:11:33.695
เวลามีปัญหามาปุ๊บการแก้ไขปัญหา

1074
01:11:33.887 --> 01:11:37.695
นะครับ แก้ไขยากนะครับ นี่คือหลักการ

1075
01:11:37.889 --> 01:11:41.695
ของการเขียนโปรแกรม

1076
01:11:41.890 --> 01:11:45.704
แจ้งพวกเรานะครับ เมื่อกี้ได้พูดไปแล้วนะครับ

1077
01:11:45.893 --> 01:11:49.695
สัปดาห์หน้านะครับ

1078
01:11:49.894 --> 01:11:53.695
เราก็จะไปศึกษาดูงานนอกสถานที่นะครับ

1079
01:11:53.896 --> 01:11:57.695
หมู่ 2 นะครับ หมู่ 2

1080
01:11:57.897 --> 01:12:01.695
หมู่ 1 ยังไม่ได้ไปนะครับ เราจะไปศึกษาดูงาน

1081
01:12:01.898 --> 01:12:05.695
ที่นครพนม ผมจะ

1082
01:12:05.900 --> 01:12:09.695
พาไปที่บุสบานก่อน

1083
01:12:09.901 --> 01:12:13.695
ไปดุหมู่บ้าน

1084
01:12:13.905 --> 01:12:17.695
อะไรไม่รู้จำไม่ได้นะครับ พวกทำเกี่ยวกับพื้นเมือง แล้วก็จะพาไปพิพิธภัณฑ์สัตว์น้ำ

1085
01:12:17.907 --> 01:12:21.695

1086
01:12:21.908 --> 01:12:25.695
นครพนม ก็สัปดาห์หน้าก็

1087
01:12:25.909 --> 01:12:29.695
หมู่ 1 ก็ต้องมาเรียน ก็เห็นพี่พลอย

1088
01:12:29.911 --> 01:12:33.695
ประสานไปที่อาจารย์อะไรนะที่เราเรียนน่ะ ตอนเช้าน่ะ

1089
01:12:33.912 --> 01:12:37.696
ก็เรียนด้วยกันใช่ไหม

1090
01:12:37.913 --> 01:12:41.695
เห็นว่าอาจารย์ว่าคณะก็

1091
01:12:41.915 --> 01:12:45.697
ไหว้ครู แต่ว่าสัปดาห์หน้าเราไม่มีเรียน

1092
01:12:45.918 --> 01:12:49.695
นะครับ ห้อง 1 นะมีเรียน แต่สัปดาห์หน้าหมู่ 2

1093
01:12:49.920 --> 01:12:53.695
เราจะไปนอกสถานที่

1094
01:12:53.921 --> 01:12:57.696
จะพาไปดูอะไรนะ ไปดู

1095
01:12:57.922 --> 01:13:01.695
ปลาบึก เขาจะป้อนอาหารปลาบึก

1096
01:13:01.923 --> 01:13:05.706
เอาอุบลไปให้อาหารปลา อุบลนะ

1097
01:13:05.925 --> 01:13:09.695
ก็ไปทั้งวันนะครับ

1098
01:13:09.926 --> 01:13:13.695
ก็แจ้งพวกเราไว้ สัปดาห์หน้าก็หยุด

1099
01:13:13.927 --> 01:13:17.695
นะครับ สัปดาห์ถัดไปก็เจอกันนู้นเลยครับ

1100
01:13:17.929 --> 01:13:21.696
นะครับ ก็ตอนนี้เราเปิดเทอมมาได้

1101
01:13:21.930 --> 01:13:25.695
เดือนหนึ่งนะครับเป้นอย้างไรครับปรับตัวได้

1102
01:13:25.932 --> 01:13:29.695
ได้แล้วนะ บางคนก็ส่งงานไว้ที่โต๊ะนะครับ เดี๋ยว

1103
01:13:29.933 --> 01:13:33.695
ผมจะส่งคืนให้นะ ผมจะตรวจ

1104
01:13:33.934 --> 01:13:37.695
แล้วส่งคืนให้ ๆ เราเอาเก็บไว้อ่านสอบ

1105
01:13:37.935 --> 01:13:41.695
แบบฝึกหัดที่ผมให้ทำ

1106
01:13:41.936 --> 01:13:45.695
มีใครอยากจะถามอะไรเพิ่มเติมไหมครับ

1107
01:13:45.937 --> 01:13:49.695

1108
01:13:49.938 --> 01:13:53.695
ครับ ถ้าไม่มีก็...

1109
01:13:53.940 --> 01:13:57.695

1110
01:13:57.943 --> 01:14:01.695
Process พ่อเกิดอย่างไร

1111
01:14:01.944 --> 01:14:05.695
Process พ่อเกิดขึ้นจาก

1112
01:14:05.945 --> 01:14:09.695
การที่เมื่อเวลาใดเวลาหนึ่ง เช่น เรา... สมมตินะ ๆ

1113
01:14:09.945 --> 01:14:13.695
ผมเป็นProcess  ผมต้องการจะเข้าไป ครอบครอง

1114
01:14:13.946 --> 01:14:17.695
จะเข้าไปครอบครอง CPU ตัวของระบบปฏิบัติการจะสร้าง

1115
01:14:17.947 --> 01:14:21.695
Process หนึ่งขึ้นมา เพื่อมากำกับผม

1116
01:14:21.948 --> 01:14:25.695
ไป จะพาเข้าไปครอบครอง CPU นะ นี่

1117
01:14:25.949 --> 01:14:29.695
เป็นการให้กำเนิด เป้นการให้กำเนิด

1118
01:14:29.950 --> 01:14:33.695
เพื่อพา Process เข้าไป ตรงนี้เรียกว่า Process พ่อ

1119
01:14:33.951 --> 01:14:37.694
นะครับนี่คือหลักการของมัน

1120
01:14:37.956 --> 01:14:41.695
ของมันนะครับ

1121
01:14:41.958 --> 01:14:45.696
ครับก็ต้อง

1122
01:14:45.959 --> 01:14:49.696
ขอบคุณพี่ล่ามมากนะครับ ที่ได้ให้การอนุเคราะห์เรา

1123
01:14:49.963 --> 01:14:53.695
มาอีก 1 สัปดาห์ สัปดาห์หน้า

1124
01:14:53.965 --> 01:14:57.695
เราไม่ได้เจอกันนะครับพี่ล่าม สัปดาห์หน้าจะพาน้อง ๆ ไปนอกสถานที่

1125
01:14:57.967 --> 01:15:01.695
ก็ ถ้าไม่มีใครถามอะไรแล้วนะครับ

1126
01:15:01.968 --> 01:15:05.696
ก็เจอกันสัปดาห์หน้านะครับ ไปดูงานนอกสถานที่

1127
01:15:05.970 --> 01:15:09.694
กัน โอเคครับผม ไป

1128
01:15:09.971 --> 01:15:13.695

1129
01:15:13.973 --> 01:15:17.695

1130
01:15:17.974 --> 01:15:21.695

1131
01:15:21.978 --> 01:15:25.695

1132
01:15:25.979 --> 01:15:29.696

1133
01:15:29.981 --> 01:15:33.694

1134
01:15:33.983 --> 01:15:37.695

1135
01:15:37.987 --> 01:15:41.695

1136
01:15:41.988 --> 01:15:45.697

1137
01:15:45.990 --> 01:15:49.990

1138
01:15:49.991 --> 01:15:53.991

1139
01:15:53.994 --> 01:15:53.997

1140
01:15:57.997 --> 01:15:58.001


