﻿1
00:00:00,000 --> 00:00:04,000

2
00:00:04,004 --> 00:00:08,004

3
00:00:08,008 --> 00:00:12,008

4
00:00:12,016 --> 00:00:16,016

5
00:00:16,021 --> 00:00:20,021

6
00:00:20,023 --> 00:00:24,023

7
00:00:24,026 --> 00:00:28,026

8
00:00:28,027 --> 00:00:32,027

9
00:00:32,030 --> 00:00:36,030

10
00:00:36,035 --> 00:00:40,035

11
00:00:40,037 --> 00:00:44,037

12
00:00:44,039 --> 00:00:48,039

13
00:00:48,041 --> 00:00:52,041

14
00:00:52,044 --> 00:00:56,044

15
00:00:54,470 --> 00:00:58,470
(อาจารย์พิเชนทร์) พี่ล่ามถอดหน้ากากได้ไหมครับ

16
00:00:58,473 --> 00:01:02,473

17
00:01:02,479 --> 00:01:06,479

18
00:01:06,480 --> 00:01:10,480

19
00:01:10,485 --> 00:01:14,485

20
00:01:14,488 --> 00:01:18,488

21
00:01:18,491 --> 00:01:22,491

22
00:01:22,494 --> 00:01:26,494

23
00:01:26,496 --> 00:01:30,496

24
00:01:30,499 --> 00:01:34,499

25
00:01:34,503 --> 00:01:38,503

26
00:01:38,505 --> 00:01:42,505

27
00:01:41,316 --> 00:01:45,316

28
00:01:45,319 --> 00:01:49,319

29
00:01:49,322 --> 00:01:53,322

30
00:01:53,324 --> 00:01:57,324

31
00:01:57,326 --> 00:02:01,326
ของการจัดการ

32
00:02:01,328 --> 00:02:05,328
Process นะครับ

33
00:02:05,331 --> 00:02:09,331
เราเคยได้ยินไหม

34
00:02:09,332 --> 00:02:13,332
Process

35
00:02:13,333 --> 00:02:17,333
ครับ ถามหมู่ 1 เคยได้ยินไหมครับ คำนี้

36
00:02:17,335 --> 00:02:21,335
เรียนตั้งแต่มัธยม

37
00:02:21,339 --> 00:02:25,339
Process คืออะไรเอ่ย

38
00:02:25,340 --> 00:02:29,340
Process ครับ

39
00:02:29,342 --> 00:02:33,342

40
00:02:33,346 --> 00:02:37,346

41
00:02:37,347 --> 00:02:41,347
เขาบอกว่านะครับ เขาให้ความหมาย ความหมายเยอะแยะ

42
00:02:41,349 --> 00:02:45,349
นะครับ แต่ความหมายที่เรา

43
00:02:45,350 --> 00:02:49,350
ใช้กันนะครับ เอกสารยังไม่ได้หรือ

44
00:02:49,351 --> 00:02:53,351
อยู่กับใครเอกสารหมดหรือยัง

45
00:02:53,352 --> 00:02:57,352
อยู่กับใครครับเอกสาร

46
00:02:57,353 --> 00:03:01,353
เหลืออยู่กับใคร

47
00:03:01,356 --> 00:03:05,356
มีไหม อยู่กับใครครับ เอกสารเหลือน่ะ

48
00:03:05,358 --> 00:03:09,358
หมดไหมครับ

49
00:03:09,359 --> 00:03:13,359
บทที่ 2 น่ะ

50
00:03:13,360 --> 00:03:17,360
อยู่กับใคร เหบลืออยู่กับใคร มันต้องเหลือสิ่

51
00:03:17,363 --> 00:03:21,363
มันต้อง 50 ชุดนะครับ ถ่ายมา

52
00:03:21,364 --> 00:03:25,364
อยู่ไหนล่ะ

53
00:03:25,366 --> 00:03:29,366
ห้อง 1 มันยังไม่เห็นเอกสารอาทิตย์ที่แล้ว

54
00:03:29,367 --> 00:03:33,367
วางไว้ที่โต๊ะไหน

55
00:03:33,369 --> 00:03:37,369
หรือหมู่ 1

56
00:03:37,372 --> 00:03:41,372
หมู่ 1 หมู่ 1 ส่

57
00:03:41,375 --> 00:03:45,375
ยังไม่ส่งใช่ไหม

58
00:03:45,377 --> 00:03:49,377

59
00:03:49,378 --> 00:03:53,378
เห็นแต่ของห้อง 2

60
00:03:53,383 --> 00:03:57,383
แต่ผมตรวขแล้วนะครับผมตรวจแล้วก็คืนให้แล้ว

61
00:03:57,385 --> 00:04:01,385
นะครับ ใครมาช้ามาเอา

62
00:04:01,386 --> 00:04:05,386
นะครับ

63
00:04:05,391 --> 00:04:09,391

64
00:04:09,392 --> 00:04:13,392
เอกสารที่ผมตรวจนะครับผมจะไม่ได้ตรวจให้ทุกขอ้ั

65
00:04:13,393 --> 00:04:17,393
ให้เฉย ๆ นะครับ เป็นการตรวจเช็กแต่ละสัปดาห์

66
00:04:17,393 --> 00:04:21,393
แล้วก็เราเอาไว้อ่านสอบนะครับ เพราะว่า

67
00:04:21,394 --> 00:04:25,394
ตอนนี้เราเรียน 2-3 สัปดาห์แล้วนะครับ จะครบเดือนแล้ว

68
00:04:25,404 --> 00:04:29,404
เดี๋ยวสัปดาห์หน้านะครับ

69
00:04:29,405 --> 00:04:33,405
ห้องหมู่ 2 จะไม่อยู่นะครับ

70
00:04:33,408 --> 00:04:37,408
ผมก็ไม่อยู่นะครับ สัปดาห์หน้าเราไม่มี

71
00:04:37,409 --> 00:04:41,409
นะครับ เราจะยกเลิกคลาสนะครับ เพราะว่าหมู่ 2 จะไป

72
00:04:41,410 --> 00:04:45,410
ศึกษาดูงานข้างนอกนะครับ

73
00:04:45,411 --> 00:04:49,411
ผมก็ไปด้วยนะครับ ทั้งวันนะครับ

74
00:04:49,412 --> 00:04:53,412
สัปดาห์ถัดไปปิดใช่ไหม

75
00:04:53,413 --> 00:04:57,413
หยุด สัปดาห์ถัดไปอีกเรียน สัปดาห์ถัดไปหยุดอีก

76
00:04:57,415 --> 00:05:01,415
เดือนนี้หยุดเยอะนะครับ

77
00:05:01,416 --> 00:05:05,416
มาดูนะครับ Process นะครับ Process Process

78
00:05:05,417 --> 00:05:09,417
เขาให้ความหมายว่า

79
00:05:09,419 --> 00:05:13,419
Process คือ โปรแกรมที่กำลังถูก Execute

80
00:05:13,420 --> 00:05:17,420

81
00:05:17,422 --> 00:05:21,422
คืออะไร

82
00:05:21,423 --> 00:05:25,423
เคยได้ยินไหมครับ

83
00:05:25,426 --> 00:05:29,426
เขาบอก Process คือ โปรแกรมที่กำลังถูก Execute

84
00:05:29,430 --> 00:05:33,430
เป็นอย่างไรครับ Exsik

85
00:05:33,432 --> 00:05:37,432
ผมเชื่อว่าพวกเราจบ

86
00:05:37,434 --> 00:05:41,434
มัธยมศึกษาปีที่ 6 มา มันต้องเคยได้เน

87
00:05:41,434 --> 00:05:45,434
เรียนหรือยัง เรียนหรือยังครับหมู่ 1

88
00:05:45,435 --> 00:05:49,435
เรียนแล้วใช่ไหม

89
00:05:49,437 --> 00:05:53,437
นะครับ ถามตอบด้วยเด้อ ถามตอบ

90
00:05:53,439 --> 00:05:57,439
มีปฏิสัมพันธ์ด้วยนะครับ

91
00:05:57,441 --> 00:06:01,441
เพราะเราทุกวันนี้นะครับ เราค่อนข้างขาดปฏิสัมพันธ์

92
00:06:01,442 --> 00:06:05,442
นะครับ

93
00:06:05,443 --> 00:06:09,443
ผมเข้าใจนะ พวกเราเป็น Gener

94
00:06:09,444 --> 00:06:13,444
นะครับ เราเจนอะไรครับ

95
00:06:13,447 --> 00:06:17,447
เรา Genaration อะไร

96
00:06:17,448 --> 00:06:21,448
Gen Y หรอ แม่นหรอ

97
00:06:21,450 --> 00:06:25,450
ใช่ไหม ใช่หรือ เรา Gen y หรือ

98
00:06:25,451 --> 00:06:29,451
Gen อะไรดี

99
00:06:29,453 --> 00:06:33,453
ยังไม่รู้อีกตัวเอง Gen อะไร เดี๋ยวไปถามห้อง 2

100
00:06:33,454 --> 00:06:37,454
ยังไม่ถามห้อง 2 ถามห้อง 1 ก่อน

101
00:06:37,456 --> 00:06:41,456
ตอนนี้พวกเรามีปัญหานะครับ เรื่องของ

102
00:06:41,457 --> 00:06:45,457
ความแตกต่างระหว่าง Genaretion

103
00:06:45,457 --> 00:06:49,457
รุ่นผมนี่ คุยกับพวกเรานี่

104
00:06:49,459 --> 00:06:53,459
ไม่ค่อยรู้เรื่อง

105
00:06:53,460 --> 00:06:57,460
จริงไหม เราคนละ Generation

106
00:06:57,460 --> 00:07:01,460
นะครับ รุ่นพวกเรานี่

107
00:07:01,462 --> 00:07:05,462
ความอดทนน้อยนะครับ รอได้ไหม รอไม่ได้นะครับ

108
00:07:05,463 --> 00:07:09,463
จะเอาเดี๋ยวนี้จะกินข้าวก็จะกินเดี๋ยวนี้

109
00:07:09,464 --> 00:07:13,464
ถ้าจะให้ไปต่อคิวก็ไม่ไป

110
00:07:13,468 --> 00:07:17,468
เห็นไหมครับ มันถึงเกิดอะไรขึ้นมา ขาย

111
00:07:17,469 --> 00:07:21,469
พวกแก๊บ พวก Food Panda ใช่ไหม

112
00:07:21,471 --> 00:07:25,385

113
00:07:25,473 --> 00:07:29,473
จากที่ผมอ่านนะครับ อ่าน

114
00:07:29,476 --> 00:07:33,476
ทดสอบก่อนเรียนพวกเรา ก็พื้นฐาน

115
00:07:33,477 --> 00:07:37,477
พอ ๆ กันนะ พอ ๆ กันนะครับ

116
00:07:37,478 --> 00:07:41,478
ก็คือ ยังไม่เข้าใจ

117
00:07:41,479 --> 00:07:45,479
ความหมาย ยังไม่เข้าใจหลักการของคอมพิวเตอร์มาก

118
00:07:45,480 --> 00:07:49,480
ก็ไม่เป็นไรนะครับ จริง  ๆ อย่างที่ผมบ

119
00:07:49,482 --> 00:07:53,482
เราควรจะจัดให้เรียนอยู่ชั้นปีที่ 3 นะครับ แต่เราก็

120
00:07:53,483 --> 00:07:57,483
มาจัด ปี 1 เทอม 1

121
00:07:57,485 --> 00:08:01,485
ก็ไม่เป็นไรนะครับ ก็ปรับเอา เขาบอกว่า Process

122
00:08:01,486 --> 00:08:05,486
โปรแกรมที่กำลังถูก Execute

123
00:08:05,488 --> 00:08:09,488
สัปดาห์ก่อนใช่ไหม พอเราส่งข้อมูลจากคีย์บอร์ด

124
00:08:09,489 --> 00:08:13,489
ใช่ไหมครับ

125
00:08:13,490 --> 00:08:17,490
ส่งจากคีย์บอร์ปุ๊บเข้าไปไหนครับ คิดตาม

126
00:08:17,492 --> 00:08:21,492
เข้าไปไหน

127
00:08:21,494 --> 00:08:25,494
คีย์บอร์ด คือ Input ใช่ไหม

128
00:08:25,497 --> 00:08:29,497
พอเข้าไปในคอมพิวเตอร์เราเรียกว่าเข้าไปอะไร

129
00:08:29,498 --> 00:08:33,498
ไปประมวลผลใช่ไหมครับ ประมวลผลเสร็จ

130
00:08:33,499 --> 00:08:37,499
ทำอะไรต่อ

131
00:08:37,500 --> 00:08:41,500
ก็ไปแสดงผลใช่ไหม นี่คือหลักของมัน

132
00:08:41,508 --> 00:08:45,508
Input ประมวลผล Process

133
00:08:45,509 --> 00:08:49,509
แล้วก็ออกไป Output

134
00:08:49,510 --> 00:08:53,510
เขาบอกว่า Process คือโปรแกรม

135
00:08:53,511 --> 00:08:57,511
กำลังถูก Execute นั่นหมายความว่า... บางคนให้ความหมายว่า

136
00:08:57,512 --> 00:09:01,512
เป็นโปรแกรมที่เข้าไปครอบครอง CPU

137
00:09:01,513 --> 00:09:05,513
หรือเข้าไปใช้งาน CPU

138
00:09:05,515 --> 00:09:09,515
แล้วแต่เอกสารตำราแต่ละคนแต่ง

139
00:09:09,517 --> 00:09:13,517
นะครับ คือ หลักการคำว่า "Process" ก็คือ

140
00:09:13,518 --> 00:09:17,518
โปรแกรมที่กำลังถูก Excil

141
00:09:17,520 --> 00:09:21,520
ในคอมพิวเตอร์เรา มันจะมีไฟล์อยู่ไฟล์หนึ่ง เป็น

142
00:09:21,522 --> 00:09:25,522
นามสกุล ไฟล์ทุกไฟลืต้องมีนามสกุล

143
00:09:25,523 --> 00:09:29,523
ดูรายละเอียดต่อไปนะครับ ก็คือนามสกุลที่ .exe

144
00:09:29,527 --> 00:09:33,527
เคยเห็ฯไหมเคยสังเกตไหมเวลาเราใช้

145
00:09:33,528 --> 00:09:37,528
หรือไม่รู้เปิดขึ้นมาใช้แล้วก็ปิด

146
00:09:37,529 --> 00:09:41,529
นะครับ เราอย่าไปดู

147
00:09:41,530 --> 00:09:45,530
ในสไลด์อาจารย์มากนะ อาจารย์ก็พูดไปเรื่อยนะ

148
00:09:45,531 --> 00:09:49,531
มันไม่ได้อยู่ในนี้

149
00:09:49,533 --> 00:09:53,533
คราวนี้ถ้า Process

150
00:09:53,534 --> 00:09:57,534
ถ้าโปรแกรมเดียว โปรแกรม...

151
00:09:57,535 --> 00:10:01,535
ทำงานปุ๊บเป็นอย่างไรครับ ยุ่งยากไหม

