﻿1
00:00:00,000 --> 00:00:01,600
การจัดการ CPU

2
00:00:02,072 --> 00:00:02,363

3
00:00:02,451 --> 00:00:05,733
งวดนี้เราก็จะพูดถึงการจัดการหน่วยความจำนะครับ

4
00:00:05,912 --> 00:00:06,362

5
00:00:06,103 --> 00:00:06,538

6
00:00:06,492 --> 00:00:07,823
หน่วยความจำ

7
00:00:07,973 --> 00:00:08,264

8
00:00:08,223 --> 00:00:08,690

9
00:00:08,991 --> 00:00:10,532
ก็เป็นอุปกรณ์ตัวหนึ่ง

10
00:00:10,723 --> 00:00:12,129
ที่มีส่วนสำคัญ

11
00:00:12,064 --> 00:00:12,498

12
00:00:12,515 --> 00:00:14,301
ในคอมพิวเตอร์ของเรานะครับ

13
00:00:14,301 --> 00:00:14,768

14
00:00:14,572 --> 00:00:14,859

15
00:00:15,011 --> 00:00:15,498

16
00:00:15,272 --> 00:00:15,837

17
00:00:16,175 --> 00:00:16,463

18
00:00:17,065 --> 00:00:17,331

19
00:00:17,324 --> 00:00:17,540

20
00:00:17,575 --> 00:00:18,034

21
00:00:17,965 --> 00:00:20,567
เราจะดูว่าเครื่องคอมพิวเตอร์เครื่องไหน

22
00:00:20,573 --> 00:00:20,828

23
00:00:20,894 --> 00:00:23,374
ขีดความสามารถมากกว่ากัน

24
00:00:23,462 --> 00:00:23,839

25
00:00:23,912 --> 00:00:25,310
เราก็อาจจะดู

26
00:00:25,382 --> 00:00:26,865
จากหน่วยความจำนะครับ

27
00:00:27,813 --> 00:00:28,037

28
00:00:29,415 --> 00:00:31,013
แต่ทั้งนี้ทั้งนั้นนะครับ

29
00:00:30,965 --> 00:00:31,207

30
00:00:31,856 --> 00:00:32,225

31
00:00:32,881 --> 00:00:33,164

32
00:00:33,844 --> 00:00:34,134

33
00:00:34,675 --> 00:00:36,200
ไม่ได้ตอบได้เสมอ

34
00:00:36,402 --> 00:00:36,681

35
00:00:36,655 --> 00:00:38,649
พระเครื่องที่มีหน่วยความจำมาก

36
00:00:39,488 --> 00:00:39,928

37
00:00:40,566 --> 00:00:42,292
ทำงานได้ดีกว่านะครับ

38
00:00:42,484 --> 00:00:42,746

39
00:00:43,763 --> 00:00:44,178

40
00:00:44,794 --> 00:00:50,800
ในการจัดการหน่วยความจำนั้นก็เป็นขีดความสามารถอันหนึ่งของระบบปฏิบัติการของเราด้วยนะครับ

41
00:00:50,754 --> 00:00:51,275

42
00:00:51,204 --> 00:00:53,245
ถ้าระบบปฏิบัติการของเรา

43
00:00:53,244 --> 00:00:53,638

44
00:00:54,085 --> 00:00:56,481
จัดการหน่อยหน่วยความจำไม่ดี

45
00:00:56,842 --> 00:00:57,308

46
00:00:57,094 --> 00:00:57,295

47
00:00:57,925 --> 00:00:59,840
ประสิทธิภาพในการใช้งาน

48
00:00:59,783 --> 00:01:01,189
ก็จะน้อยลงนะครับ

49
00:01:01,195 --> 00:01:01,483

50
00:01:01,515 --> 00:01:04,562
ที่นี้เรามาดูว่ามันจะกันอย่างไรนะครับ

51
00:01:05,932 --> 00:01:06,152

52
00:01:06,443 --> 00:01:06,861

53
00:01:06,893 --> 00:01:07,124

54
00:01:07,342 --> 00:01:07,575

55
00:01:07,982 --> 00:01:08,212

56
00:01:08,692 --> 00:01:08,974

57
00:01:08,882 --> 00:01:09,174

58
00:01:09,263 --> 00:01:11,039
การจัดการหน่วยความจำ

59
00:01:10,991 --> 00:01:12,905
มีอยู่ 3 แบบนะครับ

60
00:01:12,855 --> 00:01:13,341

61
00:01:13,565 --> 00:01:14,579
มีอยู่ 3

62
00:01:14,904 --> 00:01:15,265

63
00:01:15,676 --> 00:01:16,217

64
00:01:16,886 --> 00:01:17,110

65
00:01:18,104 --> 00:01:18,542

66
00:01:18,294 --> 00:01:20,536
เฟซวางแผนที่

67
00:01:20,485 --> 00:01:22,041
มี 3 ลักษณะคือ

68
00:01:21,955 --> 00:01:22,564

69
00:01:22,912 --> 00:01:25,640
ซึ่งเราค่อยดูว่าทำอย่างไรนะครับ

70
00:01:25,603 --> 00:01:25,929

71
00:01:25,792 --> 00:01:26,050

72
00:01:26,054 --> 00:01:28,802
คราวนี้มาดูการจัดสรรหน่วยความจำนะครับ

73
00:01:28,741 --> 00:01:28,973

74
00:01:29,000 --> 00:01:32,782
โปรแกรมทุกโปรแกรมที่เราใช้งานในคอมพิวเตอร์ของเรานั้น

75
00:01:32,715 --> 00:01:34,881
จำเป็นจะต้องใช้หน่วยความจำ

76
00:01:35,214 --> 00:01:35,845
นะครับ

77
00:01:37,776 --> 00:01:38,003

78
00:01:37,965 --> 00:01:40,459
ทำมากจะน้อยก็แล้วแต่โปรแกรม

79
00:01:40,973 --> 00:01:41,208

80
00:01:41,682 --> 00:01:42,094

81
00:01:42,063 --> 00:01:42,296

82
00:01:43,022 --> 00:01:44,743
โปรแกรมเกม

83
00:01:44,822 --> 00:01:46,479
อาจจะใช้เยอะ

84
00:01:46,425 --> 00:01:46,839

85
00:01:46,876 --> 00:01:48,923
โปรแกรมพิมพ์งานอาจจะใช้น้อย

86
00:01:48,923 --> 00:01:50,238
ประมาณนี้นะครับ

87
00:01:50,206 --> 00:01:51,667
คราวนี้เรามาดูว่า

88
00:01:55,004 --> 00:01:55,455

89
00:01:55,204 --> 00:01:55,426

90
00:01:55,393 --> 00:01:55,625

91
00:01:56,165 --> 00:01:56,451

92
00:01:56,352 --> 00:01:56,628

93
00:01:56,734 --> 00:01:57,020

94
00:01:57,375 --> 00:01:57,812

95
00:01:58,014 --> 00:01:58,502

96
00:01:58,656 --> 00:01:58,925

97
00:01:58,845 --> 00:01:59,130

98
00:01:59,044 --> 00:02:01,394
ในการจัดสรรหน่วยความจำนะครับ

99
00:02:01,542 --> 00:02:03,781
สามารถแบ่งออกเป็น 2 ประเภทนะครับ

100
00:02:04,232 --> 00:02:04,477

101
00:02:04,422 --> 00:02:04,693

102
00:02:04,553 --> 00:02:04,855

103
00:02:04,875 --> 00:02:06,465
ก็คือการจัดสรร

104
00:02:06,724 --> 00:02:07,856
แบบต่อเนื่อง

105
00:02:08,525 --> 00:02:10,372
แล้วก็แบบไม่ต่อเนื่องนะครับ

106
00:02:11,155 --> 00:02:11,442

107
00:02:11,414 --> 00:02:11,634

108
00:02:11,793 --> 00:02:12,075

109
00:02:12,111 --> 00:02:12,380

110
00:02:12,815 --> 00:02:14,798
การจัดสรรหน่วยความจำ

111
00:02:15,053 --> 00:02:17,793
แบบต่อเนื่องก็คือหมายความว่า

112
00:02:17,824 --> 00:02:20,112
หน่วยความจำจะต้องว่างต่อกัน

113
00:02:20,504 --> 00:02:20,781

114
00:02:20,823 --> 00:02:21,060

115
00:02:21,012 --> 00:02:21,228

116
00:02:21,203 --> 00:02:21,413

117
00:02:21,462 --> 00:02:22,363
ครับ

118
00:02:22,293 --> 00:02:24,523
พื้นที่ว่างต้องต่อเนื่องกันนะครับ

119
00:02:24,534 --> 00:02:26,277
ขาดช่วงอะไรไม่ได้นะครับ

120
00:02:26,275 --> 00:02:26,497

121
00:02:26,405 --> 00:02:26,656

122
00:02:26,525 --> 00:02:26,779

123
00:02:26,655 --> 00:02:27,147

124
00:02:27,162 --> 00:02:29,331
แล้วก็ต้องมีขนาดใหญ่พอนะครับ

125
00:02:29,283 --> 00:02:29,492

126
00:02:31,843 --> 00:02:32,148

127
00:02:31,963 --> 00:02:34,403
ถึงจะสามารถเข้าไปทำงานได้นะครับ

128
00:02:34,401 --> 00:02:34,642

