﻿WEBVTT

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