152
00:10:01,537 --> 00:10:05,537
Imput เสร็จ เข้าไปประมลผลเสร็จ

153
00:10:05,538 --> 00:10:09,538
เข้าไปประมวลผลเสร็จ แสดงออก ถ้าโปรแกรมเดียว

154
00:10:09,542 --> 00:10:13,542
ไม่มีปัญหานะครับ แต่ถ้าเมื่อไหร่ก็ตามที่

155
00:10:13,544 --> 00:10:17,544
มีหลาย ๆ โปรแกรมทำงานพร้อมกัน ที่เขาบอกว่าเป็นระบบหลายโปรแกรม

156
00:10:17,546 --> 00:10:21,546
เขาบอก Process

157
00:10:21,546 --> 00:10:25,546
อาจเปรียบได้กับรถยนต์ คือ มีรถยนต์หลายคัน

158
00:10:25,547 --> 00:10:29,547
และตัวของ

159
00:10:29,548 --> 00:10:33,548
CPU เอง ก็เปรียบเหมือนคนขับ

160
00:10:33,549 --> 00:10:37,549
เหมือนกับว่า คอมพิวเตอร์เรา

161
00:10:37,550 --> 00:10:41,550
แต่มีคนต้องการใช้งานเยอะ โปรแกรมเยอะ ต้องทำอย่างไรครับ

162
00:10:41,551 --> 00:10:45,551
วิธีการมัน ถ้าเป็นเรา เราทำอย่างไรครับ

163
00:10:45,552 --> 00:10:49,552
เช่น มีรถอยู่ 5 คัน

164
00:10:49,553 --> 00:10:53,553
มีคนขับอยู่คนเดียว ทำอย่างไรจึงจะขับเข้าๆ

165
00:10:53,555 --> 00:10:57,555
พร้อมกันได้

166
00:10:57,557 --> 00:11:01,557
ลากรถ 4 คัน คนอื่นล่ะ

167
00:11:01,558 --> 00:11:05,558
คนอื่นล่ะทำอย่างไร

168
00:11:05,560 --> 00:11:09,560
คนอื่นมีวิธีการอื่นไหมครับ

169
00:11:09,562 --> 00:11:13,562
หลักการคอมพิวเตอร์เวลาทำงาน

170
00:11:13,564 --> 00:11:17,564
ใช่ไหม โปรแกรมจะเข้าไปทำงาน เข้าไปครอบ

171
00:11:17,566 --> 00:11:21,566
CPU ได้ที่ละ 1 โปรแกรม ก็เหมือนคนเรานี่

172
00:11:21,569 --> 00:11:25,569
ขัยรถ ขับได้ทีละคัน

173
00:11:25,570 --> 00:11:29,570
จะลากจะพ่วง ทำไม่ได้ หลักการทำไม่ได้

174
00:11:29,572 --> 00:11:33,572
ทำอย่างไรดีล่ะ วิธีการก็คือ

175
00:11:33,574 --> 00:11:37,574
ขึ้นไปขับคันที่ 1 จากราชภัฏสกลนคร

176
00:11:37,576 --> 00:11:41,576
แล้วไปจอด

177
00:11:41,577 --> 00:11:45,577
กลับมาขับครั้งที่ 2 ก็มา... คันที่ 4 คันที่ 5

178
00:11:45,579 --> 00:11:49,579
นะครับ พอถึงขับไปใหม่ขับ

179
00:11:49,580 --> 00:11:53,580
ไปถึงหน้าประตูเมือง ย้อนไปที่ 1, 2, 3, 4, 5 อย่างนี้

180
00:11:53,581 --> 00:11:57,581
นะครับ แต่

181
00:11:57,583 --> 00:12:01,583
เวลาทำงานจริงเป็นอย่างไรครับ คอมพิวเตอร์ทำงานด้วยความเร็ว

182
00:12:01,590 --> 00:12:05,590
สูงไหม

183
00:12:05,591 --> 00:12:09,591
หายใจทันไหมครับ ทันไหม

184
00:12:09,592 --> 00:12:13,592
ไม่น่าทันนะ

185
00:12:13,596 --> 00:12:17,596
การทำงานจริง ๆ มันจะทำงานเหมือนที่อาจารย์

186
00:12:17,598 --> 00:12:21,598
ยกตัวอย่างเมื่อกี้ ไปทีละคัน ๆ

187
00:12:21,601 --> 00:12:25,601
แต่พอมาทำงานจริงมันทำงานได้ความเร็วสูง มันเลยเหมือนประหนึ่ง

188
00:12:25,605 --> 00:12:29,605
ว่ามันไปพร้อม ๆ กันเลย

189
00:12:29,622 --> 00:12:33,622
นะครับ นี่คือหลักการทำงานของคอมพิวเตอร์

190
00:12:33,624 --> 00:12:37,624
อย่างยกตัวอย่างนี้ ระบบ

191
00:12:37,625 --> 00:12:41,625
CPU เป็นคนขับโปรแกรมหลาย ๆ โปรแกรม เหมือนรถ

192
00:12:41,626 --> 00:12:45,626
นะครับทำอย่างไรให้ไปด้วยความเร็วสูง

193
00:12:45,628 --> 00:12:49,628

194
00:12:49,630 --> 00:12:53,630
คราวนี้มาดู

195
00:12:53,631 --> 00:12:57,631
องค์ประกอบของ Process นะครับ

196
00:12:57,633 --> 00:13:01,633
Process มีองค์ประกอบอะไรบ้าง

197
00:13:01,635 --> 00:13:05,635
พอเรียนจบบทนี้นะครับ นักศึกษาก็จะงง

198
00:13:05,637 --> 00:13:09,637
เริ่มงงนะ มันเริ่มเหมือนบทที่ 1 ใช่ไหม

199
00:13:09,638 --> 00:13:13,638
พื้นฐานนะครับ งงไม่ต้องตกใจครับ

200
00:13:13,639 --> 00:13:17,639
ค่อย ๆ ปรับนะครับ

201
00:13:17,640 --> 00:13:21,640
ปรับสภาพแวดล้อม ปรับสภาพหลาย ๆ อย่างนะครับ

202
00:13:21,641 --> 00:13:25,641
แล้วตอนนี้ห้องแล็ปเราก็ยังใช้ไม่ได้ใช่ไหม

203
00:13:25,643 --> 00:13:29,643
อาจารย์เข้าแจ้งหรือยังว่าใช้ได้เมื่อไหร่ อาคาร 7 เรา

204
00:13:29,644 --> 00:13:33,644
ไม่แจ้งเพราะว่าเราไม่รู้ว่าจะใช้ได้เมื่อไหร่

205
00:13:33,645 --> 00:13:37,645
ผมแวะไปเมื่อวานก็ไม่มีทีท่าว่าจะได้ใช้เลยนะ

206
00:13:37,646 --> 00:13:41,646
คนทำก็นั่งทำง็อกแง็ก ๆ อยู่คน 2 คน

207
00:13:41,649 --> 00:13:45,649
เทอมนี้ผมว่าไม่น่าทันนะ น่าจะได้ใช้เทอมหน้า

208
00:13:45,652 --> 00:13:49,652
นะครับ เทอมหน้าก็

209
00:13:49,653 --> 00:13:53,653
เราอยากได้เทอมหน้า ก็เป็นรุ่นพวกเราได้ใช้

210
00:13:53,655 --> 00:13:57,655
นะครับ เทอมหน้า

211
00:13:57,656 --> 00:14:01,656
องค์ประกอบตัวที่ 1 ของ Process นะครับ ก็คือ 1. Process

212
00:14:01,657 --> 00:14:05,657
ทุกวตัวจะต้องมีชื่อและหมายเลขประจำตัว

213
00:14:05,659 --> 00:14:09,659
นะครับ Process ID

214
00:14:09,662 --> 00:14:13,662
นะครับ และจะต้อง

215
00:14:13,663 --> 00:14:17,663
ไม่ซ้ำกันนะครับ

216
00:14:17,664 --> 00:14:21,664
เหมือนชื่อ ไฟล์น่ะ

217
00:14:21,666 --> 00:14:25,666

218
00:14:25,668 --> 00:14:29,668
ได้ไหมครับ ชื่อไฟลืนามสกุลไฟล์

219
00:14:29,670 --> 00:14:33,670
นะครับ องค์ประกอบ Process อีกตัวหนึ่ง คือ

220
00:14:33,672 --> 00:14:37,672
ชื่อและหมายเลขประจำตัวเหมือนหมายเลขบัตรประจำตัวเราน

221
00:14:37,674 --> 00:14:41,674
เราซ้ำกันได้ไหมครับ ได้ไหม

222
00:14:41,675 --> 00:14:45,675
ไม่ได้นะครับ แต่ถ้าถาม

223
00:14:45,679 --> 00:14:49,679
ย้อนกลับว่าชื่อและนามสกุลมีโอกาสซ้ำกันได้ไหม

224
00:14:49,681 --> 00:14:53,681
ได้นะครับเพราะอะไร

225
00:14:53,682 --> 00:14:57,682
เช่น อาจจะมีพิเชน จันทร์ปุ่ม เหมือนกัน

226
00:14:57,683 --> 00:15:01,683
เพราะอะไรครับ เพราะอาจจะมีญาติพี่น้อง

227
00:15:01,684 --> 00:15:05,684
นามสกุลเหมือนกัน บังเอิญว่าชื่อพิเชนทร์มันเพราะ เลยตั้งเหมือนกัน

228
00:15:05,686 --> 00:15:09,686
เลข 123 หลักห้ามซ้ำกัน

229
00:15:09,687 --> 00:15:13,687
องค์ประกอบอันที่ 2 ของ

230
00:15:13,688 --> 00:15:17,688
Process ทุก Pro

231
00:15:17,689 --> 00:15:21,689
มีโค้ดนะครับ เป็นโค้ดนะครับ

232
00:15:21,690 --> 00:15:25,690
เป็น code เป็นรหัส

233
00:15:25,691 --> 00:15:29,691
คำว่า "โค้ด" ก็คือจะต้อง Execute ได้ทันที

234
00:15:29,692 --> 00:15:33,692
คือภาษาเครื่องแปล้รียบร้อยแล้ว

235
00:15:33,693 --> 00:15:37,693
นะครับ

236
00:15:37,694 --> 00:15:41,694
องค์ประกอบอันที่ 3 ก็คือข้อมูล

237
00:15:41,696 --> 00:15:45,696
Data ข้อมูลนี้นะครับ

238
00:15:45,697 --> 00:15:49,697
เขาบอกว่าโปรแกรม

239
00:15:49,698 --> 00:15:53,698
ต้องการหรือจัดการข้อมูลอาจจะเป็นของ Process ใด Process หนึ่ง

240
00:15:53,699 --> 00:15:57,699
หรืออาจจะใช้ข้อมูลร่วมกันกับ Process

241
00:15:57,700 --> 00:16:01,700
ใช้ร่วมกันได้ ตัวอย่างของ Process

242
00:16:01,702 --> 00:16:05,702
ที่ใช้ข้อมูลร่วมกัน เช่น

243
00:16:05,703 --> 00:16:09,703
Process ในระบบฐานข้อมูล

244
00:16:09,705 --> 00:16:13,705
นะครับ

245
00:16:13,705 --> 00:16:17,705
เช่น ฐานข้อมูลระบบทะเบียนราชภัฏสกลนคร

246
00:16:17,708 --> 00:16:21,708
เช่นเรามา

247
00:16:21,710 --> 00:16:25,710
รายงานตัวเป็นนักศึกษานะครับ ขึ้นทะเบียนปุ๊บ

248
00:16:25,710 --> 00:16:29,710
พอเราไปห้องสมุดก็ใช้ฐานข้อมูลเดียวกัน

249
00:16:29,712 --> 00:16:33,712
ในการเงิน ก็ใช้ฐานข้อมูลชุดเดียวกัน

250
00:16:33,714 --> 00:16:37,714
นะครับศูนย์คอมไปกอง

251
00:16:37,715 --> 00:16:41,715
ก็ฐานข้อมูลอันเดียวกันนะครับ โดยใช้ฐานข้อมูลร่วมกัน

252
00:16:41,716 --> 00:16:45,716
นะครับ

253
00:16:45,718 --> 00:16:49,718
องค์ประกอบ

254
00:16:49,721 --> 00:16:53,721
อันที่ 4 ของ Process ก็คือ

255
00:16:53,723 --> 00:16:57,723
Process  Control Block นะครับ หรือบล็อกควบคุมโปรแกรม

256
00:16:57,724 --> 00:17:01,724
ระบบปฎิบัติการจะกำหนดเนื้อที่บางส่วน

257
00:17:01,726 --> 00:17:05,726
กำหนดเนื้อที่บางส่วนในหน่วยความจำ ทำเป็น Process

258
00:17:05,727 --> 00:17:09,727
Contoln bO

259
00:17:09,729 --> 00:17:13,729
หรือ PCB นะครับ

260
00:17:13,730 --> 00:17:17,568

261
00:17:17,731 --> 00:17:21,731
กำหนดไว้ทำไมนะครับ ก็คือ 1. กำหนดไว้เป็น Process

262
00:17:21,732 --> 00:17:25,732
กำหนดไว้เพื่อเป็น

263
00:17:25,733 --> 00:17:29,733

264
00:17:29,734 --> 00:17:33,734
เก็บหมาเลขความสำคัญของ Process

265
00:17:33,735 --> 00:17:37,735
อยู่ใน PCB นะครับ

266
00:17:37,736 --> 00:17:41,736
ใน Process แต่ละตัวจะมี

267
00:17:41,737 --> 00:17:45,737
บล็อกควบคุมโปรแกรมหรือ PCB อยู่นะครับ ซึ่ง PCB นี้

268
00:17:45,738 --> 00:17:49,738
ก็จะเก็บสถานะของ Process

269
00:17:49,742 --> 00:17:53,742
แล้วก็เก็บลำดับความสำคัญของ Process เอาไว้นะครับ

270
00:17:53,743 --> 00:17:57,743
นอกจากนั้น

271
00:17:57,744 --> 00:18:01,744
ก็ยังเก็บสารสนเทศที่เกี่ยวกับ

272
00:18:01,747 --> 00:18:05,747
การจัดการหน่วยความจำของ Process

273
00:18:05,748 --> 00:18:09,748
ข้อมูลรับส่งข้อมูลของ Process

274
00:18:09,748 --> 00:18:13,748
หรือเก็บข้ามูลสำคัญของ Pro

275
00:18:13,749 --> 00:18:17,749
ใน PCB นั่นเองนะครับ พื้นที่จัดเก็บ คือ Register

276
00:18:17,750 --> 00:18:21,750
นะครับ

277
00:18:21,751 --> 00:18:25,751
Register คือ หน่วยความจำขนาดเล็ก

278
00:18:25,753 --> 00:18:29,753
ที่ในหน่วยความจำ ส่วนในรายละเอียดต่าง ๆ

279
00:18:29,755 --> 00:18:33,755
อาจารย์จะพูดในบทที่ 3, 4, 5 นะครับ อันนี้พูดคร่าว ๆ ก่อน

280
00:18:33,756 --> 00:18:37,756
ให้พวกเรามอภาพกว้าง ๆ