129
00:02:34,662 --> 00:02:34,881

130
00:02:35,944 --> 00:02:36,167

131
00:02:36,454 --> 00:02:36,718

132
00:02:36,843 --> 00:02:37,079

133
00:02:37,032 --> 00:02:38,886
ส่วนไม่ต่อเนื่องนะครับ

134
00:02:38,822 --> 00:02:39,034

135
00:02:39,014 --> 00:02:39,296

136
00:02:39,334 --> 00:02:39,562

137
00:02:39,592 --> 00:02:39,874

138
00:02:39,782 --> 00:02:40,010

139
00:02:40,042 --> 00:02:40,315

140
00:02:40,162 --> 00:02:40,985
ก็คือ

141
00:02:41,002 --> 00:02:41,433

142
00:02:41,512 --> 00:02:48,069
เข้าไปครอบครองหน่วยความจำแล้วหน่วยความจำอาจจะอยู่คนละที่อยู่คนละแบบนะครับอยู่คนละที่

143
00:02:49,135 --> 00:02:49,356

144
00:02:49,646 --> 00:02:49,861

145
00:02:50,033 --> 00:02:52,515
แต่ก็ต้องมีเนื้อที่เพียงพอนะครับ

146
00:02:52,476 --> 00:02:52,759

147
00:02:52,850 --> 00:02:55,027
ที่โปรแกรมจะใช้งานนะครับ

148
00:02:55,413 --> 00:02:55,910

149
00:02:55,602 --> 00:02:55,817

150
00:02:55,862 --> 00:02:56,154

151
00:02:56,313 --> 00:02:56,562

152
00:02:57,592 --> 00:02:57,849

153
00:02:57,852 --> 00:02:58,069

154
00:02:58,752 --> 00:02:59,751
คราวนี้

155
00:03:00,673 --> 00:03:00,887

156
00:03:01,052 --> 00:03:03,211
มาดูในระบบโปรแกรมเดียว

157
00:03:03,422 --> 00:03:04,620
โปรแกรมเดียว

158
00:03:05,025 --> 00:03:05,304

159
00:03:05,215 --> 00:03:06,881
Single Program

160
00:03:07,335 --> 00:03:07,823

161
00:03:07,844 --> 00:03:08,083

162
00:03:08,103 --> 00:03:08,328

163
00:03:08,425 --> 00:03:08,685

164
00:03:08,613 --> 00:03:08,846

165
00:03:08,815 --> 00:03:09,025

166
00:03:09,513 --> 00:03:10,903
ก็คือคอมพิวเตอร์

167
00:03:10,984 --> 00:03:11,246

168
00:03:11,175 --> 00:03:11,453

169
00:03:11,434 --> 00:03:11,689

170
00:03:11,625 --> 00:03:11,852

171
00:03:12,394 --> 00:03:16,014
มีผู้ใช้งานแค่โปรแกรมเดียวการจัดสรรหน่วยความจำ

172
00:03:15,922 --> 00:03:17,315
จะไม่ยุ่งยากนะครับ

173
00:03:19,252 --> 00:03:19,605

174
00:03:19,563 --> 00:03:19,792

175
00:03:19,823 --> 00:03:20,112

176
00:03:20,082 --> 00:03:20,575

177
00:03:20,652 --> 00:03:21,007

178
00:03:21,043 --> 00:03:21,327

179
00:03:21,232 --> 00:03:21,475

180
00:03:21,743 --> 00:03:22,027

181
00:03:22,061 --> 00:03:24,501
ซึ่งเราสามารถแบ่งพื้นที่

182
00:03:24,443 --> 00:03:24,675

183
00:03:24,633 --> 00:03:27,242
ของหน่วยความจำออกเป็น 2 ส่วนนะครับ

184
00:03:28,084 --> 00:03:29,119
ก็คือตอนแรก

185
00:03:30,390 --> 00:03:32,469
ส่วนของระบบปฏิบัติการนะครับ

186
00:03:32,571 --> 00:03:32,799

187
00:03:33,021 --> 00:03:33,225

188
00:03:33,532 --> 00:03:33,760

189
00:03:33,791 --> 00:03:34,144

190
00:03:34,171 --> 00:03:34,416

191
00:03:34,621 --> 00:03:34,858

192
00:03:35,002 --> 00:03:37,112
และเป็นส่วนที่จำเป็น

193
00:03:37,633 --> 00:03:39,485
ต้องมีพื้นที่ว่าง

194
00:03:39,564 --> 00:03:40,901
ยาวติดต่อกัน

195
00:03:41,093 --> 00:03:42,803
เป็นผืนใหญ่ผืนเดียวเลย

196
00:03:42,823 --> 00:03:43,028

197
00:03:42,953 --> 00:03:43,574
นะครับ

198
00:03:44,614 --> 00:03:44,987

199
00:03:44,932 --> 00:03:45,160

200
00:03:45,192 --> 00:03:45,421

201
00:03:45,703 --> 00:03:45,969

202
00:03:45,963 --> 00:03:46,214

203
00:03:48,203 --> 00:03:48,504

204
00:03:48,463 --> 00:03:48,666

205
00:03:48,973 --> 00:03:49,220

206
00:03:49,163 --> 00:03:49,724

207
00:03:49,683 --> 00:03:50,387
OS

208
00:03:50,383 --> 00:03:51,143
นะครับ

209
00:03:51,663 --> 00:03:52,026

210
00:03:51,982 --> 00:03:52,225

211
00:03:52,176 --> 00:03:54,537
ต้องมีพื้นที่หน่วยความจำของมันด้วยนะครับ

212
00:03:55,262 --> 00:03:57,895
แล้วต้องเป็นพื้นที่ยาวต่อเนื่องกันนะครับ

213
00:03:58,592 --> 00:03:58,953

214
00:04:00,063 --> 00:04:00,343

215
00:04:00,322 --> 00:04:00,572

216
00:04:00,642 --> 00:04:00,858

217
00:04:00,831 --> 00:04:01,337

218
00:04:01,412 --> 00:04:01,702

219
00:04:02,053 --> 00:04:02,321

220
00:04:02,242 --> 00:04:02,992
2

221
00:04:03,393 --> 00:04:03,665

222
00:04:03,524 --> 00:04:03,749

223
00:04:03,713 --> 00:04:03,945

224
00:04:04,043 --> 00:04:05,498
ส่วนของผู้ใช้

225
00:04:05,451 --> 00:04:05,667

226
00:04:05,575 --> 00:04:06,159

227
00:04:06,153 --> 00:04:06,384

228
00:04:06,414 --> 00:04:06,624

229
00:04:06,922 --> 00:04:07,196

230
00:04:07,375 --> 00:04:08,939
ก็คือเหลือจาก OS

231
00:04:08,976 --> 00:04:09,252

232
00:04:09,294 --> 00:04:11,536
ก็กลายเป็นส่วนของผู้ชายนะครับ

233
00:04:11,533 --> 00:04:13,639
ในระบบโปรแกรมเดียวนะครับ

234
00:04:13,582 --> 00:04:13,850

235
00:04:13,901 --> 00:04:14,109

236
00:04:14,165 --> 00:04:14,524

237
00:04:14,544 --> 00:04:14,821

238
00:04:15,312 --> 00:04:15,531

239
00:04:15,501 --> 00:04:15,723

240
00:04:15,693 --> 00:04:15,969

241
00:04:15,892 --> 00:04:16,153

242
00:04:16,333 --> 00:04:19,952
เมื่อไหร่ความจำถูกแบ่งออกเป็น 2 ส่วนนะครับ 2 ส่วน

243
00:04:19,854 --> 00:04:20,105

244
00:04:20,112 --> 00:04:23,515
ระบบปฏิบัติการเองก็จำเป็นต้องป้องกัน

245
00:04:23,573 --> 00:04:25,202
ไม่ให้ตัวมันเองนี่

246
00:04:25,243 --> 00:04:26,833
จนลุกลามเข้ามา

247
00:04:26,900 --> 00:04:27,129

248
00:04:27,676 --> 00:04:29,000
วิธีการป้องกัน

249
00:04:29,152 --> 00:04:30,761
ก็คือการใช้ Regis

250
00:04:30,693 --> 00:04:31,699
ขอบเขต

251
00:04:31,653 --> 00:04:32,606
นะครับ

252
00:04:32,673 --> 00:04:32,947

253
00:04:34,533 --> 00:04:34,890

254
00:04:35,042 --> 00:04:37,143
register ขอบเขตคืออะไร

255
00:04:37,163 --> 00:04:38,041
ก็คือ

256
00:04:38,313 --> 00:04:38,585

257
00:04:38,633 --> 00:04:38,857

258
00:04:38,763 --> 00:04:40,251
ส่วนที่ป้องกัน

259
00:04:40,814 --> 00:04:41,680
ระหว่าง

260
00:04:41,703 --> 00:04:41,978

261
00:04:42,213 --> 00:04:42,432

262
00:04:42,472 --> 00:04:42,760

263
00:04:42,731 --> 00:04:43,004

264
00:04:42,852 --> 00:04:43,229

265
00:04:43,242 --> 00:04:44,449
ระหว่างอะไรครับ

266
00:04:44,583 --> 00:04:45,856
OS นะครับ

267
00:04:45,876 --> 00:04:47,421
กับส่วนของผู้ใช้

268
00:04:47,414 --> 00:04:47,899

