﻿1
00:00:03,955 --> 00:00:07,955

2
00:00:11,773 --> 00:00:11,773

3
00:00:11,773 --> 00:00:15,770

4
00:00:15,770 --> 00:00:19,769

5
00:00:19,769 --> 00:00:23,768
ของการจัดการ

6
00:00:23,768 --> 00:00:27,768
Process นะครับ

7
00:00:27,768 --> 00:00:31,768
เราเคยได้ยินไหม

8
00:00:31,785 --> 00:00:35,776
Process

9
00:00:35,776 --> 00:00:39,776
ครับ ถามหมู่ 1 เคยได้ยินไหมครับ คำนี้

10
00:00:39,785 --> 00:00:43,777
เรียนตั้งแต่มัธยม

11
00:00:43,777 --> 00:00:47,770
Process คืออะไร เอ่ย

12
00:00:47,770 --> 00:00:51,770
Process Process ครับ

13
00:00:51,770 --> 00:00:55,769

14
00:00:55,769 --> 00:00:59,769

15
00:00:59,769 --> 00:01:03,769
เขาบอกว่านะครับ เขาให้ความหมาย ความหมายเยอะแยะ

16
00:01:03,773 --> 00:01:07,769
นะครับ แต่ความหมายที่เรา

17
00:01:07,769 --> 00:01:11,769
ใช้กันนะครับ เอกสารยังไม่ได้หรือ

18
00:01:11,771 --> 00:01:15,769
อยู่กับใคร เอกสารหมดหรือยัง

19
00:01:15,769 --> 00:01:19,769
อยู่กับใครครับเอกสาร

20
00:01:19,778 --> 00:01:23,773
เหลืออยู่กับใคร

21
00:01:23,773 --> 00:01:27,770
มีไหม อยู่กับใครครับ เอกสารเหลือน่ะ

22
00:01:27,770 --> 00:01:31,768

23
00:01:31,768 --> 00:01:35,768
บทนี้ บทที่ 2 น่ะ

24
00:01:35,776 --> 00:01:39,776
อยู่กับใคร เหลืออยู่กับใคร มันต้องเหลือสิ

25
00:01:39,780 --> 00:01:43,772
มันตั้ง 50 ชุดนะครับ ถ่ายมา

26
00:01:43,772 --> 00:01:47,772
อยู่ไหนล่ะ

27
00:01:47,772 --> 00:01:51,770
ห้อง 1 มันยังไม่เห็น เอกสารอาทิตย์ที่แล้ว

28
00:01:51,770 --> 00:01:55,770
วางไว้ที่โต๊ะไหน

29
00:01:55,778 --> 00:01:59,778
หรือหมู่ 1

30
00:02:13,924 --> 00:02:10,686

31
00:01:59,768 --> 00:02:03,768
หมู่ 1 หมู่ 1

32
00:02:03,770 --> 00:02:07,770
ยังไม่ส่งใช่ไหม

33
00:02:07,774 --> 00:02:11,769

34
00:02:11,769 --> 00:02:15,769
เห็นแต่ของห้อง 2

35
00:02:15,769 --> 00:02:19,769
แต่ผมตรวจแล้วนะครับผม ตรวจแล้ว ก็คืนให้แล้ว

36
00:02:19,772 --> 00:02:23,769
นะครับ ใครมาช้ามาเอา

37
00:02:23,769 --> 00:02:27,769
นะครับ

38
00:02:27,769 --> 00:02:31,768

39
00:02:31,768 --> 00:02:35,768
เอกสารที่ผมตรวจนะครับผม จะไม่ได้ตรวจให้ทุกขอนะครับ ผมจะเซ็น

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

41
00:02:39,777 --> 00:02:43,772
แล้วก็เราเอาไว้อ่านสอบนะครับ เพราะว่า

42
00:02:43,772 --> 00:02:47,772
ตอนนี้เราเรียน 2-3 สัปดาห์แล้วนะครับ จะครบเดือนแล้ว

43
00:02:47,773 --> 00:02:51,769
เดี๋ยวสัปดาห์หน้านะครับ

44
00:02:51,769 --> 00:02:55,769
ห้องหมู่ 2 จะไม่อยู่นะครับ

45
00:02:55,769 --> 00:02:59,769
ผมก็ไม่อยู่นะครับ สัปดาห์หน้าเราไม่มีเรียน

46
00:02:59,776 --> 00:03:03,776
นะครับ วิชานี้ เราจะยกเลิกคลาสนะครับ เพราะว่าหมู่ 2 จะไป

47
00:03:03,786 --> 00:03:07,772
ศึกษาดูงานข้างนอกนะครับ

48
00:03:07,772 --> 00:03:11,772
ผมก็ไปด้วยนะครับ ทั้งวันนะครับ

49
00:03:11,772 --> 00:03:15,770
สัปดาห์ถัดไปปิดใช่ไหม

50
00:03:15,770 --> 00:03:19,770
หยุด สัปดาห์ถัดไปอีก เรียน สัปดาห์ถัดไปหยุดอีก

51
00:03:19,776 --> 00:03:23,769
เดือนนี้หยุดเยอะนะครับ

52
00:03:23,769 --> 00:03:27,769
มาดูนะครับ Process นะครับ Process Process

53
00:03:27,779 --> 00:03:31,769
เขาให้ความหมายว่า

54
00:03:31,769 --> 00:03:35,769
Process คือ โปรแกรมที่กำลังถูก Execute

55
00:03:46,708 --> 00:03:53,597
Execute

56
00:03:35,771 --> 00:03:39,770

57
00:03:39,770 --> 00:03:43,769
คืออะไร

58
00:03:43,769 --> 00:03:47,769
เคยได้ยินไหมครับ

59
00:03:47,771 --> 00:03:51,771
เขาบอก Process คือ โปรแกรมที่กำลังถูก Execute

60
00:03:51,788 --> 00:03:55,773
เป็นอย่างไรครับ Execute

61
00:03:55,773 --> 00:03:59,770
ผมเชื่อว่าพวกเราจบ

62
00:03:59,770 --> 00:04:03,770
มัธยมศึกษาปีที่ 6 มา มันต้องเคยได้เรียนแล้วใช่ไหม

63
00:04:19,664 --> 00:04:15,665
คอมพิวเตอร์พื้นฐษน

64
00:04:03,770 --> 00:04:07,770
เรียนหรือยัง เรียนหรือยังครับ หมู่ 1

65
00:04:07,776 --> 00:04:11,776
เรียนแล้วใช่ไหม

66
00:04:23,735 --> 00:04:21,296

67
00:04:11,776 --> 00:04:15,776
นะครับ ถามตอบด้วยเด้อ ถามตอบ

68
00:04:15,778 --> 00:04:19,771
มีปฏิสัมพันธ์ด้วยนะครับ

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

70
00:04:23,773 --> 00:04:27,768
นะครับ

71
00:04:27,768 --> 00:04:31,768
ผมเข้าใจนะ พวกเราเป็น Generation ที่ต่างจาก

72
00:04:50,861 --> 00:04:46,861
อาจารย์

73
00:04:31,769 --> 00:04:35,769
นะครับ เราเจนอะไรครับ

74
00:04:35,772 --> 00:04:39,772
เรา Genaration อะไร

75
00:04:39,773 --> 00:04:43,770
Gen Y หรือ แม่นหรือ

76
00:04:43,770 --> 00:04:47,770
ใช่ไหม ใช่หรือ เรา Gen y หรือ

77
00:04:47,790 --> 00:04:51,770
Gen อะไรดี

78
00:04:51,770 --> 00:04:55,770
ยังไม่รู้อีกตัวเอง Gen อะไร เดี๋ยวไปถามห้อง 2

79
00:04:55,774 --> 00:04:59,772
ยังไม่ถามห้อง 2 ถามห้อง 1 ก่อน

80
00:04:59,772 --> 00:05:03,772
ตอนนี้พวกเรามีปัญหานะครับ เรื่องของ

81
00:05:03,774 --> 00:05:07,770
ความแตกต่างระหว่าง Genaretion

82
00:05:07,770 --> 00:05:11,770
รุ่นผมนี่ คุยกับพวกเรานี่

83
00:05:11,771 --> 00:05:15,771
ไม่ค่อยรู้เรื่อง

84
00:05:21,911 --> 00:05:23,332
จริงไหมอุบล

85
00:05:15,771 --> 00:05:19,771
จริงไหม เราคนละ Generation

86
00:05:19,772 --> 00:05:23,771
นะครับ รุ่นพวกเรานี่

87
00:05:23,771 --> 00:05:27,771
ความอดทนน้อยนะครับ รอได้ไหม รอไม่ได้นะครับ

88
00:05:27,780 --> 00:05:31,770
จะเอาเดี๋ยวนี้ จะกินข้าวก็จะกินเดี๋ยวนี้

89
00:05:31,770 --> 00:05:35,770
ถ้าจะให้ไปต่อคิว ก็ไม่ไป

90
00:05:35,772 --> 00:05:39,770
เห็นไหมครับ มันถึงเกิดอะไรขึ้นมา ขาย

91
00:05:39,770 --> 00:05:43,770
พวก Grab พวก Food Panda ใช่ไหม

92
00:05:43,771 --> 00:05:47,770

93
00:05:47,770 --> 00:05:51,770
จากที่ผมอ่านนะครับ อ่าน

94
00:05:51,778 --> 00:05:55,773
ทดสอบก่อนเรียนพวกเรา ก็พื้นฐาน

95
00:05:55,773 --> 00:05:59,771
พอ ๆ กันนะ พอ ๆ กันนะ นะครับ

96
00:05:59,771 --> 00:06:03,771
ก็คือยังไม่เข้าใจ

97
00:06:03,772 --> 00:06:07,772
ความหมาย ยังไม่เข้าใจหลักการของคอมพิวเตอร์มาก

98
00:06:07,774 --> 00:06:11,770
ก็ไม่เป็นไรนะครับ จริง  ๆ อย่างที่ผมบอกนะครับ

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

100
00:06:15,772 --> 00:06:19,771
มาจัด ปี 1 เทอม 1

101
00:06:19,771 --> 00:06:23,771
ก็ไม่เป็นไรนะครับ ก็ปรับเอา เขาบอกว่า Process

102
00:06:23,776 --> 00:06:27,776
โปรแกรมที่กำลังถูก Execute

103
00:06:33,749 --> 00:06:37,749
ถ้าเรามอง

104
00:06:39,365 --> 00:06:36,424
ก็คือ

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

106
00:06:31,773 --> 00:06:35,772
ใช่ไหมครับ

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

108
00:06:39,773 --> 00:06:43,770
เข้าไปไหน

109
00:06:43,770 --> 00:06:47,770
คีย์บอร์ด คือ Input ใช่ไหม Input

110
00:06:47,772 --> 00:06:51,772
พอเข้าไปในคอมพิวเตอร์เราเรียกว่าเข้าไปอะไร

111
00:06:51,774 --> 00:06:55,774
ไปประมวลผลใช่ไหมครับ ประมวลผลเสร็จ

112
00:06:55,777 --> 00:06:59,769
ทำอะไรต่อ

113
00:06:59,769 --> 00:07:03,769
ก็ไปแสดงผลใช่ไหม นี่คือหลักของมัน

114
00:07:03,780 --> 00:07:07,770
Input ประมวลผล Process ใช่ไหม

115
00:07:07,770 --> 00:07:11,770
แล้วก็ออกไป Output

116
00:07:11,770 --> 00:07:15,770
เขาบอกว่า Process คือ โปรแกรม

117
00:07:15,770 --> 00:07:19,770
กำลังถูก Execute นั่นหมายความว่า... บางคนให้ความหมายว่า

118
00:07:19,775 --> 00:07:23,771
เป็นโปรแกรมที่เข้าไปครอบครอง CPU

119
00:07:23,771 --> 00:07:27,771
หรือเข้าไปใช้งาน CPU

120
00:07:27,771 --> 00:07:31,770
แล้วแต่เอกสารตำราแต่ละคนแต่ง

121
00:07:31,770 --> 00:07:35,770
นะครับ คือ หลักการ คำว่า "Process" ก็คือ

122
00:07:35,778 --> 00:07:39,770
โปรแกรมที่กำลังถูก Execute

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

124
00:07:43,776 --> 00:07:47,771
นามสกุล ไฟล์ทุกไฟลืต้องมีนามสกุล

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

126
00:07:51,771 --> 00:07:55,771
เคยเห็นไหม เคยสังเกตไหม เวลาเราใช้

127
00:08:12,136 --> 00:08:08,136
คอมพิวเตอร์

128
00:07:55,772 --> 00:07:59,772
หรือไม่รู้ เปิดขึ้นมาใช้แล้วก็ปิด

129
00:07:59,772 --> 00:08:03,770
นะครับ เราอย่าไปดู

130
00:08:03,770 --> 00:08:07,770
ในสไลด์อาจารย์มากนะ อาจารย์ก็พูดไปเรื่อยนะ

131
00:08:07,778 --> 00:08:11,770
มันไม่ได้อยู่ในนี้หรอก

132
00:08:11,770 --> 00:08:15,770
คราวนี้ถ้า Process

133
00:08:15,771 --> 00:08:19,770
ถ้าโปรแกรมเดียว โปรแกรมเดิมนี่

134
00:08:19,770 --> 00:08:23,770
ทำงานปุ๊บ เป็นอย่างไรครับ ยุ่งยากไหม

135
00:08:23,777 --> 00:08:27,772
Imput เสร็จ

136
00:08:27,772 --> 00:08:31,772
เข้าไปประมวลผลเสร็จ แสดงออก ถ้าโปรแกรมเดียว

137
00:08:31,775 --> 00:08:35,771
ไม่มีปัญหานะครับ แต่ถ้าเมื่อไรก็ตาม ที่

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

139
00:08:39,775 --> 00:08:43,769
เขาบอก Process

140
00:08:43,769 --> 00:08:47,769
อาจเปรียบได้กับรถยนต์ ก็คือมีรถยนต์หลายคัน

141
00:08:47,770 --> 00:08:51,770
และตัวของ

142
00:08:51,770 --> 00:08:55,770
CPU เอง ก็เปรียบเหมือนคนขับ

143
00:08:55,773 --> 00:08:59,772
เหมือนกับว่าคอมพิวเตอร์เรามี CPU ตัวเดียว

144
00:08:59,772 --> 00:09:03,772
แต่มีคนต้องการใช้งานเยอะ โปรแกรมเยอะ ต้องทำอย่างไรครับ

145
00:09:03,774 --> 00:09:07,770
วิธีการมัน ถ้าเป็นเรา เราทำอย่างไรครับ

146
00:09:07,770 --> 00:09:11,770
เช่น มีรถอยู่ 5 คัน

