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

2
00:00:00,683 --> 00:00:01,550
ตัวพูด

3
00:00:02,358 --> 00:00:02,816

4
00:00:02,607 --> 00:00:03,123

5
00:00:02,793 --> 00:00:04,026
CPU

6
00:00:03,958 --> 00:00:07,615
วันนี้เราจะพูดถึงการจัดการหน่วยความจริงนะครับ

7
00:00:07,798 --> 00:00:08,475

8
00:00:08,637 --> 00:00:09,068

9
00:00:09,527 --> 00:00:09,751

10
00:00:09,784 --> 00:00:10,277

11
00:00:10,035 --> 00:00:16,266
หน่วยความจำก็เป็นอุปกรณ์ตัวหนึ่งที่มีความสำคัญในคอมพิวเตอร์ของเรานะครับ

12
00:00:16,707 --> 00:00:17,187

13
00:00:17,477 --> 00:00:17,989

14
00:00:18,628 --> 00:00:18,852

15
00:00:19,583 --> 00:00:19,832

16
00:00:19,833 --> 00:00:20,348

17
00:00:19,962 --> 00:00:20,455

18
00:00:20,227 --> 00:00:24,710
เราจะดูว่าคอมพิวเตอร์เครื่องไหนมีขีดความสามารถมากกว่ากัน

19
00:00:25,864 --> 00:00:28,594
เราก็อาจจะดูได้จากหน่วยความจำนะครับ

20
00:00:30,145 --> 00:00:30,432

21
00:00:30,463 --> 00:00:30,954

22
00:00:30,714 --> 00:00:32,497
แต่ทั้งนี้ทั้งนั้นนะครับ

23
00:00:33,545 --> 00:00:34,005

24
00:00:35,467 --> 00:00:35,754

25
00:00:35,906 --> 00:00:36,348

26
00:00:36,225 --> 00:00:38,318
ไม่ได้ตอบได้เสมอว่า

27
00:00:38,274 --> 00:00:40,260
เครื่องที่มีหน่วยความจำมาก

28
00:00:40,908 --> 00:00:41,359

29
00:00:41,107 --> 00:00:41,565

30
00:00:41,355 --> 00:00:41,843

31
00:00:42,068 --> 00:00:44,088
ทำงานได้ดีกว่านะครับ

32
00:00:44,046 --> 00:00:44,331

33
00:00:44,307 --> 00:00:44,541

34
00:00:46,928 --> 00:00:49,436
ในการจัดการหน่วยความจำนั้น

35
00:00:49,368 --> 00:00:53,565
เป็นขีดความสามารถอันหนึ่งของในระบบปฏิบัติการด้วย

36
00:00:53,468 --> 00:00:56,359
ถ้าระบบปฏิบัติการของเราหน่อย

37
00:00:56,347 --> 00:00:58,191
ความจำไม่ดีนะครับ

38
00:00:58,525 --> 00:00:58,902

39
00:00:59,035 --> 00:01:02,461
ประสิทธิภาพในการทำงานก็จะได้ลงนะครับ

40
00:01:02,557 --> 00:01:03,092

41
00:01:02,689 --> 00:01:07,114
คราวนี้เรามาดูว่าการจัดการมันจัดการอย่างไรครับ

42
00:01:07,689 --> 00:01:07,977

43
00:01:07,817 --> 00:01:08,185

44
00:01:08,139 --> 00:01:08,344

45
00:01:08,326 --> 00:01:08,531

46
00:01:08,648 --> 00:01:09,167

47
00:01:09,158 --> 00:01:09,390

48
00:01:09,418 --> 00:01:09,943

49
00:01:09,607 --> 00:01:09,915

50
00:01:09,867 --> 00:01:10,146

51
00:01:10,888 --> 00:01:11,629

52
00:01:11,848 --> 00:01:15,175
การจัดการหน่วยความจำมีอยู่ 3 แบบนะครับ

53
00:01:15,439 --> 00:01:15,963

54
00:01:15,626 --> 00:01:16,120

55
00:01:15,889 --> 00:01:16,179

56
00:01:16,338 --> 00:01:17,604
มีอยู่ 3

57
00:01:17,678 --> 00:01:17,942

58
00:01:17,934 --> 00:01:18,429

59
00:01:18,387 --> 00:01:18,861

60
00:01:19,730 --> 00:01:20,658

61
00:01:20,759 --> 00:01:21,453
เฟส

62
00:01:21,397 --> 00:01:21,892

63
00:01:21,587 --> 00:01:23,431
วางแทนที่

64
00:01:23,579 --> 00:01:24,011

65
00:01:24,028 --> 00:01:29,155
มี 3 ลักษณะนะครับซึ่งเราค่อยดูว่ามีลักษณะอย่างไรนะครับ

66
00:01:29,088 --> 00:01:29,506

67
00:01:29,537 --> 00:01:32,991
คราวนี้เรามาดูการจัดสรรหน่วยความจำของเรานะครับ

68
00:01:32,927 --> 00:01:36,666
โปรแกรมที่เราใช้งานจำเป็นจะต้องใช้หน่วยความจำ

69
00:01:36,769 --> 00:01:37,738
นะครับ

70
00:01:38,118 --> 00:01:38,388

71
00:01:38,889 --> 00:01:39,174

72
00:01:39,079 --> 00:01:39,644

73
00:01:39,658 --> 00:01:42,258
มากจะน้อยก็แล้วแต่โปรแกรมนะครับ

74
00:01:43,500 --> 00:01:44,048

75
00:01:44,069 --> 00:01:45,910
โปรแกรม

76
00:01:46,067 --> 00:01:46,276

77
00:01:46,578 --> 00:01:46,803

78
00:01:47,029 --> 00:01:48,160
อาจจะใช้เยอะ

79
00:01:48,689 --> 00:01:49,105

80
00:01:49,329 --> 00:01:53,558
โปรแกรมพิมพ์งานอาจจะใช้น้อยนะครับแต่คราวนี้เรามาดูว่า

81
00:01:53,558 --> 00:01:54,499
ถ้าเกิด

82
00:01:54,589 --> 00:01:54,851

83
00:01:55,028 --> 00:01:55,291

84
00:01:55,349 --> 00:01:55,647

85
00:01:55,608 --> 00:01:55,838

86
00:01:55,797 --> 00:01:56,014

87
00:01:56,378 --> 00:01:57,769

88
00:02:00,408 --> 00:02:03,155
ในการจัดสรรหน่วยความจำนะครับ

89
00:02:03,298 --> 00:02:04,314
จะมี

90
00:02:04,580 --> 00:02:06,228
การแบ่งเป็น 2 ประเภท

91
00:02:06,179 --> 00:02:06,436

92
00:02:06,307 --> 00:02:06,781

93
00:02:06,498 --> 00:02:08,274
ก็คือการจัดสรรแบบ

94
00:02:08,287 --> 00:02:08,503

95
00:02:08,417 --> 00:02:09,350
ต่อเนื่อง

96
00:02:10,150 --> 00:02:12,463
แล้วก็แบบไม่ต่อเนื่องนะครับ

97
00:02:12,909 --> 00:02:13,341

98
00:02:13,099 --> 00:02:13,752

99
00:02:14,119 --> 00:02:14,494

100
00:02:14,440 --> 00:02:14,660

101
00:02:14,629 --> 00:02:16,543
การจัดสรรหน่วยความจำ

102
00:02:16,869 --> 00:02:17,086

103
00:02:17,070 --> 00:02:21,678
แบบต่อเนื่องก็คือหมายความว่าหน่วยความจำจะต้องว่างต่อกัน

104
00:02:21,938 --> 00:02:22,215

105
00:02:22,510 --> 00:02:22,868

106
00:02:22,827 --> 00:02:26,043
นะครับพื้นที่ว่างต้องต่อเนื่องกันนะครับ

107
00:02:26,098 --> 00:02:26,370

108
00:02:26,357 --> 00:02:28,473
ขาดช่วงอะไรไม่ได้นะครับ

109
00:02:28,407 --> 00:02:28,657

110
00:02:28,729 --> 00:02:29,020

111
00:02:28,918 --> 00:02:29,373

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

113
00:02:31,477 --> 00:02:31,711

114
00:02:31,607 --> 00:02:31,886