269
00:04:48,114 --> 00:04:50,316
ไม่ให้เข้ามายุ่งเกี่ยวกันนะครับ

270
00:04:51,252 --> 00:04:51,476

271
00:04:51,503 --> 00:04:51,730

272
00:04:51,952 --> 00:04:52,512

273
00:04:52,533 --> 00:04:54,466
ดังนั้นการเขียนโปรแกรม

274
00:04:55,615 --> 00:04:57,008
ไวรัสคอมพิวเตอร์

275
00:04:56,953 --> 00:04:58,611
ส่วนหนึ่งก็คือเจาะ

276
00:04:58,743 --> 00:05:00,270
register ขอบเขต

277
00:05:00,342 --> 00:05:01,376
เอาเข้าไป

278
00:05:02,654 --> 00:05:02,907

279
00:05:02,852 --> 00:05:03,050

280
00:05:03,041 --> 00:05:03,336

281
00:05:04,253 --> 00:05:04,543

282
00:05:05,731 --> 00:05:06,163

283
00:05:06,112 --> 00:05:06,338

284
00:05:06,622 --> 00:05:06,909

285
00:05:07,011 --> 00:05:07,818
นี่นะครับ

286
00:05:07,841 --> 00:05:08,122

287
00:05:08,091 --> 00:05:08,385

288
00:05:08,422 --> 00:05:08,784

289
00:05:09,312 --> 00:05:09,669

290
00:05:09,832 --> 00:05:11,297
ถ้ามีการรุกล้ำ

291
00:05:11,622 --> 00:05:13,140
register ขอบเขต

292
00:05:13,545 --> 00:05:13,819

293
00:05:14,054 --> 00:05:15,805
มันจะแจ้งเตือนนะครับ

294
00:05:15,782 --> 00:05:16,033

295
00:05:15,972 --> 00:05:16,406

296
00:05:16,363 --> 00:05:16,569

297
00:05:16,552 --> 00:05:16,834

298
00:05:17,064 --> 00:05:17,327

299
00:05:17,583 --> 00:05:17,921

300
00:05:18,034 --> 00:05:18,292

301
00:05:18,224 --> 00:05:18,486

302
00:05:18,933 --> 00:05:19,189

303
00:05:19,313 --> 00:05:21,878
คราวนี้มาดูระบบหลายโปรแกรมนะครับ

304
00:05:21,814 --> 00:05:23,456
ระบบหลายโปรแกรม

305
00:05:23,664 --> 00:05:23,910

306
00:05:23,984 --> 00:05:24,182

307
00:05:24,373 --> 00:05:24,650

308
00:05:25,976 --> 00:05:29,385
การทำงานของระบบหลายโปรแกรมส่วนมาก

309
00:05:29,302 --> 00:05:30,064
นะครับ

310
00:05:30,454 --> 00:05:30,656

311
00:05:30,776 --> 00:05:31,066

312
00:05:31,104 --> 00:05:33,193
ส่วนมากจะเกิดขึ้นก็คือ

313
00:05:33,142 --> 00:05:33,369

314
00:05:33,331 --> 00:05:35,404
การไปทำงาน input output

315
00:05:35,714 --> 00:05:36,335
ก็คือ

316
00:05:36,354 --> 00:05:36,609

317
00:05:36,483 --> 00:05:39,217
อันที่มันไม่ได้ครอบครอง CPU ว่างๆๆ

318
00:05:39,231 --> 00:05:41,100
ได้ครอบครองหน่วยความจำนะครับ

319
00:05:42,502 --> 00:05:42,795

320
00:05:42,762 --> 00:05:42,988

321
00:05:42,951 --> 00:05:43,223

322
00:05:43,141 --> 00:05:43,431

323
00:05:43,532 --> 00:05:44,269

324
00:05:44,933 --> 00:05:46,851
เราเรียกระบบนี้ว่า

325
00:05:47,112 --> 00:05:47,415

326
00:05:47,371 --> 00:05:49,333
ระบบ Multi programming

327
00:05:50,702 --> 00:05:50,931

328
00:05:50,962 --> 00:05:51,238

329
00:05:51,223 --> 00:05:51,520

330
00:05:51,473 --> 00:05:51,755

331
00:05:51,733 --> 00:05:51,953

332
00:05:51,982 --> 00:05:52,224

333
00:05:52,172 --> 00:05:52,411

334
00:05:52,432 --> 00:05:52,696

335
00:05:53,013 --> 00:05:53,295

336
00:05:53,451 --> 00:05:53,661

337
00:05:53,582 --> 00:05:53,833

338
00:05:53,972 --> 00:05:55,881
ระบบ programming นี้นะครับ

339
00:05:56,202 --> 00:05:56,661

340
00:05:56,401 --> 00:05:56,665

341
00:05:56,593 --> 00:05:58,445
ก็คือการทำงานที่

342
00:05:59,293 --> 00:05:59,714

343
00:05:59,803 --> 00:06:00,033

344
00:06:00,373 --> 00:06:00,626

345
00:06:00,572 --> 00:06:04,107
มีโปรแกรมมากกว่าหนึ่งโปรแกรมทำงานในเวลาเดียวกัน

346
00:06:04,342 --> 00:06:04,542

347
00:06:04,543 --> 00:06:07,155
2 3 4 5 6

348
00:06:07,175 --> 00:06:08,062
7 นะครับ

349
00:06:08,001 --> 00:06:08,212

350
00:06:09,094 --> 00:06:11,454
การทำงานของระบบหลายโปรแกรมนั้น

351
00:06:11,523 --> 00:06:13,944
แบ่ง partition ของหน่วยความจำ

352
00:06:13,952 --> 00:06:14,160

353
00:06:15,432 --> 00:06:18,705
แบ่ง partition ของหน่วยความจำออกเป็นส่วนส่วนนะครับ

354
00:06:21,063 --> 00:06:21,271

355
00:06:22,474 --> 00:06:22,739

356
00:06:23,443 --> 00:06:23,673

357
00:06:23,692 --> 00:06:24,195

358
00:06:24,213 --> 00:06:24,457

359
00:06:24,403 --> 00:06:24,670

360
00:06:24,723 --> 00:06:24,954

361
00:06:24,912 --> 00:06:25,149

362
00:06:25,174 --> 00:06:25,455

363
00:06:25,613 --> 00:06:26,044

364
00:06:27,023 --> 00:06:28,873
การแปลงหน่วยความจำนะครับ

365
00:06:28,882 --> 00:06:29,147

366
00:06:29,074 --> 00:06:29,324

367
00:06:30,092 --> 00:06:31,061
เรา

368
00:06:30,992 --> 00:06:31,929
โปรแกรมบอล

369
00:06:32,023 --> 00:06:33,515
แบ่งกับความจำนะครับ

370
00:06:33,374 --> 00:06:33,656

371
00:06:33,754 --> 00:06:35,004
ก็ยังสามารถ

372
00:06:36,242 --> 00:06:37,778
แบ่งได้เป็น 2 ประเภทนะครับ

373
00:06:38,232 --> 00:06:41,286
ก็คือระบบหลายโปรแกรมแบบแบ่งหน่วยความจำ

374
00:06:42,783 --> 00:06:43,922
แบบคงที่

375
00:06:44,133 --> 00:06:45,907
แล้วก็ไม่คงที่นะครับ

376
00:06:45,851 --> 00:06:46,145

377
00:06:46,301 --> 00:06:46,600

378
00:06:46,561 --> 00:06:46,789

379
00:06:46,691 --> 00:06:46,968

380
00:06:46,942 --> 00:06:47,232

381
00:06:47,584 --> 00:06:48,053

382
00:06:47,712 --> 00:06:48,141

383
00:06:49,063 --> 00:06:52,094
ในระบบหลายโปรแกรมแบบสลับหน่วยความจำ

384
00:06:53,034 --> 00:06:53,303

385
00:06:53,164 --> 00:06:53,443

386
00:06:53,352 --> 00:06:53,928
ครับ

387
00:06:54,501 --> 00:06:54,807

388
00:06:54,761 --> 00:06:55,138

389
00:06:55,081 --> 00:06:55,320

390
00:06:55,332 --> 00:06:56,085

391
00:06:56,361 --> 00:06:56,617

392
00:06:56,561 --> 00:06:56,908

393
00:06:56,881 --> 00:06:57,165

394
00:06:57,842 --> 00:06:58,129

395
00:06:58,091 --> 00:06:59,558
แบ่งหน่วยความจำนะครับ

396
00:06:59,691 --> 00:07:01,210
ก็สลับหน่วยความจำ

397
00:07:01,740 --> 00:07:04,299
คราวนี้เรามาดูประเภทที่ 1 นะครับ

398
00:07:04,891 --> 00:07:06,358
การแบ่งหน่วยความจำ

399
00:07:06,362 --> 00:07:07,754
ขนาดคงที่นะครับ

400
00:07:10,074 --> 00:07:10,629

401
00:07:10,582 --> 00:07:10,874

402
00:07:11,224 --> 00:07:11,782

403
00:07:11,733 --> 00:07:11,962

404
00:07:11,993 --> 00:07:12,267

405
00:07:12,123 --> 00:07:12,350

406
00:07:12,443 --> 00:07:12,706

407
00:07:12,643 --> 00:07:12,915

408
00:07:12,831 --> 00:07:13,198