281
00:18:37,757 --> 00:18:41,740

282
00:18:41,760 --> 00:18:45,760

283
00:18:45,760 --> 00:18:49,760
ครับผม

284
00:18:49,763 --> 00:18:53,707

285
00:18:53,765 --> 00:18:57,765

286
00:18:57,766 --> 00:19:01,766

287
00:19:01,768 --> 00:19:05,768

288
00:19:05,771 --> 00:19:09,771

289
00:19:09,773 --> 00:19:13,732

290
00:19:13,774 --> 00:19:17,774

291
00:19:17,775 --> 00:19:21,775
ดูต่อนะครับ

292
00:19:21,780 --> 00:19:25,780
องค์ประกอบต่อมา

293
00:19:25,781 --> 00:19:29,781
นะครับ ของ Process ก็คือ

294
00:19:29,783 --> 00:19:33,783
นะครับ

295
00:19:33,786 --> 00:19:37,786
หรือ PSW นะครับ Program Status Words นะครับ

296
00:19:37,788 --> 00:19:41,788
เป็นตัวควบคุมลับดับของ Exci

297
00:19:41,790 --> 00:19:45,790
ของ Process

298
00:19:45,791 --> 00:19:49,791
มันจะบอกว่า Process นี้จะเข้าไปครอบครอง

299
00:19:49,794 --> 00:19:53,794
CPU ลำดับที่เท่าไรนะครับ

300
00:19:53,795 --> 00:19:57,795

301
00:19:57,796 --> 00:20:01,796
ต่อมานะครับ คุณสมบัติของ Process นะครับ แต่ละ Process

302
00:20:01,798 --> 00:20:05,798
จะมีคุณสมบัติดังต่อไปนี้

303
00:20:05,799 --> 00:20:09,799
นะครับ ก็คือ 1. Process ทุก

304
00:20:09,801 --> 00:20:13,801
ตัวจะมีบำดับความสำคัญ

305
00:20:13,803 --> 00:20:17,803
ต่างกันนะครับ Process ทุก Process

306
00:20:17,804 --> 00:20:21,804
จะมีลำดับความสำคัญ เช่น

307
00:20:21,806 --> 00:20:25,806
Process A อาจจะมีความสำคัญมากกว่า Process B หรือ Process ของ

308
00:20:25,808 --> 00:20:29,808
ผู้ดูแลรับอาจจะมีความสำคัญมากกว่าข

309
00:20:29,809 --> 00:20:33,809
ของ User อย่างนี้ อันที่ 2

310
00:20:33,810 --> 00:20:37,810
คุณสมบัติอันที่ 2 อำนาจหน้าที่

311
00:20:37,812 --> 00:20:41,812
Process ทุกตัวจะมีอำนาจหน้าที่ที่ต่างกัน เช่น Process

312
00:20:41,814 --> 00:20:45,814
ของผู้ดุแลระบบมีอนาจ

313
00:20:45,815 --> 00:20:49,815
มากกว่าของ User อย่างนี้เป็นต้นนะครับ หรือ

314
00:20:49,816 --> 00:20:53,816
คุณสมบัติอื่น ๆ ที่

315
00:20:53,817 --> 00:20:57,817
OS กำหนด

316
00:20:57,818 --> 00:21:01,818
อันนี้ขึ้นอยู่กับ OS ครับ

317
00:21:01,819 --> 00:21:05,819
เช่น ใช้ Windows 8

318
00:21:05,820 --> 00:21:09,820
ใช้ Windows 10

319
00:21:09,821 --> 00:21:13,821
ของ Process ก็จะต่างออกไป ยกตัวอย่างเช่นนะครับ

320
00:21:13,823 --> 00:21:17,823
Windoes 8

321
00:21:17,825 --> 00:21:21,825
สามารถตั้งชื่อได้

322
00:21:21,826 --> 00:21:25,826
ความยาวกี่ตัวอักษรรู้ไหม

323
00:21:25,828 --> 00:21:29,828
เคยไหม อาจารย์จะยังไม่บอกว่ากี่ตัวอักษรนะ

324
00:21:29,829 --> 00:21:33,829
เราสามารตั้งชื่อได้นะ

325
00:21:33,831 --> 00:21:37,831
นะครับ กับ Windows 11

326
00:21:37,832 --> 00:21:41,832
ต่างกันไหม ลองดูนะ ลองดู

327
00:21:41,834 --> 00:21:45,834
จะไปลองตอนภาคปฏิบัติ ลองสิว่าเรา

328
00:21:45,835 --> 00:21:49,835
ถ้าเกิดเป็น Window

329
00:21:49,840 --> 00:21:53,840
Windows 11 สามารถตั้งชื่อความยาวกี่ตัว

330
00:21:53,841 --> 00:21:57,841
นะครับ นี่คือคุณสมบัติที่แต่ละตัว

331
00:21:57,842 --> 00:22:01,842
เป็นคนกำหนดนะครับ

332
00:22:01,843 --> 00:22:05,843

333
00:22:05,844 --> 00:22:09,844
เมื่อกี้องค์ประกอบของ Process นะครับ คราวนี้องค์ประกอบ

334
00:22:09,846 --> 00:22:13,846
ของ Process นะครับ

335
00:22:13,847 --> 00:22:17,847
สไลด์นะครับ อยู่กับพี่พลอยนะ

336
00:22:17,848 --> 00:22:21,848
พลอยค่อย เอาขึ้นให้น้องนะครั

337
00:22:21,849 --> 00:22:25,849
อาจารย์ลืมอัปลงในไลน์กลุ่มนะครับ

338
00:22:25,851 --> 00:22:29,851
แวะดูก่อนนะครับ คราวนี้

339
00:22:29,853 --> 00:22:33,853
มาดูสถานะของ Process นะครับ Process ก็แบ่งออกเป็นสถานะ

340
00:22:33,854 --> 00:22:37,854
ได้ดังต่อไปนนี้นะครับ

341
00:22:37,855 --> 00:22:41,855
สถานะพร้อมเป็นอย่างไร

342
00:22:41,856 --> 00:22:45,856
สถานะพร้อมเป็นสถานะพร้อมที่ Process

343
00:22:45,856 --> 00:22:49,856
พร้อมที่จะใช้ CPU ทันทีที่

344
00:22:49,858 --> 00:22:53,858
OS มอบหมายให้

345
00:22:53,860 --> 00:22:57,860
รอแล้ว เหมือนเรารอคิวแล้ว ยืนรอแล้ว

346
00:22:57,861 --> 00:23:01,861
รอเข้าไปครอบครอง CPU

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

348
00:23:05,863 --> 00:23:09,863
เช่น

349
00:23:09,866 --> 00:23:13,866
เราจะไปเข้าห้องน้ำ ห้องน้ำเป็น CPU แล้วนะครับ เรายืนรอคิว

350
00:23:13,867 --> 00:23:17,867
นี่ เราพร้อมแล้ว พร้อมจะเข้าไปใช้งาน

351
00:23:17,868 --> 00:23:21,868
เราเรียกว่า "สถานะพร้อม" นะครับ สถานะที่ 2 คือ

352
00:23:21,868 --> 00:23:25,868
สถานะ run

353
00:23:25,870 --> 00:23:29,870
Run คืออะไรครับ สถานะ Run เป็นสถานะ

354
00:23:29,871 --> 00:23:33,871
Process กำลังครอบครอง CPU อยู่

355
00:23:33,872 --> 00:23:37,872
CPU อยู่ ก็คือเข้าไปครอบครอง CPU

356
00:23:37,874 --> 00:23:41,874
ที่เราเรียกว่า Run Progarm

357
00:23:41,875 --> 00:23:45,875
นี่คือสถานะ Run

358
00:23:45,878 --> 00:23:49,878
นะครับ

359
00:23:49,880 --> 00:23:53,880
สถานะที่ 3 นะครับ

360
00:23:53,881 --> 00:23:57,881
สถานะติดขัด

361
00:23:57,883 --> 00:24:01,883
เขาบอกว่าสถานะติดขัดเกิดจากการ

362
00:24:01,884 --> 00:24:05,884
ที่ Process หยุดรอ

363
00:24:05,885 --> 00:24:09,885
เหตุการณ์ใดเหตุการณ์หนึ่งให้เกิดขึ้น

364
00:24:09,886 --> 00:24:13,886
โดย Process ไม่จำเป็นต้องใช้ CPU

365
00:24:13,887 --> 00:24:17,887
และมันต้องไปครอบครอง CPU เราไม่รู้

366
00:24:17,888 --> 00:24:21,888
เหตุการณ์นั้นคือเหตุการณ์อะไร ไม่รู้

367
00:24:21,890 --> 00:24:25,890
ยกตัวอย่างเช่น

368
00:24:25,891 --> 00:24:29,891
ผมกับแม็กกี้หรือกับอุบล

369
00:24:29,892 --> 00:24:33,892
ผมเป็น Process A ไปยืนรอคิวใน

370
00:24:33,893 --> 00:24:37,893
สถานะพร้อม อุบลรอผมคนที่ 2

371
00:24:37,894 --> 00:24:41,894
คนที่ 2 ผมเปลี่ยนจากสถานะ

372
00:24:41,895 --> 00:24:45,895
พร้อมเข้าเป็นสถานะ Run ก็คือ

373
00:24:45,896 --> 00:24:49,896
เข้าไปครอบครอง CPU

374
00:24:49,897 --> 00:24:53,897
อุบลก็รออยู่สถานะพร้อม

375
00:24:53,898 --> 00:24:57,898
ในจังหวะที่ผมกำลังครอบครอง CPU อยู่ บังเอิญว่า

376
00:24:57,900 --> 00:25:01,900
ผมจำเป็นจะต้อง

377
00:25:01,902 --> 00:25:05,902
ไปพิมพ์งาน ไปพิมพ์เอกสาร ช่วงที่พิมพ์

378
00:25:05,903 --> 00:25:09,903
เอกสาร ผมจะต้องออกไปที่พรินต์เตอร์

379
00:25:09,904 --> 00:25:13,904
ไปที่พรินเตอร์ แล้วช่วงที่ออกไปที่พรินเตอร์นี่

380
00:25:13,905 --> 00:25:17,905
ต้องใช้งาน CPU

381
00:25:17,907 --> 00:25:21,907
จังหวะนี่ล่ะครับ เรียกว่าสถานะติดขัด

382
00:25:21,910 --> 00:25:25,910
คือเกิดเหตุการณ์ที่ตัวของ Process

383
00:25:25,913 --> 00:25:29,913
ออกไปติดต่ออุปกรณ์รองข้าง จังหวะนี้

384
00:25:29,915 --> 00:25:33,915
อุยลก็จะเข้ามาแทนที่ผม

385
00:25:33,916 --> 00:25:37,916
นึกออกไหมนะครับ ถ้าเขาถามว่าสถานะติดขัด

386
00:25:37,917 --> 00:25:41,917
จากอะไร เราก็บอกว่าเกิดจากสถานะ

387
00:25:41,918 --> 00:25:45,918
ที่ Process เข้าไปครอบครอง CPU แล้วนะครับ

388
00:25:45,919 --> 00:25:49,919
แต่เกิดเหตที่ Processเอ

389
00:25:49,920 --> 00:25:53,920
ไม่จำเป็นจะต้องครอบครอง CPU ต่อ

390
00:25:53,921 --> 00:25:57,921
หรือ ไปติดต่ออุปกรณ์ข้างนอก

391
00:25:57,922 --> 00:26:01,922
อุปกรณ์รอบข้างแทน ต้องปล่อย CPU ออกไป Process ใหม่ก็

392
00:26:01,924 --> 00:26:05,924
เข้ามาครองแทนที่นะครับ

393
00:26:05,925 --> 00:26:09,925
นี่คือสถานะติดขัด

394
00:26:09,926 --> 00:26:13,926
สถานะต่อมานะครับ สถานะพัก

395
00:26:13,927 --> 00:26:17,927
เขาบอกสถานะพัก

396
00:26:17,928 --> 00:26:21,928
ก็คือาถานะ Process ไม่มีการทำง

397
00:26:21,930 --> 00:26:25,930
ก็คือจบสมบูรณ์ เช่น ผมไปครอบครอง

398
00:26:25,933 --> 00:26:29,933
CPU ทำงานเสร็จสิ้นแล้วปุ๊บ ออก

399
00:26:29,935 --> 00:26:33,935
จบเลย มาทำงานต่อ ได้พัก จบนะครับ

400
00:26:33,936 --> 00:26:37,936

401
00:26:37,938 --> 00:26:41,938

402
00:26:41,940 --> 00:26:45,940
ซึ่ง Process นั้นนะครับ

403
00:26:45,943 --> 00:26:49,943
สามารถที่จะเปลี่ยนสถานะหนึ่งเป็น

404
00:26:49,945 --> 00:26:53,945
สถานะหนึ่ง ได้ตลอดเวลา

405
00:26:53,946 --> 00:26:57,946
นะครับ ขึ้นอยู่ว่า ณ ตรงนั้นอยู่ในสถานะอะไร

406
00:26:57,948 --> 00:27:01,948
อาจจะพร้อม พร้อมเสร็จ

407
00:27:01,949 --> 00:27:05,949
เข้าไป Run Run เสร็จปุ๊บต้องไปติดต่ออุปกรณ์รอบข้าง

408
00:27:05,950 --> 00:27:09,950
เป็นสถานะติดขัด พอติดขัดเสร็จก็

409
00:27:09,952 --> 00:27:13,952
กลับไปพร้อมใหม่ พร้อมเสร็จเข้าไป Run Run

410
00:27:13,954 --> 00:27:17,954
เสร็จแล้ว จบแล้วไปพัก

411
00:27:17,955 --> 00:27:21,955
นะครับ มันจะเปลี่ยนไปอย่างนี้ตลอดเวลานะครับ

412
00:27:21,957 --> 00:27:25,806

413
00:27:25,967 --> 00:27:29,967

414
00:27:29,968 --> 00:27:33,968

415
00:27:33,969 --> 00:27:37,969
อันนี้อาจารย์อธิบายไปแล้วนะครับ

416
00:27:37,975 --> 00:27:41,975
อันนี้อาจารย์ ฮธิบายไปแล้วนะครับลอง

417
00:27:41,976 --> 00:27:45,976
ดูรูปนะครับ เห็นไหมครับ

418
00:27:45,978 --> 00:27:49,978
ในรูปภาพอธิบาย

419
00:27:49,980 --> 00:27:53,980
การเปลี่ยนสถานะของ Process ใช่ไหม

420
00:27:53,981 --> 00:27:57,981
เหมือนที่อาจายร์อธิบายไปเมื่อกี้

421
00:27:57,983 --> 00:28:01,983
ยืนต่อคิวเลย 1 2 3 4 5

422
00:28:01,984 --> 00:28:05,984
พร้อมไหม พร้อม

423
00:28:05,986 --> 00:28:09,986
พอพร้อมเสร็จ ได้เวลา โอเค Run

424
00:28:09,993 --> 00:28:13,993
ทีละตัวทีละโปรแกรมทีละ Processe