115
00:02:31,867 --> 00:02:32,673
ถึงจะ

116
00:02:32,697 --> 00:02:35,439
สามารถเข้าไปทำงานได้นะครับ

117
00:02:37,698 --> 00:02:37,954

118
00:02:38,018 --> 00:02:38,268

119
00:02:38,398 --> 00:02:38,939

120
00:02:38,909 --> 00:02:41,073
ส่วนไม่ต่อเนื่องนะครับ

121
00:02:41,599 --> 00:02:41,851

122
00:02:41,857 --> 00:02:47,523
ก็คือเข้าไปครอบครองหน่วยความจำแล้วหน่วยความจำอาจจะอยู่คนละที่

123
00:02:47,500 --> 00:02:47,996

124
00:02:47,688 --> 00:02:50,359
อยู่คนละแบบนะครับอยู่คนละที่

125
00:02:52,110 --> 00:02:52,406

126
00:02:52,497 --> 00:02:55,139
ก็ต้องมีเนื้อที่เพียงพอนะครับ

127
00:02:55,118 --> 00:02:57,306
ที่โปรแกรมจะใช้งานนะครับ

128
00:02:57,229 --> 00:02:57,470

129
00:02:57,429 --> 00:02:57,645

130
00:02:57,750 --> 00:02:58,192

131
00:02:58,069 --> 00:02:58,299

132
00:02:58,259 --> 00:02:58,485

133
00:02:58,958 --> 00:02:59,576

134
00:03:00,308 --> 00:03:00,658

135
00:03:00,629 --> 00:03:02,788
คราวนี้มาดูในระบบ

136
00:03:03,579 --> 00:03:06,254
โปรแกรมเดียวนะครับโปรแกรมเดี่ยว

137
00:03:06,709 --> 00:03:07,069

138
00:03:07,028 --> 00:03:08,823
Single Program

139
00:03:09,539 --> 00:03:10,600

140
00:03:11,008 --> 00:03:12,662
ก็คือคอมพิวเตอร์

141
00:03:13,249 --> 00:03:15,869
มีผู้ใช้งานแค่โปรแกรมเดียว

142
00:03:16,068 --> 00:03:19,301
การจัดสรรความจำจะไม่ยุ่งยากนะครับ

143
00:03:19,659 --> 00:03:20,095

144
00:03:19,847 --> 00:03:20,099

145
00:03:20,491 --> 00:03:20,873

146
00:03:20,680 --> 00:03:21,222

147
00:03:21,069 --> 00:03:21,484

148
00:03:21,319 --> 00:03:21,931

149
00:03:22,028 --> 00:03:22,461

150
00:03:22,408 --> 00:03:23,035

151
00:03:24,339 --> 00:03:24,952

152
00:03:24,907 --> 00:03:29,656
ซึ่งเราสามารถแบ่งพื้นที่ของหน่วยความจำออกเป็น 2 ส่วนนะครับ

153
00:03:29,649 --> 00:03:30,137

154
00:03:30,098 --> 00:03:31,541
ก็คือส่วนแรก

155
00:03:31,508 --> 00:03:31,748

156
00:03:32,088 --> 00:03:34,854
เป็นส่วนของระบบปฏิบัติการนะครับ

157
00:03:34,777 --> 00:03:35,064

158
00:03:35,098 --> 00:03:35,342

159
00:03:35,228 --> 00:03:35,446

160
00:03:36,570 --> 00:03:40,493
และเป็นส่วนที่จำเป็นจะต้องมีพื้นที่ว่าง

161
00:03:40,664 --> 00:03:40,907

162
00:03:40,925 --> 00:03:45,158
ยาวติดต่อกันเป็นผืนใหญ่ผืนเดียวเลยนะครับ

163
00:03:45,665 --> 00:03:46,166

164
00:03:46,175 --> 00:03:46,460

165
00:03:46,425 --> 00:03:46,680

166
00:03:47,135 --> 00:03:47,438

167
00:03:47,454 --> 00:03:48,922

168
00:03:49,315 --> 00:03:49,613

169
00:03:49,824 --> 00:03:50,321

170
00:03:50,535 --> 00:03:52,405
นี่ OS นะครับ

171
00:03:53,606 --> 00:03:54,081

172
00:03:54,186 --> 00:03:57,261
ต้องมีพื้นที่หน่วยความจำของมันด้วยนะครับ

173
00:03:57,264 --> 00:03:57,682

174
00:03:57,585 --> 00:04:00,529
และต้องเป็นพื้นที่ยาวต่อเนื่องกันนะครับ

175
00:04:01,355 --> 00:04:01,779

176
00:04:01,805 --> 00:04:02,085

177
00:04:02,068 --> 00:04:02,318

178
00:04:02,187 --> 00:04:02,439

179
00:04:02,384 --> 00:04:02,739

180
00:04:02,765 --> 00:04:03,247

181
00:04:03,215 --> 00:04:03,440

182
00:04:04,106 --> 00:04:05,378
2

183
00:04:05,335 --> 00:04:05,593

184
00:04:05,585 --> 00:04:05,844

185
00:04:05,904 --> 00:04:07,823
ส่วนของผู้ใช้นะครับ

186
00:04:08,215 --> 00:04:08,430

187
00:04:08,725 --> 00:04:09,105

188
00:04:09,105 --> 00:04:10,802
ก็คือเหลือจาก OS

189
00:04:10,704 --> 00:04:10,928

190
00:04:10,965 --> 00:04:11,455

191
00:04:11,415 --> 00:04:13,906
กลายเป็นส่วนของผู้ใช้นะครับ

192
00:04:14,105 --> 00:04:16,330
ในระบบโปรแกรมเดียวนะครับ

193
00:04:17,694 --> 00:04:17,929

194
00:04:17,944 --> 00:04:18,305

195
00:04:18,264 --> 00:04:18,526

196
00:04:18,395 --> 00:04:26,500
หน่วยความจำถูกแบ่งออกเป็น 2 ส่วนนะครับ 2 ส่วนตัวระบบปฏิบัติการเองจำเป็นจะต้องป้องกัน

197
00:04:26,538 --> 00:04:29,662
ไม่ให้ตัวของมันเองโดนรุกล้ำเข้ามา

198
00:04:30,065 --> 00:04:31,190
วิธีการ

199
00:04:31,345 --> 00:04:31,590

200
00:04:31,593 --> 00:04:34,988
ป้องกันก็คือการใช้ register ขอบเขตนะครับ

201
00:04:35,247 --> 00:04:35,478

202
00:04:35,509 --> 00:04:35,782

203
00:04:35,697 --> 00:04:35,989

204
00:04:35,945 --> 00:04:36,397

205
00:04:36,339 --> 00:04:36,569

206
00:04:36,528 --> 00:04:36,938

207
00:04:36,908 --> 00:04:39,274
register ขอบเขตคืออะไร

208
00:04:40,698 --> 00:04:43,953
ก็คือส่วนที่ป้องกันระหว่าง

209
00:04:44,989 --> 00:04:46,376
ระหว่างอะไรครับ

210
00:04:46,590 --> 00:04:46,829

211
00:04:46,788 --> 00:04:48,113
OS นะครับ

212
00:04:48,185 --> 00:04:50,177
กับส่วนของผู้ใช้

213
00:04:50,105 --> 00:04:52,658
ไม่ให้เข้ามายุ่งเกี่ยวกันนะครับ

214
00:04:52,989 --> 00:04:53,442

215
00:04:53,830 --> 00:04:54,119

216
00:04:54,148 --> 00:04:56,314
ดังนั้นการเขียนโปรแกรม

217
00:04:56,588 --> 00:04:56,884

218
00:04:57,160 --> 00:05:00,558
ไวรัสคอมพิวเตอร์ตัวหนึ่งก็คือเจาะนะครับ

219
00:05:00,621 --> 00:05:01,044

220
00:05:01,071 --> 00:05:03,743
register ขอบเขตเจาะเข้าไป

221
00:05:03,888 --> 00:05:04,143

222
00:05:04,079 --> 00:05:04,381

223
00:05:04,848 --> 00:05:05,131

224
00:05:05,038 --> 00:05:05,325

225
00:05:05,295 --> 00:05:05,519