147
00:09:11,770 --> 00:09:15,770
มีคนขับอยู่คนเดียว ทำอย่างไรจึงจะขับเข้าเมือง

148
00:09:15,772 --> 00:09:19,770
พร้อมกันได้

149
00:09:19,770 --> 00:09:23,770
ลากรถ 4 คัน คนอื่นล่ะ

150
00:09:23,770 --> 00:09:27,770
คนอื่นล่ะ ทำอย่างไร

151
00:09:27,772 --> 00:09:31,772
คนอื่นมีวิธีการอื่นไหมครับ

152
00:09:31,774 --> 00:09:35,771
หลักการคอมพิวเตอร์ เวลาทำงาน

153
00:09:35,771 --> 00:09:39,771
ใช่ไหม โปรแกรมจะเข้าไปทำงาน เข้าไปครอบครอง

154
00:09:39,777 --> 00:09:43,772
CPU ได้ที่ละ 1 โปรแกรม ก็เหมือนคนเรานี่

155
00:09:43,772 --> 00:09:47,770
ขับรถ ขับได้ทีละคัน

156
00:09:47,770 --> 00:09:51,770
จะลาก จะพ่วง ทำไม่ได้ หลักการทำไม่ได้

157
00:09:51,771 --> 00:09:55,771
ทำอย่างไรดีล่ะ วิธีการ ก็คือ

158
00:09:55,771 --> 00:09:59,771
ขึ้นไปขับคันที่ 1 จากราชภัฏสกลนคร

159
00:09:59,788 --> 00:10:03,774
แล้วไปจอดค่ายกฤต

160
00:10:03,774 --> 00:10:07,771
กลับมาขับครั้งที่ 2 ก็มา... คันที่ 4 คันที่ 5

161
00:10:07,771 --> 00:10:11,770
นะครับ พอถึงขับไปใหม่ขับ

162
00:10:11,770 --> 00:10:15,770
ไปถึงหน้าประตูเมือง ย้อนไปที่ 1, 2, 3, 4, 5 อย่างนี้ นี่คือหลักการ

163
00:10:15,778 --> 00:10:19,771
นะครับ แต่

164
00:10:19,771 --> 00:10:23,771
เวลาทำงานจริงเป็นอย่างไรครับ คอมพิวเตอร์ทำงานด้วยความเร็ว

165
00:10:23,780 --> 00:10:27,770
สูงไหม

166
00:10:27,770 --> 00:10:31,770
หายใจทันไหมครับ ทันไหม

167
00:10:31,770 --> 00:10:35,770
ไม่น่าทันนะ

168
00:10:35,770 --> 00:10:39,770
การทำงานจริง ๆ มันจะทำงานเหมือนที่อาจารย์

169
00:10:39,775 --> 00:10:43,771
ยกตัวอย่างเมื่อกี้ ไปทีละคัน ไปทีละคัน

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

171
00:10:47,774 --> 00:10:51,771
ว่ามันไปพร้อม ๆ กันเลย

172
00:10:51,771 --> 00:10:55,771
นะครับ นี่คือหลักการทำงานของคอมพิวเตอร์

173
00:10:55,771 --> 00:10:59,770
อย่างยกตัวอย่างนี้ ระบบ

174
00:10:59,770 --> 00:11:03,770
CPU เป็นคนขับโปรแกรมหลาย ๆ โปรแกรม เหมือนรถ

175
00:11:03,774 --> 00:11:07,770
นะครับ ทำอย่างไรให้ไปด้วยความเร็วสูง

176
00:11:07,770 --> 00:11:11,770

177
00:11:11,770 --> 00:11:15,770
คราวนี้มาดู

178
00:11:15,772 --> 00:11:19,771
องค์ประกอบของ Process นะครับ

179
00:11:19,771 --> 00:11:23,771
Process มีองค์ประกอบอะไรบ้างนะครับ

180
00:11:23,771 --> 00:11:27,771
พอเรียนจบบทนี้นะครับ นักศึกษาก็จะงง

181
00:11:27,773 --> 00:11:31,773
เริ่มงงนะ มันเริ่มเหมือนบทที่ 1 ใช่ไหม

182
00:11:31,778 --> 00:11:35,777
พื้นฐานนะครับ งง ไม่ต้องตกใจครับ

183
00:11:35,777 --> 00:11:39,770
ค่อย ๆ ปรับนะครับ

184
00:11:39,770 --> 00:11:43,770
ปรับสภาพแวดล้อม ปรับสภาพหลาย ๆ อย่างนะครับ

185
00:11:43,773 --> 00:11:47,773
แล้วตอนนี้ห้องแล็บเราก็ยังใช้ไม่ได้ ใช่ไหม

186
00:11:47,777 --> 00:11:51,777
อาจารย์เข้าแจ้งหรือยังว่าใช้ได้เมื่อไร อาคาร 7 เรา

187
00:11:51,777 --> 00:11:55,777
ไม่แจ้ง เพราะว่าเราไม่รู้ว่าจะใช้ได้เมื่อไร

188
00:11:55,778 --> 00:11:59,773
ผมแวะไปเมื่อวานก็ไม่มีทีท่าว่าจะได้ใช้เลยนะ

189
00:11:59,773 --> 00:12:03,771
คนทำก็นั่งทำง็อกแง็ก ๆ อยู่คน 2 คน

190
00:12:03,771 --> 00:12:07,771
เทอมนี้ผมว่าไม่น่าทันนะ น่าจะได้ใช้เทอมหน้า

191
00:12:07,773 --> 00:12:11,772
นะครับ เทอมหน้าก็

192
00:12:11,772 --> 00:12:15,772
เราอยากได้เทอมหน้า ก็เป็นรุ่นพวกเราได้ใช้

193
00:12:15,772 --> 00:12:19,770
นะครับ เทอมหน้า

194
00:12:19,770 --> 00:12:23,770
องค์ประกอบตัวที่ 1 ของ Process นะครับ ก็คือ 1. Process

195
00:12:23,774 --> 00:12:27,772
ทุกตัวจะต้องมีชื่อและหมายเลขประจำตัว

196
00:12:27,772 --> 00:12:31,770
นะครับ Process ID

197
00:12:31,770 --> 00:12:35,770
นะครับ และจะต้อง

198
00:12:35,770 --> 00:12:39,770
ไม่ซ้ำกันนะครับ

199
00:12:39,772 --> 00:12:43,772
เหมือนชื่อไฟล์น่ะ

200
00:12:50,122 --> 00:12:57,268
ชื่อไฟล์ซ้ำกันได้ไหม

201
00:12:43,770 --> 00:12:47,770

202
00:12:47,771 --> 00:12:51,771
ได้ไหมครับ ชื่อไฟล์ นามสกุลไฟล์

203
00:12:51,771 --> 00:12:55,771
นะครับ องค์ประกอบ Process อีกตัวหนึ่ง คือ

204
00:12:55,772 --> 00:12:59,772
ชื่อและหมายเลขประจำตัว เหมือนหมายเลขบัตรประจำตัวเรา

205
00:12:59,774 --> 00:13:03,772
เราซ้ำกันได้ไหมครับ ได้ไหม

206
00:13:03,772 --> 00:13:07,770
ไม่ได้นะครับ แต่ถ้าถาม

207
00:13:07,770 --> 00:13:11,770
ย้อนกลับว่าชื่อและนามสกุลมีโอกาสซ้ำกันได้ไหม

208
00:13:11,791 --> 00:13:15,771
ได้นะครับ เพราะอะไร

209
00:13:15,771 --> 00:13:19,771
เช่น อาจจะมีพิเชนทร์ จันทร์ปุ่ม เหมือนกัน

210
00:13:19,774 --> 00:13:23,771
เพราะอะไรครับ เพราะอาจจะมีญาติพี่น้อง

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

212
00:13:27,778 --> 00:13:31,770
เลข 13 หลักห้ามซ้ำกัน

213
00:13:31,770 --> 00:13:35,770
องค์ประกอบอันที่ 2 ของ

214
00:13:35,776 --> 00:13:39,770
Process ทุก Process

215
00:13:39,770 --> 00:13:43,770
มีโค้ดนะครับ เป็นโค้ดนะครับ

216
00:13:43,772 --> 00:13:47,770
เป็น code เป็นรหัส

217
00:13:47,770 --> 00:13:51,770
คำว่า "โค้ด" ก็คือจะต้อง Execute ได้ทันที

218
00:13:51,775 --> 00:13:55,774
คือ ภาษาเครื่อง แปลเรียบร้อยแล้ว

219
00:13:55,774 --> 00:13:59,771
นะครับ

220
00:13:59,771 --> 00:14:03,771
องค์ประกอบอันที่ 3 ก็คือข้อมูล

221
00:14:03,774 --> 00:14:07,774
Data Data ข้อมูลนี้นะครับ

222
00:14:07,777 --> 00:14:11,770
เขาบอกว่าโปรแกรม

223
00:14:11,770 --> 00:14:15,770
ต้องการหรือจัดการข้อมูล อาจจะเป็นของ Process ใด Process หนึ่ง

224
00:14:15,774 --> 00:14:19,773
หรืออาจจะใช้ข้อมูลร่วมกันกับ Process

225
00:14:19,773 --> 00:14:23,771
ใช้ร่วมกันได้ ตัวอย่างของ Process

226
00:14:23,771 --> 00:14:27,771
ที่ใช้ข้อมูลร่วมกัน เช่น

227
00:14:27,775 --> 00:14:31,771
Process ในระบบฐานข้อมูล

228
00:14:31,771 --> 00:14:35,770
นะครับ

229
00:14:35,770 --> 00:14:39,770
เช่น ฐานข้อมูลระบบงานทะเบียนราชภัฏสกลนคร อย่างนี้

230
00:14:39,772 --> 00:14:43,770
เช่น เรามา

231
00:14:43,770 --> 00:14:47,770
รายงานตัวเป็นนักศึกษานะครับ ขึ้นทะเบียนปุ๊บ

232
00:14:47,773 --> 00:14:51,772
พอเราไปห้องสมุด ก็ใช้ฐานข้อมูลเดียวกัน

233
00:14:51,772 --> 00:14:55,772
ในการเงิน ก็ใช้ฐานข้อมูลชุดเดียวกัน

234
00:14:55,776 --> 00:14:59,770
นะครับ ศูนย์คอม(พิวเตอร์) ไปกองพัฒฯ

235
00:14:59,770 --> 00:15:03,770
ก็ฐานข้อมูลอันเดียวกันนะครับ โดยใช้ฐานข้อมูลร่วมกัน

236
00:15:03,774 --> 00:15:07,771
นะครับ

237
00:15:07,771 --> 00:15:11,770
องค์ประกอบ

238
00:15:11,770 --> 00:15:15,770
อันที่ 4 ของ Process ก็คือ

239
00:15:15,773 --> 00:15:19,773
Process Control Block นะครับ หรือบล็อกควบคุมโปรแกรม

240
00:15:19,774 --> 00:15:23,771
ระบบปฏิบัติการจะ

241
00:15:23,771 --> 00:15:27,771
กำหนดเนื้อที่บางส่วนในหน่วยความจำ ทำเป็น Process

242
00:15:27,774 --> 00:15:31,774
Contoln block

243
00:15:31,774 --> 00:15:35,772
หรือ PCB นะครับ

244
00:15:35,772 --> 00:15:39,770

245
00:15:39,770 --> 00:15:43,770
กำหนดไว้ทำไมนะครับ ก็คือ 1. กำหนดไว้เป็น Process

246
00:15:43,779 --> 00:15:47,779
กำหนดไว้เพื่อเป็นปัจจุบัน

247
00:15:58,188 --> 00:16:04,363
เก็บหมายเลขประจำตัวของ Process

248
00:15:47,772 --> 00:15:51,770

249
00:15:51,770 --> 00:15:55,770
เก็บหมายเลขความสำคัญของ Process

250
00:15:55,771 --> 00:15:59,770
อยู่ใน PCB นะครับ

251
00:15:59,770 --> 00:16:03,770
ใน Process แต่ละตัวจะมี

252
00:16:03,770 --> 00:16:07,770
บล็อกควบคุมโปรแกรมหรือ PCB อยู่นะครับ ซึ่ง PCB นี้

253
00:16:07,772 --> 00:16:11,772
ก็จะเก็บสถานะของ Process

254
00:16:11,773 --> 00:16:15,771
แล้วก็เก็บลำดับความสำคัญของ Process เอาไว้นะครับ

255
00:16:15,771 --> 00:16:19,770
นอกจากนั้น

256
00:16:19,770 --> 00:16:23,770
ก็ยังเก็บสารสนเทศที่เกี่ยวกับ

257
00:16:23,770 --> 00:16:27,770
การจัดการหน่วยความจำของ Process

258
00:16:27,772 --> 00:16:31,770
ข้อมูลรับส่งข้อมูลของ Process

259
00:16:31,770 --> 00:16:35,770
หรือเก็บข้อมูลสำคัญของ Process

260
00:16:35,779 --> 00:16:39,775
ใน PCB นั่นเองนะครับ พื้นที่จัดเก็บ คือ Register

261
00:16:39,775 --> 00:16:43,770
นะครับ

262
00:16:43,770 --> 00:16:47,770
Register คือ หน่วยความจำขนาดเล็ก

263
00:16:47,777 --> 00:16:51,777
ที่ในหน่วยความจำ ส่วนในรายละเอียดต่าง ๆ

264
00:16:51,789 --> 00:16:55,780
อาจารย์จะพูดในบทที่ 3, 4, 5 นะครับ อันนี้พูดคร่าว ๆ ก่อน

265
00:16:55,780 --> 00:16:59,770
ให้พวกเรามองภาพกว้าง ๆ นะครับ

266
00:16:59,770 --> 00:17:03,770

267
00:17:03,774 --> 00:17:07,770

268
00:17:07,770 --> 00:17:11,770

269
00:17:11,770 --> 00:17:15,770

270
00:17:15,771 --> 00:17:19,771

271
00:17:19,771 --> 00:17:23,770

272
00:17:23,770 --> 00:17:27,770

273
00:17:27,775 --> 00:17:31,775

274
00:17:31,777 --> 00:17:35,772

275
00:17:35,772 --> 00:17:39,772

276
00:17:39,779 --> 00:17:43,779
ดูต่อนะครับ

277
00:17:43,779 --> 00:17:47,771
องค์ประกอบต่อมา

278
00:17:47,771 --> 00:17:51,771
นะครับ ของ Process ก็คือ Program Status Word

279
00:17:51,772 --> 00:17:55,771
นะครับ

280
00:17:55,771 --> 00:17:59,771
หรือ PSW นะครับ Program Status Words นะครับ

281
00:17:59,774 --> 00:18:03,774
เป็นตัวควบคุมลับดับของ Execute