409
00:07:13,413 --> 00:07:14,477
เห็นไหมครับ

410
00:07:14,432 --> 00:07:14,656

411
00:07:14,942 --> 00:07:17,930
โปรแกรมส่วนที่ 1 ส่วนที่ 2 ส่วนที่ 3

412
00:07:18,010 --> 00:07:19,677
มีขนาดที่เท่ากันนะครับ

413
00:07:19,610 --> 00:07:20,111

414
00:07:20,060 --> 00:07:20,883
เท่ากัน

415
00:07:21,741 --> 00:07:21,956

416
00:07:21,991 --> 00:07:22,416

417
00:07:22,442 --> 00:07:22,673

418
00:07:23,144 --> 00:07:23,760

419
00:07:23,722 --> 00:07:23,914

420
00:07:23,852 --> 00:07:24,078

421
00:07:24,551 --> 00:07:24,820

422
00:07:27,880 --> 00:07:28,100

423
00:07:28,204 --> 00:07:28,487

424
00:07:28,332 --> 00:07:28,885

425
00:07:28,844 --> 00:07:29,154

426
00:07:29,172 --> 00:07:29,464

427
00:07:29,424 --> 00:07:29,698

428
00:07:29,684 --> 00:07:31,197

429
00:07:31,154 --> 00:07:31,633

430
00:07:31,664 --> 00:07:31,931

431
00:07:32,243 --> 00:07:32,501

432
00:07:32,503 --> 00:07:32,800

433
00:07:32,880 --> 00:07:37,651
และการแบ่งหน่วยความจำขนาดคงที่ก็ยังสามารถแบ่งออกเป็น 2 ประเภทนะคะ

434
00:07:37,623 --> 00:07:37,835

435
00:07:37,821 --> 00:07:38,632
2 แบบ

436
00:07:38,582 --> 00:07:38,853

437
00:07:39,103 --> 00:07:39,381

438
00:07:39,483 --> 00:07:40,549
ได้แก่

439
00:07:40,632 --> 00:07:40,896

440
00:07:40,824 --> 00:07:41,077

441
00:07:41,273 --> 00:07:43,652
การแปลงและโหลดด้วยค่าสัมบูรณ์นะครับ

442
00:07:44,532 --> 00:07:46,765
ดูรูปนี้ประกอบนะครับ

443
00:07:47,741 --> 00:07:48,006

444
00:07:48,321 --> 00:07:48,587

445
00:07:48,771 --> 00:07:50,111
โปรแกรมส่วนที่ 1

446
00:07:50,112 --> 00:07:50,388

447
00:07:50,371 --> 00:07:50,652

448
00:07:50,561 --> 00:07:50,837

449
00:07:50,751 --> 00:07:51,008

450
00:07:51,521 --> 00:07:51,788

451
00:07:51,841 --> 00:07:53,372
เล่นไหมครับวันที่ 1

452
00:07:53,830 --> 00:07:54,851

453
00:07:54,921 --> 00:07:57,602
ส่วนที่ 1 ส่วนที่ 2 เข้าส่วนที่ 2

454
00:07:57,542 --> 00:07:59,342
โปรแกรมตรวจที่ 1

455
00:07:59,331 --> 00:08:00,230
ที่ 2

456
00:08:00,300 --> 00:08:01,132
ที่ 3

457
00:08:01,701 --> 00:08:04,198
จะเห็นว่ามีขนาดที่เท่ากันนะครับ

458
00:08:04,202 --> 00:08:04,477

459
00:08:04,341 --> 00:08:05,349
ที่เท่ากัน

460
00:08:05,551 --> 00:08:05,801

461
00:08:06,131 --> 00:08:06,491

462
00:08:07,412 --> 00:08:09,358
พอมันเข้ากันปุ๊บนะครับ

463
00:08:09,651 --> 00:08:10,401
ดูนะครับ

464
00:08:10,612 --> 00:08:10,859

465
00:08:10,872 --> 00:08:11,134

466
00:08:11,001 --> 00:08:12,396
โปรแกรมตรวจที่ 1

467
00:08:12,412 --> 00:08:13,153

468
00:08:13,242 --> 00:08:17,287
เรากำหนดว่าส่วนที่ 1 ส่วนที่ 2 ส่วนที่ 3 มีขนาดเท่ากับ

469
00:08:17,402 --> 00:08:17,649

470
00:08:17,592 --> 00:08:18,810
เท่ากับ 7 นะครับ

471
00:08:18,884 --> 00:08:19,183

472
00:08:19,141 --> 00:08:20,347
โปรแกรมสดที่ 1

473
00:08:20,865 --> 00:08:23,168
ถ้าแปรงเสร็จแล้วโหลดเข้าไป

474
00:08:23,170 --> 00:08:23,425

475
00:08:23,739 --> 00:08:24,284

476
00:08:24,575 --> 00:08:24,775

477
00:08:24,832 --> 00:08:25,074

478
00:08:25,733 --> 00:08:25,958

479
00:08:26,112 --> 00:08:26,327

480
00:08:26,300 --> 00:08:28,864
มีค่าไม่เกิน 10 จะเข้าไปส่วนที่ 1

481
00:08:29,190 --> 00:08:30,131
นะครับ

482
00:08:31,430 --> 00:08:31,669

483
00:08:31,813 --> 00:08:33,143
แต่ถ้าโปรแกรม

484
00:08:33,541 --> 00:08:34,626
ส่วนที่ 2

485
00:08:34,702 --> 00:08:34,973

486
00:08:35,022 --> 00:08:36,750
จะต้องมีค่าตั้งแต่

487
00:08:36,812 --> 00:08:37,887
จนถึง 20

488
00:08:38,931 --> 00:08:40,866
มันถึงจะเข้าส่วนที่ 2

489
00:08:41,233 --> 00:08:41,482

490
00:08:41,424 --> 00:08:42,161
นะครับ

491
00:08:42,575 --> 00:08:42,828

492
00:08:43,222 --> 00:08:45,124
แต่ถ้าบังเอิญว่าโปรแกรม

493
00:08:45,270 --> 00:08:46,337
ส่วนที่ 1

494
00:08:46,290 --> 00:08:46,514

495
00:08:46,422 --> 00:08:46,643

496
00:08:46,872 --> 00:08:50,113
โปรแกรมโปรแกรมโปรแกรม C

497
00:08:50,524 --> 00:08:52,645
แมนแล้วโหลดเสร็จแล้ว

498
00:08:53,849 --> 00:08:56,733
มันจะเข้าคิวที่ 1 อย่างเดียวนะครับ

499
00:08:58,532 --> 00:08:58,780

500
00:08:58,850 --> 00:09:00,855
นี่คือข้อเสียของมันนะครับ

501
00:09:00,901 --> 00:09:01,122

502
00:09:01,410 --> 00:09:01,680

503
00:09:01,610 --> 00:09:01,894

504
00:09:02,121 --> 00:09:02,390

505
00:09:02,311 --> 00:09:03,369
เห็นใหม่

506
00:09:03,401 --> 00:09:04,557
มันจะว่างเลย

507
00:09:04,931 --> 00:09:07,607
ส่วนที่ 2 ส่วนที่ 3 ส่วนที่ 4

508
00:09:07,503 --> 00:09:08,319
ส่วนที่ 5

509
00:09:08,271 --> 00:09:08,543

510
00:09:08,530 --> 00:09:09,035

511
00:09:09,040 --> 00:09:09,523

512
00:09:09,551 --> 00:09:10,186
นะครับ

513
00:09:10,190 --> 00:09:10,440

514
00:09:10,640 --> 00:09:11,157

515
00:09:11,150 --> 00:09:11,358

516
00:09:11,530 --> 00:09:11,845

517
00:09:12,110 --> 00:09:12,593

518
00:09:12,881 --> 00:09:13,151

519
00:09:13,131 --> 00:09:13,945
ดังนั้น

520
00:09:14,031 --> 00:09:15,478
ก็เลยมีการ

521
00:09:15,961 --> 00:09:17,221
แก้ปัญหานะครับ

522
00:09:17,750 --> 00:09:18,470
เช่นกัน

523
00:09:18,331 --> 00:09:20,887
แปลงและโหลดด้วยค่าสัมพัทธ์นะครับ

524
00:09:21,081 --> 00:09:21,328

525
00:09:22,613 --> 00:09:24,464
เงินแก้ปัญหาเมื่อกี้นะครับ

526
00:09:24,480 --> 00:09:24,706

527
00:09:25,121 --> 00:09:25,322

528
00:09:25,310 --> 00:09:25,505

529
00:09:25,569 --> 00:09:26,689
ก็คือ

530
00:09:27,230 --> 00:09:30,860
มีคิวเดียวเลยนะครับมีคิวเดียว

531
00:09:31,010 --> 00:09:31,213

532
00:09:31,710 --> 00:09:33,037
เที่ยวเสร็จแล้ว

533
00:09:32,999 --> 00:09:33,284

534
00:09:33,321 --> 00:09:35,866
ก็คือส่วนที่ 1 2 3 4

535
00:09:35,941 --> 00:09:40,276
หมายความว่าโปรแกรมจะโดนโหลดมาตรงนี้ที่คิว

536
00:09:41,132 --> 00:09:43,209
โดยมีคิวแค่คิวเดียวนะครับ

537
00:09:44,532 --> 00:09:44,800