226
00:05:05,485 --> 00:05:05,774

227
00:05:05,745 --> 00:05:05,963

228
00:05:05,995 --> 00:05:06,282

229
00:05:06,444 --> 00:05:06,746

230
00:05:06,705 --> 00:05:06,948

231
00:05:06,954 --> 00:05:07,449

232
00:05:08,234 --> 00:05:09,493
นี่นะครับ

233
00:05:10,545 --> 00:05:10,826

234
00:05:10,864 --> 00:05:11,145

235
00:05:11,125 --> 00:05:11,429

236
00:05:11,445 --> 00:05:13,156
ถ้ามีการรุกล้ำ

237
00:05:13,305 --> 00:05:14,886
register ขอบเขต

238
00:05:15,224 --> 00:05:15,577

239
00:05:15,545 --> 00:05:17,379
ก็จะแจ้งเตือนนะครับ

240
00:05:17,785 --> 00:05:18,075

241
00:05:18,034 --> 00:05:18,338

242
00:05:18,295 --> 00:05:18,852

243
00:05:18,874 --> 00:05:19,159

244
00:05:20,665 --> 00:05:21,021

245
00:05:21,114 --> 00:05:24,050
วันนี้มาดูระบบหลายโปรแกรมนะครับ

246
00:05:23,935 --> 00:05:25,382
ระบบหลายโปรแกรม

247
00:05:25,466 --> 00:05:26,099

248
00:05:26,044 --> 00:05:26,258

249
00:05:27,265 --> 00:05:27,753

250
00:05:27,845 --> 00:05:31,456
การทำงานของระบบหลายโปรแกรมนั้นส่วนมากนะครับ

251
00:05:33,155 --> 00:05:36,866
ส่วนมากจะเกิดขึ้นก็คือการไปทำงาน input

252
00:05:36,814 --> 00:05:37,564

253
00:05:37,774 --> 00:05:38,196

254
00:05:38,286 --> 00:05:43,446
การที่มันไม่ได้ครอบครอง CPU ว่างๆๆไม่ได้ครอบครองหน่วยความจำนะคะ

255
00:05:43,285 --> 00:05:43,553

256
00:05:44,504 --> 00:05:44,754

257
00:05:45,335 --> 00:05:45,610

258
00:05:45,584 --> 00:05:45,827

259
00:05:48,220 --> 00:05:52,197
เราเรียกระบบนี้ว่าระบบมัลติโปรแกรมมิ่งนะครับ

260
00:05:52,129 --> 00:05:52,350

261
00:05:53,541 --> 00:05:54,282

262
00:05:55,839 --> 00:05:56,089

263
00:05:56,669 --> 00:05:58,900
ระบบโปรแกรมวิ่งนี้นะครับ

264
00:05:58,847 --> 00:06:01,084
ก็คือการทำงานที่

265
00:06:01,610 --> 00:06:01,862

266
00:06:02,119 --> 00:06:05,244
มากกว่าหนึ่งโปรแกรมทำงานในเวลาเดียวกัน

267
00:06:05,255 --> 00:06:07,751
2 3 4 5 6 7 นะครับ

268
00:06:07,699 --> 00:06:07,910

269
00:06:07,829 --> 00:06:08,095

270
00:06:08,078 --> 00:06:08,323

271
00:06:08,272 --> 00:06:08,540

272
00:06:10,510 --> 00:06:14,573
การทำงานระบบไหลโปรแกรมนั้นเขาจะแบ่ง partition

273
00:06:14,548 --> 00:06:15,028

274
00:06:15,118 --> 00:06:16,838
ของหน่วยความจำนะครับ

275
00:06:17,108 --> 00:06:17,561

276
00:06:17,689 --> 00:06:19,195
แบ่ง partition

277
00:06:19,026 --> 00:06:21,522
ของหน่วยความจำเป็นส่วนส่วนนะครับ

278
00:06:21,588 --> 00:06:21,823

279
00:06:21,851 --> 00:06:22,077

280
00:06:22,169 --> 00:06:22,432

281
00:06:22,749 --> 00:06:22,982

282
00:06:22,999 --> 00:06:23,245

283
00:06:23,318 --> 00:06:23,553

284
00:06:23,447 --> 00:06:23,693

285
00:06:23,639 --> 00:06:24,086

286
00:06:23,957 --> 00:06:24,522

287
00:06:24,474 --> 00:06:24,707

288
00:06:29,030 --> 00:06:31,510
ซึ่งการแบ่งหน่วยความจำนะครับ

289
00:06:31,839 --> 00:06:32,043

290
00:06:32,159 --> 00:06:32,914
ระบบ

291
00:06:32,934 --> 00:06:35,576
หลายโปรแกรมแบ่งหน่วยความจำนะครับ

292
00:06:35,560 --> 00:06:35,849

293
00:06:35,877 --> 00:06:39,387
ก็ยังสามารถแบ่งได้เป็น 2 ประเภทนะครับ

294
00:06:40,039 --> 00:06:40,288

295
00:06:40,298 --> 00:06:41,433
ก็คือระบบ

296
00:06:41,388 --> 00:06:43,954
หลายโปรแกรมแบบแบ่งหน่วยความจำ

297
00:06:44,340 --> 00:06:45,654
แบบคงที่

298
00:06:45,746 --> 00:06:47,649
แล้วก็ไม่คงที่นะครับ

299
00:06:48,699 --> 00:06:48,907

300
00:06:48,888 --> 00:06:49,256

301
00:06:49,209 --> 00:06:49,450

302
00:06:49,467 --> 00:06:50,012

303
00:06:50,169 --> 00:06:50,405

304
00:06:50,429 --> 00:06:50,674

305
00:06:50,679 --> 00:06:50,890

306
00:06:50,939 --> 00:06:54,516
ในระบบหลายโปรแกรมแบบสลับหน่วยความจำ

307
00:06:54,838 --> 00:06:55,775
นะครับ

308
00:06:55,798 --> 00:06:56,231

309
00:06:56,188 --> 00:06:56,482

310
00:06:56,438 --> 00:06:56,912

311
00:06:56,760 --> 00:06:57,055

312
00:06:57,089 --> 00:06:57,318

313
00:06:57,349 --> 00:06:58,028

314
00:06:58,499 --> 00:06:58,723

315
00:06:58,628 --> 00:06:58,895

316
00:06:59,199 --> 00:06:59,391

317
00:06:59,649 --> 00:07:00,155

318
00:07:00,419 --> 00:07:04,706
หน่วยความจำนะครับแล้วก็สลับหน่วยความจำนะครับ

319
00:07:04,638 --> 00:07:07,588
คราวนี้เรามาดูประเภทที่ 1 นะครับ

320
00:07:07,660 --> 00:07:08,141

321
00:07:08,106 --> 00:07:11,224
การแบ่งหน่วยความจำขนาดคงที่นะครับ

322
00:07:11,239 --> 00:07:11,505

323
00:07:11,880 --> 00:07:12,128

324
00:07:12,519 --> 00:07:13,040

325
00:07:13,099 --> 00:07:13,370

326
00:07:13,298 --> 00:07:13,574

327
00:07:14,638 --> 00:07:15,098

328
00:07:15,278 --> 00:07:15,829

329
00:07:15,859 --> 00:07:16,133

330
00:07:16,048 --> 00:07:16,980
เห็นไหมครับ

331
00:07:17,008 --> 00:07:17,312

332
00:07:17,268 --> 00:07:22,249
โปรแกรมส่วนที่ 1 ส่วนที่ 2 ส่วนที่ 3 มีขนาดที่เท่ากันนะครับ

333
00:07:22,138 --> 00:07:23,718
ขนาดที่เท่ากัน

334
00:07:24,188 --> 00:07:24,461

335
00:07:24,308 --> 00:07:24,750

336
00:07:24,697 --> 00:07:24,929

337
00:07:24,828 --> 00:07:25,043

338
00:07:25,077 --> 00:07:25,379

339
00:07:25,398 --> 00:07:25,622

340
00:07:26,230 --> 00:07:27,042

341
00:07:27,510 --> 00:07:27,931

342
00:07:33,149 --> 00:07:33,385

343
00:07:33,916 --> 00:07:34,206