282
00:18:03,778 --> 00:18:07,773
ของ Process

283
00:18:07,773 --> 00:18:11,773
มันจะบอกว่า Process นี้ จะเข้าไปครอบครอง

284
00:18:11,773 --> 00:18:15,773
CPU ลำดับที่เท่าไรนะครับ

285
00:18:15,774 --> 00:18:19,771

286
00:18:19,771 --> 00:18:23,771
ต่อมานะครับ คุณสมบัติของ Process นะครับ Process แต่ละ Process

287
00:18:23,777 --> 00:18:27,774
จะมีคุณสมบัติดังต่อไปนี้

288
00:18:27,774 --> 00:18:31,772
นะครับ ก็คือ 1. Process ทุก

289
00:18:31,772 --> 00:18:35,772
ตัวจะมีลำดับความสำคัญ

290
00:18:35,772 --> 00:18:39,772
ต่างกันนะครับ Process ทุก Process

291
00:18:39,772 --> 00:18:43,772
จะมีลำดับความสำคัญ เช่น

292
00:18:43,778 --> 00:18:47,778
Process A อาจจะมีความสำคัญมากกว่า Process B หรือ Process ของ

293
00:18:47,780 --> 00:18:51,780
ผู้ดูแลระบบ อาจจะมีความสำคัญมากกว่า Process

294
00:18:51,784 --> 00:18:55,774
ของ User อย่างนี้ อันที่ 2

295
00:18:55,774 --> 00:18:59,774
คุณสมบัติอันที่ 2 อำนาจหน้าที่

296
00:18:59,777 --> 00:19:03,777
Process ทุกตัว จะมีอำนาจหน้าที่ที่ต่างกัน เช่น Process

297
00:19:03,779 --> 00:19:07,779
ของผู้ดูแลระบบ มีอำนาจ

298
00:19:07,780 --> 00:19:11,779
มากกว่าของ User อย่างนี้เป็นต้นนะครับ หรือ

299
00:19:11,779 --> 00:19:15,776
คุณสมบัติอื่น ๆ ที่

300
00:19:15,776 --> 00:19:19,772
OS กำหนด

301
00:19:19,772 --> 00:19:23,772
อันนี้ขึ้นอยู่กับ OS ครับ

302
00:19:31,485 --> 00:19:31,410
เราใช้ OS อะไร

303
00:19:23,777 --> 00:19:27,777
เช่น ใช้ Windows 8

304
00:19:27,778 --> 00:19:31,778
ใช้ Windows 10

305
00:19:38,300 --> 00:19:40,862
คุณสมบัติ

306
00:19:31,772 --> 00:19:35,772
ของ Process ก็จะต่างออกไป ยกตัวอย่างเช่นนะครับ

307
00:19:35,780 --> 00:19:39,772
Windoes 8

308
00:19:39,772 --> 00:19:43,772
สามารถตั้งชื่อได้

309
00:19:43,776 --> 00:19:47,773
ความยาวกี่ตัวอักษรรู้ไหม

310
00:19:47,773 --> 00:19:51,773
เคยไหม อาจารย์จะยังไม่บอกว่ากี่ตัวอักษรนะ

311
00:19:51,779 --> 00:19:55,776
เราสามารตั้งชื่อได้ ชื่อไฟล์

312
00:19:55,776 --> 00:19:59,776
นะครับ กับ Windows 11

313
00:19:59,778 --> 00:20:03,777
ต่างกันไหม ลองดูนะ ลองดู

314
00:20:03,777 --> 00:20:07,774
จะไปลองตอนภาคปฏิบัติ ลองสิว่าเรา

315
00:20:07,774 --> 00:20:11,773
ถ้าเกิดเป็น

316
00:20:11,773 --> 00:20:15,773
Windows 11 สามารถตั้งชื่อความยาวกี่ตัว

317
00:20:15,776 --> 00:20:19,774
นะครับ นี่คือคุณสมบัติที่แต่ละตัว OS

318
00:20:19,774 --> 00:20:23,774
เป็นคนกำหนดนะครับ

319
00:20:23,775 --> 00:20:27,775

320
00:20:27,775 --> 00:20:31,775
เมื่อกี้องค์ประกอบของ Process นะครับ คราวนี้มาดูสถานะ

321
00:20:31,778 --> 00:20:35,773
ของ Process นะครับ

322
00:20:35,773 --> 00:20:39,773
สไลด์นะครับ อยู่กับพี่พลอยนะ

323
00:20:39,779 --> 00:20:43,774
พลอยค่อยอัป(โหลด) ขึ้นให้น้องนะครับ

324
00:20:43,774 --> 00:20:47,774
อาจารย์ลืมอัปฯ ลงในไลน์กลุ่มนะครับ

325
00:20:47,775 --> 00:20:51,774
แวะดูก่อนนะครับ คราวนี้

326
00:20:51,774 --> 00:20:55,774
มาดูสถานะของ Process นะครับ Process ก็แบ่งออกเป็นสถานะ

327
00:20:55,777 --> 00:20:59,777
ได้ดังต่อไปนนี้นะครับ

328
00:21:12,133 --> 00:21:11,081
สถานะพร้อม

329
00:20:59,773 --> 00:21:03,773
สถานะพร้อมเป็นอย่างไร

330
00:21:03,773 --> 00:21:07,773
สถานะพร้อม เป็นสถานะพร้อมที่ Process

331
00:21:07,777 --> 00:21:11,774
พร้อมที่จะใช้ CPU ทันทีที่

332
00:21:11,774 --> 00:21:15,774
OS มอบหมายให้

333
00:21:23,004 --> 00:21:24,218
ยืนแล้ว

334
00:21:15,774 --> 00:21:19,774
รอแล้ว เหมือนเรารอคิวแล้ว ยืนรอแล้ว

335
00:21:19,776 --> 00:21:23,774
รอเข้าไปครอบครอง CPU

336
00:21:23,774 --> 00:21:27,774
หรือรอเข้าไปใช้งาน CPU เราเรียกว่า "สถานะพร้อม"

337
00:21:27,775 --> 00:21:31,773
เช่น

338
00:21:31,773 --> 00:21:35,773
เราจะไปเข้าห้องน้ำ ห้องน้ำเป็น CPU สมมตินะ พร้อมแล้วนะครับ เรายืนรอคิว

339
00:21:35,778 --> 00:21:39,777
นี่ เราพร้อมแล้ว พร้อมจะเข้าไปใช้งาน

340
00:21:39,777 --> 00:21:43,776
เราเรียกว่า "สถานะพร้อม" นะครับ สถานะที่ 2 คือ

341
00:21:43,776 --> 00:21:47,774
สถานะ Run

342
00:21:47,774 --> 00:21:51,774
Run คืออะไรครับ สถานะ Run เป็นสถานะ

343
00:21:51,777 --> 00:21:55,777
Process กำลังครอบครอง

344
00:21:55,779 --> 00:21:59,776
CPU อยู่ ก็คือเข้าไปครอบครอง CPU

345
00:21:59,776 --> 00:22:03,776
ที่เราเรียกว่า "Run Progarm"

346
00:22:03,776 --> 00:22:07,775
นี่คือสถานะ Run

347
00:22:07,775 --> 00:22:11,775
นะครับ

348
00:22:11,777 --> 00:22:15,775
สถานะที่ 3 นะครับ

349
00:22:15,775 --> 00:22:19,775
สถานะติดขัด

350
00:22:19,775 --> 00:22:23,775
เขาบอกว่าสถานะติดขัดเกิดจากการ

351
00:22:23,776 --> 00:22:27,776
ที่ Process หยุดรอ

352
00:22:27,777 --> 00:22:31,776
เหตุการณ์ใดเหตุการณ์หนึ่งให้เกิดขึ้น

353
00:22:31,776 --> 00:22:35,776
โดย Process ไม่จำเป็นต้องใช้ CPU

354
00:22:35,777 --> 00:22:39,777
และไม่ต้องไปครอบครอง CPU เราไม่รู้

355
00:22:39,778 --> 00:22:43,777
เหตุการณ์นั้นคือเหตุการณ์อะไร ไม่รู้

356
00:22:43,777 --> 00:22:47,777
ยกตัวอย่างเช่น

357
00:22:47,779 --> 00:22:51,779
ผมกับแม็กกี้หรือกับอุบล

358
00:22:51,782 --> 00:22:55,775
ผมเป็น Process A ไปยืนรอคิวใน

359
00:22:55,775 --> 00:22:59,775
สถานะพร้อม อุบลรอผมคนที่ 2

360
00:22:59,775 --> 00:23:03,775
ผมเปลี่ยนจากสถานะ

361
00:23:03,775 --> 00:23:07,775
พร้อม เป็นสถานะ Run ก็คือ

362
00:23:07,777 --> 00:23:11,775
เข้าไปครอบครอง CPU

363
00:23:11,775 --> 00:23:15,775
อุบลก็รออยู่ รออยู่สถานะพร้อม

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

365
00:23:19,778 --> 00:23:23,777
ผมจำเป็นจะต้อง

366
00:23:23,777 --> 00:23:27,775
ไปพิมพ์งาน ไปพิมพ์เอกสาร ช่วงที่พิมพ์

367
00:23:27,775 --> 00:23:31,775
เอกสาร ผมจะต้องออกไปที่พรินต์เตอร์

368
00:23:31,776 --> 00:23:35,776
แล้วช่วงที่ออกไปที่พรินเตอร์นี่

369
00:23:44,352 --> 00:23:48,344
ตัวผมเอง

370
00:23:35,782 --> 00:23:39,775
ต้องไม่ใช้งาน CPU

371
00:23:39,775 --> 00:23:43,775
จังหวะนี่ล่ะครับ เรียกว่า "สถานะติดขัด"

372
00:23:43,780 --> 00:23:47,776
คือ เกิดเหตุการณ์ที่ตัวของ Process

373
00:23:47,776 --> 00:23:51,776
ออกไปติดต่ออุปกรณ์รองข้าง จังหวะนี้

374
00:23:51,780 --> 00:23:55,775
อุบลก็จะเข้ามาแทนที่ผม

375
00:23:55,775 --> 00:23:59,775
นึกออกไหมนะครับ ถ้าเขาถามว่าสถานะติดขัดเกิด

376
00:23:59,799 --> 00:24:03,785
จากอะไร เราก็บอกว่าเกิดจากสถานะ

377
00:24:03,785 --> 00:24:07,777
ที่ Process เข้าไปครอบครอง CPU แล้วนะครับ

378
00:24:07,777 --> 00:24:11,777
แต่เกิดเหตที่ Process เอง

379
00:24:11,778 --> 00:24:15,777
ไม่จำเป็นจะต้องครอบครอง CPU ต่อ

380
00:24:15,777 --> 00:24:19,777
หรือไปติดต่ออุปกรณ์ข้างนอก

381
00:24:19,779 --> 00:24:23,779
อุปกรณ์รอบข้างแทน ต้องปล่อย CPU ออกไป Process ใหม่ก็

382
00:24:23,779 --> 00:24:27,779
เข้ามาครองแทนที่นะครับ

383
00:24:27,780 --> 00:24:31,776
นี่คือสถานะติดขัด

384
00:24:31,776 --> 00:24:35,776
สถานะต่อมานะครับ สถานะพัก

385
00:24:35,778 --> 00:24:39,778
เขาบอกสถานะพัก

386
00:24:39,780 --> 00:24:43,776
ก็คือาถานะ Process ไม่มีการทำงานใด ๆ เลย

387
00:24:43,776 --> 00:24:47,776
ก็คือจบ สมบูรณ์ เช่น ผมไปครอบครอง

388
00:24:47,776 --> 00:24:51,776
CPU ทำงานเสร็จสิ้นแล้วปุ๊บ ออก

389
00:24:51,777 --> 00:24:55,777
จบเลย มาทำงานต่อ ได้พัก จบนะครับ

390
00:24:55,778 --> 00:24:59,775

391
00:24:59,775 --> 00:25:03,775

392
00:25:03,775 --> 00:25:07,775
ซึ่ง Process นั้นนะครับ

393
00:25:07,776 --> 00:25:11,776
สามารถที่จะเปลี่ยนสถานะหนึ่ง ไป

394
00:25:11,776 --> 00:25:15,776
สถานะหนึ่งได้ตลอดเวลา

395
00:25:15,776 --> 00:25:19,776
นะครับ ขึ้นอยู่ว่า ณ ตรงนั้นอยู่ในสถานะอะไร

396
00:25:19,784 --> 00:25:23,775
อาจจะพร้อม พร้อมเสร็จ

397
00:25:23,775 --> 00:25:27,775
เข้าไป Run Run เสร็จปุ๊บ ต้องไปติดต่ออุปกรณ์รอบข้าง

398
00:25:27,780 --> 00:25:31,780
เป็นสถานะติดขัด พอติดขัดเสร็จ

399
00:25:31,785 --> 00:25:35,778
กลับไปพร้อมใหม่ พร้อมเสร็จ เข้าไป Run Run

400
00:25:35,778 --> 00:25:39,776
เสร็จแล้ว จบแล้วไปพัก

401
00:25:39,776 --> 00:25:43,776
นะครับ มันจะเปลี่ยนไปอย่างนี้ตลอดเวลานะครับ

402
00:25:43,780 --> 00:25:47,776

403
00:25:47,776 --> 00:25:51,776

404
00:25:51,776 --> 00:25:55,776

405
00:25:55,776 --> 00:25:59,776
อันนี้อาจารย์อธิบายไปแล้วนะครับ

406
00:25:59,777 --> 00:26:03,776
สไลด์เมื่อกี้ครับ ลอง

407
00:26:03,776 --> 00:26:07,776
ดูรูปนะครับ เห็นไหมครับ

408
00:26:07,776 --> 00:26:11,776
ในรูปภาพอธิบาย

409
00:26:11,776 --> 00:26:15,776
การเปลี่ยนสถานะของ Process ใช่ไหม

410
00:26:15,777 --> 00:26:19,777
เหมือนที่อาจายร์อธิบายไปเมื่อกี้

411
00:26:19,777 --> 00:26:23,777
ยืนต่อคิวเลย 1 2 3 4 5

412
00:26:23,780 --> 00:26:27,777
พร้อมไหม พร้อม

413
00:26:27,777 --> 00:26:31,777
พอพร้อมเสร็จ ได้เวลา เข้าไป Run โอเค Run

414
00:26:31,787 --> 00:26:35,778
ทีละตัว ทีละโปรแกรม ทีละ Processe

415
00:26:35,778 --> 00:26:39,778
ถ้ามีอะไรเกิดขึ้น จบครับ พักเลย

416
00:26:39,782 --> 00:26:43,782
นี่คือการเปลี่ยนสถานะของ Process