538
00:09:45,042 --> 00:09:46,594
แรมเสร็จปุ๊บ

539
00:09:46,771 --> 00:09:49,296
ค่าเท่ากับ 15 ส่วนที่ 1

540
00:09:49,271 --> 00:09:51,267
เสร็จปุ๊บได้ค่าเท่ากับ 10

541
00:09:51,382 --> 00:09:51,637

542
00:09:51,573 --> 00:09:51,849

543
00:09:52,152 --> 00:09:53,673
เอาบวกเข้าไปอีก

544
00:09:53,623 --> 00:09:54,035

545
00:09:54,642 --> 00:09:54,933

546
00:09:54,974 --> 00:09:55,195

547
00:09:55,291 --> 00:09:55,549

548
00:09:55,412 --> 00:09:56,940
เป็น 12

549
00:09:56,888 --> 00:09:58,163
เข้าสวนที่ 2

550
00:09:58,688 --> 00:09:59,721
แปลงแล้วโหลด

551
00:09:59,648 --> 00:10:00,853
แม็ก 15

552
00:10:00,989 --> 00:10:02,274
เข้า 2 ไม่ได้

553
00:10:02,210 --> 00:10:02,430

554
00:10:02,399 --> 00:10:02,831

555
00:10:02,908 --> 00:10:03,731
+6

556
00:10:03,680 --> 00:10:05,909
+ 7 + 10 เข้าไปนะครับ

557
00:10:05,991 --> 00:10:06,419

558
00:10:06,441 --> 00:10:06,680

559
00:10:06,630 --> 00:10:08,350
เพื่อให้ส่วนที่ 2

560
00:10:08,609 --> 00:10:09,104

561
00:10:08,809 --> 00:10:11,809
ที่ 3 ที่ 4 ที่ 5 ไปเรื่อยๆนะครับ

562
00:10:12,071 --> 00:10:12,316

563
00:10:12,771 --> 00:10:12,990

564
00:10:12,971 --> 00:10:13,252

565
00:10:13,679 --> 00:10:13,915

566
00:10:13,930 --> 00:10:14,691
ดังนั้น

567
00:10:14,700 --> 00:10:14,911

568
00:10:14,961 --> 00:10:16,154
ป้องกันนะครับ

569
00:10:16,112 --> 00:10:16,584

570
00:10:16,941 --> 00:10:19,104
ถ้าเป็นในระบบโปรแกรมเดียว

571
00:10:19,122 --> 00:10:22,326
ใช้ register ขอบเขตในการป้องกัน

572
00:10:22,650 --> 00:10:24,561
แท่นในระบบหลายโปรแกรม

573
00:10:24,499 --> 00:10:26,380
ประเภทแบ่งหน่วยความจำนะครับ

574
00:10:26,358 --> 00:10:26,629

575
00:10:26,741 --> 00:10:28,638
ใช้ register ขอบเขตบน

576
00:10:28,730 --> 00:10:30,120
และขอบเขตล่าง

577
00:10:30,531 --> 00:10:31,793
ในการป้องกัน

578
00:10:32,832 --> 00:10:33,049

579
00:10:33,660 --> 00:10:35,637
ให้โปรแกรมเข้ามานะครับ

580
00:10:35,902 --> 00:10:36,162

581
00:10:36,031 --> 00:10:36,440

582
00:10:37,500 --> 00:10:38,467
เห็นไหมครับ

583
00:10:38,529 --> 00:10:39,488
ขอบเขตล่าง

584
00:10:39,429 --> 00:10:43,009
ขอบเขตบนขอบเขตล่างขอบเขตบนนะครับ

585
00:10:43,720 --> 00:10:44,137

586
00:10:44,098 --> 00:10:44,365

587
00:10:44,809 --> 00:10:46,848
ส่วนตัวของระบบปฏิบัติการ

588
00:10:46,858 --> 00:10:47,058

589
00:10:47,249 --> 00:10:49,606
ใช้ตัว register ขอบเขต

590
00:10:49,548 --> 00:10:50,882
ในการป้องกันนะครับ

591
00:10:51,147 --> 00:10:51,496

592
00:10:51,469 --> 00:10:51,888

593
00:10:51,848 --> 00:10:52,385

594
00:10:52,370 --> 00:10:52,581

595
00:10:52,688 --> 00:10:52,955

596
00:10:52,938 --> 00:10:53,218

597
00:10:53,517 --> 00:10:53,785

598
00:10:53,648 --> 00:10:53,877

599
00:10:53,898 --> 00:10:54,169

600
00:10:54,098 --> 00:10:54,348

601
00:10:54,998 --> 00:10:55,992
เรานี้

602
00:10:56,078 --> 00:10:57,547
การแปลงหน่วยความจำ

603
00:10:57,621 --> 00:10:59,935
ไม่ว่าจะใช้วิธีการใดก็แล้วแต่

604
00:10:59,988 --> 00:11:00,277

605
00:11:00,308 --> 00:11:02,696
เกิดวันที่ที่ไม่ถูกใช้งาน

606
00:11:02,619 --> 00:11:05,048
เราเรียกว่าการแตกกระจายนะครับ

607
00:11:05,050 --> 00:11:05,323

608
00:11:05,438 --> 00:11:06,059

609
00:11:05,757 --> 00:11:06,002

610
00:11:06,007 --> 00:11:06,504

611
00:11:07,228 --> 00:11:08,487
แตกกระจาย

612
00:11:08,448 --> 00:11:09,410
โรคคือ

613
00:11:10,818 --> 00:11:13,506
หน่วยความจำที่ไม่ถูกใช้งาน

614
00:11:13,640 --> 00:11:14,446
ในระบบ

615
00:11:14,468 --> 00:11:16,067
แท็กหน่วยความจำนะครับ

616
00:11:16,007 --> 00:11:16,369

617
00:11:16,329 --> 00:11:17,536
แบ่งหน่วยความจำ

618
00:11:17,478 --> 00:11:17,751

619
00:11:17,729 --> 00:11:18,084

620
00:11:18,899 --> 00:11:20,022
ซึ่งเราเรียก

621
00:11:20,040 --> 00:11:20,276

622
00:11:21,389 --> 00:11:22,805
กระจาย

623
00:11:22,738 --> 00:11:24,559
เป็น 2 กรณีนะครับ

624
00:11:24,459 --> 00:11:24,968

625
00:11:24,969 --> 00:11:25,987
ก็มีแกน

626
00:11:25,998 --> 00:11:29,219
การแตกกระจายภายนอกการแตกกระจายภายในนะครับ

627
00:11:29,271 --> 00:11:29,496

628
00:11:30,287 --> 00:11:32,411
น้ำแตกกระจายภายนอกเป็นอย่างไรครับ

629
00:11:32,848 --> 00:11:33,061

630
00:11:33,498 --> 00:11:34,299
ดูนะครับ

631
00:11:34,328 --> 00:11:34,630

632
00:11:34,580 --> 00:11:35,071

633
00:11:35,038 --> 00:11:35,387

634
00:11:35,420 --> 00:11:35,701

635
00:11:36,190 --> 00:11:37,129
ส่วนที่ 1

636
00:11:38,939 --> 00:11:40,289
การแตกกระจายภายนอก

637
00:11:40,220 --> 00:11:40,479

638
00:11:40,350 --> 00:11:40,922

639
00:11:42,589 --> 00:11:43,472
หมายถึง

640
00:11:43,810 --> 00:11:44,182

641
00:11:44,140 --> 00:11:44,419

642
00:11:44,450 --> 00:11:44,738

643
00:11:44,707 --> 00:11:44,909

644
00:11:44,899 --> 00:11:45,180

645
00:11:45,539 --> 00:11:45,812

646
00:11:45,728 --> 00:11:48,369
ส่วนของหน่วยความจำที่ไม่ถูกใช้งาน

647
00:11:48,289 --> 00:11:49,038
ในระบบ

648
00:11:49,828 --> 00:11:51,802
แจ้งหน่วยความจำขนาดคงที่

649
00:11:52,268 --> 00:11:54,644
ไม่ถูกใช้งานเลยใช่ไหมครับส่วนที่ 1

650
00:11:55,021 --> 00:11:55,255

651
00:11:55,209 --> 00:11:56,606
ไม่ถูกใช้งานเลย

652
00:11:57,070 --> 00:11:58,996
ส่วนการแพร่กระจายภายใน

653
00:11:59,701 --> 00:12:00,452
ดูนะครับ

654
00:12:00,470 --> 00:12:01,406
ภายใน

655
00:12:02,130 --> 00:12:03,197
หมายถึง

656
00:12:04,060 --> 00:12:05,783
ส่วนของหน่วยความจำ

657
00:12:05,778 --> 00:12:06,200

658
00:12:06,928 --> 00:12:08,393
ที่ถูกใช้งาน

659
00:12:08,728 --> 00:12:08,985

660
00:12:08,989 --> 00:12:09,268

661
00:12:09,438 --> 00:12:10,110

662
00:12:10,458 --> 00:12:12,393
ผู้ใช้งานแต่ใช้งานไม่หมด

663
00:12:13,339 --> 00:12:14,275
นะครับ

664
00:12:14,298 --> 00:12:14,572

665
00:12:14,488 --> 00:12:15,792
ใช้ไม่หมดนะ

666
00:12:15,710 --> 00:12:15,978

667
00:12:16,929 --> 00:12:19,012
ในการแบ่งหน่วยความจำ