425
00:28:13,994 --> 00:28:17,994
ถ้ามีอะไรเกิดขึ้น จบครับ พักเลย

426
00:28:17,995 --> 00:28:21,995
นี่คือการเปลี่ยนสถานะของ Process

427
00:28:21,996 --> 00:28:25,996
แต่ถ้าเกิดเหตุการณ์ใดเหตุการณ์หนึ่งขึ้น

428
00:28:25,998 --> 00:28:29,998
นะครับเพราะอะไรครับ

429
00:28:30,000 --> 00:28:34,000
รูปนี้ รูปนี้

430
00:28:34,001 --> 00:28:38,001
มาพร้อมมา Run

431
00:28:38,002 --> 00:28:42,002
แล้วก็จบ ถ้าสมมติว่า

432
00:28:42,003 --> 00:28:46,003
Process แต่ละตัวเข้าไป Run ไม่

433
00:28:46,006 --> 00:28:50,006
ใช้เวลาไม่เท่ากันจะเกิดอะไรขึ้นนะ เช่น

434
00:28:50,007 --> 00:28:54,007
Process A เช่นผม

435
00:28:54,008 --> 00:28:58,008
พร้อมเข้าไป Run 2 วินาที

436
00:28:58,010 --> 00:29:02,010
แล้วก็จบ มีอะไรเกินขึ้นไหม

437
00:29:02,011 --> 00:29:06,011
ไม่มี คราวนี้อุบล

438
00:29:06,014 --> 00:29:10,014
อุบลมาต่อคิวมาพร้อม

439
00:29:10,015 --> 00:29:14,015
อุบลเข้าไป Run ปุ๊บ อุบลบอกผมใช้เวลา 3 ชั่วโมง

440
00:29:14,016 --> 00:29:18,016
เป็นอย่างไรครับเราก็จบ

441
00:29:18,017 --> 00:29:22,017
ใช่ไหม คราวนี้

442
00:29:22,018 --> 00:29:26,018
นิ่ง 3 คนที่ 3 มา

443
00:29:26,019 --> 00:29:30,019
ต่อคิวพร้อม แต่ปรากฏว่ามิ่งต้องการใช้เวลาแค่

444
00:29:30,021 --> 00:29:34,021
1 วินาที แตค่ต้องรออุบล

445
00:29:34,022 --> 00:29:38,022
3 ชั่วโมงนึกออกไหม นึกภาพตามนะ

446
00:29:38,023 --> 00:29:42,023
ดังนั้นในระบบคอมพิวเตอร์ของเรานั้น

447
00:29:42,025 --> 00:29:46,025
มันจะต้องไม่ให้เกิดเหตุการณ์นี้เกิดขึ้น มันจึงต้องกำหนด

448
00:29:46,027 --> 00:29:50,027
เวลาขึ้นมา คุณจะต้อง

449
00:29:50,028 --> 00:29:54,028
เข้าไปเวลานี้แล้วจบนะ เราเรียกเวลานี้ว่าเวลาควอนตัม

450
00:29:54,029 --> 00:29:58,029
ถ้าย้อนถามกลับว่า

451
00:29:58,030 --> 00:30:02,030
เวลาควอนตัมคืออะไร

452
00:30:02,031 --> 00:30:06,031
คืออะไรครับคือเวลาที่

453
00:30:06,035 --> 00:30:10,035
ถูกกำหนดไว่ว่า Process แต่ละตัวสามารถ

454
00:30:10,036 --> 00:30:14,036
เข้าไปครอบครอง

455
00:30:14,037 --> 00:30:18,037
CPU ได้เป็นเวลาเท่าไร หรือนานเท่าไร

456
00:30:18,039 --> 00:30:22,039
เช่น เรากดหนดเวลา ควอนต

457
00:30:22,040 --> 00:30:26,040
5 วินาทีสมมตินะ 5 วินาที แสดงว่า

458
00:30:26,042 --> 00:30:30,042
Process ทุกตัวจะสามารถเข้าไปครอบครองได้แ

459
00:30:30,044 --> 00:30:34,044
5 วินาที เช่น เมื่อกี้อย่างเมื่อกี้

460
00:30:34,046 --> 00:30:38,046
ผม Process A เข้าไป

461
00:30:38,047 --> 00:30:42,047
3 วิฯ จบไหม จบ

462
00:30:42,048 --> 00:30:46,048
เพราะว่าเราให้ 5 วินาทีใช่ไหมควอนตัม

463
00:30:46,049 --> 00:30:50,049
อุบลก็จะเข้าไปได้แค่ 5 วิ(นาที) แล้วอุบลต้องย้อนกลับ

464
00:30:50,051 --> 00:30:54,051
ไปพร้อมใหม่เพิ่มให้ มิ้งเข้าไปใหม่

465
00:30:54,052 --> 00:30:58,046
นี่คือหลักการของมันนะครับ

466
00:30:58,054 --> 00:31:02,054

467
00:31:02,055 --> 00:31:06,055
มันก็จะเกิดรูปนี้ขึ้น

468
00:31:06,056 --> 00:31:10,056
ใช่ไหม

469
00:31:10,059 --> 00:31:14,059
นี่นะครับ พร้อม

470
00:31:14,060 --> 00:31:18,060
พออเราเอาเวลาควอนตัมมาจับ

471
00:31:18,061 --> 00:31:22,061
เข้าไป Run ได้แค่ 5 วิฯ นะ ถ้าเกินนั้นกลับไปวนใหม่

472
00:31:22,063 --> 00:31:26,063
มันเลยทำให้เกิดระบบหลายโป

473
00:31:26,066 --> 00:31:30,066
นะครับ แต่เวลาเราทำงานกับคอมพิวเตอร์ มันเป็นอย่างไรครับ

474
00:31:30,067 --> 00:31:34,067
แต่ในความรู้สึกเราเป็นอย่างไรครับ มันทำงาน

475
00:31:34,069 --> 00:31:38,069
ด้วยความเร็วสูง มันเลยเหมือนประหนึ่งว่าอย่างนี้จริงหรือ

476
00:31:38,070 --> 00:31:42,070
ใช่ไหมเราหายใจแทบไม่ทัน

477
00:31:42,072 --> 00:31:46,072
สมัยที่อาจารย์เรียนเขียนโปรแกรมนะครับ

478
00:31:46,073 --> 00:31:50,073
เมื่อเกือบ 30 ปีที่แล้วนะ

479
00:31:50,074 --> 00:31:54,074
เวลาเรา Run โปรแกรม เราจะกด Escape

480
00:31:54,075 --> 00:31:58,075
S Slacap

481
00:31:58,076 --> 00:32:02,076
กด F8 F9 ปุ๊บ นึกได้ผ่านไป 2 นาที

482
00:32:02,078 --> 00:32:06,078
ไม่ถูกกดยกเลิก

483
00:32:06,079 --> 00:32:10,079
แต่โปรแกรมเราทุกวันนี้ เราคลิก

484
00:32:10,080 --> 00:32:14,080
ปุ๊บ ประมวลผลปั๊บ

485
00:32:14,081 --> 00:32:18,081
มันมีความเร็วสูงนะครับ ตามรูปนี้นะครับ

486
00:32:18,084 --> 00:32:22,084
พยายามมองตามนะ เพราะว่า

487
00:32:22,085 --> 00:32:26,085
เราจะเรียนอีก 3 ครั้ง

488
00:32:26,086 --> 00:32:30,086
แล้วก็จะสอบกลางภาต

489
00:32:30,087 --> 00:32:34,087
นะครับ สอบกลางภาค พอสอบกลางภาคเสร็จ

490
00:32:34,088 --> 00:32:38,088
อาจารย์ก็จะะยกคลาสไปอยู่

491
00:32:38,089 --> 00:32:42,089
อาคาร 7 เพื่อเรียนภาคปฏิบัติ

492
00:32:42,091 --> 00:32:46,091
นะครับ ภาคปฎิบัติเราก็จะ

493
00:32:46,092 --> 00:32:50,092
เรียนแค่สัปดาห์ละ 8 คน เราจะไม่เรียนทั้งห้อง

494
00:32:50,093 --> 00:32:54,093
แบบนี้นะครับ

495
00:32:54,094 --> 00:32:58,094

496
00:32:58,097 --> 00:33:02,097
คราวนี้มาดูอีกสถานะ

497
00:33:02,099 --> 00:33:06,099
นะครับ ที่เรา

498
00:33:06,100 --> 00:33:10,100
พูดไว้ก็คือสถานะติดขัด

499
00:33:10,101 --> 00:33:14,101
เห็นไหมครับดูรูป

500
00:33:14,103 --> 00:33:18,103
มาพร้อม เห็นไหม

501
00:33:18,104 --> 00:33:22,104
พร้อมปุ๊บ มา Run เข้าไป

502
00:33:22,106 --> 00:33:26,106
Run จะหมดเวลาควอนตัม หรือไม่หมดก็แล

503
00:33:26,107 --> 00:33:30,107
แต่บังเอิญว่า Process นั้น

504
00:33:30,109 --> 00:33:34,109
ไปติดต่อกับอุปกรณ์รอบข้าง

505
00:33:34,110 --> 00:33:38,110
ติดต่อกับ Printer

506
00:33:38,111 --> 00:33:42,111
ช่วงที่ติดต่อพรินเตอร์ไม่ได้ทำงานก็จะถ

507
00:33:42,113 --> 00:33:46,113
ทุกผลักออกมาเป็นสถานะติดขัด พอติดขัดเสร็จ

508
00:33:46,114 --> 00:33:50,114
ก็จะย้อนกลับไปพร้อมใหม่

509
00:33:50,115 --> 00:33:54,115
นะครับ นี่คือสถานะติดขัด

510
00:33:54,116 --> 00:33:58,116

511
00:33:58,117 --> 00:34:02,097

512
00:34:02,118 --> 00:34:06,118
เขาบอกว่าการเปลี่ยน

513
00:34:06,119 --> 00:34:10,119
ทั้ง 3 ของ Process ก็คือ พร้อม Run ติดขัด

514
00:34:10,120 --> 00:34:14,120
เป็นการเปลี่ยน

515
00:34:14,121 --> 00:34:18,121
ในสภาพทั่วไปนะครับ พร้อม

516
00:34:18,122 --> 00:34:22,122
Run ติดขัด

517
00:34:22,123 --> 00:34:26,123
แต่ถ้าเกิดเหตุการณ์ที่

518
00:34:26,124 --> 00:34:30,124
ผิดปกติขึ้นในระบบปฏิบัติการห

519
00:34:30,126 --> 00:34:34,126
หรือระบบคอมพิวเตอร์เรา ระบบปฏิบัติการอาจจะย้าย Process

520
00:34:34,127 --> 00:34:38,127
ใดสถานะหนึ่ง

521
00:34:38,129 --> 00:34:42,129
ให้ไปอยู่สถานะพักก็ได้

522
00:34:42,130 --> 00:34:46,130
เพราะสถานะพักเราบอกว่ามันหยุดนิ่งเลย

523
00:34:46,136 --> 00:34:50,136
มันหยุดนิ่งเลย ไม่ทำงานต่อแล้ว ก็คือเข้าไป Run แล้วก็จบใช่ไหม แต่

524
00:34:50,137 --> 00:34:54,137
ถ้าเกิดเหตการณ์ขึ้น

525
00:34:54,138 --> 00:34:58,138
จากสถานะพร้อม Run ติดขัด ไปพักก็ได้

526
00:34:58,139 --> 00:35:02,139
นะครับ ซึ่ง

527
00:35:02,141 --> 00:35:06,141
จะเกิดขึ้นได้ก็ด้วยสาเหตุดังต่อไปนี้นะครับ

528
00:35:06,141 --> 00:35:10,141
1

529
00:35:10,142 --> 00:35:14,142
เกิดการทำงานของระบบผิดพลาด

530
00:35:14,144 --> 00:35:18,144
เช่นสั่ง ๆ ไป ปรากฎว่าระบบ Error

531
00:35:18,147 --> 00:35:22,147
ปรากฏว่าระบบ Error ผิดพลาด

532
00:35:22,149 --> 00:35:26,149
ไปกดสตางค์ 1 บาท

533
00:35:26,150 --> 00:35:30,150
ออกมา 10,000 บาท ดีไหมโทมัส ดีไหม

534
00:35:30,151 --> 00:35:34,151
เอาไหม อย่าไปเอานะลูก

535
00:35:34,152 --> 00:35:38,152
เขาจับเจ้าเด้อ

536
00:35:38,154 --> 00:35:42,154
ต้องไปแจ้งธนาคารนะครับ

537
00:35:42,155 --> 00:35:46,155
นี่คือระบบผิดพลาด มันก็จะย้ายทุกอย่างไปที่

538
00:35:46,167 --> 00:35:50,167
สถานะพัก จนกว่าเหตุการณ์ปกติ

539
00:35:50,169 --> 00:35:54,169
เริ่มต้นใหม่นะครับ สาเหตุอันที่ 2 นะครับ

540
00:35:54,169 --> 00:35:58,169
ที่จะเกิดสถานะพักนะครับ

541
00:35:58,171 --> 00:36:02,171
ผู้ใช้ต้องการหยุดการทำงาน

542
00:36:02,172 --> 00:36:06,172
ชั่วคราว ทำ ๆ อยู่

543
00:36:06,173 --> 00:36:10,173
เราสั่งหยุดอย่างนี้ มันก็จะไปอยู่สถานะพัก

544
00:36:10,174 --> 00:36:14,174
เช่น Run อยู่กดยกเลิก

545
00:36:14,175 --> 00:36:18,175
สาเหตุอันที่ 3 นะครับ

546
00:36:18,176 --> 00:36:22,176
ในระบบมีงานมากเกินไป

547
00:36:22,177 --> 00:36:26,177

548
00:36:26,180 --> 00:36:30,180
สั่งเข้าไป ๆ Over load

549
00:36:30,182 --> 00:36:34,182
แฮงค์ Error ก็ย้ายไปสถานะพัก

550
00:36:34,188 --> 00:36:38,188
นะครับ นี่คือสาเหตุหลัก ๆ 3 สาเหตุ

551
00:36:38,190 --> 00:36:42,190
ทำให้การเปลี่ยนสถานะจากสถานะพร้อม

552
00:36:42,192 --> 00:36:46,192
Run ติดขัดไปอยู่ในสถานะำพ

553
00:36:46,194 --> 00:36:50,194
เห็นไหมครับ

554
00:36:50,196 --> 00:36:54,196
รูป

555
00:36:54,197 --> 00:36:58,197
จากรูปนะครับ พร้อม

556
00:36:58,198 --> 00:37:02,198
Run ติดขัด

557
00:37:02,200 --> 00:37:06,200
แต่ถ้าเกิดสาเหตุจากเมื่อกี้ ระบบ

558
00:37:06,202 --> 00:37:10,202
เกิดทำงานผิดพลาด ผู้ใช้สั่งหยุดเอง

559
00:37:10,204 --> 00:37:14,204
ระบบทำงานมากเกินไปปุ๊บ มาพักเลย

560
00:37:14,205 --> 00:37:18,205
นะครับ

561
00:37:18,207 --> 00:37:22,207