417
00:26:43,794 --> 00:26:47,777
แต่ถ้าเกิดเหตุการณ์ใดเหตุการณ์หนึ่งขึ้น

418
00:26:47,777 --> 00:26:51,777
นะครับ เพราะอะไรครับ

419
00:26:51,777 --> 00:26:55,777
รูปนี้ รูปนี้

420
00:26:55,778 --> 00:26:59,778
มาพร้อม มา Run

421
00:26:59,778 --> 00:27:03,777
แล้วก็จบ ถ้าสมมติว่า

422
00:27:03,777 --> 00:27:07,777
Process แต่ละตัวเข้าไป Run

423
00:27:07,780 --> 00:27:11,777
ใช้เวลาไม่เท่ากัน จะเกิดอะไรขึ้นนะ เช่น

424
00:27:11,777 --> 00:27:15,776
Process A เช่น ผม

425
00:27:15,776 --> 00:27:19,776
พร้อม เข้าไป Run 2 วินาที

426
00:27:19,776 --> 00:27:23,776
แล้วก็จบ มีอะไรเกินขึ้นไหม

427
00:27:23,780 --> 00:27:27,778
ไม่มี คราวนี้อุบล

428
00:27:27,778 --> 00:27:31,778
อุบลมาต่อคิว มาพร้อม

429
00:27:31,778 --> 00:27:35,778
อุบลเข้าไป Run ปุ๊บ อุบลบอกผมใช้เวลา 3 ชั่วโมง

430
00:27:35,781 --> 00:27:39,778
เป็นอย่างไรครับ เราก็จบ

431
00:27:39,778 --> 00:27:43,777
ใช่ไหม คราวนี้

432
00:27:43,777 --> 00:27:47,777
มิ่ง 3 คนที่ 3 มา

433
00:27:47,777 --> 00:27:51,777
ต่อคิวพร้อม แต่ปรากฏว่ามิ่งต้องการใช้เวลาแค่

434
00:27:51,783 --> 00:27:55,781
1 วินาที แตต้องรออุบล

435
00:27:55,781 --> 00:27:59,781
3 ชั่วโมง ถึงค่อยจบ นึกออกไหม นึกภาพตามนะ

436
00:27:59,781 --> 00:28:03,777
ดังนั้น ในระบบคอมพิวเตอร์ของเรานั้น

437
00:28:03,777 --> 00:28:07,777
มันจะต้องไม่ให้เกิดเหตุการณ์นี้เกิดขึ้น มันจึงต้องกำหนด

438
00:28:07,782 --> 00:28:11,777
เวลาขึ้นมา คุณจะต้อง

439
00:28:11,777 --> 00:28:15,777
เข้าไปเวลานี้แล้วจบนะ เราเรียกเวลานี้ว่า "เวลาควอนตัม"

440
00:28:15,786 --> 00:28:19,780
ถ้าย้อนถามกลับว่า

441
00:28:19,780 --> 00:28:23,780
เวลาควอนตัมคืออะไร

442
00:28:23,780 --> 00:28:27,780
คืออะไรครับ คือ เวลาที่

443
00:28:27,782 --> 00:28:31,782
ถูกกำหนดไว่ว่า Process แต่ละตัวสามารถ

444
00:28:31,823 --> 00:28:35,778
เข้าไปครอบครอง

445
00:28:35,778 --> 00:28:39,777
CPU ได้เป็นเวลาเท่าไหร่ หรือนานเท่าไหร่

446
00:28:39,777 --> 00:28:43,777
เช่น เรากำหนดเวลา ควอนตัม

447
00:28:43,779 --> 00:28:47,779
5 วินาที สมมตินะ 5 วินาที แสดงว่า

448
00:28:47,784 --> 00:28:51,779
Process ทุกตัวจะสามารถเข้าไปครอบครองได้

449
00:28:51,779 --> 00:28:55,779
5 วินาที เช่น เมื่อกี้อย่างเมื่อกี้

450
00:28:55,780 --> 00:28:59,780
ผม Process A เข้าไป

451
00:28:59,789 --> 00:29:03,777
3 วิ(นาที) จบไหม จบ

452
00:29:03,777 --> 00:29:07,777
เพราะว่าเราให้ 5 วินาทีใช่ไหม ควอนตัม

453
00:29:07,783 --> 00:29:11,781
อุบลก็จะเข้าไปได้แค่ 5 วิฯ แล้วอุบลต้องย้อนกลับ

454
00:29:11,781 --> 00:29:15,778
ไปพร้อมใหม่ เพิ่มให้มิ่งเข้าไปใหม่

455
00:29:15,778 --> 00:29:19,778
นี่คือหลักการของมันนะครับ

456
00:29:19,780 --> 00:29:23,778

457
00:29:23,778 --> 00:29:27,778
มันก็จะเกิดรูปนี้ขึ้น

458
00:29:27,779 --> 00:29:31,778
ใช่ไหม

459
00:29:31,778 --> 00:29:35,777
นี่นะครับ พร้อม

460
00:29:35,777 --> 00:29:39,777
พออเราเอาเวลาควอนตัมมาจับ

461
00:29:39,778 --> 00:29:43,778
เข้าไป Run ได้แค่ 5 วิฯ นะ ถ้าเกินนั้นกลับไปพร้อมใหม่

462
00:29:43,779 --> 00:29:47,778
มันเลยทำให้เกิดระบบหลายโปแกรม

463
00:29:47,778 --> 00:29:51,778
นะครับ แต่เวลาเราทำงานกับคอมพิวเตอร์ มันเป็นอย่างไรครับ

464
00:29:51,781 --> 00:29:55,781
แต่ในความรู้สึกเราเป็นอย่างไรครับ มันทำงาน

465
00:29:55,781 --> 00:29:59,781
ด้วยความเร็วสูง มันเลยเหมือนประหนึ่งว่าอย่างนี้จริงหรือ

466
00:29:59,784 --> 00:30:03,778
ใช่ไหม เราหายใจแทบไม่ทัน เวลาประมวลผล

467
00:30:03,778 --> 00:30:07,778
สมัยที่อาจารย์เรียนเขียนโปรแกรมนะครับ

468
00:30:07,782 --> 00:30:11,782
เมื่อเกือบ 30 ปีที่แล้วนะ

469
00:30:11,785 --> 00:30:15,785
เวลาเรา Run โปรแกรม เราจะกด Escape

470
00:30:29,516 --> 00:30:33,943
ยกเลิกทันนะ

471
00:30:15,780 --> 00:30:19,777

472
00:30:19,777 --> 00:30:23,777
กด F8 F9 ปุ๊บ นึกได้ผ่านไป 2 นาที

473
00:30:23,784 --> 00:30:27,784
ไม่ถูกกดยกเลิก

474
00:30:27,793 --> 00:30:31,780
แต่โปรแกรมเราทุกวันนี้ เราคลิก

475
00:30:31,780 --> 00:30:35,777
ปุ๊บ ประมวลผลปั๊บ

476
00:30:35,777 --> 00:30:39,777
มันมีความเร็วสูงนะครับ ตามรูปนี้นะครับ

477
00:30:39,780 --> 00:30:43,779
พยายามมองตามนะ พยายามมองตาม เพราะว่า

478
00:30:43,779 --> 00:30:47,779
เราจะเรียนอีก 3 ครั้ง

479
00:30:47,783 --> 00:30:51,777
แล้วก็จะสอบกลางภาค

480
00:30:51,777 --> 00:30:55,777
นะครับ สอบกลางภาค พอสอบกลางภาคเสร็จ

481
00:30:55,778 --> 00:30:59,777
อาจารย์ก็จะยกคลาสไปอยู่

482
00:30:59,777 --> 00:31:03,777
อาคาร 7 เพื่อเรียนภาคปฏิบัติ

483
00:31:03,778 --> 00:31:07,778
นะครับ ภาคปฏิบัติเราก็จะ

484
00:31:07,785 --> 00:31:11,782
เรียนแค่สัปดาห์ละ 8 คน เราจะไม่เรียนทั้งห้อง

485
00:31:11,782 --> 00:31:15,779
แบบนี้นะครับ

486
00:31:15,779 --> 00:31:19,777

487
00:31:19,777 --> 00:31:23,777
คราวนี้มาดูอีกสถานะหนึ่ง

488
00:31:23,778 --> 00:31:27,778
นะครับ ที่เรา

489
00:31:27,778 --> 00:31:31,778
พูดไว้ ก็คือสถานะติดขัด

490
00:31:31,779 --> 00:31:35,779
เห็นไหมครับ ดูรูป

491
00:31:35,779 --> 00:31:39,779
มาพร้อม เห็นไหม

492
00:31:39,780 --> 00:31:43,780
พร้อมปุ๊บ มา Run เข้าไป

493
00:31:43,786 --> 00:31:47,783
Run จะหมดเวลาควอนตัม หรือไม่หมดก็แล้วแต่

494
00:31:47,783 --> 00:31:51,781
แต่บังเอิญว่า Process นั้น

495
00:31:51,781 --> 00:31:55,778
ไปติดต่อกับอุปกรณ์รอบข้าง

496
00:31:55,778 --> 00:31:59,778
ติดต่อกับ Printer

497
00:32:00,785 --> 00:32:04,778
ช่วงที่ติดต่อพรินเตอร์ไม่ได้ทำงาน ก็จะ

498
00:32:04,778 --> 00:32:08,778
ถูกผลักออกมาเป็นสถานะติดขัด พอติดขัดเสร็จ

499
00:32:08,779 --> 00:32:12,779
ก็จะย้อนกลับไปพร้อมใหม่

500
00:32:12,779 --> 00:32:16,779
นะครับ นี่คือสถานะติดขัด

501
00:32:16,780 --> 00:32:20,776

502
00:32:20,776 --> 00:32:24,776

503
00:32:24,777 --> 00:32:28,777
เขาบอกว่าการเปลี่ยน

504
00:32:28,792 --> 00:32:32,781
ทั้ง 3 ของ Process ก็คือ พร้อม Run ติดขัด

505
00:32:32,781 --> 00:32:36,777
เป็นการเปลี่ยน

506
00:32:36,777 --> 00:32:40,777
ในสภาพทั่วไปนะครับ พร้อม

507
00:32:40,778 --> 00:32:44,777
Run ติดขัด อย่างนี้

508
00:32:44,777 --> 00:32:48,777
แต่ถ้าเกิดเหตุการณ์ที่

509
00:32:48,785 --> 00:32:52,781
ผิดปกติขึ้นในระบบปฏิบัติการ

510
00:32:52,781 --> 00:32:56,781
หรือระบบคอมพิวเตอร์เรา ระบบปฏิบัติการอาจจะย้าย Process

511
00:32:56,781 --> 00:33:00,777
ใด สถานะหนึ่ง

512
00:33:00,777 --> 00:33:04,777
ให้ไปอยู่สถานะพักก็ได้

513
00:33:04,779 --> 00:33:08,778
เพราะสถานะพักเราบอกว่ามันหยุดนิ่งเลย

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

515
00:33:12,783 --> 00:33:16,780
ถ้าเกิดเหตการณ์ขึ้น

516
00:33:16,780 --> 00:33:20,779
จากสถานะพร้อม Run ติดขัด ไปพักก็ได้

517
00:33:20,779 --> 00:33:24,776
นะครับ ซึ่ง

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

519
00:33:34,481 --> 00:33:40,676
1.

520
00:33:28,778 --> 00:33:32,778

521
00:33:32,780 --> 00:33:36,777
เกิดการทำงานของระบบผิดพลาด

522
00:33:36,777 --> 00:33:40,777
เช่นสั่ง ๆ ไป

523
00:33:40,777 --> 00:33:44,777
ปรากฏว่าระบบ Error ผิดพลาด

524
00:33:44,777 --> 00:33:48,777
ไปกดสตางค์ 1 บาท

525
00:33:48,777 --> 00:33:52,777
ออกมา 10,000 บาท ดีไหมโทมัส ดีไหม

526
00:33:52,779 --> 00:33:56,778
เอาไหม อย่าไปเอานะลูก

527
00:33:56,778 --> 00:34:00,778
เขาจับเจ้าเด้

528
00:34:00,778 --> 00:34:04,778
ต้องไปแจ้งธนาคารนะครับ

529
00:34:04,782 --> 00:34:08,779
นี่คือระบบผิดพลาด มันก็จะย้ายทุกอย่างไป

530
00:34:08,779 --> 00:34:12,777
สถานะพัก จนกว่าเหตุการณ์ปกติ

531
00:34:12,777 --> 00:34:16,777
เริ่มต้นใหม่นะครับ สาเหตุอันที่ 2 นะครับ

532
00:34:16,777 --> 00:34:20,777
ที่จะเกิดสถานะพักนะครับ

533
00:34:20,778 --> 00:34:24,777
ผู้ใช้ต้องการหยุดการทำงาน

534
00:34:24,777 --> 00:34:28,776
ชั่วคราว ทำ ๆ อยู่

535
00:34:28,776 --> 00:34:32,776
เราสั่งหยุดอย่างนี้ มันก็จะไปอยู่สถานะพัก

536
00:34:32,780 --> 00:34:36,777
เช่น Run อยู่กดยกเลิก

537
00:34:36,777 --> 00:34:40,777
สาเหตุอันที่ 3 นะครับ

538
00:34:40,780 --> 00:34:44,780
ในระบบมีงานมากเกินไป

539
00:34:50,391 --> 00:34:57,436
สั่งเข้าไป สั่งเข้าไป

540
00:34:44,778 --> 00:34:48,776

541
00:34:48,776 --> 00:34:52,776
สั่งเข้าไป Over load

542
00:34:52,776 --> 00:34:56,776
Hank Error ก็ย้ายไปสถานะพัก

543
00:34:56,777 --> 00:35:00,777
นะครับ นี่คือสาเหตุหลัก ๆ 3 สาเหตุ

544
00:35:00,783 --> 00:35:04,778
ทำให้การเปลี่ยนสถานะ จากสถานะพร้อม

545
00:35:04,778 --> 00:35:08,778
Run ติดขัด ไปอยู่ในสถานะพร้อท

546
00:35:08,780 --> 00:35:12,776
เห็นไหมครับ

547
00:35:12,776 --> 00:35:16,776
รูป

548
00:35:16,776 --> 00:35:20,776
จากรูปนะครับ พร้อม

549
00:35:20,776 --> 00:35:24,776
Run ติดขัด

550
00:35:24,776 --> 00:35:28,776
แต่ถ้าเกิดสาเหตุจากเมื่อกี้ ระบบ

551
00:35:28,781 --> 00:35:32,777
เกิดทำงานผิดพลาด ผู้ใช้สั่งหยุดเอง

552
00:35:32,777 --> 00:35:36,777
ระบบทำงานมากเกินไป ปุ๊บ มาพักเลย