344
00:07:34,309 --> 00:07:37,231
และการแบ่งหน่วยความจำขนาดคงที่

345
00:07:37,188 --> 00:07:39,815
ก็ยังแบ่งเป็นได้ 2 ประเภทนะครับ

346
00:07:39,747 --> 00:07:40,761
2 แบบ

347
00:07:41,290 --> 00:07:41,706

348
00:07:42,249 --> 00:07:42,512

349
00:07:42,435 --> 00:07:42,867

350
00:07:43,079 --> 00:07:46,489
แก่การแปลงและโหลดด้วยค่าสัมบูรณ์นะครับ

351
00:07:46,608 --> 00:07:46,843

352
00:07:47,189 --> 00:07:49,212
ดูรูปนี้ประกอบนะครับ

353
00:07:49,231 --> 00:07:49,498

354
00:07:49,428 --> 00:07:49,681

355
00:07:49,549 --> 00:07:49,763

356
00:07:49,749 --> 00:07:50,003

357
00:07:50,578 --> 00:07:50,872

358
00:07:50,827 --> 00:07:52,755
โปรแกรมส่วนที่ 1

359
00:07:53,008 --> 00:07:53,281

360
00:07:53,708 --> 00:07:54,611
เห็นไหมคะ

361
00:07:54,747 --> 00:07:55,878
ส่วนที่ 1

362
00:07:56,090 --> 00:07:56,338

363
00:07:56,219 --> 00:08:01,664
วันที่ 1 เข้าส่วนที่ 1 ส่วนที่ 2 ส่วนที่ 2 ส่วนที่ 3 เข้าส่วนที่ 3

364
00:08:01,526 --> 00:08:04,610
โปรแกรมส่วนที่ 1 ที่ 2 ที่ 3

365
00:08:04,608 --> 00:08:06,599
มีขนาดที่เท่ากันนะครับ

366
00:08:06,719 --> 00:08:06,972

367
00:08:06,978 --> 00:08:08,192
มีเท่ากัน

368
00:08:09,090 --> 00:08:09,461

369
00:08:09,469 --> 00:08:09,823

370
00:08:09,859 --> 00:08:11,110
มันเท่ากัน

371
00:08:11,018 --> 00:08:11,952
ดูนะครับ

372
00:08:11,978 --> 00:08:12,463

373
00:08:12,169 --> 00:08:13,879
โปรแกรมส่วนที่ 1

374
00:08:13,960 --> 00:08:14,172

375
00:08:14,148 --> 00:08:15,362
เล่นเรากำหนด

376
00:08:15,308 --> 00:08:19,532
ส่วนที่ 1 ส่วนที่ 2 ส่วนที่ 3 มีขนาดเท่ากับ 10

377
00:08:19,411 --> 00:08:19,684

378
00:08:19,539 --> 00:08:19,777

379
00:08:19,988 --> 00:08:21,317
เท่ากับ 10 นะครับ

380
00:08:21,328 --> 00:08:21,633

381
00:08:21,648 --> 00:08:25,596
โปรแกรมส่วนที่ 1 ถ้าแปลงเสร็จแล้วโหลดเข้าไป

382
00:08:25,486 --> 00:08:25,710

383
00:08:26,579 --> 00:08:26,768

384
00:08:27,229 --> 00:08:30,672
ถ้าไม่เกิน 10 จะเข้าไปในส่วนที่ 1

385
00:08:30,809 --> 00:08:31,421
ครับ

386
00:08:32,411 --> 00:08:32,976

387
00:08:33,370 --> 00:08:33,614

388
00:08:33,628 --> 00:08:35,076
แต่ถ้าโปรแกรม

389
00:08:35,157 --> 00:08:36,319

390
00:08:36,769 --> 00:08:38,743
จะต้องมีค่าตั้งแต่ 11

391
00:08:38,748 --> 00:08:40,021
จนถึง 20

392
00:08:40,609 --> 00:08:42,833
มันถึงจะเข้าส่วนที่ 2

393
00:08:42,978 --> 00:08:43,683
นะครับ

394
00:08:43,628 --> 00:08:44,243

395
00:08:44,711 --> 00:08:44,937

396
00:08:44,966 --> 00:08:48,200
แต่ถ้าบังเอิญว่าโปรแกรมส่วนที่ 1

397
00:08:48,489 --> 00:08:51,557
โปรแกรม a Program B โปรแกรม SIRI

398
00:08:52,148 --> 00:08:55,651
เมื่อแปลงแล้วหยดด้วยค่าสมบูรณ์เสร็จแล้ว

399
00:08:55,469 --> 00:08:57,625
มันจะเข้าคิวที่ 1 อย่างเดียว

400
00:08:57,840 --> 00:08:58,530
นะครับ

401
00:08:59,439 --> 00:09:00,006

402
00:09:00,028 --> 00:09:00,508

403
00:09:00,537 --> 00:09:02,702
นี่คือข้อเสียของมันนะครับ

404
00:09:03,348 --> 00:09:03,832

405
00:09:04,249 --> 00:09:09,475
เห็นไหมครับมันจะว่างเลยถึงส่วนที่ 2 ส่วนที่ 3 ส่วนที่ 4

406
00:09:09,376 --> 00:09:11,943
ส่วนที่ 5 ส่วนที่ 6 ส่วนที่ 7

407
00:09:11,866 --> 00:09:12,680
นะครับ

408
00:09:12,960 --> 00:09:13,310

409
00:09:13,148 --> 00:09:13,434

410
00:09:13,347 --> 00:09:13,567

411
00:09:13,668 --> 00:09:14,765

412
00:09:15,140 --> 00:09:17,558
ดังนั้นก็เลยมีการ

413
00:09:18,149 --> 00:09:22,694
แก้ปัญหานะครับโดยการแปลงและโหลดด้วยค่าสัมพัทธ์

414
00:09:22,699 --> 00:09:23,505
นะครับ

415
00:09:24,168 --> 00:09:26,485
เพื่อแก้ปัญหาเมื่อกี้นะครับ

416
00:09:26,799 --> 00:09:27,017

417
00:09:27,058 --> 00:09:27,991
ก็คือ

418
00:09:27,949 --> 00:09:28,262

419
00:09:28,207 --> 00:09:28,434

420
00:09:28,528 --> 00:09:28,757

421
00:09:28,909 --> 00:09:30,946
มีคิวเดียวเลยนะครับ

422
00:09:31,027 --> 00:09:32,241
มีคิวเดียว

423
00:09:32,177 --> 00:09:32,944

424
00:09:33,078 --> 00:09:33,366

425
00:09:33,468 --> 00:09:34,990
อยู่เดียวเสร็จแล้ว

426
00:09:35,067 --> 00:09:37,939
ก็คือส่วนที่ 1 2 3 4

427
00:09:38,008 --> 00:09:42,794
หมายความว่าโรงแรมจะโดนโหลดมาตรงนี้ที่คิว

428
00:09:42,688 --> 00:09:45,267
โดยมีคิวแค่คิวเดียวนะครับ

429
00:09:45,309 --> 00:09:45,736

430
00:09:46,148 --> 00:09:46,417

431
00:09:46,527 --> 00:09:47,288
แปรงฟัน

432
00:09:47,167 --> 00:09:47,591

433
00:09:47,616 --> 00:09:49,017
ได้ค่าเท่ากับ 10

434
00:09:49,228 --> 00:09:51,396
เข้าสวนที่ 1

435
00:09:51,847 --> 00:09:52,940
แรงเสร็จปุ๊บ

436
00:09:52,939 --> 00:09:54,778
ได้ค่าเท่ากับ 10

437
00:09:55,180 --> 00:09:57,081
เอาบวกเข้าไปอีก

438
00:09:57,429 --> 00:09:58,633
12

439
00:09:58,828 --> 00:10:00,481
เข้าสวนที่ 2

440
00:10:00,627 --> 00:10:03,145
แปลงและหลุด 75

441
00:10:03,117 --> 00:10:04,630
เข้าไม่ได้

442
00:10:04,658 --> 00:10:06,125
2 ไม่ได้

443
00:10:06,067 --> 00:10:09,267
+ 6 + 7 + 10 เข้าไปนะครับ

444
00:10:09,469 --> 00:10:09,879