562
00:37:22,207 --> 00:37:26,207
ดังนั้นนะครับ เราก็สามารถ

563
00:37:26,210 --> 00:37:30,210
แยกสถานะของ Process เป็น 2 ส่วน

564
00:37:30,211 --> 00:37:34,211
ก็คือส่วนที่ 1 พร้อม Runติดขัด

565
00:37:34,213 --> 00:37:38,213
Run ติดขัดใช่ไหม ส่วนที่ 2 คือ

566
00:37:38,214 --> 00:37:42,214
พักนะครับ

567
00:37:42,215 --> 00:37:46,215

568
00:37:46,216 --> 00:37:50,216

569
00:37:50,219 --> 00:37:54,219

570
00:37:54,220 --> 00:37:58,220
คราานี้มาดูลำดับชั้นของ Process

571
00:37:58,224 --> 00:38:02,224
นะครับ Process ก็มีลำดับชั้นนะครับ

572
00:38:02,225 --> 00:38:06,225
เขาบอกว่าระบบปฏิบัติการ

573
00:38:06,228 --> 00:38:10,228
หรือ OS นะครับ ผมใช้คำย่อว่า OS

574
00:38:10,231 --> 00:38:14,231
เขาบอกว่า OS เอง

575
00:38:14,232 --> 00:38:18,232
ก็ประกอบด้วยหลาย ๆ Process

576
00:38:18,233 --> 00:38:22,233
ถ้าหลายคนสับสน ถ้าอาจาย?์

577
00:38:22,234 --> 00:38:26,234
Process เราจะเรียกว่าโปรแกรมได้ไหม

578
00:38:26,235 --> 00:38:30,235
ได้ไหม

579
00:38:30,237 --> 00:38:34,237
ได้ไหมครับ

580
00:38:34,238 --> 00:38:38,238
บางคนไม่รู้เหมือนกัน

581
00:38:38,240 --> 00:38:42,240
เขาบอกว่า OS เองก็ประกอบไปด้วยหลาย

582
00:38:42,241 --> 00:38:46,241
Process 1 2 3 เยอะแยะมากมาย

583
00:38:46,242 --> 00:38:50,242
เมื่อผู้ใช้สั่งงาน

584
00:38:50,243 --> 00:38:54,243

585
00:38:54,244 --> 00:38:58,244

586
00:38:58,246 --> 00:39:02,246

587
00:39:02,249 --> 00:39:06,249
เอาสีอะไรดี

588
00:39:06,254 --> 00:39:10,254

589
00:39:10,255 --> 00:39:14,255

590
00:39:14,259 --> 00:39:18,259

591
00:39:18,264 --> 00:39:22,264

592
00:39:22,268 --> 00:39:26,190

593
00:39:26,272 --> 00:39:30,272

594
00:39:30,273 --> 00:39:34,273

595
00:39:34,274 --> 00:39:38,274
พื้นสีดำไปไม่เป็นเลยนะครับ

596
00:39:38,276 --> 00:39:42,276
เขาบอกว่าเมื่อ Process ประกอบด้วยหลายข

597
00:39:42,277 --> 00:39:46,277
นั้นนะครับ เมื่อผู้ใช้สั่งงานหรือให้โปรแกรม Run

598
00:39:46,279 --> 00:39:50,279
OS หรือระบบปฏิบัติการจะ

599
00:39:50,281 --> 00:39:54,281
สร้าง Process สำหรับงานนั้นขึ้นมานะครับ ซึ่ง Process สำหรับผู้ใช้

600
00:39:54,282 --> 00:39:58,282
นี่นะครับเป็น Process ย่อยของ

601
00:39:58,283 --> 00:40:02,283
นึกออกไหม

602
00:40:02,284 --> 00:40:06,284
เขาบอกว่า Process เองก็มีเยอะแยะมา

603
00:40:06,286 --> 00:40:10,286
ของมันนะครับ ซึ่งเราสำหรับผู้ใช้สั่งงานปุ๊บ เช่น อุบล

604
00:40:10,288 --> 00:40:14,288
บอกอุบลต้องการเข้าไปครอบครอง CPU

605
00:40:14,289 --> 00:40:18,289
ระบบปฏิบัติการก็จะสร้าง Process หนึ่งเข้ามาในระบบปฏิบัติการ

606
00:40:18,290 --> 00:40:22,290
สำหรับงานนะครับ นั่นแสดงว่า

607
00:40:22,291 --> 00:40:26,291
Process ของอุบลนั้นก็เป็น Process ย่อยของระบบปฏิบัติการ

608
00:40:26,295 --> 00:40:30,295
นึกออกไหมครับนึกตามนะ

609
00:40:30,297 --> 00:40:34,297
นะครับ ซึ่ง

610
00:40:34,299 --> 00:40:38,299
Process OS ก็จะมีคุณสมาบัติเหมือน

611
00:40:38,302 --> 00:40:42,302
อื่น ๆ ทั่วไปนะครับ เขาว่าดังนั้น Process อื่น ๆ

612
00:40:42,303 --> 00:40:46,303
สามารถมี Process ย่อย ๆ ไปอีกเรื่อย ๆ ได้

613
00:40:46,304 --> 00:40:50,304
นะครับ เขาเรียกว่าการให้กำเนิด

614
00:40:50,307 --> 00:40:54,307

615
00:40:54,307 --> 00:40:58,307
นึกออกไหม ตัวอย่างเช่นนะครับ

616
00:40:58,308 --> 00:41:02,308
อุบล

617
00:41:02,311 --> 00:41:06,311
ต้องการเข้าไปครอบครอง CPU อุบลเป็น Process หนึ่งแล้ว

618
00:41:06,313 --> 00:41:10,313
ตัวอาจารย์เองเป็น OS เป็นระบบปฏิบัติ

619
00:41:10,314 --> 00:41:14,314
เมื่ออุบลจะเข้าไปครอบครอง CPU หรือเข้าไปสถานะ Run

620
00:41:14,318 --> 00:41:18,318
เข้าไปสถานะ Run

621
00:41:18,319 --> 00:41:22,319
จะถูกผม OS ตั้ง Process หนึ่งขึ้นมา

622
00:41:22,321 --> 00:41:26,321
เพื่อไปกำกับดูแลอุบล

623
00:41:26,326 --> 00:41:30,326
นะครับ นี่เราเรียกว่า "การให้กำเนิด"

624
00:41:30,329 --> 00:41:34,329
แต่พออุบลเข้าไป

625
00:41:34,330 --> 00:41:38,330
ครอบครอง CPU แล้ว เข้าไปสถานะ Run แล้ว

626
00:41:38,331 --> 00:41:42,331
อุบลก็จะมี Process ย่อย

627
00:41:42,332 --> 00:41:46,332
ต่อไปอีก นึกออกไหม ซึ่งไม่รู้ว่ามีอะไรบ้างเราไม่รู้

628
00:41:46,333 --> 00:41:50,333
ซึ่งตัวของ Process ย่อย

629
00:41:50,335 --> 00:41:54,335
ที่เราเรียกว่า การให้กำเนิดนั้นเราจะเรียกว่า โปรเซสพ่อ

630
00:41:54,336 --> 00:41:58,336
นะครับ

631
00:41:58,337 --> 00:42:02,337
ส่วน Process ย่อยที่สร้างต่อจาก Process

632
00:42:02,338 --> 00:42:06,338
ผู้ให้กำเนิดเรีาเรียกว่า Proc

633
00:42:06,340 --> 00:42:10,340
เป็นลำดับชั้นนะครับ เป็นลักษณะแบบโครงสร้าง

634
00:42:10,344 --> 00:42:14,344
แบบต้นไม้ ดูรูปนี้เห็นไหมครับ

635
00:42:14,345 --> 00:42:18,345
นี่คือลำดับชั้นของ Process นะครับ

636
00:42:18,348 --> 00:42:22,348
นี่คือลำดับย่อของ Porcess

637
00:42:22,349 --> 00:42:26,318

638
00:42:26,350 --> 00:42:30,350
หัวข้อต่อมานะครับ ความสัมพันธ์

639
00:42:30,351 --> 00:42:34,351
ระหว่าง Process

640
00:42:34,352 --> 00:42:38,352

641
00:42:38,353 --> 00:42:42,353
เราไม่พักเลยนะ

642
00:42:42,355 --> 00:42:46,355
พี่ล่ามคนเดียวนะครับ

643
00:42:46,356 --> 00:42:50,356
ขอพัก 5 นาทีนะครับ

644
00:42:50,357 --> 00:42:54,357
พี่ล่ามจะได้ไป ทานน้ำ ไปเข้าน้ำ

645
00:42:54,359 --> 00:42:58,359
ทานน้ำ แล้วก็เข้าห้องน้ำนะครับ

646
00:42:58,360 --> 00:43:02,360
พักก่อน 5 นาทีนะครับ เดี๋ยวเราต่ออีกประม

647
00:43:02,361 --> 00:43:06,361
ประมาณ 15 สไลด์นะครับ

648
00:43:06,362 --> 00:43:10,329

649
00:43:10,363 --> 00:43:14,363

650
00:43:14,364 --> 00:43:18,364

651
00:43:18,366 --> 00:43:22,366

652
00:43:22,369 --> 00:43:26,369

653
00:43:26,373 --> 00:43:30,373

654
00:43:30,375 --> 00:43:34,261

655
00:43:34,378 --> 00:43:38,378

656
00:43:38,379 --> 00:43:42,379

657
00:43:42,381 --> 00:43:46,381

658
00:43:46,383 --> 00:43:50,383

659
00:43:50,385 --> 00:43:54,385

660
00:43:54,386 --> 00:43:58,386

661
00:43:58,388 --> 00:44:02,388

662
00:44:02,389 --> 00:44:06,389

663
00:44:06,393 --> 00:44:10,393

664
00:44:10,394 --> 00:44:14,394

665
00:44:14,395 --> 00:44:18,395

666
00:44:18,397 --> 00:44:22,397

667
00:44:22,401 --> 00:44:26,401

668
00:44:26,403 --> 00:44:30,403

669
00:44:30,405 --> 00:44:34,405

670
00:44:34,407 --> 00:44:38,407

671
00:44:38,408 --> 00:44:42,408

672
00:44:42,410 --> 00:44:46,410

673
00:44:46,412 --> 00:44:50,412

674
00:44:50,414 --> 00:44:54,414

675
00:44:54,416 --> 00:44:58,416

676
00:44:58,418 --> 00:45:02,418

677
00:45:02,420 --> 00:45:06,420

678
00:45:06,424 --> 00:45:10,424

679
00:45:10,426 --> 00:45:14,426

680
00:45:14,428 --> 00:45:18,428

681
00:45:18,429 --> 00:45:22,429

682
00:45:22,432 --> 00:45:26,432

683
00:45:26,433 --> 00:45:30,433

684
00:45:30,436 --> 00:45:34,436

685
00:45:34,437 --> 00:45:38,437

686
00:45:38,441 --> 00:45:42,441

687
00:45:42,443 --> 00:45:46,443

688
00:45:46,445 --> 00:45:50,445

689
00:45:50,448 --> 00:45:54,448

690
00:45:54,449 --> 00:45:58,449

691
00:45:58,454 --> 00:46:02,454

692
00:46:02,456 --> 00:46:06,456

693
00:46:06,459 --> 00:46:10,459

694
00:46:10,461 --> 00:46:14,461

695
00:46:14,463 --> 00:46:18,463

696
00:46:18,467 --> 00:46:22,467

697
00:46:22,469 --> 00:46:26,469

698
00:46:26,471 --> 00:46:30,471

699
00:46:30,473 --> 00:46:34,473

700
00:46:34,475 --> 00:46:38,475

701
00:46:38,477 --> 00:46:42,477

702
00:46:42,480 --> 00:46:46,480

703
00:46:46,482 --> 00:46:50,482

704
00:46:50,485 --> 00:46:54,485

705
00:46:54,487 --> 00:46:58,487

706
00:46:58,488 --> 00:47:02,488

707
00:47:02,490 --> 00:47:06,490

708
00:47:06,492 --> 00:47:10,492

709
00:47:10,494 --> 00:47:14,494

710
00:47:14,496 --> 00:47:18,496

711
00:47:18,498 --> 00:47:22,498

712
00:47:22,502 --> 00:47:26,502

713
00:47:26,503 --> 00:47:30,503

714
00:47:30,504 --> 00:47:34,504

715
00:47:34,507 --> 00:47:38,507

716
00:47:38,511 --> 00:47:42,511

717
00:47:42,513 --> 00:47:46,513

718
00:47:46,514 --> 00:47:50,514

719
00:47:50,518 --> 00:47:54,518

720
00:47:54,519 --> 00:47:58,519

721
00:47:58,521 --> 00:48:02,521

722
00:48:02,523 --> 00:48:06,523

723
00:48:06,525 --> 00:48:10,525

724
00:48:10,526 --> 00:48:14,526

725
00:48:14,528 --> 00:48:18,528

726
00:48:18,531 --> 00:48:22,531

727
00:48:22,534 --> 00:48:26,534

728
00:48:26,536 --> 00:48:30,536

729
00:48:30,538 --> 00:48:34,538

730
00:48:34,540 --> 00:48:38,540

731
00:48:38,541 --> 00:48:42,541

732
00:48:42,544 --> 00:48:46,544

733
00:48:46,548 --> 00:48:50,548

734
00:48:50,550 --> 00:48:54,550

735
00:48:54,551 --> 00:48:58,551

736
00:48:58,554 --> 00:49:02,554

737
00:49:02,555 --> 00:49:06,555

738
00:49:06,558 --> 00:49:10,558

739
00:49:10,559 --> 00:49:14,559

740
00:49:14,561 --> 00:49:18,561

741
00:49:18,564 --> 00:49:22,564

742
00:49:22,566 --> 00:49:26,566

743
00:49:26,568 --> 00:49:30,568

744
00:49:30,570 --> 00:49:34,570

745
00:49:34,572 --> 00:49:38,572

746
00:49:38,573 --> 00:49:42,573

747
00:49:42,576 --> 00:49:46,576

748
00:49:46,578 --> 00:49:50,578

749
00:49:50,582 --> 00:49:54,582

750
00:49:54,583 --> 00:49:58,583

751
00:49:58,588 --> 00:50:02,588

752
00:50:02,590 --> 00:50:06,590

753
00:50:06,592 --> 00:50:10,592

754
00:50:10,594 --> 00:50:14,594

755
00:50:14,596 --> 00:50:18,596

756
00:50:18,597 --> 00:50:22,597

757
00:50:22,599 --> 00:50:26,599

758
00:50:26,600 --> 00:50:30,600

759
00:50:30,602 --> 00:50:34,602

760
00:50:34,606 --> 00:50:38,606

761
00:50:38,608 --> 00:50:42,608

762
00:50:42,609 --> 00:50:46,609

763
00:50:46,612 --> 00:50:50,612

764
00:50:50,617 --> 00:50:54,617

765
00:50:54,626 --> 00:50:58,626

766
00:50:58,628 --> 00:51:02,628

767
00:51:02,629 --> 00:51:06,629

768
00:51:06,631 --> 00:51:10,631