553
00:35:36,779 --> 00:35:40,777
นะครับ

554
00:35:40,777 --> 00:35:44,777

555
00:35:44,802 --> 00:35:48,780
ดังนั้นนะครับ เราก็สามารถ

556
00:35:48,780 --> 00:35:52,780
แยกสถานะของ Process เป็น 2 ส่วน

557
00:35:52,780 --> 00:35:56,780
ก็คือส่วนที่ 1 พร้อม Run ติดขัด

558
00:35:56,785 --> 00:36:00,779
ใช่ไหม ส่วนที่ 2 คือ

559
00:36:00,779 --> 00:36:04,776
พักนะครับ

560
00:36:04,776 --> 00:36:08,775

561
00:36:08,775 --> 00:36:12,775

562
00:36:12,781 --> 00:36:16,775

563
00:36:16,775 --> 00:36:20,775
คราวนี้มาดูลำดับชั้นของ Process

564
00:36:20,779 --> 00:36:24,777
นะครับ Process ก็มีลำดับชั้นนะครับ

565
00:36:24,777 --> 00:36:28,777
เขาบอกว่าระบบปฏิบัติการ

566
00:36:36,067 --> 00:36:32,802

567
00:36:28,778 --> 00:36:32,777
หรือ OS นะครับ ผมใช้คำย่อว่า OS

568
00:36:32,777 --> 00:36:36,777
เขาบอกว่า OS เอง

569
00:36:36,778 --> 00:36:40,778
ก็ประกอบด้วย หลาย ๆ Process

570
00:36:40,778 --> 00:36:44,776
ถ้าหลายคนสับสน ถ้าอาจาย์ครับ

571
00:36:44,776 --> 00:36:48,776
Process เราจะเรียกว่าโปรแกรมได้ไหม

572
00:36:48,778 --> 00:36:52,776
ได้ไหม

573
00:36:52,776 --> 00:36:56,776
ได้ไหมครับ

574
00:36:56,780 --> 00:37:00,777
บางคนไม่รู้เหมือนกัน

575
00:37:00,777 --> 00:37:04,777
เขาบอกว่า OS เอง ก็ประกอบไปด้วยหลาย

576
00:37:04,778 --> 00:37:08,776
Process 1 2 3 เยอะแยะมากมาย

577
00:37:08,776 --> 00:37:12,776
เมื่อผู้ใช้สั่งงาน

578
00:37:12,779 --> 00:37:16,777

579
00:37:16,777 --> 00:37:20,775

580
00:37:20,775 --> 00:37:24,775

581
00:37:24,787 --> 00:37:28,787
เอาสีอะไรดี

582
00:37:49,016 --> 00:37:45,919

583
00:37:28,778 --> 00:37:32,775

584
00:37:32,775 --> 00:37:36,775

585
00:37:36,775 --> 00:37:40,775

586
00:37:40,775 --> 00:37:44,775

587
00:37:44,775 --> 00:37:48,775

588
00:37:48,779 --> 00:37:52,775

589
00:37:52,775 --> 00:37:56,775

590
00:37:56,775 --> 00:38:00,775
พื้นสีดำไปไม่เป็นเลยนะครับ

591
00:38:07,859 --> 00:38:09,969
ไม่เป็นอะไร ดูต่อ

592
00:38:00,781 --> 00:38:04,781
เขาบอกว่าเมื่อ Process ประกอบด้วย หลายขั้นตอน

593
00:38:04,781 --> 00:38:08,778
นั้นนะครับ เมื่อผู้ใช้สั่งงานหรือให้โปรแกรม Run

594
00:38:08,778 --> 00:38:12,777
OS หรือระบบปฏิบัติการจะ

595
00:38:12,777 --> 00:38:16,777
สร้าง Process สำหรับงานนั้นขึ้นมานะครับ ซึ่ง Process สำหรับผู้ใช้

596
00:38:16,783 --> 00:38:20,777
นี่นะครับ เป็น Process ย่อยของ

597
00:38:20,777 --> 00:38:24,777
นึกออกไหม

598
00:38:24,778 --> 00:38:28,777
เขาบอกว่า Process เองก็มีเยอะแยะมากมาย

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

600
00:38:32,789 --> 00:38:36,782
บอกอุบลต้องการเข้าไปครอบครอง CPU

601
00:38:36,782 --> 00:38:40,782
ระบบปฏิบัติการก็จะสร้าง Process หนึ่ง เข้ามาในระบบปฏิบัติการ

602
00:38:40,794 --> 00:38:44,776
สำหรับงานนะครับ นั่นแสดงว่า

603
00:38:44,776 --> 00:38:48,776
Process ของอุบลนั้น ก็เป็น Process ย่อยของระบบปฏิบัติการ

604
00:38:48,781 --> 00:38:52,779
นึกออกไหมครับ นึกตามนะ

605
00:38:52,779 --> 00:38:56,776
นะครับ ซึ่ง

606
00:38:56,776 --> 00:39:00,776
Process OS ก็จะมีคุณสมาบัติเหมือน Process

607
00:39:00,776 --> 00:39:04,776
อื่น ๆ ทั่วไปนะครับ เขาว่าดังนั้น Process อื่น ๆ

608
00:39:04,785 --> 00:39:08,778
สามารถมี Process ย่อย ๆ ไปอีกเรื่อย ๆ ได้

609
00:39:08,778 --> 00:39:12,778
นะครับ เขาเรียกว่า "การให้กำเนิด"

610
00:39:12,778 --> 00:39:16,777

611
00:39:16,777 --> 00:39:20,776
นึกออกไหม ตัวอย่างเช่นนะครับ

612
00:39:20,776 --> 00:39:24,776
อุบล

613
00:39:24,781 --> 00:39:28,781
ต้องการเข้าไปครอบครอง CPU อุบลเป็น Process หนึ่งแล้ว

614
00:39:28,799 --> 00:39:32,777
ตัวอาจารย์เองเป็น OS เป็นระบบปฏิบัติการ

615
00:39:32,777 --> 00:39:36,777
เมื่ออุบลจะเข้าไปครอบครอง CPU หรือเข้าไปสถานะ Run

616
00:39:36,779 --> 00:39:40,775
เข้าไปสถานะ Run

617
00:39:40,775 --> 00:39:44,775
จะถูกผม OS ตั้ง Process หนึ่งขึ้นมา

618
00:39:44,781 --> 00:39:48,780
เพื่อไปกำกับดูแลอุบล

619
00:39:48,780 --> 00:39:52,780
นะครับ นี่เราเรียกว่า "การให้กำเนิด"

620
00:39:52,780 --> 00:39:56,776
แต่พออุบลเข้าไป

621
00:39:56,776 --> 00:40:00,776
ครอบครอง CPU แล้ว เข้าไปสถานะ Run แล้ว

622
00:40:00,779 --> 00:40:04,777
อุบลก็จะมี Process ย่อย

623
00:40:04,777 --> 00:40:08,777
ต่อไปอีก นึกออกไหม ซึ่งไม่รู้ว่ามีอะไรบ้าง เราไม่รู้

624
00:40:08,778 --> 00:40:12,777
ซึ่งตัวของ Process ย่อย

625
00:40:12,777 --> 00:40:16,777
ที่เราเรียกว่า "การให้กำเนิด" นั้น เราจะเรียกว่า "Process พ่อ"

626
00:40:16,782 --> 00:40:20,776
นะครับ

627
00:40:20,776 --> 00:40:24,776
ส่วน Process ย่อยที่สร้างต่อจาก Process

628
00:40:24,778 --> 00:40:28,778
ผู้ให้กำเนิด เราเรียกว่า Process ล^

629
00:40:28,780 --> 00:40:32,780
เป็นลำดับชั้นนะครับ เป็นลักษณะแบบโครงสร้าง

630
00:40:32,781 --> 00:40:36,777
แบบต้นไม้ ดูรูปนี้เห็นไหมครับ

631
00:40:36,777 --> 00:40:40,777
นี่คือลำดับชั้นของ Process นะครับ

632
00:40:40,781 --> 00:40:44,781
นี่คือลำดับย่อของ Porcess

633
00:40:44,781 --> 00:40:48,777

634
00:40:48,777 --> 00:40:52,776
หัวข้อต่อมานะครับ ความสัมพันธ์

635
00:40:52,776 --> 00:40:56,776
ระหว่าง Process

636
00:40:56,780 --> 00:41:00,776

637
00:41:00,776 --> 00:41:04,776
เราไม่พักเลยนะ

638
00:41:04,778 --> 00:41:08,778
พี่ล่ามคนเดียวนะครับ

639
00:41:08,780 --> 00:41:12,776
ขอพัก 5 นาทีนะครับ ขอพัก 5 นาที

640
00:41:12,776 --> 00:41:16,776
พี่ล่ามจะได้ไป

641
00:41:16,776 --> 00:41:20,776
ทานน้ำ แล้วก็เข้าห้องน้ำนะครับ

642
00:41:20,776 --> 00:41:24,776
พักก่อน 5 นาทีนะครับ เดี๋ยวเราต่ออีก

643
00:41:24,779 --> 00:41:28,776
ประมาณ 15 สไลด์นะครับ

644
00:41:28,776 --> 00:41:32,776

645
00:41:32,777 --> 00:41:36,775

646
00:41:36,775 --> 00:41:40,775

647
00:41:40,779 --> 00:41:44,775

648
00:41:44,775 --> 00:41:48,775

649
00:41:48,776 --> 00:41:52,776

650
00:41:52,776 --> 00:41:56,775

651
00:41:56,775 --> 00:42:00,775

652
00:42:00,775 --> 00:42:04,775

653
00:42:04,776 --> 00:42:08,775

654
00:42:08,775 --> 00:42:12,775

655
00:42:12,775 --> 00:42:16,775

656
00:42:16,775 --> 00:42:20,775

657
00:42:20,775 --> 00:42:24,775

658
00:42:24,775 --> 00:42:28,775

659
00:42:28,777 --> 00:42:32,776

660
00:42:32,776 --> 00:42:36,776

661
00:42:36,779 --> 00:42:40,775

662
00:42:40,775 --> 00:42:44,775

663
00:42:44,775 --> 00:42:48,775

664
00:42:48,775 --> 00:42:52,775

665
00:42:52,776 --> 00:42:56,776

666
00:42:56,784 --> 00:43:00,784

667
00:43:00,787 --> 00:43:04,775

668
00:43:04,775 --> 00:43:08,774

669
00:43:08,774 --> 00:43:12,774

670
00:43:12,775 --> 00:43:16,775

671
00:43:16,775 --> 00:43:20,775

672
00:43:20,792 --> 00:43:24,775

673
00:43:24,775 --> 00:43:28,775

674
00:43:28,779 --> 00:43:32,776

675
00:43:32,776 --> 00:43:36,776

676
00:43:36,777 --> 00:43:40,775

677
00:43:40,775 --> 00:43:44,775

678
00:43:44,775 --> 00:43:48,775

679
00:43:48,775 --> 00:43:52,775

680
00:43:52,775 --> 00:43:56,775

681
00:43:56,775 --> 00:44:00,775

682
00:44:00,775 --> 00:44:04,775

683
00:44:04,775 --> 00:44:08,775

684
00:44:08,776 --> 00:44:12,776

685
00:44:12,778 --> 00:44:16,775

686
00:44:16,775 --> 00:44:20,775

687
00:44:20,784 --> 00:44:24,775

688
00:44:24,775 --> 00:44:28,775

689
00:44:28,775 --> 00:44:32,775

690
00:44:32,779 --> 00:44:36,775

691
00:44:36,775 --> 00:44:40,775

692
00:44:40,775 --> 00:44:44,775

693
00:44:44,775 --> 00:44:48,775

694
00:44:48,777 --> 00:44:52,776

695
00:44:52,776 --> 00:44:56,776

696
00:44:56,776 --> 00:45:00,775

697
00:45:00,775 --> 00:45:04,774

698
00:45:04,774 --> 00:45:08,774

699
00:45:08,775 --> 00:45:12,774

700
00:45:12,774 --> 00:45:16,774

701
00:45:16,777 --> 00:45:20,775

702
00:45:20,775 --> 00:45:24,775

703
00:45:24,800 --> 00:45:28,774

704
00:45:28,774 --> 00:45:32,774

705
00:45:32,777 --> 00:45:36,775

706
00:45:36,775 --> 00:45:40,774

707
00:45:40,774 --> 00:45:44,774

708
00:45:44,775 --> 00:45:48,775

709
00:45:48,778 --> 00:45:52,774

710
00:45:52,774 --> 00:45:56,774

711
00:45:56,777 --> 00:46:00,775

712
00:46:00,775 --> 00:46:04,775

713
00:46:04,775 --> 00:46:08,775

714
00:46:08,775 --> 00:46:12,775

715
00:46:12,775 --> 00:46:16,775

716
00:46:16,777 --> 00:46:20,776

717
00:46:20,776 --> 00:46:24,774

718
00:46:24,774 --> 00:46:28,774

719
00:46:28,776 --> 00:46:32,775

720
00:46:32,775 --> 00:46:36,775

721
00:46:36,778 --> 00:46:40,777

722
00:46:40,777 --> 00:46:44,777

723
00:46:44,777 --> 00:46:48,775

724
00:46:48,775 --> 00:46:52,774

725
00:46:52,774 --> 00:46:56,774

726
00:46:56,774 --> 00:47:00,774

727
00:47:00,776 --> 00:47:04,774

728
00:47:04,774 --> 00:47:08,774

729
00:47:08,775 --> 00:47:12,774

730
00:47:12,774 --> 00:47:16,774

731
00:47:16,774 --> 00:47:20,774

732
00:47:20,774 --> 00:47:24,774

733
00:47:24,774 --> 00:47:28,774

734
00:47:28,774 --> 00:47:32,774

735
00:47:32,779 --> 00:47:36,779

736
00:47:36,781 --> 00:47:40,775

737
00:47:40,775 --> 00:47:44,775

738
00:47:44,775 --> 00:47:48,775

739
00:47:48,775 --> 00:47:52,775

740
00:47:52,775 --> 00:47:56,775

741
00:47:56,780 --> 00:48:00,775

742
00:48:00,775 --> 00:48:04,774

743
00:48:04,774 --> 00:48:08,774

744
00:48:08,775 --> 00:48:12,775

745
00:48:12,779 --> 00:48:16,774

746
00:48:16,774 --> 00:48:20,774

747
00:48:20,775 --> 00:48:24,774

748
00:48:24,774 --> 00:48:28,774

749
00:48:28,775 --> 00:48:32,774

750
00:48:32,774 --> 00:48:36,774

751
00:48:36,775 --> 00:48:40,775

752
00:48:40,790 --> 00:48:44,775

