﻿WEBVTT

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