769
00:51:10,634 --> 00:51:14,634

770
00:51:14,635 --> 00:51:18,635

771
00:51:18,637 --> 00:51:22,637

772
00:51:22,639 --> 00:51:26,639

773
00:51:26,641 --> 00:51:30,641

774
00:51:30,642 --> 00:51:34,642

775
00:51:34,644 --> 00:51:38,644

776
00:51:38,648 --> 00:51:42,648

777
00:51:42,650 --> 00:51:46,650

778
00:51:46,652 --> 00:51:50,652

779
00:51:50,654 --> 00:51:54,654

780
00:51:54,656 --> 00:51:58,656

781
00:51:58,657 --> 00:52:02,657

782
00:52:02,659 --> 00:52:06,587

783
00:52:06,661 --> 00:52:10,661

784
00:52:10,662 --> 00:52:14,662

785
00:52:14,663 --> 00:52:18,663

786
00:52:18,665 --> 00:52:22,665

787
00:52:22,666 --> 00:52:26,666

788
00:52:26,667 --> 00:52:30,667

789
00:52:30,669 --> 00:52:34,669

790
00:52:34,672 --> 00:52:38,672

791
00:52:38,676 --> 00:52:42,676

792
00:52:42,680 --> 00:52:46,680

793
00:52:46,682 --> 00:52:50,682

794
00:52:50,684 --> 00:52:54,684

795
00:52:54,686 --> 00:52:58,686

796
00:52:58,691 --> 00:53:02,691

797
00:53:02,694 --> 00:53:06,694

798
00:53:06,699 --> 00:53:10,699

799
00:53:10,703 --> 00:53:14,703

800
00:53:14,705 --> 00:53:18,705

801
00:53:18,708 --> 00:53:22,708

802
00:53:22,710 --> 00:53:26,710

803
00:53:26,714 --> 00:53:30,714

804
00:53:30,716 --> 00:53:34,716

805
00:53:34,718 --> 00:53:38,718

806
00:53:38,720 --> 00:53:42,720

807
00:53:42,724 --> 00:53:46,724

808
00:53:46,726 --> 00:53:50,726

809
00:53:50,728 --> 00:53:54,728

810
00:53:54,729 --> 00:53:58,729

811
00:53:58,735 --> 00:54:02,735
(อาจารย์พิเชนทร์)

812
00:54:02,737 --> 00:54:06,737
ดูต่อนะครับ

813
00:54:06,739 --> 00:54:10,739
ความสัมพันธ์ระหว่าง Process

814
00:54:10,740 --> 00:54:14,740
นะครับ

815
00:54:14,741 --> 00:54:18,741
การทำงานของระบบคอมพิวเตอร์นั้นนะครับ จะประกอบไปด้วย

816
00:54:18,742 --> 00:54:22,742
Process  ต่าง ๆ นะครับ

817
00:54:22,747 --> 00:54:26,747
ทั้งของระบบแล้วของผู้ใช้นะครับ

818
00:54:26,748 --> 00:54:30,748
เมื่อมันมี

819
00:54:30,751 --> 00:54:34,751
Process มากมายทำงานพร้อม ๆ กันนะครับ จัดการขึ้น

820
00:54:34,752 --> 00:54:38,752
นะครับ นอกจากการจัดการแล้ว

821
00:54:38,754 --> 00:54:42,754
เราก็ต้องมีการ

822
00:54:42,756 --> 00:54:46,756
ติต่อระหว่างกัน เหมือนเราเรา

823
00:54:46,757 --> 00:54:50,757
อยู่ในห้องเรานะครับ เราจะต้องมีการติดต่อสัมพันธ์กัน

824
00:54:50,758 --> 00:54:54,758
นะครับ คราวนี้

825
00:54:54,760 --> 00:54:58,760
เรามาดูหัวข้อความสัมพันธ์ระหว่าง Process นะครับ

826
00:54:58,761 --> 00:55:02,761
การติดต่อระหว่าง Process นั้น

827
00:55:02,763 --> 00:55:06,763
หมายความว่า Process หนึ่งอาจต้องการใช้ข้อมูล

828
00:55:06,765 --> 00:55:10,765
ของอีก Process  นึ่งจึงต้องทำไมครับ

829
00:55:10,767 --> 00:55:14,767
ต้องมีการส่งข้อมูลหรือต้องการติดต่อ

830
00:55:14,769 --> 00:55:18,769
กันระหว่างProcess นะครับ ซึ่ง

831
00:55:18,773 --> 00:55:22,773
การติดต่อกันระหว่าง Process นั้นนะครับ ก็มีหลายวิธี

832
00:55:22,774 --> 00:55:26,774
มาดูวิธีที่ 1 นะครับ

833
00:55:26,775 --> 00:55:30,747

834
00:55:30,777 --> 00:55:34,777
ติดต่อกันโดย

835
00:55:34,778 --> 00:55:38,778
ใช้หน่วยความจำร่วม

836
00:55:38,780 --> 00:55:42,780
นะครับ

837
00:55:42,783 --> 00:55:46,783
หมายความว่า เมื่อ Process หนึ่งต้องการ

838
00:55:46,784 --> 00:55:50,784
หรือส่งข้อมูลไปให้อีก Process หนึ่ง

839
00:55:50,786 --> 00:55:54,786
มันจะส่งข้อมูลผ่านหน่วยความจำร่วม

840
00:55:54,790 --> 00:55:58,790
ฟังก่อนนะครับฟังก่อนอย่างพึ่

841
00:55:58,792 --> 00:56:02,792
อย่าเพิ่งคุยกันครับ จะจบแล้ว อีก

842
00:56:02,794 --> 00:56:06,794
แค่ 10 สไลด์นะครับ

843
00:56:06,803 --> 00:56:10,803
ฟังหรือเปล่าครับนี่ ฟังหรือเปล่า บอก

844
00:56:10,805 --> 00:56:14,805
เงียบก่อนนะครับ ฟังก่อน

845
00:56:14,807 --> 00:56:18,807
อย่าเพิ่งคุยกันเสียงดังนะครับ เดี๋ยวมันจะไม่เข้าใจ

846
00:56:18,808 --> 00:56:22,808
นะครับ เวลาสอบ เรามัวแต่ลอก

847
00:56:22,809 --> 00:56:26,809
ในหน้าจอนี่บางทีมันพอเวลาไปสอบนะครับ มันจะตอบไม่ได้นะครับ

848
00:56:26,812 --> 00:56:30,812

849
00:56:30,816 --> 00:56:34,816
เดี๋ยวสอบกลางภาคก็จะรู้คะแนนตัวเองว่าได้เท่าไร

850
00:56:34,818 --> 00:56:38,818
ผมบอกแล้วนะครับว่าข้อสอบผมนั้นมี

851
00:56:38,819 --> 00:56:42,819
ทั้งหมด 8 ชุดนะครับ ผมให้นั่ง

852
00:56:42,822 --> 00:56:46,822
สอบแบบติดกันเลยนะครับ

853
00:56:46,823 --> 00:56:50,823
ข้อสอบคนละชุดนะครับ ถ้าเราไม่เข้าใจเราจะเขียน

854
00:56:50,824 --> 00:56:54,824
อธิบายได้ ดูนะครับความสัมพันธ์

855
00:56:54,828 --> 00:56:58,828
อันที่ 1 ก็คือเวลามันติดต่อหากันมันจะใช้หน่วยความจำร่วมกัน

856
00:56:58,829 --> 00:57:02,829
ดูรูปข้างล่างเลยนะครับ

857
00:57:02,831 --> 00:57:06,831
Process A

858
00:57:06,832 --> 00:57:10,832
ต้องการส่งข้อมูลไปให้ Process B

859
00:57:10,834 --> 00:57:14,834
มันทำกันอย่างไรนะครับ วิธีการ ก็คือ Process A

860
00:57:14,836 --> 00:57:18,836
ส่งไปแล้วจัดส่งไปที่หน่วยความจำ

861
00:57:18,837 --> 00:57:22,837
นะครับ ส่งไปที่หน่วนความจำ เมื่อ Process B

862
00:57:22,839 --> 00:57:26,839
ต้องการจะไปรับข้อมูลจาก Process A

863
00:57:26,841 --> 00:57:30,841
มันก็จะไปรับที่หน่วยความจำนะครับ ซึ่งหน่วยความจำก็จะ

864
00:57:30,843 --> 00:57:34,843
มี Adssdes

865
00:57:34,845 --> 00:57:38,845
แล้วเราจะรู้ได้อย่างไรครับ Process A ส่งอะไร

866
00:57:38,847 --> 00:57:42,847
มาให้เช็กจากอะไรครับ

867
00:57:42,849 --> 00:57:46,849
เช็กจากชื่อ จาก ID ใช่ไหม เพราะว่า

868
00:57:46,850 --> 00:57:50,850
ชื่อของ Process  แต่ละตัวก็จะมีรหัสด้วยนะครับ

869
00:57:50,851 --> 00:57:54,851
เห็นไหมครับ Process A นี่ มันจะส่งข้อมูล

870
00:57:54,852 --> 00:57:58,852
มานะครับ เราส่งไปให้

871
00:57:58,853 --> 00:58:02,853
หน่วยความจำร่วม Process A ก็ไปรับที่หน่วยความจำ

872
00:58:02,854 --> 00:58:06,854
นะครับการติดต่อกันระหว่างหน่อวยความจำระครับ

873
00:58:06,855 --> 00:58:10,833

874
00:58:10,856 --> 00:58:14,856
นอกจากการใช้หน่วยควาามจำร่วม

875
00:58:14,857 --> 00:58:18,857
ติดต่อระหว่าง Process นะครับ ก็ยังมีวิธีการที่สะดวก

876
00:58:18,859 --> 00:58:22,859
นะครับแล้วก้นิยมใช้เป็นมาตราฐานนะครับ

877
00:58:22,860 --> 00:58:26,860
นั่นก็คือการใช้ช่องทางข้อมูล

878
00:58:26,862 --> 00:58:30,862
หรือเรียกง่าย ๆ ว่า พอร์ต

879
00:58:30,863 --> 00:58:34,863
นะครับ ติดต่อผ่านพอร์ต

880
00:58:34,865 --> 00:58:38,865
รู้จัก Port นะ

881
00:58:38,866 --> 00:58:42,866
Port parareal

882
00:58:42,867 --> 00:58:46,867
ต่อสายเข้าไปในเครื่องคอทมพิวเตอร์เราผ้

883
00:58:46,870 --> 00:58:50,870
นะครับ อันนี้ง่ายกว่านะครับ สะดวกกว่า

884
00:58:50,872 --> 00:58:54,872
เช่น เราต้องการส่งข้อมูลจาก

885
00:58:54,874 --> 00:58:58,874
เครื่องของคนหนึ่งไปเครื่องอีกคนหนึ่ง

886
00:58:58,875 --> 00:59:02,875
ผ่านอะไร ผ่านพอร์ตนะครับ

887
00:59:02,876 --> 00:59:06,876

888
00:59:06,880 --> 00:59:10,880
คราวนี้วิธี่การส่งข้อมูล

889
00:59:10,881 --> 00:59:14,881
ส่งข้อมูลทั้งผ่านหน่วยความจำร่วมแล้วก็ผ่านพอร์ต

890
00:59:14,882 --> 00:59:18,882
นั้นนะครับ ในเรื่องของ

891
00:59:18,883 --> 00:59:22,883
โครงสร้างของพอร์ตก็มีหลายแบบนะครับ จะส่งแบบไหนนะครับ

892
00:59:22,884 --> 00:59:26,884
อันที่ 1 นะครับโครสร้างของ Port

893
00:59:26,885 --> 00:59:30,885
แบบที่ 1 ก็คือแบบคิว

894
00:59:30,886 --> 00:59:34,886
นะครับ โครงสร้างแบบนี้ก็คือ ข้อมูล

895
00:59:34,887 --> 00:59:38,887
จะถูกดึงออกมาจากพอร์ตตามลำดับก่อน-หลัง

896
00:59:38,888 --> 00:59:42,888
ข้อมูลไหนส่งเข้ามาก่้อนก็จะ

897
00:59:42,889 --> 00:59:46,889
ออกไปก่อน ก็คือแบบคิวเป็นคิว

898
00:59:46,890 --> 00:59:50,890
นะครับ เช่น ผมเข้าไปก่อนอุบล

899
00:59:50,893 --> 00:59:54,893
ผมก็ออกก่อนอุบลนะครับ นี่คือโครงสร้างข้อมูลแบบพอร์ต

900
00:59:54,894 --> 00:59:58,894
ง่าย ๆ ครับเข้าก่อน ออกก่อน

901
00:59:58,896 --> 01:00:02,896
นะครับ โครงสร้างพอร์ต

902
01:00:02,897 --> 01:00:06,897
แบบที่ 2 ก้คือโครงสร้างแบบ

903
01:00:06,899 --> 01:00:10,899
รูปข้างล่างใช่ไหม

904
01:00:10,901 --> 01:00:14,901
แบบ prit

905
01:00:14,902 --> 01:00:18,902
แบบมีการทำงานแบบคิว คือเข้าก่อน

906
01:00:18,903 --> 01:00:22,903
ออกก่อน แต่มี

907
01:00:22,905 --> 01:00:26,905
ข้อแตกต่างกับแบบคิวที่ว่าถ้าเป็นพอร์ตแบบไปป์

908
01:00:26,906 --> 01:00:30,906
จะมีความยาวของ Port ไม่จำกัด

909
01:00:30,907 --> 01:00:34,907
ถ้าเป็นแบบคิวจะจำกัน

910
01:00:34,915 --> 01:00:38,915
เช่นพอร์ตแบบคิวแบบว่า

911
01:00:38,916 --> 01:00:42,916
มีขนาดของพอร์ต ความยาว

912
01:00:42,918 --> 01:00:46,918
10 ช่องสมมตินะ

913
01:00:46,920 --> 01:00:50,920
ก็แสดงว่าเข้าไปได้แค่ 10 คิวนะครับ

914
01:00:50,921 --> 01:00:54,921
แต่ถ้าพอร์ตแบบไปท์โครงส

915
01:00:54,922 --> 01:00:58,922
เหมือนพอร์ตแบบคิวก็จริง เข้าก่อนออกก่อน แต่จะ

916
01:00:58,924 --> 01:01:02,924
มีความยาวของ Port

917
01:01:02,925 --> 01:01:06,925

918
01:01:06,926 --> 01:01:10,926
นี่คือโครงสร้าง

919
01:01:10,927 --> 01:01:14,927
แบบไปป์นะครับ

920
01:01:14,929 --> 01:01:18,929
โครงสร้าง Port แบบที่ 3 ก็คือ

921
01:01:18,930 --> 01:01:22,930
Stack นะครับ เป็นอย่างไรครับ

922
01:01:22,932 --> 01:01:26,932
แบบสแต็ก

923
01:01:26,934 --> 01:01:30,934
Stack คือ โครงสร้างที่ตรงข้ามกับแบบคิวเลยครับ

924
01:01:30,935 --> 01:01:34,935
ก็คือข้อมูลชุดใดที่ถูกส่งออกมาก่อน