753
00:48:44,775 --> 00:48:48,775

754
00:48:48,775 --> 00:48:52,775

755
00:48:52,775 --> 00:48:56,775

756
00:48:56,775 --> 00:49:00,775

757
00:49:00,778 --> 00:49:04,776

758
00:49:04,776 --> 00:49:08,776

759
00:49:08,787 --> 00:49:12,775

760
00:49:12,775 --> 00:49:16,774

761
00:49:16,774 --> 00:49:20,774

762
00:49:20,775 --> 00:49:24,774

763
00:49:24,774 --> 00:49:28,774

764
00:49:28,775 --> 00:49:32,775

765
00:49:32,777 --> 00:49:36,775

766
00:49:36,775 --> 00:49:40,775

767
00:49:40,776 --> 00:49:44,774

768
00:49:44,774 --> 00:49:48,774

769
00:49:48,779 --> 00:49:52,774

770
00:49:52,774 --> 00:49:56,774

771
00:49:56,775 --> 00:50:00,775

772
00:50:00,775 --> 00:50:04,774

773
00:50:04,774 --> 00:50:08,774

774
00:50:08,779 --> 00:50:12,779

775
00:50:12,780 --> 00:50:16,775

776
00:50:16,775 --> 00:50:20,774

777
00:50:20,774 --> 00:50:24,774

778
00:50:24,774 --> 00:50:28,774

779
00:50:28,774 --> 00:50:32,774

780
00:50:32,777 --> 00:50:36,775

781
00:50:36,775 --> 00:50:40,774

782
00:50:40,774 --> 00:50:44,774

783
00:50:44,775 --> 00:50:48,775

784
00:50:48,777 --> 00:50:52,775

785
00:50:52,775 --> 00:50:56,774

786
00:50:56,774 --> 00:51:00,774

787
00:51:00,774 --> 00:51:04,774

788
00:51:04,774 --> 00:51:08,774

789
00:51:08,775 --> 00:51:12,775

790
00:51:12,784 --> 00:51:16,775

791
00:51:16,775 --> 00:51:20,775

792
00:51:20,786 --> 00:51:24,775

793
00:51:24,775 --> 00:51:28,775

794
00:51:28,775 --> 00:51:32,775

795
00:51:32,775 --> 00:51:36,774

796
00:51:36,774 --> 00:51:40,774

797
00:51:40,775 --> 00:51:44,774

798
00:51:44,774 --> 00:51:48,774

799
00:51:48,778 --> 00:51:52,774

800
00:51:52,774 --> 00:51:56,774

801
00:51:56,775 --> 00:52:00,775

802
00:52:00,775 --> 00:52:04,775

803
00:52:04,780 --> 00:52:08,775

804
00:52:08,775 --> 00:52:12,775

805
00:52:12,775 --> 00:52:16,775

806
00:52:16,778 --> 00:52:20,775

807
00:52:20,775 --> 00:52:24,775
(อาจารย์พิเชนทร์)

808
00:52:24,776 --> 00:52:28,776
ดูต่อนะครับ

809
00:52:28,783 --> 00:52:32,777
ความสัมพันธ์ระหว่าง Process

810
00:52:32,777 --> 00:52:36,777
นะครับ

811
00:52:36,777 --> 00:52:40,777
การทำงานของระบบคอมพิวเตอร์นั้นนะครับ จะประกอบไปด้วย

812
00:52:40,793 --> 00:52:44,781
Process ต่าง ๆ นะครับ

813
00:52:44,781 --> 00:52:48,777
ทั้งของระบบและของผู้ใช้นะครับ

814
00:52:48,777 --> 00:52:52,777
เมื่อมันมี

815
00:52:52,783 --> 00:52:56,783
Process มากมายทำงานพร้อม ๆ กันนะครับ ต้องมีกาาจัดการขึ้น

816
00:52:56,808 --> 00:53:00,778
นะครับ นอกจากการจัดการแล้ว

817
00:53:00,778 --> 00:53:04,775
เราก็ต้องมีการ

818
00:53:04,775 --> 00:53:08,775
ติต่อระหว่างกัน เหมือนเรา เรา

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

820
00:53:12,785 --> 00:53:16,775
นะครับ คราวนี้

821
00:53:16,775 --> 00:53:20,775
เรามาดูหัวข้อความสัมพันธ์ระหว่าง Process นะครับ

822
00:53:20,783 --> 00:53:24,776
การติดต่อระหว่าง Process นั่น

823
00:53:24,776 --> 00:53:28,776
หมายความว่า Process หนึ่ง อาจต้องการใช้ข้อมูล

824
00:53:28,778 --> 00:53:32,778
ของอีก Process หนึ่ง จึงต้องทำไมครับ

825
00:53:32,781 --> 00:53:36,779
ต้องมีการส่งข้อมูลหรือต้องการติดต่อ

826
00:53:36,779 --> 00:53:40,777
กัน ระหว่าง Process นะครับ ซึ่ง

827
00:53:40,777 --> 00:53:44,777
การติดต่อกันระหว่าง Process นั้นนะครับ ก็มีหลายวิธี

828
00:53:44,782 --> 00:53:48,777
มาดูวิธีที่ 1 นะครับ

829
00:53:48,777 --> 00:53:52,777

830
00:53:52,777 --> 00:53:56,777
ติดต่อกันโดย

831
00:53:56,785 --> 00:54:00,781
ใช้หน่วยความจำร่วม

832
00:54:00,781 --> 00:54:04,775
นะครับ

833
00:54:04,775 --> 00:54:08,775
หมายความว่า เมื่อ Process หนึ่ง ต้องการ

834
00:54:08,778 --> 00:54:12,776
หรือส่งข้อมูลไปให้อีก Process หนึ่ง

835
00:54:12,776 --> 00:54:16,776
มันจะส่งข้อมูลผ่านหน่วยความจำร่วม

836
00:54:16,777 --> 00:54:20,776
ฟังก่อนนะครับ ฟังก่อนนะครับ

837
00:54:20,776 --> 00:54:24,776
อย่าเพิ่งคุยกันครับ จะจบแล้ว อีก

838
00:54:24,778 --> 00:54:28,778
แค่ 10 สไลด์นะครับ

839
00:54:28,778 --> 00:54:32,778
ฟังหรือเปล่าครับ นี่ ฟังหรือเปล่า บอก

840
00:54:32,778 --> 00:54:36,778
เงียบก่อนนะครับ ฟังก่อน

841
00:54:36,778 --> 00:54:40,778
อย่าเพิ่งคุยกันเสียงดังนะครับ เดี๋ยวมันจะไม่เข้าใจ

842
00:54:40,779 --> 00:54:44,777
นะครับ เวลาสอบ เรามัวแต่ลอก

843
00:54:44,777 --> 00:54:48,777
ในหน้าจอนี่ บางทีมันพอเวลาไปสอบนะครับ มันจะตอบไม่ได้นะครับ

844
00:54:48,788 --> 00:54:52,783

845
00:54:52,783 --> 00:54:56,780
เดี๋ยวสอบกลางภาคก็จะรู้คะแนนตัวเองว่าเป็นอย่างไร

846
00:54:56,780 --> 00:55:00,779
ผมบอกแล้วนะครับ ว่าข้อสอบผมนั้นมี

847
00:55:00,779 --> 00:55:04,779
ทั้งหมด 8 ชุดนะครับ ผมให้นั่ง

848
00:55:04,789 --> 00:55:08,776
สอบแบบติดกันเลยนะครับ

849
00:55:08,776 --> 00:55:12,776
ข้อสอบคนละชุดนะครับ ถ้าเราไม่เข้าใจ เราจะไม่สามารถเขียน

850
00:55:12,777 --> 00:55:16,776
อธิบายได้ ดูนะครับ ความสัมพันธ์

851
00:55:16,776 --> 00:55:20,776
อันที่ 1 ก็คือเวลามันติดต่อหากัน มันจะใช้หน่วยความจำร่วมกัน

852
00:55:20,783 --> 00:55:24,776
ดูรูปข้างล่างเลยนะครับ

853
00:55:24,776 --> 00:55:28,776
Process A

854
00:55:28,776 --> 00:55:32,776
ต้องการส่งข้อมูลไปให้ Process B

855
00:55:32,783 --> 00:55:36,780
มันทำกันอย่างไรนะครับ วิธีการ ก็คือ Process A

856
00:55:36,780 --> 00:55:40,780
ส่งไปแล้ว จัดส่งไปที่หน่วยความจำ

857
00:55:40,785 --> 00:55:44,780
นะครับ ส่งไปที่หน่วยความจำ เมื่อ Process B

858
00:55:44,780 --> 00:55:48,777
ต้องการจะไปรับข้อมูลจาก Process A

859
00:55:48,777 --> 00:55:52,777
มันก็จะไปรับที่หน่วยความจำนะครับ ซึ่งหน่วยความจำก็จะ

860
00:55:52,786 --> 00:55:56,776
มี Address อยู่

861
00:55:56,776 --> 00:56:00,776
แล้วเราจะรู้ได้อย่างไรครับ Process A ส่งอะไร

862
00:56:00,783 --> 00:56:04,776
มาให้เช็กจากอะไรครับ

863
00:56:04,776 --> 00:56:08,776
เช็กจากชื่อ จาก ID ใช่ไหม เพราะว่า

864
00:56:08,777 --> 00:56:12,777
ชื่อของ Process แต่ละตัวก็จะมีรหัสด้วยนะครับ

865
00:56:12,778 --> 00:56:16,778
เห็นไหมครับ Process A นี่ มันจะส่งข้อมูล

866
00:56:16,779 --> 00:56:20,776
มานะครับ เราส่งไปให้

867
00:56:20,776 --> 00:56:24,776
หน่วยความจำร่วม Process A ก็ไปรับที่หน่วยความจำ

868
00:56:24,783 --> 00:56:28,779
นะครับ การติดต่อกันระหว่างหน่วยความจำนะครับ

869
00:56:28,779 --> 00:56:32,776

870
00:56:32,776 --> 00:56:36,776
นอกจากการใช้หน่วยควาามจำร่วม ในการ

871
00:56:36,779 --> 00:56:40,779
ติดต่อระหว่าง Process นะครับ ก็ยังมีวิธีการที่สะดวกกว่า

872
00:56:40,784 --> 00:56:44,784
นะครับ แล้วก็นิยมใช้เป็นมาตราฐานนะครับ

873
00:56:44,784 --> 00:56:48,777
นั่นก็คือการใช้ช่องทางข้อมูล

874
00:56:48,777 --> 00:56:52,776
หรือเรียกง่าย ๆ ว่า พอร์ต

875
00:56:52,776 --> 00:56:56,776
นะครับ ติดต่อผ่านพอร์ต

876
00:56:56,779 --> 00:57:00,779
รู้จักพอร์ตนะ

877
00:57:13,344 --> 00:57:12,910
USB

878
00:57:00,779 --> 00:57:04,779
Port parareal

879
00:57:04,782 --> 00:57:08,779
ต่อสายเข้าไปในเครื่องคอมพิวเตอร์ เรา

880
00:57:08,779 --> 00:57:12,778
นะครับ อันนี้ง่ายกว่านะครับ สะดวกกว่า

881
00:57:12,778 --> 00:57:16,777
เช่น เราต้องการส่งข้อมูลจาก

882
00:57:16,777 --> 00:57:20,777
เครื่องของคนหนึ่ง ไปเครื่องอีกคนหนึ่ง

883
00:57:20,780 --> 00:57:24,780
ผ่านอะไร ผ่านพอร์ตนะครับ

884
00:57:24,780 --> 00:57:28,776

885
00:57:28,776 --> 00:57:32,776
คราวนี้วิธี่การ

886
00:57:32,776 --> 00:57:36,776
ส่งข้อมูล ทั้งผ่านหน่วยความจำร่วมแล้วก็ผ่านพอร์ต

887
00:57:36,780 --> 00:57:40,777
นั้นนะครับ ในเรื่องของ

888
00:57:40,777 --> 00:57:44,777
โครงสร้างของพอร์ตก็มีหลายแบบนะครับ จะส่งแบบไหนนะครับ

889
00:57:44,787 --> 00:57:48,781
อันที่ 1 นะครับ โครสร้างของ Port

890
00:57:48,781 --> 00:57:52,778
แบบที่ 1 ก็คือแบบคิว

891
00:57:52,778 --> 00:57:56,777
นะครับ โครงสร้างแบบนี้ ก็คือข้อมูล

892
00:57:56,777 --> 00:58:00,777
จะถูกดึงออกมาจากพอร์ตตามลำดับก่อน-หลัง

893
00:58:00,780 --> 00:58:04,779
ข้อมูลไหนส่งเข้ามาก่อนก็จะ

894
00:58:04,779 --> 00:58:08,779
ออกไปก่อน ก็คือแบบคิวเป็นคิว

895
00:58:08,785 --> 00:58:12,777
นะครับ เช่น ผมเข้าไปก่อนอุบล

896
00:58:12,777 --> 00:58:16,777
ผมก็ออกก่อนอุบลนะครับ นี่คือโครงสร้างข้อมูลแบบพอร์ต

897
00:58:16,787 --> 00:58:20,779
ง่าย ๆ ครับ เข้าก่อน ออกก่อน

898
00:58:20,779 --> 00:58:24,777
นะครับ โครงสร้างพอร์ต

899
00:58:24,777 --> 00:58:28,777
แบบที่ 2 ก็คือโครงสร้างแบบ Pyte

900
00:58:28,777 --> 00:58:32,776
รูปข้างล่างใช่ไหม

901
00:58:32,776 --> 00:58:36,776
แบบ prite

902
00:58:36,776 --> 00:58:40,776
แบบมีการทำงานแบบคิว คือเข้าก่อน

903
00:58:40,780 --> 00:58:44,778
ออกก่อน แต่มี

904
00:58:44,778 --> 00:58:48,778
ข้อแตกต่างกับแบบคิวที่ว่าถ้าเป็นพอร์ตแบบไปป์

905
00:58:48,780 --> 00:58:52,777
จะมีความยาวของ Port ไม่จำกัด

906
00:58:52,777 --> 00:58:56,777
ถ้าเป็นแบบคิวจะจำกัด

907
00:58:56,777 --> 00:59:00,777
เช่น พอร์ตแบบคิวบอกว่า

908
00:59:00,781 --> 00:59:04,781
มีขนาดของพอร์ต ความยาว

909
00:59:04,782 --> 00:59:08,777
10 ช่อง สมมตินะ

910
00:59:08,777 --> 00:59:12,777
ก็แสดงว่าเข้าไปได้แค่ 10 คิวนะครับ

911
00:59:12,778 --> 00:59:16,777
แต่ถ้าพอร์ตแบบไปป์ โครงสร้าง