445
00:10:09,910 --> 00:10:14,260
เข้าด้วยคนที่ 2 3 4 5 เข้าไปเรื่อยๆนะครับ

446
00:10:14,909 --> 00:10:15,398

447
00:10:15,617 --> 00:10:15,903

448
00:10:15,937 --> 00:10:16,170

449
00:10:16,188 --> 00:10:18,535
ดังนั้นการป้องกันนะครับ

450
00:10:18,428 --> 00:10:18,785

451
00:10:18,748 --> 00:10:21,088
ถ้าเป็นในระบบโปรแกรมเดี่ยว

452
00:10:21,058 --> 00:10:21,348

453
00:10:21,308 --> 00:10:24,703
ใช้ register ขอบเขตในการป้องกัน

454
00:10:24,837 --> 00:10:28,669
85 งานในระบบหลายโปรแกรมแบบแบ่งหน่วยความจำนะคะ

455
00:10:28,617 --> 00:10:32,938
วิธีที่นิยมใช้ก็คือ register ขอบเขตบนและขอบ

456
00:10:32,907 --> 00:10:36,680
ล่างในการไม่ให้โปรแกรมเข้ามา

457
00:10:36,687 --> 00:10:37,333
นะครับ

458
00:10:37,908 --> 00:10:38,165

459
00:10:38,098 --> 00:10:38,349

460
00:10:38,617 --> 00:10:44,150
เห็นไหมครับขอบเขตล่างขอบเขตบนขอบเขตล่างขอบเขตบนนะครับ

461
00:10:44,568 --> 00:10:45,117

462
00:10:45,909 --> 00:10:46,601

463
00:10:46,558 --> 00:10:46,812

464
00:10:46,748 --> 00:10:49,310
ส่วนตัวของระบบปฏิบัติการ

465
00:10:49,506 --> 00:10:53,452
ใช้ตัวของ register ขอบเขตนะครับในการป้องกัน

466
00:10:53,467 --> 00:10:53,684

467
00:10:53,667 --> 00:10:53,879

468
00:10:53,787 --> 00:10:54,013

469
00:10:54,047 --> 00:10:54,281

470
00:10:54,237 --> 00:10:54,462

471
00:10:54,558 --> 00:10:54,870

472
00:10:54,827 --> 00:10:55,105

473
00:10:55,078 --> 00:10:55,299

474
00:10:55,528 --> 00:10:56,405

475
00:10:56,617 --> 00:10:56,896

476
00:10:56,867 --> 00:10:57,090

477
00:10:57,128 --> 00:11:02,453
คราวนี้การแบ่งหน่วยความจำไม่ว่าจะใช้วิธีการใดก็แล้วแต่นะครับ

478
00:11:02,758 --> 00:11:08,365
เกิดพื้นที่ที่ไม่ถูกการใช้งานเราเรียกว่าการแตกกระจายนะครับ

479
00:11:08,334 --> 00:11:08,600

480
00:11:08,657 --> 00:11:08,850

481
00:11:08,977 --> 00:11:09,219

482
00:11:09,297 --> 00:11:14,652
การแตกกระจายก็คือส่วนของหน่วยความจำที่ไม่ถูกใช้งาน

483
00:11:14,747 --> 00:11:15,016

484
00:11:14,937 --> 00:11:17,873
ในระบบแบ่งหน่วยความจำนะครับ

485
00:11:18,068 --> 00:11:20,237
แบ่งหน่วยความจำ

486
00:11:20,448 --> 00:11:20,680

487
00:11:21,087 --> 00:11:21,323

488
00:11:21,277 --> 00:11:22,921
ซึ่งเราเรียก

489
00:11:22,876 --> 00:11:26,636
การแตกไฟล์นี้ออกเป็น 2 กรณีนะครับ

490
00:11:26,528 --> 00:11:26,814

491
00:11:27,038 --> 00:11:29,441
ต้องมีการแตกกระจายภายนอก

492
00:11:29,669 --> 00:11:32,431
แล้วก็การแตกกระจายภายใน

493
00:11:32,427 --> 00:11:35,585
การแตกกระจายภายนอกเป็นอย่างไรครับ

494
00:11:35,697 --> 00:11:36,901
ดูนะครับ

495
00:11:36,848 --> 00:11:37,079

496
00:11:37,108 --> 00:11:38,038

497
00:11:38,066 --> 00:11:39,520
ส่วนที่ 1

498
00:11:39,537 --> 00:11:39,773

499
00:11:40,238 --> 00:11:42,278
แตกกระจายภายนอก

500
00:11:42,548 --> 00:11:42,763

501
00:11:42,737 --> 00:11:43,027

502
00:11:43,377 --> 00:11:43,862

503
00:11:44,148 --> 00:11:45,207
หมายถึง

504
00:11:45,177 --> 00:11:46,438
ส่วนของ

505
00:11:46,710 --> 00:11:47,280

506
00:11:48,185 --> 00:11:51,306
หน่วยความจำที่ไม่ถูกใช้งานในระบบ

507
00:11:51,958 --> 00:11:52,201

508
00:11:52,158 --> 00:11:54,901
แบ่งหน่วยความจำขนาดคงที่

509
00:11:55,107 --> 00:11:58,167
ไม่ถูกใช้งานคืออะไรครับส่วนที่ 1

510
00:11:58,176 --> 00:11:59,830
ไม่ถูกใช้งาน

511
00:12:00,158 --> 00:12:04,133
ส่วนการแตกกระจายภายในดูนะครับภายใน

512
00:12:04,386 --> 00:12:04,642

513
00:12:04,905 --> 00:12:07,700
หมายถึงส่วนของหน่วยความจำ

514
00:12:07,656 --> 00:12:07,960

515
00:12:07,907 --> 00:12:08,168

516
00:12:08,167 --> 00:12:08,447

517
00:12:08,428 --> 00:12:08,663

518
00:12:08,746 --> 00:12:10,266
ที่ถูกใช้งาน

519
00:12:10,286 --> 00:12:10,560

520
00:12:10,547 --> 00:12:10,915

521
00:12:11,249 --> 00:12:11,740

522
00:12:11,757 --> 00:12:12,460
นะครับ

523
00:12:12,466 --> 00:12:15,341
ที่ถูกใช้งานแต่ใช้งานไม่หมดนะคะ

524
00:12:15,537 --> 00:12:17,128
ใช้ไม่หมดนะครับ

525
00:12:17,657 --> 00:12:17,938

526
00:12:17,788 --> 00:12:18,013

527
00:12:17,977 --> 00:12:18,263

528
00:12:18,299 --> 00:12:18,576

529
00:12:18,618 --> 00:12:18,818

530
00:12:18,808 --> 00:12:19,083

531
00:12:19,067 --> 00:12:22,349
ในการแบ่งหน่วยความจำขนาดคงที่

532
00:12:22,267 --> 00:12:22,534

533
00:12:22,904 --> 00:12:24,264
ต่างกันนะครับ

534
00:12:24,185 --> 00:12:24,519

535
00:12:24,507 --> 00:12:24,768

536
00:12:24,627 --> 00:12:24,943

537
00:12:25,027 --> 00:12:29,944
แตกกระจายภายนอกก็คือส่วนที่ว่างไม่ถูกใช้งานเลย

538
00:12:30,528 --> 00:12:34,476
ส่วนการแตกกระจายภายในคือหน่วยความจำว่าง

539
00:12:34,828 --> 00:12:36,664
โดนใช้แล้วใช้ไม่หมด

540
00:12:36,617 --> 00:12:37,297
นะครับ

541
00:12:37,508 --> 00:12:37,784

542
00:12:39,047 --> 00:12:39,327

543
00:12:39,307 --> 00:12:39,523

544
00:12:39,495 --> 00:12:39,842

545
00:12:39,816 --> 00:12:40,096

546
00:12:40,006 --> 00:12:40,429

547
00:12:40,457 --> 00:12:40,875

548
00:12:41,297 --> 00:12:41,843

549
00:12:42,187 --> 00:12:42,625

550
00:12:42,637 --> 00:12:46,474
คราวนี้มาดูการแบ่งหน่วยความจำขนาดคงที่

551
00:12:46,478 --> 00:12:48,593
ขนาดไม่คงที่นะครับ