668
00:12:18,978 --> 00:12:19,532

669
00:12:19,488 --> 00:12:20,761
ขนาดคงที่

670
00:12:21,029 --> 00:12:22,281
ต่างกันนะครับ

671
00:12:23,459 --> 00:12:24,948
การแตกกระจายภายนอก

672
00:12:25,008 --> 00:12:25,274

673
00:12:25,897 --> 00:12:26,167

674
00:12:26,160 --> 00:12:26,430

675
00:12:26,481 --> 00:12:28,533
ก็คือส่วนที่ว่างไม่ถูกใช้งานเลย

676
00:12:28,780 --> 00:12:31,925
การแตกกระจายภายในก็คือหน่วยความจำว่าง

677
00:12:32,889 --> 00:12:34,888
โดนใช้แล้วใช้ไม่หมดนะครับ

678
00:12:36,658 --> 00:12:38,047

679
00:12:38,008 --> 00:12:38,811

680
00:12:38,839 --> 00:12:39,065

681
00:12:39,157 --> 00:12:39,515

682
00:12:40,058 --> 00:12:41,651
คราวนี้มาดู

683
00:12:42,239 --> 00:12:42,512

684
00:12:42,688 --> 00:12:44,273
การแปลงหน่วยความจำ

685
00:12:44,288 --> 00:12:47,020
ขนาดคงที่ขนาดไม่คงที่นะครับ

686
00:12:46,969 --> 00:12:48,969
เมื่อกี้นี้เป็นขนาดคงที่นะครับ

687
00:12:48,898 --> 00:12:49,180

688
00:12:49,216 --> 00:12:49,486

689
00:12:49,347 --> 00:12:49,613

690
00:12:49,800 --> 00:12:50,015

691
00:12:49,988 --> 00:12:50,464

692
00:12:50,438 --> 00:12:50,977

693
00:12:51,850 --> 00:12:54,005
ออกแบบระบบปฏิบัติการ

694
00:12:54,147 --> 00:12:55,475
ได้ตระหนักถึง

695
00:12:55,427 --> 00:12:55,854

696
00:12:55,877 --> 00:12:59,727
แบ่งหน่วยความจำขนาดคงที่อยู่ไว้มีข้อจำกัด

697
00:13:00,050 --> 00:13:00,329

698
00:13:00,369 --> 00:13:00,600

699
00:13:00,619 --> 00:13:00,906

700
00:13:01,458 --> 00:13:01,731

701
00:13:02,219 --> 00:13:05,166
ก็เลยคิดค้นวิธีการที่เรียกว่า

702
00:13:05,238 --> 00:13:05,814
การแบ่ง

703
00:13:05,879 --> 00:13:08,902
ความจำขนาดไม่คงที่ขึ้นดังตัวอย่างนะครับ

704
00:13:08,890 --> 00:13:09,300

705
00:13:09,271 --> 00:13:10,097
เล่น Minecraft

706
00:13:11,509 --> 00:13:12,602
ผู้ใช้ A

707
00:13:12,916 --> 00:13:14,017
ต้องการใช้สิทธิ์

708
00:13:15,036 --> 00:13:15,315

709
00:13:15,997 --> 00:13:16,809
เคยไป

710
00:13:19,450 --> 00:13:19,746

711
00:13:19,709 --> 00:13:20,272

712
00:13:22,280 --> 00:13:22,531

713
00:13:24,068 --> 00:13:24,336

714
00:13:24,327 --> 00:13:24,547

715
00:13:25,928 --> 00:13:26,207

716
00:13:27,266 --> 00:13:27,528

717
00:13:27,526 --> 00:13:28,993
นะครับ

718
00:13:28,997 --> 00:13:29,288

719
00:13:29,318 --> 00:13:29,546

720
00:13:29,769 --> 00:13:30,005

721
00:13:29,968 --> 00:13:30,454

722
00:13:31,180 --> 00:13:31,436

723
00:13:31,309 --> 00:13:33,248
ผู้ใช้ดีต้องการ 30

724
00:13:33,229 --> 00:13:34,556
ก็เข้าไป

725
00:13:34,577 --> 00:13:35,906
ขนาดไม่คงที่ครับ

726
00:13:35,919 --> 00:13:36,163

727
00:13:36,370 --> 00:13:36,592

728
00:13:36,878 --> 00:13:39,268
บอกให้มีพื้นที่ว่างเพียงพอ

729
00:13:39,190 --> 00:13:40,588
ก็สามารถจัดการ

730
00:13:41,878 --> 00:13:43,589
หน่วยความจำได้เลยนะครับ

731
00:13:44,948 --> 00:13:45,171

732
00:13:45,909 --> 00:13:47,431

733
00:13:47,387 --> 00:13:47,677

734
00:13:47,647 --> 00:13:47,991

735
00:13:47,967 --> 00:13:48,521

736
00:13:48,538 --> 00:13:48,815

737
00:13:48,859 --> 00:13:49,098

738
00:13:49,119 --> 00:13:49,337

739
00:13:50,009 --> 00:13:52,906
ระบบหลายโปรแกรมแบบแบ่งหน่วยความจำ

740
00:13:52,957 --> 00:13:54,348
แบบไม่คงที่นะครับ

741
00:13:55,007 --> 00:13:56,402
สามารถ Run

742
00:13:57,447 --> 00:13:59,739
ได้หลายโปรแกรมนะครับดูนะครับ

743
00:14:01,990 --> 00:14:02,278

744
00:14:02,247 --> 00:14:03,126

745
00:14:03,089 --> 00:14:03,393

746
00:14:03,409 --> 00:14:03,631

747
00:14:03,660 --> 00:14:03,896

748
00:14:03,921 --> 00:14:04,209

749
00:14:04,299 --> 00:14:04,855

750
00:14:05,519 --> 00:14:07,939
ถึงแม้ว่าการแปลงหน่วยความจำ

751
00:14:08,138 --> 00:14:09,595
ขนาดไม่คงที่

752
00:14:10,187 --> 00:14:10,437

753
00:14:10,447 --> 00:14:11,080
นะครับ

754
00:14:11,219 --> 00:14:11,506

755
00:14:11,728 --> 00:14:12,006

756
00:14:12,819 --> 00:14:13,048

757
00:14:13,459 --> 00:14:17,781
ก็ยังมีส่วนที่ไม่ถูกใช้งานเหมือนกันนะครับเหมือนเดิม

758
00:14:17,879 --> 00:14:19,796
ถ้าเป็นแบบขนาดคงที่

759
00:14:20,187 --> 00:14:22,097
เรียกว่าการแตกกระจายนะครับ

760
00:14:23,127 --> 00:14:25,298
ส่วนถ้าเกิดขึ้นในกรณีที่

761
00:14:25,497 --> 00:14:25,773

762
00:14:25,758 --> 00:14:26,261

763
00:14:25,947 --> 00:14:26,190

764
00:14:26,650 --> 00:14:28,560
พื้นที่ที่ไม่ถูกใช้งาน

765
00:14:29,156 --> 00:14:30,743
การแบ่งหน่วยความจำ

766
00:14:31,006 --> 00:14:32,525
ขนาดไม่คงที่

767
00:14:32,486 --> 00:14:34,656
เราเรียกว่าช่องโหว่นะครับ

768
00:14:34,596 --> 00:14:35,683
หรือ Ho

769
00:14:37,416 --> 00:14:39,133
เกิดขึ้นได้อย่างไรครับ

770
00:14:40,166 --> 00:14:40,444

771
00:14:41,329 --> 00:14:41,819

772
00:14:41,768 --> 00:14:42,706

773
00:14:42,728 --> 00:14:43,239

774
00:14:43,179 --> 00:14:43,479

775
00:14:43,438 --> 00:14:43,739

776
00:14:43,771 --> 00:14:44,575

777
00:14:45,296 --> 00:14:47,684
โปรแกรม Ai โปรแกรมวี

778
00:14:47,728 --> 00:14:51,763
โปรแกรม C Program ดีไหมครับเกิดขึ้นแล้ว

779
00:14:51,638 --> 00:14:52,777
ข้างล่างสุด

780
00:14:54,139 --> 00:14:55,793
ช่องว่างช่องโหว่

781
00:14:55,939 --> 00:14:56,573
ครับ

782
00:14:56,571 --> 00:14:56,943

783
00:14:57,018 --> 00:14:57,339

784
00:14:58,428 --> 00:14:59,561
สักระยะหนึ่ง

785
00:14:59,838 --> 00:15:01,150
โปรแกรมบิท

786
00:15:01,697 --> 00:15:05,676
คือหน่วยความจำให้ระบบเห็นไหมครับช่องโหว่เกิดขึ้นแล้ว

787
00:15:05,927 --> 00:15:06,417

788
00:15:06,440 --> 00:15:06,809

789
00:15:06,758 --> 00:15:07,043

790
00:15:07,266 --> 00:15:07,522

791
00:15:07,456 --> 00:15:07,755

792
00:15:07,780 --> 00:15:08,281

793
00:15:08,236 --> 00:15:08,492

794
00:15:08,559 --> 00:15:09,879
สักพักหนึ่ง

795
00:15:09,899 --> 00:15:10,188

796
00:15:10,220 --> 00:15:11,275
HD จบ

797
00:15:11,499 --> 00:15:13,164
เพิ่มหน่วยความจำให้ระบบ