912
00:59:16,777 --> 00:59:20,777
เหมือนพอร์ตแบบคิวก็จริง เข้าก่อนออกก่อน แต่จะ

913
00:59:20,783 --> 00:59:24,783
มีความยาวของ Port

914
00:59:24,794 --> 00:59:28,777

915
00:59:28,777 --> 00:59:32,777
นี่คือโครงสร้าง

916
00:59:32,777 --> 00:59:36,777
แบบไปป์นะครับ

917
00:59:36,779 --> 00:59:40,777
โครงสร้าง Port แบบที่ 3 ก็คือ

918
00:59:40,777 --> 00:59:44,777
Stack นะครับ เป็นอย่างไรครับ

919
00:59:44,781 --> 00:59:48,776
แบบ Stack

920
00:59:48,776 --> 00:59:52,776
Stack คือ โครงสร้างที่ตรงข้ามกับแบบคิวเลยครับ

921
00:59:52,786 --> 00:59:56,778
ก็คือข้อมูลชุดใดที่ถูกส่งออกมาก่อน

922
00:59:56,778 --> 01:00:00,778
จะถูกดึงออกทีหลัง คือ เข้าก่อนออกทีหลัง

923
01:00:00,779 --> 01:00:04,778
นะครับ นี่คือโครงสร้างแบบ

924
01:00:04,778 --> 01:00:08,778
Stack นะครับ นี่คือโครงสร้างของพอร์ตทั้ง 3 แบบนะครับ

925
01:00:08,780 --> 01:00:12,777

926
01:00:12,777 --> 01:00:16,776
คราวนี้มาดู

927
01:00:16,776 --> 01:00:20,776
ปัญหาของ Process นะครับ

928
01:00:20,791 --> 01:00:24,781
เมื่อมีการทำงานมากกว่า 1 Process ขึ้นไป

929
01:00:24,781 --> 01:00:28,778
นะครับ มันย่อมทำให้เกิดปัญหาเกิดขึ้น

930
01:00:28,778 --> 01:00:32,778
ในการใช้งาน เมื่อมีโปรแกรม

931
01:00:32,778 --> 01:00:36,778
ทำงานในระบบคอมพิวเตอร์เรา ปัญหาก็ไม่เกิดขึ้น

932
01:00:36,781 --> 01:00:40,779
นะครับ เมื่อมีหลาย ๆ โปรแกรมทำงานอยู่บนระบบเดียวกัน

933
01:00:40,779 --> 01:00:44,777
มีการใช้ทรัพยากร

934
01:00:44,777 --> 01:00:48,777
แย่งกันใช้ มันย่อมเกิดปัญหาขึ้น

935
01:00:48,779 --> 01:00:52,779
นะครับ ดังนั้น มันจะต้องมีการจัดสรร

936
01:00:52,779 --> 01:00:56,779
การใช้ Process ขึ้นนะครับ

937
01:00:56,779 --> 01:01:00,779
ถึงอย่างไรก็ตาม

938
01:01:00,782 --> 01:01:04,780
ที่เราจะกล่าวต่อไปนี้ มันจะต้อง

939
01:01:04,780 --> 01:01:08,780
ไม่เกิดขึ้นกับระบบของเรา

940
01:01:08,780 --> 01:01:12,780
นะครับ ดังนั้น คนที่ออกแบบระบบปฏิบัติการจะต้องแก้ปัญหา

941
01:01:12,782 --> 01:01:16,777
ดังต่อไปนี้ให้ได้

942
01:01:16,777 --> 01:01:20,777
เวลาเราเขียนโปรแกรม เราจะต้องเลี่ยงปัญหาเหล่านี้ให้ได้

943
01:01:20,788 --> 01:01:24,782
นะครับ ปัญหาการทำงานของ Process อันดับ

944
01:01:24,782 --> 01:01:28,779
แรกเลยนะครับ ก็คือปัญหาการตัดตอน

945
01:01:28,779 --> 01:01:32,777
นะครับ ปัญหา

946
01:01:32,777 --> 01:01:36,777
เกิดจากอะไรครับ เกิดจากการที่ Process หนึ่ง

947
01:01:36,779 --> 01:01:40,779
ต้องการใช้ทรัพยากร

948
01:01:40,779 --> 01:01:44,779
ของ Process แต่ปรากฏว่า Process นั้น มีลำดับความสำคัญ

949
01:01:44,784 --> 01:01:48,780
น้อยกว่า จึงยอมปลดปล่อย Process

950
01:01:48,780 --> 01:01:52,780
ที่มีระดับความสำคัญมากกว่าเข้าไปครอบครองตัว CPU

951
01:01:52,780 --> 01:01:56,779
แทนตัวมันเอง

952
01:01:56,779 --> 01:02:00,779
นึกออกใช่ไหมครับ ก็คือ Process หนึ่ง อย่าง

953
01:02:00,780 --> 01:02:04,779
เช่น ผมกำลังจะเข้าไปครอบครอง

954
01:02:04,779 --> 01:02:08,779
CPU แต่ปรากฏว่าอุบลเข้ามาต่อคิวผม

955
01:02:08,786 --> 01:02:12,780
บังเอิญว่าลำดับความสำคัญอุบล

956
01:02:12,780 --> 01:02:16,779
สำคัญมากกว่าผม ผมยอมให้อุบลเข้าไปแทนผม นี่

957
01:02:16,779 --> 01:02:20,779
เกิดการตัดตอนขึ้น

958
01:02:20,779 --> 01:02:24,779
ให้เป็นวิชาการ อธิบายว่าเกิดจาการ

959
01:02:24,783 --> 01:02:28,779
ที่ Process ใด Process หนึ่ง

960
01:02:28,779 --> 01:02:32,779
ที่จะเข้าไปครอบครอง CPU หรือเข้าไปในสถานะ Run นั้น

961
01:02:32,785 --> 01:02:36,778
ยอมให้ Process ที่มีลำดับ

962
01:02:36,778 --> 01:02:40,778
ความสำคัญมากกว่าเข้าไปแทนที่มัน มันก็จะเกิด

963
01:02:40,782 --> 01:02:44,780
การตัดตอนขึ้นนะครับ

964
01:02:44,780 --> 01:02:48,780
ซึ่งปัญหาตัวนี้นะครับ คนที่ออกแบบระบบปฏิบัติการจะต้อง

965
01:02:48,781 --> 01:02:52,778
ไม่ให้เกิดขึ้นนะครับ

966
01:02:52,778 --> 01:02:56,777

967
01:02:56,777 --> 01:03:00,777
ปัญหาต่อมานะครับ นอกจาก

968
01:03:00,778 --> 01:03:04,778
ปัญหาการตัดตอนแล้ว ปัญหาต่อมา ก็คือปัญหา

969
01:03:04,785 --> 01:03:08,777
การอดตาย หรือปัญหา

970
01:03:08,777 --> 01:03:12,777
การเลื่อนไปอย่างไม่มีสิ้นสุด

971
01:03:12,781 --> 01:03:16,778
หมายความว่าเมื่อเกิดการตัดตอนขึ้น

972
01:03:16,778 --> 01:03:20,778
Process หนึ่ง ปล่อยให้ Process อีก Process หนึ่ง ที่มีความสำคัญ

973
01:03:20,782 --> 01:03:24,778
มากกว่า เข้าไปครอบคลอง CPU มัน

974
01:03:24,778 --> 01:03:28,778
แล้วแทนไปเรื่อย ๆ

975
01:03:28,779 --> 01:03:32,779
นี่เราเรียกว่า "การอดตาย"

976
01:03:32,781 --> 01:03:36,780
เช่น ตัวอย่างเมื่อกี้ผมจะเข้าไปครอบครอง CPU

977
01:03:36,780 --> 01:03:40,778
แต่บังเอิญว่าอุบล

978
01:03:40,778 --> 01:03:44,778
มาต่อคิว อุบลมีลำดับความสำคัญมากกว่า อุบลเข้าไปแทนที่

979
01:03:44,782 --> 01:03:48,782
พออุบลเสร็จแล้ว

980
01:03:56,711 --> 01:03:53,459

981
01:03:48,777 --> 01:03:52,777
ผมจะเข้าไปต่อ แต่ปรากฏว่า

982
01:03:52,782 --> 01:03:56,781
แม็กกี้มาต่อ แล้วแม็กกี้มีความสำคัญมากกว่าผม

983
01:03:56,781 --> 01:04:00,780
ก็เข้าไปแทนที่อีก พอ

984
01:04:00,780 --> 01:04:04,780
แม็กกี้ออกมา ผมจะเข้าไปต่อ ปรากฏว่า

985
01:04:04,792 --> 01:04:08,777
มิ่งมาต่อ แล้ว

986
01:04:08,777 --> 01:04:12,777
มิ่งมีความสำคัญมากกว่า มิ่งก็

987
01:04:12,778 --> 01:04:16,778
ก็คือรอไป

988
01:04:16,778 --> 01:04:20,778
ไม่มีวันสิ้นสุด รอไปเรื่อย ๆ ไม่มีวันสิ้นสุด

989
01:04:20,779 --> 01:04:24,779
นะครับ ถ้าเป็นสมัยก่อนนะครับ

990
01:04:24,782 --> 01:04:28,780
ผมก็จะยกตัวอย่างให้พวกเราเห็นภาพชัดเจน

991
01:04:28,780 --> 01:04:32,780
สมมติว่าที่อาคาร 7 เรานะครับ

992
01:04:32,780 --> 01:04:36,780
สร้างห้องน้ำมาใหม่

993
01:04:42,842 --> 01:04:46,303
ห้องน้ำ

994
01:04:36,779 --> 01:04:40,779
เปรียบเสมือน CPU สมมตินะ

995
01:04:40,780 --> 01:04:44,777
ผมจะเข้าเป็นคนแรก

996
01:04:44,777 --> 01:04:48,777
กำลังจะเปิดประตูเข้าไปห้องน้ำ ปรากฏว่าอุบล ไม่ใช่อุบล

997
01:04:48,781 --> 01:04:52,778
อธิการ(บดี) สะกิดหลัง

998
01:04:52,778 --> 01:04:56,778
พิเชนทร์ ๆ ผมขออนุญาตเข้าก่อน ผมมองไปข้างหลัง

999
01:04:56,781 --> 01:05:00,778
อธิการฯ ใหญ่กว่าผม

1000
01:05:00,778 --> 01:05:04,778
นี่เกิดการตัดตอน

1001
01:05:04,782 --> 01:05:08,779
แต่พออธิการฯ เข้าไปเสร็จปุ๊บ

1002
01:05:08,779 --> 01:05:12,779
ปรากฏว่ามีคนสะกิดหลังอีกแล้ว ผู้ว่า(ราชการ)สะกิดหลัง

1003
01:05:12,781 --> 01:05:16,780
เป็นอย่างไรครับ ผู้ว่าฯ เข้าไป

1004
01:05:16,780 --> 01:05:20,779
นายอำเภอสะกิดหลัง ผู้ว่าสะกิดหลัง เกิดการ

1005
01:05:20,779 --> 01:05:24,778
ต้องตัดตอน พอตัดตอนเสร็จปุ๊บ

1006
01:05:24,778 --> 01:05:28,778
ไม่มีโอกาสได้เข้า ก็เลยเป็นอดตายนะครับ

1007
01:05:28,780 --> 01:05:32,777
นี่คือปัญหาหาที่ 2

1008
01:05:32,777 --> 01:05:36,777
ของเรานะครับ ปัญหาที่ 3

1009
01:05:36,777 --> 01:05:40,777

1010
01:05:40,778 --> 01:05:44,778
เขาบอกว่าทำไมถึงให้เกิดการ

1011
01:05:44,778 --> 01:05:48,778
ตัดตอนไม่ได้ หรือการอดตายไม่ได้

1012
01:05:48,778 --> 01:05:52,778
มันจะเกิดปัญหาขึ้น ถ้าทรัพยากรบางประเภท

1013
01:05:52,781 --> 01:05:56,780
ถ้าเราปล่อยให้เกิดการตัดตอน

1014
01:05:56,780 --> 01:06:00,778
จะเกิดปัญหาขึ้น เช่น เครื่องพิมพ์

1015
01:06:00,778 --> 01:06:04,778
ให้เรามองถึงเครื่องพิมพ์

1016
01:06:04,788 --> 01:06:08,780
ที่เป็นหัวเข็ม เคยเห็นไหม มันจะดังแกร๊ก มันจะ

1017
01:06:08,780 --> 01:06:12,778
พรินต์ทีละบรรทัด

1018
01:06:12,778 --> 01:06:16,778
เคยเห็นไหมครับ เครื่องพิมพ์แบบหัวเข็ม เหมือนเราไปซื้อ

1019
01:06:16,780 --> 01:06:20,777
ของตามเซเว่นอะไรอย่างนี้

1020
01:06:20,777 --> 01:06:24,777
หรือเราไปจ่ายค่าเทอม มันจะ

1021
01:06:24,780 --> 01:06:28,778
พรินต์เป็นหัวเข็มออกมา

1022
01:06:28,778 --> 01:06:32,778
ถ้าเราปล่อยให้เกิดการตัดตอนขึ้น เช่น ผมสั่งพรินต์

1023
01:06:32,780 --> 01:06:36,778
ไปได้ 2 บรรทัด

1024
01:06:36,778 --> 01:06:40,778
สั่งมา อุบลบอกว่าอุบลมีความสำคัญมากกว่า แล้วเกิดการตัดตอน

1025
01:06:40,781 --> 01:06:44,781
บรรทัดที่ 3 จะกลายเป็นของอุบล

1026
01:06:44,785 --> 01:06:48,785
ดังนั้น ห้ามให้มีเหตุการณ์นี้เกิดขึ้นนะครับ

1027
01:06:48,785 --> 01:06:52,779
เพราะทรัพยากรบางอย่าง

1028
01:06:52,779 --> 01:06:56,779
ให้เกิดขึ้นไม่ได้นะครับ

1029
01:06:56,781 --> 01:07:00,778
ปัญหาต่อมานะครับ

1030
01:07:00,778 --> 01:07:04,778
ปัญหาการติดตาย

1031
01:07:09,664 --> 01:07:10,427

1032
01:07:04,777 --> 01:07:08,777
ดูรูปประกอบเลยนะครับ

1033
01:07:08,778 --> 01:07:12,778
ปัญหาการติดตายคืออะไรครับ ดูรูปเลย เมื่อ Process

1034
01:07:12,780 --> 01:07:16,778
ใดก็แล้วแต่ ครอบครอง

1035
01:07:16,778 --> 01:07:20,778
ทรัพยากรของตัวเองอยู่ แล้วในขณะเดียวกัน

1036
01:07:20,780 --> 01:07:24,780
ต้องการไปครอบครองทรัพยากรของเรา