925
01:01:34,937 --> 01:01:38,937
จะถูกดึงออกทีหลัง คือ เข้าก่อนออกทีหลัง

926
01:01:38,938 --> 01:01:42,938
นะครับนี่คือโครงสร้างแบบ

927
01:01:42,939 --> 01:01:46,939
Stack นะครับ นี่คือโครงสร้างของพอร์ตทั้ง 3 แบบนะครับ

928
01:01:46,940 --> 01:01:50,940

929
01:01:50,941 --> 01:01:54,941
คราวนี้มาดู

930
01:01:54,943 --> 01:01:58,943
ปัยหาของ Process นะครับ

931
01:01:58,945 --> 01:02:02,945
เมื่อมีการทำงานมากกว่า 1 Process ขึ้นไป

932
01:02:02,946 --> 01:02:06,946
นะครับมันย่อมทำให้เกิดปัญหาเกิดขึ้น

933
01:02:06,947 --> 01:02:10,947
ในการใช้งาน เมื่อมีโปรแกรม

934
01:02:10,949 --> 01:02:14,949
ทำงานในระบบคอมพิวเตอร์เรา ปัยหาก้ไม่เกิดขึ้นร

935
01:02:14,950 --> 01:02:18,950
นะครับ เมื่อมีหลาย ๆ โปรแกรมทำงานอยู่บนระบบเดียวกัน

936
01:02:18,951 --> 01:02:22,951
มีการใช้ทรัพยากร

937
01:02:22,953 --> 01:02:26,953
แย่งกันใช้ มันย่อมเกิดปัญหาขึ้น

938
01:02:26,955 --> 01:02:30,955
นะครับดังนั้นมันจะต้องมีการจัดสรร

939
01:02:30,956 --> 01:02:34,956
การใช้ Process ขึ้นนะครับ

940
01:02:34,957 --> 01:02:38,957
ถึงอย่างไรก็ตาม

941
01:02:38,961 --> 01:02:42,961
ที่เราจะกล่าวต่อไปนี้ มันจะต้อง

942
01:02:42,964 --> 01:02:46,964
ไม่เกิดขึ้นกับระบบของเรา

943
01:02:46,968 --> 01:02:50,968
นะครับ ดังนั้น คนที่ออกแบบระบบปฏิบัติการจะต้องแก้ปัญหา

944
01:02:50,969 --> 01:02:54,969
ดังต่อไปนี้ให้ได้

945
01:02:54,971 --> 01:02:58,971
เวลาเราเขียนโปรแกรมเราจะต้องเลี่ยงปัญหาเหล่านี้ให้ได้

946
01:02:58,972 --> 01:03:02,972
นะครับ ปัญหาการทำงานของProcess อันดับ

947
01:03:02,973 --> 01:03:06,973
แรกเลยนะครับ ก็คือปัญหาการตัดตอน

948
01:03:06,977 --> 01:03:10,977
นะครับปัญหา

949
01:03:10,979 --> 01:03:14,979
เกิดจากอะไรครับ เกิดจากการที่ Process หนึ่ง

950
01:03:14,980 --> 01:03:18,980
ต้องการใช้ทรัพยากร

951
01:03:18,982 --> 01:03:22,982
ของ Process แต่ปรากฏว่า Process นั้นมีลำกับความสำคัญ

952
01:03:22,983 --> 01:03:26,983
น้อยกว่าจึงยอมปลดปล่อย

953
01:03:26,985 --> 01:03:30,985
ที่มีระดับความสำคัญมากกว่าเข้าไปครอบครองตัว CPU

954
01:03:30,986 --> 01:03:34,986
แทนตัวมันเอง

955
01:03:34,987 --> 01:03:38,987
นึกออกใช่ไหมครับ ก็คือ Process หนึ่ง อย่าง

956
01:03:38,990 --> 01:03:42,990
เช่น ผมกำลังจะเข้าไปครอบครอง

957
01:03:42,991 --> 01:03:46,991
CPU แต่ปรากฏว่าอุบลเข้ามาต่อคิวผม

958
01:03:46,992 --> 01:03:50,992
บังเอิญว่าลำดับความสำคัญอุบ

959
01:03:50,993 --> 01:03:54,993
สำคัญมากกว่าผม ผมยอมให้อุบลเข้าไปแทนผม นี่

960
01:03:54,994 --> 01:03:58,994
เกิดการตัดตอนขึ้น

961
01:03:58,995 --> 01:04:02,995
ให้เป็นวิชาการ อธิบายว่าเกิดจาการ

962
01:04:02,999 --> 01:04:06,999
ที่ Process ใด Process หนึ่ง

963
01:04:07,000 --> 01:04:11,000
ที่จะเข้าไปครอบครอง CPU หรือเข้าไปในสถานะ Run นั้น

964
01:04:11,001 --> 01:04:15,001
ยอมให้ Process น

965
01:04:15,004 --> 01:04:19,004
ความสำคัญมากกว่าเข้าไปแทนที่มัน มันก็จะเกิด

966
01:04:19,005 --> 01:04:23,005
การตัดตอนขึ้นนะครับ

967
01:04:23,007 --> 01:04:27,007
ซึ่งปัญหาตัวนี้นะครับ คนที่ออกแบบระบบปฏิบัติการจะต้อง

968
01:04:27,008 --> 01:04:31,008
ไม่ให้เกิดขึ้นนะครัย

969
01:04:31,010 --> 01:04:35,010

970
01:04:35,015 --> 01:04:39,015
ปัญหาต่อมานอกจากปัญหาการตัดตอ

971
01:04:39,020 --> 01:04:43,020
ปัญหาการตัดตอนแล้ว ปัญหาต่อมา ก็คือปัญหา

972
01:04:43,021 --> 01:04:47,021
การอดตาย หรือปัญหา

973
01:04:47,023 --> 01:04:51,023
การเลื่อนไปอย่างไม่มีสิ้นสุด

974
01:04:51,024 --> 01:04:55,024
หมายความว่าเมื่อเกิดการตัดตอนขึ้น

975
01:04:55,025 --> 01:04:59,025
Process หนึ่งปล่อยให้ Process อีก Process หนึ่งที่มีความสำคัญ

976
01:04:59,027 --> 01:05:03,027
มากกว่าเข้าไปครอบคลอง CPU มัน

977
01:05:03,031 --> 01:05:07,031
แล้วแทนไปเรื่อย ๆ

978
01:05:07,032 --> 01:05:11,032
นี่เราเรียกว่าว่า "การอดตาย"

979
01:05:11,036 --> 01:05:15,036
เช่น ตัวอย่างเมื่อกี้ผมจะเข้าไปครอบครอง CPU

980
01:05:15,037 --> 01:05:19,037
แต่บังเอินว่า อุบล

981
01:05:19,038 --> 01:05:23,038
มาต่อคิว อุบลมีลำดับความสำคัญมากกว่า อุบลเข้าไปแทนที่

982
01:05:23,039 --> 01:05:27,039
พออุบลเสร็จแล้ว

983
01:05:27,040 --> 01:05:31,040
ผมจะเข้าไปต่อ แต่ปรากฏว่า

984
01:05:31,041 --> 01:05:35,041
แม็กกี้มาต่อแล้วแม็กกี้มีความ

985
01:05:35,043 --> 01:05:39,043
ก็เข้าไปแทนที่อีก พอ

986
01:05:39,045 --> 01:05:43,045
แม็กกี้ออกมา ผมจะเข้าไปต่อ ปรากฎว่า

987
01:05:43,047 --> 01:05:47,047
มิ่งมาต่อ แล้ว

988
01:05:47,048 --> 01:05:51,048
มิ้งมีความสำคัญมากกว่า มิ้งก็

989
01:05:51,049 --> 01:05:55,049
ก็คือรอไป

990
01:05:55,050 --> 01:05:59,050
ไม่มีวันสิ้นสุด รอไปเรื่อย ๆ  ไม่มีวันสิ้นสุ

991
01:05:59,051 --> 01:06:03,051
นะครับ ถ้าเป็นสมัยก่อนนะครับ

992
01:06:03,056 --> 01:06:07,056
ผมก็จะยกตัวอย่างให้พวกเรา

993
01:06:07,057 --> 01:06:11,057
สมมติว่าที่อาคาร 7 เรานะครับ

994
01:06:11,057 --> 01:06:15,057
สร้างห้องน้ำมาใหม่

995
01:06:15,060 --> 01:06:19,060
เปรียบเสมือน CPU สมมตินะ

996
01:06:19,062 --> 01:06:23,062
ผมจะเข้าเป็นคนแรก

997
01:06:23,063 --> 01:06:27,063
กำลังจะเปิดประตูเข้าไปห้องน้ำ ปรากฏว่าอุบล ไม่ใช่อุบล

998
01:06:27,064 --> 01:06:31,064
อธิการ สะกิดหลัง

999
01:06:31,067 --> 01:06:35,067
พิเชนทร์ ๆ ผมขออนุญาตเข้าก่อน ผมมองไปข้างหลัง

1000
01:06:35,068 --> 01:06:39,068
อธิการใหญ่กว่าผม

1001
01:06:39,069 --> 01:06:43,069
นี่เกิดการตัดตอน

1002
01:06:43,070 --> 01:06:47,070
แต่พออธิการเข้าไปเสร็จปุ๊บ

1003
01:06:47,072 --> 01:06:51,072
ปรากฏว่ามีคนสะกิดหลังอีกแล้ว ผู้ว่าฯ สะกิดหลัง

1004
01:06:51,073 --> 01:06:55,073
เป็นอย่างไรครับ ผู้ว่าเข้าไป

1005
01:06:55,074 --> 01:06:59,074
นายอำเภอสกิดหลัง ผู้ว่าสกิดหลังเกิดการ

1006
01:06:59,075 --> 01:07:03,075
ต้องตัดตอน พอตัดตอนเสร็จปุ๊บ

1007
01:07:03,076 --> 01:07:07,076
ไม่มีโอกาสได้เข้า ก็เลยเป็นอดตายนะครับ

1008
01:07:07,077 --> 01:07:11,077
นี่คือปัญหาหาที่ 2

1009
01:07:11,078 --> 01:07:15,078
ของเรานะครับ ปัญหาที่ 3

1010
01:07:15,079 --> 01:07:19,079

1011
01:07:19,080 --> 01:07:23,080
เขาบอกว่าทำไมถึงให้เกิดการ

1012
01:07:23,081 --> 01:07:27,081
ตัดตอนไม่ได้หรือการอดตายไม่ได้

1013
01:07:27,082 --> 01:07:31,082
มันจะเกิดปัญหาขึ้น ถ้าทรัพยากรบางประเภท

1014
01:07:31,083 --> 01:07:35,083
ถ้าเราปล่อยให้เกิดการตัดตอน

1015
01:07:35,090 --> 01:07:39,090
จะเกิดปัญหาขึ้น เช่น เครื่องพิมพ์

1016
01:07:39,092 --> 01:07:43,092
ให้เรามาถึงเครื่องพิมพ์

1017
01:07:43,093 --> 01:07:47,093
ที่เป็นหัวเข็ม เคยเห็นไหม มันจะดังแกร๊ก มันจะ

1018
01:07:47,095 --> 01:07:51,095
พรินทีละบรรทัด

1019
01:07:51,096 --> 01:07:55,096
เคยเห็นไหมครับ เครื่องพิมพ์แบบหัวเข็ม เหมือนเราไปซื้อ

1020
01:07:55,098 --> 01:07:59,098
ของตามเซเว่น

1021
01:07:59,099 --> 01:08:03,099
หรือเราไปจ่ายค่าเทอม มันจะ

1022
01:08:03,101 --> 01:08:07,101
พรินเป็นหัวเข็มออกมา

1023
01:08:07,102 --> 01:08:11,102
ถ้าเราปล่อยให้เกิดการตัดตอนขึ้น เช่น ผมสั่งพรินต์

1024
01:08:11,102 --> 01:08:15,102
ไปได้ 2 บรรทัด

1025
01:08:15,103 --> 01:08:19,103
สั่งมา อุบลบอกว่าอุบลมีความสำคัญมากกว่าแล้วเกิดการตัดตอน

1026
01:08:19,105 --> 01:08:23,105
บรรทัดที่ 3 จะกลายเป็นของอุบล

1027
01:08:23,106 --> 01:08:27,106
ดังนั้น ห้ามให้มีเหตุการณ์นี้เกิดขึ้นนะครับ

1028
01:08:27,107 --> 01:08:31,107
เพราะทรัพยากร บางอย่าง

1029
01:08:31,108 --> 01:08:35,108
ให้เกิดขึ้นไม่ได้นะครับ

1030
01:08:35,108 --> 01:08:39,108
ปัญหาต่อมานะครับ

1031
01:08:39,110 --> 01:08:43,110
ปัญหาการติดตาย

1032
01:08:43,111 --> 01:08:47,111
ดูรูปประกอบเลยนะครับ

1033
01:08:47,112 --> 01:08:51,112
ปัญหาการติดตายคืออะไรครับ ดูรูปเลย เมื่อ Process

1034
01:08:51,145 --> 01:08:55,145
ใดก็แล้วแต่ ครอบครองทรัพยากรของตั

1035
01:08:55,146 --> 01:08:59,146
ทรัพยากรของตัวเองอยู่ แล้วในขณะเดียวกัน

1036
01:08:59,149 --> 01:09:03,149
ต้องการไปครอบครองทรัพยากรของเรา

1037
01:09:03,150 --> 01:09:07,150
แต่ไม่ยอมให้ Process อื่น เข้า

1038
01:09:07,151 --> 01:09:11,151
มาครอบครองทรัพยากรของตัวเอง

1039
01:09:11,152 --> 01:09:15,152
เหมือนกันนะครับ เช่น ผมบอกอุบล

1040
01:09:15,156 --> 01:09:19,156
อาจารย์ยิมสตางค์ของอุบลหน่อย 1 ร้อยล

1041
01:09:19,158 --> 01:09:23,158
อุบลก็บอกเหมือนกัน อาจารย์

1042
01:09:23,159 --> 01:09:27,159
ผมก้ยืมตังอาจารย์หน่อย 200,000.

1043
01:09:27,162 --> 01:09:31,162
แต่อุบลก็ไม่ควักให้ผมนะ ผมก็ไม่ควักให้อุบล

1044
01:09:31,167 --> 01:09:35,167
เพราะเราก็ไม่มีทั้งคูนะ

1045
01:09:35,168 --> 01:09:39,168
คือ อยากได้สตางค์อุบล อุบล

1046
01:09:39,169 --> 01:09:43,169
ไม่ควักให้ นี่คือลักษณะการปิดตาย

1047
01:09:43,171 --> 01:09:47,171
ก็คือ Process ใด Process หนึ่งนี่ครอบครองทรัพยากรตัวเอง

1048
01:09:47,172 --> 01:09:51,172
อยู่แต่อยากไปได้ทรัพยากรของคนอื่น

1049
01:09:51,174 --> 01:09:55,174
คนอื่น แต่ตัวเองก็ไม่ยอมให้ทรัพยากรของตัวเอง

1050
01:09:55,175 --> 01:09:59,175
นะครับนี่คือลักษณธการปืดตายหรือ