798
00:15:13,099 --> 00:15:13,324

799
00:15:13,358 --> 00:15:15,171
เกิด Home ขึ้นแล้วนะครับ

800
00:15:15,150 --> 00:15:15,504

801
00:15:18,356 --> 00:15:18,636

802
00:15:18,616 --> 00:15:18,922

803
00:15:18,927 --> 00:15:19,283

804
00:15:19,317 --> 00:15:19,584

805
00:15:19,507 --> 00:15:19,771

806
00:15:19,696 --> 00:15:19,989

807
00:15:20,526 --> 00:15:21,011

808
00:15:21,426 --> 00:15:21,649

809
00:15:21,746 --> 00:15:21,983

810
00:15:22,767 --> 00:15:24,582
เมื่อเกิดโฮขึ้นนะครับ

811
00:15:24,638 --> 00:15:26,486
ก็มีวิธีการ

812
00:15:27,706 --> 00:15:30,450
เอาโปรแกรมใหม่ลงไปวางแทนนะครับ

813
00:15:30,647 --> 00:15:32,565
ไปอยู่ 3 วิธีการนะครับ

814
00:15:32,567 --> 00:15:32,797

815
00:15:32,897 --> 00:15:33,134

816
00:15:34,047 --> 00:15:34,668

817
00:15:36,809 --> 00:15:38,562
เลือกโห่ที่พบก่อน

818
00:15:38,468 --> 00:15:38,701

819
00:15:38,728 --> 00:15:39,139

820
00:15:40,708 --> 00:15:44,170
และมีขนาดใหญ่พอที่จะวางโปรแกรมใหม่ลงไปนะครับ

821
00:15:44,166 --> 00:15:44,395

822
00:15:44,428 --> 00:15:44,906

823
00:15:45,707 --> 00:15:47,232
วิธีการที่ 2

824
00:15:48,008 --> 00:15:49,504
โห่ที่เหมาะสม

825
00:15:50,008 --> 00:15:52,025
เลือกหัวข้อที่เหมาะสมที่สุด

826
00:15:52,368 --> 00:15:54,872
คือเอาเข้าไปแล้วหรือหน่วยความจำ

827
00:15:54,806 --> 00:15:55,081

828
00:15:55,189 --> 00:15:56,168
เสือก

829
00:15:56,086 --> 00:15:56,698

830
00:15:56,725 --> 00:15:58,255
ใหม่น้อยที่สุดนะครับ

831
00:15:59,488 --> 00:15:59,828

832
00:16:00,058 --> 00:16:00,297

833
00:16:00,375 --> 00:16:00,584

834
00:16:00,508 --> 00:16:01,466
3

835
00:16:01,466 --> 00:16:01,707

836
00:16:02,236 --> 00:16:02,462

837
00:16:02,496 --> 00:16:02,756

838
00:16:02,746 --> 00:16:03,027

839
00:16:03,896 --> 00:16:05,921
โหที่ใหญ่ที่สุดนะครับ

840
00:16:05,825 --> 00:16:06,049

841
00:16:06,015 --> 00:16:06,958
ที่ใหญ่ที่สุด

842
00:16:06,915 --> 00:16:07,129

843
00:16:07,106 --> 00:16:07,367

844
00:16:08,195 --> 00:16:09,141
ดูนะครับ

845
00:16:09,345 --> 00:16:12,507
วิธีแต่ละวิธีเป็นอย่างไรดูรูปนะครับ

846
00:16:13,247 --> 00:16:13,497

847
00:16:13,376 --> 00:16:13,576

848
00:16:13,567 --> 00:16:13,944

849
00:16:14,606 --> 00:16:14,808

850
00:16:14,797 --> 00:16:16,246
วิธีการที่ 1

851
00:16:16,207 --> 00:16:16,449

852
00:16:16,456 --> 00:16:16,776

853
00:16:16,717 --> 00:16:16,968

854
00:16:17,418 --> 00:16:17,677

855
00:16:17,807 --> 00:16:19,204
เจอก่อนพบก่อน

856
00:16:20,046 --> 00:16:21,506
แต่ต้องมีเงื่อนไขว่า

857
00:16:21,577 --> 00:16:22,799
ต้องมีพื้นที่

858
00:16:23,897 --> 00:16:24,115

859
00:16:24,207 --> 00:16:24,448

860
00:16:24,469 --> 00:16:24,820

861
00:16:24,976 --> 00:16:25,501

862
00:16:25,367 --> 00:16:26,638
ของ Home

863
00:16:26,706 --> 00:16:27,118

864
00:16:28,176 --> 00:16:29,575
ใหญ่เพียงพอนะครับ

865
00:16:30,556 --> 00:16:32,596
1396 ได้ไหมครับ

866
00:16:32,534 --> 00:16:32,799

867
00:16:32,795 --> 00:16:33,601
ได้

868
00:16:33,625 --> 00:16:33,906

869
00:16:34,135 --> 00:16:34,452

870
00:16:34,645 --> 00:16:37,579
มาก่อนเลยพบก่อนเลยเจอเกาะนักหนา

871
00:16:37,465 --> 00:16:37,683

872
00:16:37,785 --> 00:16:38,075

873
00:16:38,045 --> 00:16:39,723
เข้าไปวางก่อนเลยนะครับ

874
00:16:40,098 --> 00:16:40,715

875
00:16:41,128 --> 00:16:43,541
เหมาะสมที่สุดเมื่อเข้าไปวางเสร็จแล้ว

876
00:16:44,006 --> 00:16:45,597
โทรใหม่ที่เกิดขึ้น

877
00:16:46,636 --> 00:16:48,090
มีขนาดเหลือน้อยที่สุด

878
00:16:48,106 --> 00:16:49,209
เข้า 10:00 น

879
00:16:49,385 --> 00:16:50,325
เหลือ 3

880
00:16:50,344 --> 00:16:50,598

881
00:16:51,436 --> 00:16:51,655

882
00:16:51,695 --> 00:16:51,899

883
00:16:51,886 --> 00:16:53,107
จะเข้า 14

884
00:16:53,167 --> 00:16:54,183
เหลือ 1

885
00:16:54,376 --> 00:16:54,946

886
00:16:55,670 --> 00:16:57,584
เข้าไม่ได้

887
00:16:57,648 --> 00:16:57,902

888
00:16:57,777 --> 00:16:58,872
ค่าเข้า 30

889
00:16:58,998 --> 00:16:59,258

890
00:16:59,317 --> 00:17:00,252
เหลือ 17

891
00:17:00,338 --> 00:17:01,493
Minecraft

892
00:17:01,557 --> 00:17:03,937
เหมาะสมที่สุดก็คือ

893
00:17:03,806 --> 00:17:05,331
เมื่อเข้าไปแล้ว

894
00:17:06,938 --> 00:17:08,897
ทำให้เกิดโฮใหม่น้อยที่สุด

895
00:17:08,927 --> 00:17:09,152

896
00:17:09,177 --> 00:17:09,406

897
00:17:10,207 --> 00:17:10,468

898
00:17:10,455 --> 00:17:11,806
แบบที่ 3

899
00:17:12,258 --> 00:17:13,528
พิกัดที่ 3

900
00:17:14,627 --> 00:17:16,046
เนื้อโคที่ใหญ่ที่สุด

901
00:17:16,095 --> 00:17:16,389

902
00:17:16,736 --> 00:17:17,243

903
00:17:17,126 --> 00:17:17,327

904
00:17:18,336 --> 00:17:19,160
ใช่ไหมครับ

905
00:17:19,295 --> 00:17:21,213
30 ใหญ่กว่าเพื่อนนะครับ

906
00:17:21,297 --> 00:17:21,551

907
00:17:21,608 --> 00:17:21,843

908
00:17:22,058 --> 00:17:22,289

909
00:17:23,206 --> 00:17:23,818

910
00:17:23,785 --> 00:17:24,029

911
00:17:24,045 --> 00:17:24,467

912
00:17:24,805 --> 00:17:25,077

913
00:17:26,155 --> 00:17:27,412
คราวนี้

914
00:17:27,955 --> 00:17:29,982
ในกรณีที่

915
00:17:29,935 --> 00:17:30,310

916
00:17:31,795 --> 00:17:32,993
มีโฮเกิดขึ้น

917
00:17:32,945 --> 00:17:34,531
พื้นที่ติดกัน

918
00:17:34,605 --> 00:17:36,628
ติดกันนะครับติดกัน

919
00:17:37,307 --> 00:17:37,666

920
00:17:37,757 --> 00:17:37,983

921
00:17:38,006 --> 00:17:38,291

922
00:17:38,328 --> 00:17:38,592

923
00:17:38,648 --> 00:17:38,944

924
00:17:38,965 --> 00:17:39,243

925
00:17:39,286 --> 00:17:39,520

926
00:17:39,605 --> 00:17:40,578
คาราโอเกะ

927
00:17:40,635 --> 00:17:40,926

928
00:17:41,847 --> 00:17:43,554
มีความสามารถนะครับ

929
00:17:43,515 --> 00:17:43,756

930
00:17:43,898 --> 00:17:44,199

931
00:17:44,607 --> 00:17:44,840

932
00:17:44,926 --> 00:17:46,526
มันจะต้องมีความสามารถ

933
00:17:46,596 --> 00:17:49,356
ในการจัดรวมโฮเข้าไปด้วยกันเลย