1037
01:07:24,802 --> 01:07:28,784
แต่ไม่ยอมให้ Process อื่น เข้า

1038
01:07:28,784 --> 01:07:32,778
มาครอบครองทรัพยากรของตัวเอง

1039
01:07:32,778 --> 01:07:36,778
เหมือนกันนะครับ เช่น ผมบอกอุบล

1040
01:07:36,780 --> 01:07:40,780
อาจารย์ยืมสตางค์ของอุบลหน่อย 1 ร้อยล้าน

1041
01:07:40,781 --> 01:07:44,780
อุบลก็บอกเหมือนกัน อาจารย์

1042
01:07:44,780 --> 01:07:48,780
ผมก็ยืมตังอาจารย์หน่อย 2 ร้อยล้าน

1043
01:07:48,781 --> 01:07:52,781
แต่อุบลก็ไม่ควักให้ผมนะ ผมก็ไม่ควักให้อุบล

1044
01:07:52,781 --> 01:07:56,777
เพราะเราก็ไม่มีทั้งคู่นะ

1045
01:07:56,777 --> 01:08:00,777
คือ อยากได้สตางค์อุบล อุบล

1046
01:08:00,778 --> 01:08:04,778
ไม่ควักให้ นี่คือลักษณะการปิดตาย

1047
01:08:04,778 --> 01:08:08,778
ก็คือ Process ใด Process หนึ่งนี่ ครอบครองทรัพยากรตัวเอง

1048
01:08:08,781 --> 01:08:12,778
อยู่ แต่อยากไปได้ทรัพยากรของคนอื่น

1049
01:08:12,778 --> 01:08:16,778
แต่ตัวเองก็ไม่ยอมให้ทรัพยากรของตัวเอง

1050
01:08:16,795 --> 01:08:20,795
นะครับ นี่คือลักษณะการติดตายหรือ Dead Rock นะครับ

1051
01:08:20,795 --> 01:08:24,780

1052
01:08:24,780 --> 01:08:28,777
เขาบอกว่า

1053
01:08:28,777 --> 01:08:32,777
ปัญหาการติดตายนั้น ไม่จำเป็นต้องเกิดจาก 2

1054
01:08:32,782 --> 01:08:36,777
Process อาจจะ

1055
01:08:36,777 --> 01:08:40,777
เกิดจากหลาย Process ก็ได้นะครับ มากกว่า 2 Process แต่ต้อง

1056
01:08:40,780 --> 01:08:44,780
มีเงื่อนไขดังนี้ เช่น

1057
01:08:44,780 --> 01:08:48,779
1. การครอบครองเป็นแบบตัดตอนไม่ได้

1058
01:08:48,779 --> 01:08:52,779
อันนี้ก็ตัดตอนไม่ได้นะ

1059
01:08:52,780 --> 01:08:56,780
Process A ก็ไม่ได้ Process B ก็ไม่ได้ Process C ก็ไม่ได้

1060
01:08:56,781 --> 01:09:00,777

1061
01:09:00,777 --> 01:09:04,777
ไม่ไป ไม่มา นะครับ เงื่อนไขแบบที่ 2

1062
01:09:04,779 --> 01:09:08,779
การครอบครองเป็นแบบไม่เกิดร่วม

1063
01:09:08,783 --> 01:09:12,777
ต่างคนต่างทำงาน ต่างคนต่างอยู่คนละส่วน

1064
01:09:12,777 --> 01:09:16,777
ติดตายขึ้น

1065
01:09:16,779 --> 01:09:20,778
นะครับ เงื่อนไขที่ 3 คือ

1066
01:09:20,778 --> 01:09:24,778
ในการรอใช้ทรัพยากร

1067
01:09:24,779 --> 01:09:28,779
เป็นการรอแบบวนรอบ

1068
01:09:28,782 --> 01:09:32,777
หรือวนรอบ หรือภาษาเขีียนโปรแกรม

1069
01:09:32,777 --> 01:09:36,777
เราเรียกว่า "วนลูป" หรือ "วนรอบ"

1070
01:09:36,782 --> 01:09:40,782
ก็จะเกิดปัญหาการปิดตายขึ้น

1071
01:09:41,780 --> 01:09:45,780
นะครับ นี่คือปัญหา 3 ปัญหาที่เกิดขึ้นในระบบเรา

1072
01:09:45,805 --> 01:09:49,796
แต่เวลาเราออกแบบ OS ก็เกิดขึ้น

1073
01:09:49,796 --> 01:09:53,778

1074
01:09:53,778 --> 01:09:57,776
หัวข้อสุดท้ายนะครับ

1075
01:09:57,776 --> 01:10:01,776
ของบทนี้นะครับ เธรดนะครับ

1076
01:10:01,779 --> 01:10:05,779
เขาบอกในระบบปฏิการยังใช้แบบนี้อยู่

1077
01:10:05,789 --> 01:10:09,789
บางตัวซึ่งเราใช้แล้วนะครับ เราใช้แบบนี้อยู่

1078
01:10:09,794 --> 01:10:13,780
นะครับ ถ้าเป็นสมัยก่อนยังไม่เกิดระบบ

1079
01:10:13,780 --> 01:10:17,780
นะครับ เธรด ก็คือเป็นการที่ระบบปฏิบัติการ

1080
01:10:17,786 --> 01:10:21,779
แบ่งย่อย Processing ออกมาเป็นส่วน ๆ

1081
01:10:21,779 --> 01:10:25,779
ดูรูปประกอบเลยนะครับ

1082
01:10:25,780 --> 01:10:29,776

1083
01:10:29,776 --> 01:10:33,776
นี่... ทำไมไม่ขึ้น

1084
01:10:33,780 --> 01:10:37,780
ขวามือผมนะครับ Process A

1085
01:10:37,781 --> 01:10:41,776
กับ Process B

1086
01:10:41,776 --> 01:10:45,776
Process A

1087
01:10:45,778 --> 01:10:49,776
โค้ดโปรแกรม

1088
01:10:49,776 --> 01:10:53,776
แล้วก็ข้อมูลองค์ประกอบอื่น ๆ

1089
01:10:53,777 --> 01:10:57,777
เขียนโปรแกรมแบบไม่ใช่เธรด แต่

1090
01:10:57,778 --> 01:11:01,777
พอเทรดปุ๊บ มันจะแบ่งส่วนเทรด

1091
01:11:01,777 --> 01:11:05,777
1, 2, 3, 4, 5 เป็นส่วนย่อยนะครับ

1092
01:11:05,778 --> 01:11:09,777
เราแบ่ง มีประโยชน์อะไร

1093
01:11:09,777 --> 01:11:13,777
นะครับ มันจะให้ทำงานเร็วขึ้น สามารถ

1094
01:11:13,779 --> 01:11:17,777
ทำงานกับหน่วยความจำที่มีขนาดเล็กได้

1095
01:11:17,777 --> 01:11:21,777
แก้ไขง่าย นี่คือหลักการเขียนโปรแกรม

1096
01:11:21,779 --> 01:11:25,776
ใน ณ ปัจจุบันนี้นะครับ

1097
01:11:25,776 --> 01:11:29,776
เดี๋ยวพอเราเขียนโปรแกรม เราเรียนไปสัก ปี 2

1098
01:11:29,780 --> 01:11:33,779
ทำไมเราต้องมาเขียนเป็นแบบเทรด

1099
01:11:33,779 --> 01:11:37,779
โบราณนะครับ เขียนทีเดียว 100 บรรทัด 500 บรรทัด

1100
01:11:37,781 --> 01:11:41,777
เวลามีปัญหามาปุ๊บ การแก้ไขปัญหา

1101
01:11:41,777 --> 01:11:45,776
นะครับ แก้ไขยากนะครับ นี่คือหลักการ

1102
01:11:45,776 --> 01:11:49,776
ของการเขียนโปรแกรม

1103
01:11:49,776 --> 01:11:53,776
แจ้งพวกเรานะครับ เมื่อกี้ได้พูดไปแล้วนะครับ

1104
01:11:53,778 --> 01:11:57,778
สัปดาห์หน้านะครับ

1105
01:11:57,778 --> 01:12:01,778
เราก็จะไปศึกษาดูงานนอกสถานที่นะครับ

1106
01:12:01,779 --> 01:12:05,776
หมู่ 2 นะครับ หมู่ 2

1107
01:12:05,776 --> 01:12:09,776
หมู่ 1 ยังไม่ได้ไปนะครับ เราจะไปศึกษาดูงาน

1108
01:12:09,784 --> 01:12:13,776
ที่นครพนม ผมจะ

1109
01:12:13,776 --> 01:12:17,776
พาไปที่บุสบานก่อน

1110
01:12:17,779 --> 01:12:21,779
ไปดูหมู่บ้าน

1111
01:12:21,790 --> 01:12:25,786
อะไรไม่รู้จำไม่ได้นะครับ พวกทำเกี่ยวกับพื้นเมือง แล้วก็จะพาไปพิพิธภัณฑ์สัตว์น้ำ

1112
01:12:25,786 --> 01:12:29,778

1113
01:12:29,778 --> 01:12:33,778
นครพนม ก็สัปดาห์หน้าก็

1114
01:12:33,782 --> 01:12:37,780
หมู่ 1 ก็ต้องมาเรียน ก็เห็นพี่พลอย

1115
01:12:37,780 --> 01:12:41,778
ประสานไปที่อาจารย์อะไรนะที่เราเรียนน่ะ ตอนเช้าน่ะ

1116
01:12:41,778 --> 01:12:45,778
ก็เรียนด้วยกันใช่ไหม

1117
01:12:45,779 --> 01:12:49,778
เห็นว่าอาจารย์ว่าคณะมนุษย์ฯ ก็

1118
01:12:49,778 --> 01:12:53,778
ไหว้ครู แต่ว่าสัปดาห์หน้าเราไม่มีเรียน

1119
01:12:53,781 --> 01:12:57,781
นะครับ ห้อง 1 นะมีเรียน แต่สัปดาห์หน้าหมู่ 2

1120
01:12:57,781 --> 01:13:01,779
เราจะไปนอกสถานที่

1121
01:13:01,779 --> 01:13:05,777
จะพาไปดูอะไรนะ ไปดู

1122
01:13:05,777 --> 01:13:09,777
ปลาบึก เขาจะป้อนอาหารปลาบึก

1123
01:13:09,787 --> 01:13:13,776
เอาอุบลไปให้อาหารปลา อุบลนะ

1124
01:13:13,776 --> 01:13:17,776
ก็ไปทั้งวันนะครับ

1125
01:13:17,776 --> 01:13:21,776
ก็แจ้งพวกเราไว้ สัปดาห์หน้าก็หยุด

1126
01:13:21,778 --> 01:13:25,778
นะครับ สัปดาห์ถัดไปก็เจอกันโน้นเลยครับ

1127
01:13:25,781 --> 01:13:29,781
นะครับ ก็ตอนนี้เราเปิดเทอมมาได้

1128
01:13:29,781 --> 01:13:33,781
เดือนหนึ่งนะครับ เป็นอย่างไรครับ ปรับตัวได้

1129
01:13:33,785 --> 01:13:37,785
ได้แล้วนะ บางคนก็ส่งงานไว้ที่โต๊ะนะครับ เดี๋ยว

1130
01:13:37,787 --> 01:13:41,780
ผมจะส่งคืนให้นะ ผมจะตรวจ

1131
01:13:41,780 --> 01:13:45,780
แล้วส่งคืนให้ ส่งคืนให้ เราเอาเก็บไว้อ่านสอบ

1132
01:13:45,780 --> 01:13:49,780
แบบฝึกหัดที่ผมให้ทำ

1133
01:13:49,782 --> 01:13:53,782
มีใครอยากจะถามอะไรเพิ่มเติมไหมครับ

1134
01:13:53,785 --> 01:13:57,775

1135
01:13:57,775 --> 01:14:01,775
ครับ ถ้าไม่มีก็...

1136
01:14:01,778 --> 01:14:05,778

1137
01:14:05,781 --> 01:14:09,777
Process พ่อเกิดอย่างไร

1138
01:14:09,777 --> 01:14:13,777
Process พ่อเกิดขึ้นจากิ

1139
01:14:13,791 --> 01:14:17,779
การที่เมื่อเวลาใดเวลาหนึ่ง เช่น เรา... สมมตินะ ๆ

1140
01:14:17,779 --> 01:14:21,778
ผมเป็น Process ผมต้องการจะ

1141
01:14:21,778 --> 01:14:25,778
จะเข้าไปครอบครอง CPU ตัวของระบบปฏิบัติการจะสร้าง

1142
01:14:25,780 --> 01:14:29,777
Process หนึ่งขึ้นมา เพื่อมากำกับผม

1143
01:14:29,777 --> 01:14:33,777
ไป จะพาเข้าไปครอบครอง CPU นะ นี่

1144
01:14:33,777 --> 01:14:37,777
เป็นการให้กำเนิด เป็นการให้กำเนิด

1145
01:14:37,778 --> 01:14:41,778
เพื่อพา Process เข้าไป ตรงนี้เรียกว่า "Process พ่อ"

1146
01:14:41,779 --> 01:14:45,779
นะครับ นี่คือหลักการของมัน

1147
01:14:45,782 --> 01:14:49,779
นะครับ

1148
01:14:49,779 --> 01:14:53,776
ครับ ก็ต้อง

1149
01:14:53,776 --> 01:14:57,776
ขอบคุณพี่ล่ามมากนะครับ ที่ได้ให้การอนุเคราะห์เรา

1150
01:14:57,780 --> 01:15:01,777
มาอีก 1 สัปดาห์ สัปดาห์หน้า

1151
01:15:01,777 --> 01:15:05,777
เราไม่ได้เจอกันนะครับ พี่ล่าม สัปดาห์หน้าจะพาน้อง ๆ ไปนอกสถานที่

1152
01:15:05,780 --> 01:15:09,777
ก็ ถ้าไม่มีใครถามอะไรแล้วนะครับ

1153
01:15:09,777 --> 01:15:13,777
ก็เจอกันสัปดาห์หน้านะครับ ไปดูงานนอกสถานที่

1154
01:15:13,780 --> 01:15:17,780
กัน โอเคครับผม ไป

1155
01:15:24,180 --> 01:15:28,180

1156
01:15:24,738 --> 01:15:47,107
[สิ้นสุดการถอดความ]

1157
01:15:17,776 --> 01:15:21,776

1158
01:15:21,777 --> 01:15:25,776

1159
01:15:25,776 --> 01:15:29,776

1160
01:15:29,777 --> 01:15:33,776

1161
01:15:33,776 --> 01:15:37,776

1162
01:15:37,776 --> 01:15:41,776

1163
01:15:41,777 --> 01:15:45,777