552
00:12:48,657 --> 00:12:48,946

553
00:12:48,907 --> 00:12:49,123

554
00:12:49,037 --> 00:12:51,452
เมื่อกี้เป็นขนาดคงที่นะครับ

555
00:12:51,989 --> 00:12:52,246

556
00:12:52,628 --> 00:12:52,989

557
00:12:52,946 --> 00:12:53,216

558
00:12:53,338 --> 00:12:53,555

559
00:12:53,908 --> 00:12:54,125

560
00:12:54,108 --> 00:12:54,401

561
00:12:54,427 --> 00:13:00,144
ออกแบบระบบปฏิบัติการได้ตระหนักถึงข้อเสียขนาดคงที่ไว้นะครับ

562
00:13:00,317 --> 00:13:01,707
มีข้อจำกัด

563
00:13:02,177 --> 00:13:02,405

564
00:13:02,557 --> 00:13:02,775

565
00:13:02,746 --> 00:13:03,062

566
00:13:03,008 --> 00:13:09,701
ก็เลยคิดค้นวิธีการที่เรียกว่าการแบ่งหน่วยความจำขนาดไม่คงที่ขึ้นนะครับ

567
00:13:09,607 --> 00:13:11,576
หนังตัวอย่างนะครับ

568
00:13:11,586 --> 00:13:11,865

569
00:13:11,715 --> 00:13:11,919

570
00:13:11,911 --> 00:13:12,916
เห็นไหมครับ

571
00:13:13,386 --> 00:13:14,616
ผู้ใช้ A

572
00:13:14,796 --> 00:13:16,009
ต้องการใช้สิทธิ์

573
00:13:16,396 --> 00:13:16,823

574
00:13:17,298 --> 00:13:17,571

575
00:13:17,616 --> 00:13:19,622
เข้าไปเลย 10 K

576
00:13:20,947 --> 00:13:21,177

577
00:13:22,157 --> 00:13:22,393

578
00:13:22,297 --> 00:13:22,517

579
00:13:22,546 --> 00:13:22,822

580
00:13:25,559 --> 00:13:25,824

581
00:13:25,687 --> 00:13:25,961

582
00:13:26,777 --> 00:13:27,062

583
00:13:29,588 --> 00:13:30,012

584
00:13:30,037 --> 00:13:30,741
นะครับ

585
00:13:32,867 --> 00:13:33,145

586
00:13:33,057 --> 00:13:33,315

587
00:13:33,246 --> 00:13:35,677
ผู้ใช้ดีต้องการ 30

588
00:13:35,805 --> 00:13:38,073
เดี๋ยวเข้าไปนะครับขนาดไม่ครบ

589
00:13:37,987 --> 00:13:38,744
พี่นะครับ

590
00:13:38,696 --> 00:13:39,117

591
00:13:39,146 --> 00:13:42,993
เขาให้มีพื้นที่ว่างเพียงพอก็สามารถจัดการ

592
00:13:43,307 --> 00:13:45,143
หน่วยความจำได้เลยนะครับ

593
00:13:45,345 --> 00:13:45,724

594
00:13:45,733 --> 00:13:45,968

595
00:13:45,926 --> 00:13:46,130

596
00:13:46,187 --> 00:13:46,411

597
00:13:48,048 --> 00:13:48,629

598
00:13:48,553 --> 00:13:49,397

599
00:13:49,387 --> 00:13:49,646

600
00:13:49,907 --> 00:13:50,641

601
00:13:50,605 --> 00:13:51,063

602
00:13:51,698 --> 00:13:51,999

603
00:13:51,947 --> 00:13:52,187

604
00:13:52,076 --> 00:13:56,626
ระบบหลายโปรแกรมแบบแบ่งหน่วยความจำแบบไม่คงที่

605
00:13:56,623 --> 00:13:56,918

606
00:13:57,014 --> 00:13:58,531
สามารถ Run

607
00:13:59,254 --> 00:14:00,978
ได้หลายโปรแกรมนะครับ

608
00:14:01,044 --> 00:14:02,059
ดูนะครับ

609
00:14:02,264 --> 00:14:02,631

610
00:14:02,904 --> 00:14:03,168

611
00:14:03,615 --> 00:14:03,902

612
00:14:04,125 --> 00:14:04,354

613
00:14:04,316 --> 00:14:04,553

614
00:14:04,504 --> 00:14:04,749

615
00:14:04,704 --> 00:14:04,932

616
00:14:04,956 --> 00:14:05,234

617
00:14:05,085 --> 00:14:05,345

618
00:14:05,275 --> 00:14:05,552

619
00:14:05,534 --> 00:14:05,748

620
00:14:07,326 --> 00:14:07,519

621
00:14:07,583 --> 00:14:07,806

622
00:14:07,963 --> 00:14:11,933
ถึงแม้ว่าการแบ่งหน่วยความจำขนาดไม่คงที่

623
00:14:11,947 --> 00:14:13,072
นะครับ

624
00:14:13,342 --> 00:14:13,600

625
00:14:13,544 --> 00:14:13,797

626
00:14:14,433 --> 00:14:14,663

627
00:14:14,884 --> 00:14:18,153
ก็ยังมีส่วนที่ไม่ถูกใช้งานเหมือนกันนะครับ

628
00:14:18,406 --> 00:14:19,341
เหมือนเดิม

629
00:14:19,695 --> 00:14:19,985

630
00:14:19,824 --> 00:14:25,085
ถ้าเป็นแบบขนาดคงที่เรียกว่าการแตกกระจายนะครับ

631
00:14:25,325 --> 00:14:25,578

632
00:14:25,454 --> 00:14:25,666

633
00:14:25,834 --> 00:14:30,181
ส่วนถ้าเกิดขึ้นในกรณีที่พื้นที่ที่ไม่ถูกใช้งาน

634
00:14:31,414 --> 00:14:34,811
ในการแบ่งหน่วยความจำในขนาดไม่คงที่

635
00:14:34,744 --> 00:14:37,011
เราเรียกว่าช่องโหว่นะครับ

636
00:14:36,924 --> 00:14:37,179

637
00:14:37,185 --> 00:14:38,140
หรือ Home

638
00:14:39,297 --> 00:14:41,664
โครงเกิดขึ้นได้อย่างไรครับ

639
00:14:43,517 --> 00:14:45,229

640
00:14:46,853 --> 00:14:47,159

641
00:14:47,364 --> 00:14:52,834
Program a Program B Program C G D เห็นไหมครับ

642
00:14:52,812 --> 00:14:55,575
Home เกิดขึ้นแล้วข้างล่างสุด

643
00:14:55,826 --> 00:14:56,024

644
00:14:56,014 --> 00:14:56,293

645
00:14:56,142 --> 00:14:58,771
ช่องว่างช่องโหว่นะครับ

646
00:15:00,044 --> 00:15:00,418

647
00:15:00,422 --> 00:15:02,097
หักระยะหนึ่ง

648
00:15:02,105 --> 00:15:03,436
โปรแกรม Beetalk

649
00:15:03,506 --> 00:15:05,622
คือหน่วยความจำให้ระบบ

650
00:15:05,684 --> 00:15:05,920

651
00:15:05,815 --> 00:15:08,494
เห็นไหมครับเกิดช่องโหว่ขึ้นแล้ว

652
00:15:08,562 --> 00:15:08,784

653
00:15:08,825 --> 00:15:09,118

654
00:15:08,955 --> 00:15:09,234

655
00:15:09,466 --> 00:15:09,686

656
00:15:10,104 --> 00:15:11,944
Hulk 1

657
00:15:11,965 --> 00:15:13,206
โปรแกรมดีเจ

658
00:15:13,372 --> 00:15:15,351
คือหน่วยความจำให้ระบบ

659
00:15:15,353 --> 00:15:17,363
เกิด Home ขึ้นแล้วนะครับ

660
00:15:17,733 --> 00:15:18,036

661
00:15:17,984 --> 00:15:18,254

662
00:15:18,115 --> 00:15:18,350

663
00:15:18,373 --> 00:15:18,630

664
00:15:18,625 --> 00:15:18,860

665
00:15:18,826 --> 00:15:19,052

666
00:15:19,525 --> 00:15:19,905

667
00:15:19,906 --> 00:15:20,847