1051
01:09:59,176 --> 01:10:03,176

1052
01:10:03,177 --> 01:10:07,177
เขาบอกว่า

1053
01:10:07,178 --> 01:10:11,178
ปัญหาการติดตายนั้น ไม่จำเป็นต้องเกิดจาก 2

1054
01:10:11,180 --> 01:10:15,180
Process อาจจะ

1055
01:10:15,184 --> 01:10:19,184
เกิดจากหลาย Process ก็ได้นะครับ มากกว่า 2 Process แต่ต้อง

1056
01:10:19,186 --> 01:10:23,186
มีเงื่อนไขดังนี้เช่น

1057
01:10:23,187 --> 01:10:27,187
1. การครอบครองเป็นแบบตัดตอนไม่ได้

1058
01:10:27,190 --> 01:10:31,190
อันนี้ก้ตัดตอนไม่ได้นะ

1059
01:10:31,191 --> 01:10:35,191
Process A, Process B ก็ไม่ได้ Process C ก็ไม่ได้

1060
01:10:35,192 --> 01:10:39,192

1061
01:10:39,194 --> 01:10:43,194
ไม่ไป ไม่มา นะครับ เงื่อนไขแบบที่ 2

1062
01:10:43,195 --> 01:10:47,195
การครอบครองเป็นแบบไม่เกิดร่วม

1063
01:10:47,196 --> 01:10:51,196
ต่างคนต่างทำงาน ต่างคนต่างอยู่คนละส่วน

1064
01:10:51,197 --> 01:10:55,197
ปิดตายขึ้น

1065
01:10:55,199 --> 01:10:59,199
นะครับ เงื่อนไขที่ 3 คือ

1066
01:10:59,202 --> 01:11:03,202
ในการรอใช้ทรัพยากร

1067
01:11:03,203 --> 01:11:07,203
เป็นการรอแบบวนรอบ

1068
01:11:07,204 --> 01:11:11,204
หรือวงรอบ หรือภาษาเขีียนโปรแกรม

1069
01:11:11,206 --> 01:11:15,206
เราเรียกว่าวนลูป หรือวนรอบ

1070
01:11:15,207 --> 01:11:19,207
ก้จะเกิดปัญหาการปิดตายขึ้น

1071
01:11:19,208 --> 01:11:23,208
นะครับ นี่คือปัญหา 3 ปัญหาที่เกิดขึ้นในระบบเรา

1072
01:11:23,209 --> 01:11:27,209
แต่เวลาเราออกแบบ OS ก็เกิดขึ้น

1073
01:11:27,211 --> 01:11:31,211

1074
01:11:31,213 --> 01:11:35,213
หัวข้อสุดท้ายนะครับ

1075
01:11:35,216 --> 01:11:39,216
ของบทนี้นะครับ เธรดนะครับ

1076
01:11:39,221 --> 01:11:43,221
เขาบอกในระบบปฏยั

1077
01:11:43,223 --> 01:11:47,223
บางตัวซึ่งเราใช้แล้วนะครับ เราใช้แบบนี้อยู่

1078
01:11:47,224 --> 01:11:51,224
นะครับ ถ้าเป็นสมัยก่อนยกไม่เกิดระบ

1079
01:11:51,225 --> 01:11:55,225
นะครับ เธรด ก็คือเป็นการที่ระบบปฏิบัติการ

1080
01:11:55,226 --> 01:11:59,226
แบ่งย่อย Processing ออกมาเป็นส่วน ๆ

1081
01:11:59,227 --> 01:12:03,227
ดูรูปประกอบเลยนะครับ

1082
01:12:03,228 --> 01:12:07,228

1083
01:12:07,231 --> 01:12:11,231
นี่... ทำไมไม่ขึ้น

1084
01:12:11,232 --> 01:12:15,232
ขวามือผมนะครับ

1085
01:12:15,233 --> 01:12:19,233
กับ Process B

1086
01:12:19,235 --> 01:12:23,235
Process A

1087
01:12:23,235 --> 01:12:27,235
โค้ดโปรแกรม

1088
01:12:27,237 --> 01:12:31,237
แล้วก็ข้อมูลองค์ประกอบอื่น

1089
01:12:31,238 --> 01:12:35,238
เขียนโปรแกรมแบบไม่ใช่เธรด แต่

1090
01:12:35,240 --> 01:12:39,240
พอเทรดปุ๊บมันจะแบ่งส่วนเทรด

1091
01:12:39,241 --> 01:12:43,241
1, 2, 3, 4, 5 เป็นส่วนย่อยนะครับ

1092
01:12:43,243 --> 01:12:47,243
เราแบ่ง มีประโยชน์อะไร

1093
01:12:47,244 --> 01:12:51,244
นะครับ มันจะให้ทำงานเร็วขึ้น สามารถ

1094
01:12:51,245 --> 01:12:55,245
ทำงานกับหน่วยความจำที่มีขนาดเล็กได้

1095
01:12:55,246 --> 01:12:59,246
แก้ไขง่าย นี่คือหลักการเขียนโปรแกรม

1096
01:12:59,248 --> 01:13:03,248
ใน ณ ปัจจุบันนี้นะครับ

1097
01:13:03,249 --> 01:13:07,249
เดี๋ยวพอเราเขียนโปรแกรมเราเรียนไปสัก ปี 2

1098
01:13:07,250 --> 01:13:11,250
ทำไมเราต้องมาเขียนเป็นแบบเทรด

1099
01:13:11,251 --> 01:13:15,251
โบราณนะครับ เขียนทีเดียว 100 บรรทัด, 500 บรรทัด

1100
01:13:15,253 --> 01:13:19,253
เวลามีปัญหามาปุ๊บการแก้ไขปัญหา

1101
01:13:19,254 --> 01:13:23,254
นะครับ แก้ไขยากนะครับ นี่คือหลักการ

1102
01:13:23,256 --> 01:13:27,256
ของการเขียนโปรแกรม

1103
01:13:27,257 --> 01:13:31,257
แจ้งพวกเรานะครับ เมื่อกี้ได้พูดไปแล้วนะครับ

1104
01:13:31,259 --> 01:13:35,259
สัปดาห์หน้านะครับ

1105
01:13:35,261 --> 01:13:39,261
เราก็จะไปศึกษาดูงานนอกสถานที่นะครับ

1106
01:13:39,262 --> 01:13:43,262
หมู่ 2 นะครับ หมู่ 2

1107
01:13:43,263 --> 01:13:47,263
หมู่ 1 ยังไม่ได้ไปนะครับ เราจะไปศึกษาดูงาน

1108
01:13:47,265 --> 01:13:51,265
ที่นครพนม ผมจะ

1109
01:13:51,266 --> 01:13:55,266
พาไปที่บุสบานก่อน

1110
01:13:55,268 --> 01:13:59,268
ไปดุหมู่บ้าน

1111
01:13:59,270 --> 01:14:03,270
อะไรไม่รู้จำไม่ได้นะครับ พวกทำเกี่ยวกับพื้นเมือง แล้วก็จะพาไปพิพิธภัณฑ์สัตว์น้ำ

1112
01:14:03,272 --> 01:14:07,272

1113
01:14:07,273 --> 01:14:11,273
นครพนม ก็สัปดาห์หน้าก็

1114
01:14:11,274 --> 01:14:15,274
หมู่ 1 ก็ต้องมาเรียน ก็เห็นพี่พลอย

1115
01:14:15,276 --> 01:14:19,276
ประสานไปที่อาจารย์อะไรนะที่เราเรียนน่ะ ตอนเช้าน่ะ

1116
01:14:19,277 --> 01:14:23,277
ก็เรียนด้วยกันใช่ไหม

1117
01:14:23,278 --> 01:14:27,278
เห็นว่าอาจารย์ว่าคณะก็

1118
01:14:27,280 --> 01:14:31,280
ไหว้ครู แต่ว่าสัปดาห์หน้าเราไม่มีเรียน

1119
01:14:31,281 --> 01:14:35,281
นะครับ ห้อง 1 นะมีเรียน แต่สัปดาห์หน้าหมู่ 2

1120
01:14:35,281 --> 01:14:39,281
เราจะไปนอกสถานที่

1121
01:14:39,282 --> 01:14:43,282
จะพาไปดูอะไรนะ ไปดู

1122
01:14:43,283 --> 01:14:47,283
ปลาบึก เขาจะป้อนอาหารปลาบึก

1123
01:14:47,284 --> 01:14:51,284
เอาอุบลไปให้อาหารปลา อุบลนะ

1124
01:14:51,285 --> 01:14:55,285
ก็ไปทั้งวันนะครับ

1125
01:14:55,286 --> 01:14:59,286
ก็แจ้งพวกเราไว้ สัปดาห์หน้าก็หยุด

1126
01:14:59,287 --> 01:15:03,287
นะครับ สัปดาห์ถัดไปก็เจอกันนู้นเลยครับ

1127
01:15:03,289 --> 01:15:07,289
นะครับ ก็ตอนนี้เราเปิดเทอมมาได้

1128
01:15:07,290 --> 01:15:11,290
เดือนหนึ่งนะครับเป้นอย้างไรครับปรับตัวได้

1129
01:15:11,292 --> 01:15:15,292
ได้แล้วนะ บางคนก็ส่งงานไว้ที่โต๊ะนะครับ เดี๋ยว

1130
01:15:15,293 --> 01:15:19,293
ผมจะส่งคืนให้นะ ผมจะตรวจ

1131
01:15:19,295 --> 01:15:23,295
แล้วส่งคืนให้ ๆ เราเอาเก็บไว้อ่านสอบ

1132
01:15:23,296 --> 01:15:27,296
แบบฝึกหัดที่ผมให้ทำ

1133
01:15:27,297 --> 01:15:31,297
มีใครอยากจะถามอะไรเพิ่มเติมไหมครับ

1134
01:15:31,297 --> 01:15:35,297

1135
01:15:35,298 --> 01:15:39,298
ครับ ถ้าไม่มีก็...

1136
01:15:39,299 --> 01:15:43,299

1137
01:15:43,301 --> 01:15:47,301
Process พ่อเกิดอย่างไร

1138
01:15:47,303 --> 01:15:51,303
Process พ่อเกิดขึ้นจาก

1139
01:15:51,304 --> 01:15:55,304
การที่เมื่อเวลาใดเวลาหนึ่ง เช่น เรา... สมมตินะ ๆ

1140
01:15:55,306 --> 01:15:59,306
ผมเป็นProcess  ผมต้องการจะเข้าไป ครอบครอง

1141
01:15:59,308 --> 01:16:03,308
จะเข้าไปครอบครอง CPU ตัวของระบบปฏิบัติการจะสร้าง

1142
01:16:03,309 --> 01:16:07,309
Process หนึ่งขึ้นมา เพื่อมากำกับผม

1143
01:16:07,310 --> 01:16:11,310
ไป จะพาเข้าไปครอบครอง CPU นะ นี่

1144
01:16:11,311 --> 01:16:15,311
เป็นการให้กำเนิด เป้นการให้กำเนิด

1145
01:16:15,319 --> 01:16:19,319
เพื่อพา Process เข้าไป ตรงนี้เรียกว่า Process พ่อ

1146
01:16:19,320 --> 01:16:23,320
นะครับนี่คือหลักการของมัน

1147
01:16:23,321 --> 01:16:27,321
ของมันนะครับ

1148
01:16:27,322 --> 01:16:31,322
ครับก็ต้อง

1149
01:16:31,324 --> 01:16:35,324
ขอบคุณพี่ล่ามมากนะครับ ที่ได้ให้การอนุเคราะห์เรา

1150
01:16:35,326 --> 01:16:39,326
มาอีก 1 สัปดาห์ สัปดาห์หน้า

1151
01:16:39,328 --> 01:16:43,328
เราไม่ได้เจอกันนะครับพี่ล่าม สัปดาห์หน้าจะพาน้อง ๆ ไปนอกสถานที่

1152
01:16:43,329 --> 01:16:47,329
ก็ ถ้าไม่มีใครถามอะไรแล้วนะครับ

1153
01:16:47,331 --> 01:16:51,331
ก็เจอกันสัปดาห์หน้านะครับ ไปดูงานนอกสถานที่

1154
01:16:51,333 --> 01:16:55,333
กัน โอเคครับผม ไป

1155
01:16:55,338 --> 01:16:59,338

1156
01:16:59,339 --> 01:17:03,339

1157
01:17:03,341 --> 01:17:07,341

1158
01:17:07,343 --> 01:17:11,343

1159
01:17:11,345 --> 01:17:15,345

1160
01:17:15,347 --> 01:17:19,347

1161
01:17:19,349 --> 01:17:23,349

1162
01:17:23,364 --> 01:17:27,364

1163
01:17:27,366 --> 01:17:31,366

1164
01:17:31,371 --> 01:17:35,182

1165
01:17:35,375 --> 01:17:39,375

1166
01:17:39,376 --> 01:17:43,376

1167
01:17:43,377 --> 01:17:47,377

1168
01:17:47,380 --> 01:17:51,251

1169
01:17:51,381 --> 01:17:55,381

1170
01:17:55,382 --> 01:17:59,382

1171
01:17:59,384 --> 01:18:03,384

1172
01:18:03,386 --> 01:18:07,386

1173
01:18:07,387 --> 01:18:11,387

1174
01:18:11,390 --> 01:18:11,391

1175
01:19:55,478 --> 01:19:58,481

1176
01:19:59,480 --> 01:20:02,484

1177
01:20:03,485 --> 01:20:06,488

1178
01:20:07,487 --> 01:20:10,487

1179
01:20:11,491 --> 01:20:14,492

1180
01:20:15,493 --> 01:20:18,494

1181
01:20:19,494 --> 01:20:22,497

1182
01:20:23,496 --> 01:20:26,497

1183
01:20:27,498 --> 01:20:30,502

1184
01:20:31,499 --> 01:20:34,503

1185
01:20:35,501 --> 01:20:38,502

1186
01:20:39,503 --> 01:20:42,504

1187
01:20:43,505 --> 01:20:46,506

1188
01:20:47,508 --> 01:20:50,511

1189
01:20:51,510 --> 01:20:54,513

1190
01:20:55,512 --> 01:20:58,516

1191
01:20:59,514 --> 01:21:02,516

1192
01:21:03,516 --> 01:21:06,516

1193
01:21:07,518 --> 01:21:10,521

1194
01:21:11,520 --> 01:21:14,523

1195
01:21:15,522 --> 01:21:18,525

1196
01:21:19,524 --> 01:21:22,527

1197
01:21:23,527 --> 01:21:26,531

1198
01:21:27,530 --> 01:21:30,531

1199
01:21:31,535 --> 01:21:34,537

1200
01:21:35,536 --> 01:21:38,540

1201
01:21:39,539 --> 01:21:42,543

1202
01:21:43,540 --> 01:21:46,543

1203
01:21:47,542 --> 01:21:47,543

1204
01:21:51,545 --> 01:21:51,547

1205
01:22:03,554 --> 01:22:03,558

1206
01:21:55,548 --> 01:21:55,548

1207
01:21:59,549 --> 01:21:59,552