934
00:17:49,285 --> 00:17:49,573

935
00:17:49,605 --> 00:17:50,286
ครับ

936
00:17:50,945 --> 00:17:51,572

937
00:17:51,455 --> 00:17:51,889

938
00:17:51,965 --> 00:17:52,371

939
00:17:52,425 --> 00:17:52,782

940
00:17:53,135 --> 00:17:53,427

941
00:17:53,967 --> 00:17:54,211

942
00:17:54,605 --> 00:17:55,743
นึกออกไหมครับ

943
00:17:55,815 --> 00:17:57,428
เมื่อมีโฮอยู่ติดกัน

944
00:17:57,415 --> 00:17:57,679

945
00:17:57,865 --> 00:17:59,193
ว่างติดกัน

946
00:17:59,145 --> 00:17:59,361

947
00:17:59,276 --> 00:18:00,936
จับยุบรวมกันนะครับ

948
00:18:01,005 --> 00:18:01,285

949
00:18:02,095 --> 00:18:03,427
วิธีการ

950
00:18:03,447 --> 00:18:03,649

951
00:18:03,765 --> 00:18:07,166
การอัดหน่วยความจำนะครับอัดหน่วยความจำ

952
00:18:07,155 --> 00:18:07,631

953
00:18:07,664 --> 00:18:07,885

954
00:18:07,855 --> 00:18:09,735
ก็คือถ้าเกิดมีโฮ

955
00:18:10,105 --> 00:18:10,350

956
00:18:11,965 --> 00:18:12,273

957
00:18:12,217 --> 00:18:13,678
ว่างเกิดขึ้น

958
00:18:13,627 --> 00:18:14,170

959
00:18:14,136 --> 00:18:14,415

960
00:18:14,395 --> 00:18:14,681

961
00:18:15,736 --> 00:18:18,403
เหตุการณ์ก็ได้ไม่ติดก็ได้นะครับ

962
00:18:18,374 --> 00:18:18,748

963
00:18:19,455 --> 00:18:19,689

964
00:18:19,656 --> 00:18:19,906

965
00:18:20,097 --> 00:18:23,939
วิธีการอัดหน่วยความจำก็คือระบบจะหยุดการทำงาน

966
00:18:23,874 --> 00:18:25,539
และเช็คดูระบบ

967
00:18:25,805 --> 00:18:26,157

968
00:18:26,573 --> 00:18:29,666
แล้วก็การไปเอาเดี๋ยวความจำที่ว่างๆนี่

969
00:18:29,766 --> 00:18:31,167
มาจับรวมกัน

970
00:18:31,176 --> 00:18:33,607
เพื่อให้ได้หน่วยความจำที่ใหญ่ขึ้นนะครับ

971
00:18:33,876 --> 00:18:34,301

972
00:18:34,316 --> 00:18:34,567

973
00:18:34,896 --> 00:18:35,105

974
00:18:35,217 --> 00:18:35,465

975
00:18:35,347 --> 00:18:35,633

976
00:18:35,734 --> 00:18:35,982

977
00:18:35,986 --> 00:18:36,272

978
00:18:37,075 --> 00:18:39,621
เขาเรียกว่าการรวบรวมขยะ

979
00:18:39,576 --> 00:18:40,189
นะครับ

980
00:18:40,465 --> 00:18:40,683

981
00:18:40,913 --> 00:18:41,154

982
00:18:41,104 --> 00:18:42,399
โปรแกรม defrag

983
00:18:42,454 --> 00:18:42,705

984
00:18:43,545 --> 00:18:43,802

985
00:18:43,804 --> 00:18:46,241
พอเราอยากไปเรียนปฏิบัตินะครับ

986
00:18:46,484 --> 00:18:47,755
เราจะเห็นว่า

987
00:18:48,086 --> 00:18:49,884
โปรแกรม reflex ทำงาน

988
00:18:50,534 --> 00:18:52,230
ทำงานอย่างไรนะครับ

989
00:18:52,578 --> 00:18:52,851

990
00:18:53,925 --> 00:18:54,183

991
00:18:54,306 --> 00:18:54,535

992
00:18:54,755 --> 00:18:56,923
มาทีหลังทำไมไม่เอาแบบฝึกหัด

993
00:18:56,994 --> 00:18:57,199

994
00:18:57,694 --> 00:18:59,227
เข้ามาเมื่อกี้น่ะ

995
00:18:59,176 --> 00:18:59,464

996
00:18:59,434 --> 00:18:59,669

997
00:19:00,394 --> 00:19:01,598
มาเอาแบบฝึกหัด

998
00:19:02,885 --> 00:19:04,214
แล้วทำอะไรอยู่

999
00:19:05,645 --> 00:19:05,914

1000
00:19:06,354 --> 00:19:06,617

1001
00:19:11,404 --> 00:19:11,612

1002
00:19:15,004 --> 00:19:15,267

1003
00:19:15,254 --> 00:19:15,538

1004
00:19:15,574 --> 00:19:15,839

1005
00:19:15,774 --> 00:19:16,126

1006
00:19:16,084 --> 00:19:16,361

1007
00:19:16,344 --> 00:19:16,624

1008
00:19:16,663 --> 00:19:16,893

1009
00:19:16,923 --> 00:19:17,289

1010
00:19:17,304 --> 00:19:17,739

1011
00:19:18,005 --> 00:19:18,218

1012
00:19:19,094 --> 00:19:20,568
นี่ดูวิธีการ

1013
00:19:20,504 --> 00:19:20,751

1014
00:19:20,694 --> 00:19:21,704
รวบรวม

1015
00:19:21,914 --> 00:19:23,192
หน่วยความจำ

1016
00:19:24,604 --> 00:19:24,831

1017
00:19:24,804 --> 00:19:25,223

1018
00:19:25,764 --> 00:19:26,722
ทำไมครับ

1019
00:19:26,654 --> 00:19:27,214

1020
00:19:27,614 --> 00:19:27,865

1021
00:19:28,704 --> 00:19:30,631
ใช้งาน 1 2 3

1022
00:19:30,823 --> 00:19:31,392

1023
00:19:31,972 --> 00:19:33,626
Ho Ho Ho

1024
00:19:33,834 --> 00:19:34,253

1025
00:19:34,217 --> 00:19:34,848

1026
00:19:35,244 --> 00:19:35,531

1027
00:19:35,815 --> 00:19:36,050

1028
00:19:36,267 --> 00:19:38,270
เพราะอัดหน่วยความจำ

1029
00:19:38,895 --> 00:19:39,176

1030
00:19:39,157 --> 00:19:39,432

1031
00:19:39,404 --> 00:19:40,739
เปิดช่องว่างขึ้น

1032
00:19:40,754 --> 00:19:40,986

1033
00:19:41,323 --> 00:19:42,397
ใหญ่ขึ้น

1034
00:19:43,374 --> 00:19:45,482
นี่คือวิธีการอัดหน่วยความจำ

1035
00:19:46,643 --> 00:19:47,418

1036
00:19:47,354 --> 00:19:47,633

1037
00:19:47,484 --> 00:19:48,184

1038
00:19:48,123 --> 00:19:48,467

1039
00:19:48,443 --> 00:19:48,705

1040
00:19:48,634 --> 00:19:48,919

1041
00:19:49,014 --> 00:19:49,238

1042
00:19:49,334 --> 00:19:49,716

1043
00:19:49,723 --> 00:19:49,977

1044
00:19:50,804 --> 00:19:55,153
คราวนี้มาดูระบบหลายโปรแกรมแบบสลับความจำ

1045
00:19:54,964 --> 00:19:56,191
เมื่อกี้เป็นแบบ

1046
00:19:56,254 --> 00:19:57,789
แบ่งหน่วยความจำนะครับ

1047
00:19:57,606 --> 00:19:58,751
แบ่งหน่วยความจำ

1048
00:19:58,884 --> 00:19:59,194

1049
00:19:59,323 --> 00:20:01,563
มีขนาดคงที่แล้วคงที่

1050
00:20:02,274 --> 00:20:05,288
มาดูระบบหลายโปรแกรมแบบสลับหน่วยความจำ

1051
00:20:05,286 --> 00:20:05,497

1052
00:20:05,545 --> 00:20:06,811
หลักการก็คือ

1053
00:20:06,884 --> 00:20:07,440

1054
00:20:07,466 --> 00:20:07,882

1055
00:20:07,916 --> 00:20:08,201

1056
00:20:08,425 --> 00:20:08,758

1057
00:20:09,445 --> 00:20:10,724
ถูกใช้งาน

1058
00:20:10,726 --> 00:20:10,976

1059
00:20:11,116 --> 00:20:13,095
เราเรียกว่าสลับเข้านะครับ

1060
00:20:15,156 --> 00:20:15,441

1061
00:20:15,476 --> 00:20:16,869
เข้ามาเข้ามา

1062
00:20:16,945 --> 00:20:17,217

1063
00:20:19,374 --> 00:20:19,605

1064
00:20:22,204 --> 00:20:22,965

1065
00:20:23,032 --> 00:20:23,402

1066
00:20:24,183 --> 00:20:24,491

1067
00:20:24,894 --> 00:20:25,131

1068
00:20:25,082 --> 00:20:25,346

1069
00:20:25,202 --> 00:20:25,835

1070
00:20:25,783 --> 00:20:26,009