668
00:15:20,933 --> 00:15:21,160

669
00:15:22,144 --> 00:15:22,386

670
00:15:23,367 --> 00:15:23,652

671
00:15:23,684 --> 00:15:23,890

672
00:15:24,263 --> 00:15:26,260
เมื่อเกิดโฮขึ้นนะครับ

673
00:15:26,573 --> 00:15:28,229
พ่อมีวิธีการ

674
00:15:29,324 --> 00:15:29,739

675
00:15:29,905 --> 00:15:30,161

676
00:15:30,094 --> 00:15:30,326

677
00:15:30,343 --> 00:15:32,905
เอาโปรแกรมใหม่ไปวางแทนนะครับ

678
00:15:32,972 --> 00:15:35,274
ซึ่งมีอยู่ 3 วิธีการนะครับ

679
00:15:35,475 --> 00:15:35,734

680
00:15:35,927 --> 00:15:36,193

681
00:15:36,115 --> 00:15:36,798
1

682
00:15:36,824 --> 00:15:37,051

683
00:15:37,018 --> 00:15:37,314

684
00:15:38,104 --> 00:15:38,440

685
00:15:38,486 --> 00:15:40,532
เลือกโฮที่พบก่อน

686
00:15:42,522 --> 00:15:42,792

687
00:15:42,786 --> 00:15:47,193
และมีขนาดใหญ่พอที่จะวางโปรแกรมใหม่ลงไปนะครับ

688
00:15:47,385 --> 00:15:47,650

689
00:15:47,514 --> 00:15:49,616
วิธีการที่ 2

690
00:15:49,626 --> 00:15:49,834

691
00:15:49,752 --> 00:15:50,047

692
00:15:50,085 --> 00:15:52,068
เลือกโฮที่เหมาะสม

693
00:15:52,005 --> 00:15:52,609

694
00:15:52,643 --> 00:15:55,435
เมื่อโลกเลือกโหดที่เหมาะสมที่สุด

695
00:15:55,204 --> 00:15:56,732
ก็คือเอาเข้าไปแล้ว

696
00:15:57,253 --> 00:15:59,517
หรือโฮมใหม่น้อยที่สุด

697
00:15:59,828 --> 00:16:00,077

698
00:16:00,205 --> 00:16:00,438

699
00:16:00,524 --> 00:16:00,771

700
00:16:01,105 --> 00:16:01,362

701
00:16:01,355 --> 00:16:01,583

702
00:16:01,487 --> 00:16:01,762

703
00:16:01,996 --> 00:16:02,226

704
00:16:02,184 --> 00:16:03,778
3

705
00:16:04,047 --> 00:16:04,316

706
00:16:05,454 --> 00:16:07,895
เลือกโคที่ใหญ่ที่สุดนะครับ

707
00:16:08,024 --> 00:16:09,217
ที่ใหญ่ที่สุด

708
00:16:10,134 --> 00:16:11,589
มาดูนะครับ

709
00:16:11,605 --> 00:16:15,516
วิธีแต่ละวิธีเป็นอย่างไรดูรูปนะครับ

710
00:16:16,223 --> 00:16:18,130
วิธีการที่ 1

711
00:16:18,074 --> 00:16:18,307

712
00:16:19,294 --> 00:16:19,640

713
00:16:19,615 --> 00:16:20,493
เจอก่อน

714
00:16:20,575 --> 00:16:21,653
พบก่อน

715
00:16:21,595 --> 00:16:21,881

716
00:16:21,984 --> 00:16:25,568
แต่ต้องมีเงื่อนไขว่าต้องมีพื้นที่ของ

717
00:16:26,083 --> 00:16:26,926

718
00:16:26,916 --> 00:16:27,176

719
00:16:27,173 --> 00:16:27,446

720
00:16:27,684 --> 00:16:28,234

721
00:16:28,195 --> 00:16:28,458

722
00:16:28,455 --> 00:16:28,725

723
00:16:29,223 --> 00:16:29,426

724
00:16:29,735 --> 00:16:31,387
ใหญ่เพียงพอนะครับ

725
00:16:31,665 --> 00:16:31,893

726
00:16:31,784 --> 00:16:32,069

727
00:16:32,109 --> 00:16:32,359

728
00:16:32,364 --> 00:16:34,925
1396 ได้ไหมครับ

729
00:16:34,984 --> 00:16:35,798
ได้

730
00:16:36,903 --> 00:16:37,204

731
00:16:37,295 --> 00:16:42,244
มาก่อนเลยพบก่อนเลยเจอก่อนนะครับเข้าไปวางก่อนเลยนะครับ

732
00:16:42,542 --> 00:16:44,202
2 เหมาะสมที่สุด

733
00:16:44,212 --> 00:16:44,777

734
00:16:44,723 --> 00:16:47,737
เมื่อเข้าไปวางเสร็จแล้วโทรมา

735
00:16:47,614 --> 00:16:50,357
Google มีขนาดเหลือน้อยที่สุด

736
00:16:50,424 --> 00:16:51,564
96

737
00:16:51,514 --> 00:16:51,799

738
00:16:51,703 --> 00:16:52,783
เหลือ 3

739
00:16:53,623 --> 00:16:54,137

740
00:16:54,074 --> 00:16:55,671
ถ้าเข้า 14

741
00:16:55,685 --> 00:16:56,624
เหลือ 1

742
00:16:57,412 --> 00:16:58,700
ถ้าเข้า 5

743
00:16:58,626 --> 00:17:00,336
เอาไม่ได้

744
00:17:00,355 --> 00:17:01,697
ค่าเข้า 30

745
00:17:01,762 --> 00:17:03,031
เหลือ 17

746
00:17:03,363 --> 00:17:04,453
Minecraft

747
00:17:04,464 --> 00:17:04,730

748
00:17:04,903 --> 00:17:06,307
ของที่สุด

749
00:17:06,313 --> 00:17:08,548
เลือกโคที่เข้าไปแล้ว

750
00:17:08,554 --> 00:17:11,417
ทำให้เกิดโฮใหม่น้อยที่สุดนะครับ

751
00:17:11,955 --> 00:17:12,206

752
00:17:12,275 --> 00:17:12,783

753
00:17:12,854 --> 00:17:18,417
สวนแบบที่ 3 นะครับวิธีการแบบที่ 3 ก็คือเลือกโคที่ใหญ่ที่สุด

754
00:17:18,673 --> 00:17:18,949

755
00:17:18,862 --> 00:17:19,131

756
00:17:18,994 --> 00:17:19,241

757
00:17:20,224 --> 00:17:23,536
เห็นไหมครับ 30 ใหญ่กว่าเพื่อนนะครับ

758
00:17:24,505 --> 00:17:24,930

759
00:17:24,955 --> 00:17:25,178

760
00:17:25,532 --> 00:17:26,213

761
00:17:26,174 --> 00:17:26,457

762
00:17:26,422 --> 00:17:26,718

763
00:17:26,743 --> 00:17:26,975

764
00:17:27,003 --> 00:17:27,250

765
00:17:27,963 --> 00:17:28,845

766
00:17:29,124 --> 00:17:31,419
คราวนี้ในกรณีที่

767
00:17:33,152 --> 00:17:33,447

768
00:17:33,343 --> 00:17:33,598

769
00:17:33,545 --> 00:17:38,027
มีโฮเกิดขึ้นพื้นที่ติดกันติดกันนะครับ

770
00:17:37,962 --> 00:17:39,034
ติดกัน

771
00:17:39,245 --> 00:17:39,512

772
00:17:39,433 --> 00:17:39,711

773
00:17:39,625 --> 00:17:39,880

774
00:17:39,825 --> 00:17:40,116

775
00:17:40,782 --> 00:17:41,049

776
00:17:40,972 --> 00:17:41,214

777
00:17:41,352 --> 00:17:41,772

778
00:17:41,743 --> 00:17:42,874
ถ้า OS

779
00:17:43,025 --> 00:17:45,649
มีการมีความสามารถนะครับ

780
00:17:45,784 --> 00:17:46,161

781
00:17:47,064 --> 00:17:47,489

782
00:17:47,444 --> 00:17:53,334
มันจะต้องมีความสามารถในการจัดรวม Home เข้าไปด้วยกันด้วยเลยนะครับ

783
00:17:53,533 --> 00:17:53,801

784
00:17:54,306 --> 00:17:54,702

785
00:17:54,492 --> 00:17:54,750

786
00:17:54,743 --> 00:17:55,013

787
00:17:56,287 --> 00:17:58,000
นึกออกไหมครับ

788
00:17:57,882 --> 00:17:59,889
เมื่อมีโห่อยู่ติดกัน

789
00:17:59,932 --> 00:18:01,444
ว่างติดกัน

790
00:18:01,475 --> 00:18:03,458
กับยุบรวมกันนะครับ

791
00:18:03,715 --> 00:18:05,749
อีกวิธีการหนึ่ง

792
00:18:05,762 --> 00:18:07,931
การอัดหน่วยความจำนะครับ

793
00:18:08,062 --> 00:18:08,256

794
00:18:08,193 --> 00:18:08,966

795
00:18:08,903 --> 00:18:10,559
หน่วยความจำ

796
00:18:10,502 --> 00:18:12,549
ก็คือถ้าเกิดมีโฮ

797
00:18:13,001 --> 00:18:13,251

798
00:18:13,194 --> 00:18:13,885
ว่าง

799
00:18:14,345 --> 00:18:14,635

800
00:18:14,665 --> 00:18:15,601
เกิดขึ้น

801
00:18:16,525 --> 00:18:16,792

802
00:18:17,353 --> 00:18:17,626

803
00:18:18,003 --> 00:18:20,817
ติดกันก็ได้ไม่ติดก็ได้นะครับ

804
00:18:21,845 --> 00:18:24,195
วิธีการอัดหน่วยความจำ

805
00:18:24,144 --> 00:18:28,517
ก็คือระบบจะหยุดการทำงานแล้วก็เช็คดูระบบ

806
00:18:29,216 --> 00:18:29,497

807
00:18:29,852 --> 00:18:36,738
แล้วก็เอาหน่วยความจำที่ว่างๆอยู่มาจับรวมกันเพื่อให้ได้หน่วยความจำที่ใหญ่ขึ้นนะครับ

808
00:18:37,343 --> 00:18:37,591

809
00:18:37,543 --> 00:18:37,766

810
00:18:37,731 --> 00:18:37,945

811
00:18:38,754 --> 00:18:39,043

812
00:18:39,012 --> 00:18:39,245

813
00:18:39,262 --> 00:18:42,394
เราเรียกว่าการรวบรวมขยะนะครับ

814
00:18:42,609 --> 00:18:43,089

815
00:18:43,117 --> 00:18:44,908
เหมือนโปรแกรม reflex

816
00:18:46,122 --> 00:18:46,409

817
00:18:46,313 --> 00:18:46,617

818
00:18:46,704 --> 00:18:48,954
พอเราแยกไปเรียนปฏิบัตินะครับ

819
00:18:49,513 --> 00:18:51,689
เราจะเห็นว่าโปรแกรม defrag

820
00:18:51,702 --> 00:18:53,221
ทำงานอย่างไร

821
00:18:53,233 --> 00:18:53,859
นะครับ

822
00:18:54,262 --> 00:18:54,503

823
00:18:54,384 --> 00:18:54,634

824
00:18:54,655 --> 00:18:54,909

825
00:18:54,903 --> 00:18:55,171

826
00:18:55,543 --> 00:18:55,764

827
00:18:55,981 --> 00:18:56,192

828
00:18:56,502 --> 00:18:59,000
มาทีหลังทำไมไม่เอาแบบฝึกหัด

829
00:18:59,965 --> 00:19:01,420
เข้ามาเมื่อกี้

830
00:19:01,432 --> 00:19:01,686

831
00:19:01,823 --> 00:19:03,410
มาเอาแบบฝึกหัด

832
00:19:04,383 --> 00:19:04,589

833
00:19:04,505 --> 00:19:06,472
แล้วทำอะไรอยู่

834
00:19:06,556 --> 00:19:06,975

835
00:19:06,942 --> 00:19:07,188

836
00:19:07,394 --> 00:19:07,604

837
00:19:08,031 --> 00:19:08,315

838
00:19:09,061 --> 00:19:10,205

839
00:19:13,415 --> 00:19:13,965

840
00:19:14,182 --> 00:19:14,491

841
00:19:20,586 --> 00:19:20,941

842
00:19:20,904 --> 00:19:23,358
นี่ดูวิธีการรวบรวมนะครับ

843
00:19:23,346 --> 00:19:23,587

844
00:19:23,472 --> 00:19:25,194
รหัสหน่วยความจำนะครับ

845
00:19:25,265 --> 00:19:25,753

846
00:19:25,711 --> 00:19:25,980

847
00:19:26,105 --> 00:19:26,367

848
00:19:27,381 --> 00:19:29,287
เห็นไหมครับนี่

849
00:19:29,621 --> 00:19:29,870

850
00:19:30,452 --> 00:19:33,499
ใช้งาน 1 2 3

851
00:19:33,534 --> 00:19:34,404

852
00:19:34,364 --> 00:19:35,258

853
00:19:35,585 --> 00:19:36,382
นะครับ

854
00:19:36,981 --> 00:19:37,198

855
00:19:37,114 --> 00:19:37,398

856
00:19:37,947 --> 00:19:38,491

857
00:19:38,522 --> 00:19:40,359
เพราะอัดหน่วยความจำ

858
00:19:40,703 --> 00:19:40,960

859
00:19:41,023 --> 00:19:41,300

860
00:19:41,282 --> 00:19:42,744
เกิดช่องว่างขึ้น

861
00:19:42,694 --> 00:19:45,213
เกิดว่างขึ้นใหญ่ขึ้นนะครับ

862
00:19:45,445 --> 00:19:48,578
นี่คือวิธีการอัดหน่วยความจำนะครับ

863
00:19:49,614 --> 00:19:50,218

864
00:19:50,186 --> 00:19:50,608

865
00:19:50,574 --> 00:19:50,830

866
00:19:50,892 --> 00:19:51,143

867
00:19:51,145 --> 00:19:51,519

868
00:19:52,367 --> 00:19:52,796

869
00:19:52,681 --> 00:19:56,950
คราวนี้มาดูระบบหลายโปรแกรมแบบสลับความจำ

870
00:19:56,851 --> 00:19:57,126

871
00:19:57,041 --> 00:19:59,595
เมื่อกี้เป็นแบบแบ่งหน่วยความจำนะครับ

872
00:19:59,602 --> 00:20:05,250
แบ่งหน่วยความจำแบ่งหน่วยความจำก็มีขนาดคงที่กับไม่คงที่

873
00:20:05,305 --> 00:20:06,731
คราวนี้มาดูแบบ

874
00:20:06,711 --> 00:20:08,105
หน่วยความจำ

875
00:20:08,313 --> 00:20:10,613
ก็คือเมื่อโปรแกรม

876
00:20:11,004 --> 00:20:12,271
ถูกใช้งาน

877
00:20:12,864 --> 00:20:15,535
เราเรียกว่าสลับเข้านะครับ

878
00:20:15,685 --> 00:20:15,955

879
00:20:16,004 --> 00:20:16,607

880
00:20:17,283 --> 00:20:17,971

881
00:20:18,052 --> 00:20:18,293

882
00:20:18,375 --> 00:20:18,789

883
00:20:18,825 --> 00:20:19,071

884
00:20:19,336 --> 00:20:19,604

885
00:20:20,684 --> 00:20:21,045

886
00:20:21,772 --> 00:20:22,973

887
00:20:23,374 --> 00:20:23,607

888
00:20:24,333 --> 00:20:24,605

889
00:20:30,544 --> 00:20:30,779

890
00:20:30,741 --> 00:20:30,940

891
00:20:32,145 --> 00:20:32,501

892
00:20:33,041 --> 00:20:33,327

893
00:20:33,176 --> 00:20:33,419

894
00:20:33,741 --> 00:20:34,015

895
00:20:33,942 --> 00:20:34,621

896
00:20:35,026 --> 00:20:35,285

897
00:20:35,225 --> 00:20:35,713

898
00:20:39,776 --> 00:20:40,016

899
00:20:39,902 --> 00:20:40,273


