Stanedisc

New Member
Link tải luận văn miễn phí cho ae Kết Nối
LỜI NÓI ĐẦU
Hệ điều hành là thành phần quan trọng trong hệ thống máy tính. Nắm vững kiến thức về
hệ điều hành là cơ sở cho việc hiểu biết sâu sắc hệ thống máy tính nói chung. Chính vì vậy,
kiến thức về hệ điều hành là phần kiến thức bắt buộc đối với chuyên gia về công nghệ thông
tin và các ngành liên quan.
Môn học Hệ điều hành là môn học cơ sở trong chương trình đào tạo đại học, cao đẳng
ngành công nghệ thông tin. Kiến thức liên quan tới hệ điều hành có thể được cung cấp từ ba
khía cạnh. Thứ nhất, đó là kỹ năng về việc cài đặt, sử dụng, khai thác, đánh giá hệ điều hành
một cách hiệu quả. Các kiến thức này rất cần thiết cho người sử dụng cũng như những chuyên
gia về vận hành, phục vụ hạ tầng tính toán nói chung. Thứ hai, hệ điều hành được xem xét từ
khía cạnh thiết kế và xây dựng. Đây là những kiến thức cần thiết cho chuyên gia về hệ thống
hay những người sẽ tham gia thiết kế, xây dựng hệ điều hành. Thứ ba, đó là kiến thức về các
khái niệm và nguyên lý chung về hệ điều hành như một thành phần quan trọng của hệ thống
máy tính. Đây là những kiến thức chung, cần thiết cho các đối tượng dạng một và hai ở trên,
đồng thời là kiến thức cơ sở cho những người có chuyên môn liên quan tới máy tính. Cần lưu
ý rằng việc phân chia này là tương đối và các khối kiến thức có liên quan đến nhau.
Trong tài liệu này, hệ điều hành được trình bày theo khía cạnh thứ ba với mục đích cung
cấp kiến thức về các khái niệm và nguyên lý hoạt động của hệ điều hành, từ đây giúp người
đọc có hiểu biết sâu hơn về hệ thống máy tính. Những nguyên lý và khái niệm trình bày trong
tài liệu mang tính tổng quát cho hệ điều hành nói chung, thay vì dựa trên một hệ điều hành cụ
thể. Tuy nhiên, để giúp người đọc có được liên kết giữa lý thuyết và thực tế, một số kỹ thuật
trong hệ điều hành cụ thể sẽ được trình bày như những ví dụ minh họa.
Các nội dung của tài liệu được trình bày thành bốn chương.
Chương 1 bao gồm những khái niệm chung về hệ điều hành, vai trò trong hệ thống máy
tính, các thành phần chức năng và một số kiểu kiến trúc thông dụng. Chương 1 cũng tóm tắt
quá trình hình thành và phát triển hệ điều hành, qua đó trình bày một số khái niệm và kỹ thuật
quan trọng trong hệ điều hành hiện này. Kết thúc chương là ví dụ một số hệ điều hành tiêu
biểu.
Chương 2 trình bày về quản lý tiến trình trong hệ điều hành, tập trung vào quản lý tiến
trình trong hệ thống với một CPU và nhiều tiến trình. Những nội dung chính của chương bao
gồm: khái niệm tiến trình, trạng thái tiến trình, các thao tác và thông tin quản lý tiến trình,
dòng thực hiện, vấn đề điều độ tiến trình, đồng bộ hóa các tiến trình đồng thời.
Chương 3 trình bày về quản lý bộ nhớ. Nội dung chính của chương 3 bao gồm: các vấn
đề liên quan tới bộ nhớ và địa chỉ, một số kỹ thuật tổ chức chương trình, kỹ thuật phân
chương, phân trang, phân đoạn bộ nhớ, khái niệm và cách tổ chức quản lý bộ nhớ ảo. Những
khái niệm lý thuyết trình bày trong chương được minh họa qua hai ví dụ: hỗ trợ quản lý bộ
nhớ trong vi xử lý Intel Pentium, và quản lý bộ nhớ trong hệ điều hành Windows XP.

Chương 4 trình bày về hệ thống file với những nội dung chính sau: khái niệm file và thư
mục, các thao tác với file và thư mục, tổ chức bên trong của file và thư mục, vấn đề cấp phát
và quản lý không gian lưu trữ của file, các vấn đề về độ tin cậy và an toàn bảo mật của hệ
thống file
CHƯƠNG 1: GIỚI THIỆU CHUNG ................................................................................ 8
1.1. CÁC THÀNH PHẦN CỦA HỆ THỐNG MÁY TÍNH ................................................ 8
1.2. KHÁI NIỆM HỆ ĐIỀU HÀNH .................................................................................. 9
1.3. CÁC DNCH VỤ DO HỆ ĐIỀU HÀNH CUNG CẤP ................................................. 11
1.4. GIAO DIỆN LẬP TRÌNH CỦA HỆ ĐIỀU HÀNH ................................................... 13
1.5. QUÁ TRÌNH PHÁT TRIỂN HỆ ĐIỀU HÀNH ........................................................ 14
1.6. CẤU TRÚC HỆ ĐIỀU HÀNH ................................................................................. 17
1.6.2. Nhân của hệ điều hành ...................................................................................... 19
1.6.3. Một số kiểu cấu trúc hệ điều hành ..................................................................... 20
1.7. MỘT SỐ HỆ ĐIỀU HÀNH CỤ THỂ........................................................................ 24
CHƯƠNG 2: QUẢN LÝ TIẾN TRÌNH .......................................................................... 27
2.1. CÁC KHÁI NIỆM LIÊN QUAN ĐẾN TIẾN TRÌNH ............................................... 27
2.1.1. Tiến trình là gì ................................................................................................... 27
2.1.2. Trạng thái của tiến trình..................................................................................... 28
2.1.3. Thông tin mô tả tiến trình .................................................................................. 29
2.1.4. Bảng và danh sách tiến trình .............................................................................. 30
2.1.5. Các thao tác với tiến trình .................................................................................. 31
2.2. DÒNG ...................................................................................................................... 34
2.2.1. Dòng thực hiện là gì .......................................................................................... 34
2.2.2. Tài nguyên của tiến trình và dòng ...................................................................... 35
2.2.3. Ưu điểm của mô hình đa dòng ........................................................................... 36
2.2.4. Dòng mức người dùng và dòng mức nhân ......................................................... 37
2.3. ĐIỀU ĐỘ TIẾN TRÌNH ........................................................................................... 39
2.3.1. Khái niệm điều độ ............................................................................................. 39
2.3.2. Các dạng điều độ............................................................................................... 40
2.3.3. Các tiêu chí điều độ........................................................................................... 42
2.3.4. Các thuật toán điều độ....................................................................................... 43
2.4. ĐỒNG BỘ HÓA TIẾN TRÌNH ĐỒNG THỜI .......................................................... 47
2.4.1. Các vấn đề đối với tiến trình đồng thời .............................................................. 48
2.4.2. Yêu cầu với giải pháp cho đoạn nguy hiểm ........................................................ 50
2.4.3. Giải thuật Peterson ............................................................................................ 50
2.4.4. Giải pháp phần cứng .......................................................................................... 52
2.4.5. Cờ hiệu (semaphore) ......................................................................................... 54
2.4.6. Một số bài toán đồng bộ .................................................................................... 56
2.4.7. Monitor ............................................................................................................. 58
2.4.8. Bế tắc ................................................................................................................ 61
CHƯƠNG 3: QUẢN LÝ BỘ NHỚ................................................................................. 70
3.1. ĐNA CHỈ VÀ CÁC VẤN ĐỀ LIÊN QUAN .............................................................. 70
3.1.1. Vấn đề gán địa chỉ............................................................................................. 70
3.1.2. Địa chỉ lô gic và địa chỉ vật lý ........................................................................... 71
3.2. MỘT SỐ CÁCH TỔ CHỨC CHƯƠNG TRÌNH ....................................................... 72
3.2.1. Tải trong quá trình thực hiện ............................................................................. 72
3.2.2. Liên kết động và thư viện dùng chung ............................................................... 72
3.3. PHÂN CHƯƠNG BỘ NHỚ ..................................................................................... 74
3.3.1. Phân chương cố định ......................................................................................... 74
3.3.2. Phân chương động ............................................................................................. 76
3.3.3. Phương pháp kề cận .......................................................................................... 78
3.3.4. Ánh xạ địa chỉ và chống truy cập bộ nhớ trái phép............................................. 79
3.3.5. Trao đổi giữa bộ nhớ và đĩa (swapping) ............................................................. 80
3.4. PHÂN TRANG BỘ NHỚ......................................................................................... 80
3.4.1. Khái niệm phân trang bộ nhớ............................................................................. 81
3.4.2. Ánh xạ địa chỉ................................................................................................... 82
3.4.3. Tổ chức bảng phân trang ................................................................................... 83
3.5. PHÂN ĐOẠN BỘ NHỚ........................................................................................... 85
3.5.1 Khái niệm........................................................................................................... 85
3.5.2. Ánh xạ địa chỉ và chống truy cập trái phép ........................................................ 85
3.5.3. Kết hợp phân đoạn với phân trang ..................................................................... 86
3.6. BỘ NHỚ ẢO ............................................................................................................ 87
3.6.1. Khái niệm bộ nhớ ảo ......................................................................................... 87
3.6.2. Nạp trang theo nhu cầu ...................................................................................... 88
3.7. ĐỔI TRANG ............................................................................................................ 90
3.7.1. Tại sao phải đổi trang ........................................................................................ 90
3.7.2. Các chiến lược đổi trang .................................................................................... 92
3.8. CẤP PHÁT KHUNG TRANG .................................................................................. 96
3.8.1. Giới hạn số lượng khung ................................................................................... 96
3.8.2. Phạm vi cấp phát khung..................................................................................... 97
3.9. TÌNH TRẠNG TRÌ TRỆ .......................................................................................... 98
3.10. QUẢN LÝ BỘ NHỚ TRONG INTEL PENTIUM .................................................. 99
3.11. QUẢN LÝ BỘ NHỚ TRONG WINDOWS XP .................................................... 102
CHƯƠNG 4: HỆ THỐNG FILE ................................................................................... 103
4.1. KHÁI NIỆM FILE .................................................................................................. 103
4.1.1. File là gì ? ....................................................................................................... 103
4.1.2. Thuộc tính của file........................................................................................... 104
4.1.3. Cấu trúc file .................................................................................................... 106
4.2. CÁC PHƯƠNG PHÁP TRUY CẬP FILE .............................................................. 106
4.2.1. Truy cập tuần tự .............................................................................................. 107
4.2.2. Truy cập trực tiếp ............................................................................................ 107
4.2.3. Truy cập dựa trên chỉ số .................................................................................. 108
4.3. CÁC THAO TÁC VỚI FILE .................................................................................. 109
4.4. THƯ MỤC ............................................................................................................. 111
4.4.1. Khái niệm thư mục .......................................................................................... 111
4.4.2. Các thao tác với thư mục ................................................................................. 112
4.4.3. Cấu trúc hệ thống thư mục ............................................................................... 112
4.4.4. Tên đường dẫn ................................................................................................ 117
4.5. CẤP PHÁT KHÔNG GIAN CHO FILE ................................................................. 117
4.5.1. Cấp phát các khối liên tiếp ............................................................................... 118
4.5.2. Sử dụng danh sách kết nối ............................................................................... 119
4.5.3. Sử dụng danh sách kết nối trên bảng chỉ số...................................................... 120
4.5.4. Sử dụng khối chỉ số......................................................................................... 121
4.6. QUẢN LÝ KHÔNG GIAN TRÊN ĐĨA .................................................................. 123
4.6.1. Kích thước khối ............................................................................................... 123
4.6.2. Quản lý các khối trống .................................................................................... 124
4.7. TỔ CHỨC BÊN TRONG CỦA THƯ MỤC ........................................................... 125
4.7.1. Danh sách........................................................................................................ 125
4.7.2. Cây nhị phân ................................................................................................... 125
4.7.3. Bảng băm ........................................................................................................ 126
4.7.4. Tổ chức thư mục của DOS (FAT) .................................................................... 126
4.7.5. Thư mục của Linux ......................................................................................... 127
4.8. ĐỘ TIN CẬY CỦA HỆ THỐNG FILE .................................................................. 127
4.8.1. Phát hiện và loại trừ các khối hỏng .................................................................. 127
4.8.2. Sao dự phòng .................................................................................................. 128
4.9. BẢO MẬT CHO HỆ THỐNG FILE ....................................................................... 130
4.9.1. Sử dụng mật khNu ............................................................................................ 131
4.9.2. Danh sách quản lý truy cập .............................................................................. 131
4.10. HỆ THỐNG FILE FAT ........................................................................................ 132
4.10.1. Đĩa lôgic........................................................................................................ 133
4.10.2. Boot sector .................................................................................................... 134
4.10.3. Bảng FAT ..................................................................................................... 136
4.10.4. Thư mục gốc ................................................................................................. 137
TÀI LIỆU THAM KHẢO .................................................................................................. 139
Giới thiệu chung
CHƯƠNG 1: GIỚI THIỆU CHUNG
1.1. CÁC THÀNH PHẦN CỦA HỆ THỐNG MÁY TÍNH
Một hệ thống máy tính nói chung có thể phân chia sơ bộ thành phần cứng và phần mềm.
Phần cứng cung cấp các tài nguyên cần thiết cho việc tính toán, xử lý dữ liệu. Phần mềm gồm
các chương trình quy định cụ thể việc xử lý đó. Để thực hiện công việc tính toán hay xử lý
dữ liệu cụ thể cần có các chương trình gọi là chương trình ứng dụng. Có thể kể một số chương
trình ứng dụng thường gặp như chương trình soạn thảo văn bản, chương trình trò chơi, hệ
quản trị cơ sở dữ liệu, chương trình truyền thông .v.v.
Phần cứng có thể biểu diễn như lớp dưới cùng, là cơ sở của toàn hệ thống. Đây là những
thiết bị cụ thể như CPU, bộ nhớ, thiết bị nhớ ngoài, thiết bị vào ra. Chương trình ứng dụng là
lớp trên của hệ thống, là phần mà người dùng xây dựng nên và tương tác trong quá trình giải
quyết các nhiệm vụ của mình. (Khái niệm người dùng ở đây bao gồm cả người sử dụng thuần
tuý lẫn người viết ra các chương trình ứng dụng)
Ngoài phần cứng và trình ứng dụng, hệ thống máy tính còn có một thành phần quan
trọng là hệ điều hành. Hệ điều hành là phần mềm đóng vai trò trung gian giữa phần cứng và
người sử dụng cùng các chương trình ứng dụng của họ. Nhiệm vụ của hệ điều hành là làm cho
việc sử dụng hệ thống máy tính được tiện lợi và hiệu quả. Các chương trình ứng dụng khi
chạy đều cần thực hiện một số thao tác chung như điều khiển thiết bị vào ra. Những thao tác
phân phối và điều khiển tài nguyên chung như vậy sẽ được gộp chung lại trong phạm vi hệ
điều hành.
Ngoài chương trình ứng dụng và hệ điều hành còn có các chương trình hệ thống và
chương trình tiện ích. Đây là những chương trình được xây dựng để thực hiện những thao tác
thường diễn ra trong hệ thống hay giúp người dùng thực hiện một số công việc dễ dàng hơn.
Các thành phần của hệ thống máy tính được thể hiện trên hình 1.1, trong đó phần cứng
là lớp dưới cùng và người dùng giao tiếp với trình ứng dụng là thành phần trên cùng của hệ
thống.
Hình 1.1: Các thành phần của hệ thống máy tính
Chương trình ứng dụng, chương trình hệ thống và tiện ích
Hệ điều hành
Phần cứng
Người sử dụng
1.2. KHÁI NIỆM HỆ ĐIỀU HÀNH
Có nhiều cách định nghĩa khác nhau về hệ điều hành, nhưng thông thường, hệ điều hành
được định nghĩa thông qua mục đích, vai trò, và chức năng trong hệ thống máy tính.
Hệ điều hành là hệ thống phần mềm đóng vai trò trung gian giữa người sử dụng và phần
cứng máy tính nhằm tạo ra môi trường giúp thực hiện các chương trình một cách thuận tiện và
hiệu quả.
Để hoàn thành vai trò của mình, hệ điều hành cần thực hiện hai chức năng cơ bản là
quản lý tài nguyên và quản lý việc thực hiện các chương trình. Ta sẽ xem xét kỹ hai chức
năng này của hệ điều hành.
Quản lý tài nguyên
Quản lý tài nguyên đảm bảo cho tài nguyên hệ thống được sử dụng một cách có ích và
hiệu quả. Nhờ có hệ điều hành, tài nguyên được quản lý và sử dụng hợp lý hơn trong khi
người sử dụng được giải phóng khỏi công việc khó khăn này.
Các tài nguyên phần cứng chủ yếu của máy tính gồm có bộ xử lý (CPU), bộ nhớ chính,
bộ nhớ thứ cấp, các thiết bị vào ra. CPU là thành phần trung tâm của hệ thống, có chức năng
xử lý dữ liệu và điều khiển toàn hệ thống. Bộ nhớ chính là nơi lưu trữ chương trình và dữ liệu
trong quá trình xử lý. Bộ nhớ thứ cấp, hay bộ nhớ ngoài, bao gồm các đĩa từ, đĩa quang học,
đĩa quang từ, băng từ, thẻ nhớ và các thiết bị nhớ khác có vai trò lưu trữ chương trình, dữ liệu
trong thời gian dài với dung lượng lớn. Thiết bị vào ra cho phép máy tính trao đổi thông tin
với thế giới bên ngoài.
Quản lý tài nguyên trước hết là phân phối tài nguyên tới các ứng dụng một cách hiệu
quả. Để thực hiện được, các chương trình cần tài nguyên phần cứng như không gian bộ nhớ,
thiết bị ngoại vi. Yêu cầu tài nguyên được hệ điều hành thu nhận và đáp ứng bằng cách cấp
cho chương trình các tài nguyên tương ứng. Muốn cấp phát tài nguyên, hệ điều hành cần lưu
trữ tình trạng tài nguyên để biết hiện giờ tài nguyên nào còn trống, tài nguyên nào đang được
sử dụng. Một ví dụ điển hình là trường hợp lưu trữ thông tin lên đĩa. Hệ điều hành cần biết
những vùng nào trên đĩa chưa được sử dụng để ghi thông tin lên những vùng này. Việc ghi
thông tin lên vùng trống cũng cần được tính toán sao cho quá trình truy cập tới thông tin khi
cần có thể thực hiện nhanh nhất.
Yêu cầu về phần cứng của các chương trình này có thể mâu thuẫn nhau. Chẳng hạn, hai
chương trình cùng có yêu cầu ghi ra đĩa một lúc. Trong trường hợp xuất hiện các yêu cầu mâu
thuẫn khác về phần cứng như ví dụ này, hệ điều hành sẽ quyết định thứ tự và thời gian cung
cấp tài nguyên cho các chương trình sao cho đạt được mục tiêu tính toán của hệ thống đồng
thời tối ưu hoá một số tiêu chí nào đó, chẳng hạn giảm thời gian các chương trình phải tạm
ngừng để chờ đợi lẫn nhau.v.v.
Trong phương pháp thứ nhất, một sector trên đĩa được dành riêng chứa danh sách các khối
hỏng. Một số khối không hỏng được dành riêng để dự trữ. Các khối hỏng sẽ được thay thế
bằng các khối dự trữ bằng cách thay thế địa chỉ khối dự trữ thành địa chỉ khối hỏng. Mọi truy
cập tới khối hỏng do vậy sẽ trở thành truy cập tới khối dự trữ.
Phương pháp thứ hai đơn giản hơn. Hệ điều hành tập trung tất cả các khối hỏng thành
một file. Do thuộc về file, các khối này được đánh dấu như đã cấp phát và do vậy không được
sử dụng nữa.
4.8.2. Sao dự phòng
Sao dự phòng (backup) hay sao lưu là tạo ra một bản sao của đĩa trên một vật mang
khác. Trong trường hợp đĩa cần sao là đĩa mềm, nội dung đĩa có thể sao sang một đĩa mềm
khác. Với đĩa cứng, đặc biệt các đĩa có dung lượng lớn, vật mang được chọn cho bản sao dự
phòng thường là băng từ. Ưu điểm của băng từ là dung lượng lớn, giá thành rẻ. Mặc dù tốc độ
truy cập băng từ thấp hơn đĩa và băng từ không hỗ trợ truy cập trực tiếp, xong việc truy cập
tới băng từ ít khi xảy ra (chỉ trong trường hợp đĩa gốc bị hư hỏng), do đó nhược điểm này
không phải là vấn đề lớn lắm. Băng dùng sao lưu có thể là băng video thông thường với thiết
bị ghi đi kèm.
Có hai phương pháp sao lưu được sử dụng. Phương pháp thứ nhất là sao lưu toàn bộ
(full backup). Tất cả thông tin trên đĩa sẽ được sao sang băng từ. Phương pháp này thường
khá tốn thời gian nếu dung tích của đĩa lớn.
Phương pháp thứ hai cho phép tiếp kiệm thời gian sao lưu và có tên gọi là sao lưu tăng
dần (incremental backup). Sao lưu tăng dần được sử dụng sau khi đã tiến hành sao lưu toàn bộ
ít nhất một lần. Thay vì sao lưu toàn đĩa, phương pháp này chỉ sao các file đã bị thay đổi sau
lần sao lưu cuối cùng.
Thường thường người ta áp dụng cả 2 phương pháp trên. Sao lưu toàn bộ được tiến
hành hàng tuần hay hàng tháng, còn sao lưu tăng dần được tiến hành hàng ngày.
Để sử dụng phương pháp sao lưu thứ hai, hệ thống lưu trữ thông tin về các lần lưu trữ
file. Nếu sau lần lưu trữ cuối file bị thay đổi thì file sẽ được sao lưu lại. Hệ điều hành quản lý
việc sao lưu bằng cáh kiểm tra thời gian sao lưu cuối này. Trong một số hệ thống như MSDOS, thay vì ghi lại thời gian lần sao lưu cuối cùng, hệ thống sử dụng một bit đặc biệt gắn với
mỗi file gọi là archive bit. Sau khi sao dự phòng, các bit này được xoá về 0. Mỗi khi nội dung
file thay đổi, bit được đặt lại bằng 1. Trong lần sao lưu tiếp theo, hệ điều hành kiểm tra
archive bit của các file. File có bit tương ứng bằng 1 là file đã bị thay đổi và cần sao lưu.
4.8.3. Tính toàn vẹn của hệ thống file
Như đã trình bày ở các phần trên, hệ thống file chứa nhiều cấu trúc dữ liệu có các mối
liên kết với nhau. Chẳng hạn, phần quản lý không gian chưa sử dụng chứa danh sách các khối
trống được liên kết với nhau, thư mục chứa con trỏ tới các i-node, i-node lại chứa liên kết tới
các khối.v.v. Nếu thông tin về các liên kết này bị hư hại, tính toàn vẹn của hệ thống cũng bị
phá vỡ.
Hệ thống file
Trong quá trình làm việc, hệ thống file thường phải đọc các khối chứa thông tin về các
liên kết vào bộ nhớ, thay đổi các liên kết này, sau đó ghi ngược ra đĩa. Ví dụ, khi xoá file, hệ
thống file đọc địa chỉ các khối thuộc về file, đánh dấu khối thành khối trống sau đó giải phóng
khoản mục chứa file.
Trong nhiều trường hợp, các liên kết này có thể bị phá vỡ và trở nên không toàn vẹn đặc
biệt trong trường hợp thư mục, i-node hay danh sách khối trống bị hư hại. Việc hư hại xảy ra
khi vùng đĩa chứa các thông tin này bị hỏng hay khi hệ thống bị sự cố khi đang thay đổi các
cấu trúc nói trên.
Ta hãy xem xét một số trường hợp phá vỡ tính toàn vẹn. Trường hợp thứ nhất, các khối
không có mặt trong danh sách các khối trống, đồng thời cũng không có mặt trong một file
nào. Hệ thống, do đó, mất quyền kiểm soát với các khối này. Trong trường hợp khác, một
khối có thể vừa thuộc về một file nào đó vừa có mặt trong danh sách khối trống và do đó có
thể bị hệ điều hành cấp phát lần thứ hai cho một file khác. Nếu một khối đồng thời thuộc về
hai file cùng một lúc sẽ dẫn đến mâu thuẫn và gây mất dữ liệu. Đối với file, file có thể bị xoá
trong khi khoản mục ứng với file trong thư mục vẫn còn. Có thể xảy ra trường hợp ngược lại,
khoản mục ứng với file bị xoá còn file thì chưa.
Để giải quyết các vấn đề nói trên, hệ điều hành thường có các chương trình kiểm tra
tính toàn vẹn của hệ thống. Các chương trình này được chạy khi hệ thống khởi động, đặc biệt
khởi động lại sau các sự cố. Ví dụ được biết đến rộng rãi của chương trình loại này là chương
trình SCANDISK của Windows và DOS.
Ví dụ chương trình kiểm tra tính toàn vẹn trong Unix làm việc như sau:
Kiểm tra tính toàn vẹn của khối. Tạo hai số đếm cho mỗi khối. Số đếm thứ nhất chứa
số lần khối đó xuất hiện trong danh sách khối trống. Số đếm thứ hai chứa số lần khối xuất
hiện trong file. Khởi đâu, tất cả số đếm được khởi tạo bằng 0. Chương trình lần lượt duyệt
danh sách khối trống và toàn bộ i-node của các file. Nếu một khối xuất hiện trong danh sách
khối trống, số đếm tương ứng thứ nhất được tăng một đơn vị. Nếu khối xuất hiện trong i-node
của file, số đếm tương ứng thứ hai được tăng một đơn vị. Trên hình ??? là ví dụ số đếm của
một số khối sau khi duyệt xong toàn hệ thống. Với mỗi khối cụ thể có thể xNy ra ba trường
hợp sau:
- Tổng số đếm thứ nhất và thứ hai của khối bằng 1 như với các khối 1, 2: kết quả bình
thường, cho thấy khối đang trống hay đã được cấp phát cho duy nhất 1 file.
- Tổng số đếm thứ nhất và thứ hai của khối bằng 0 như với khối 0: kết quả lỗi, cho thấy
khối hiện không thuộc danh sách khối trống, đồng thời cũng không thuộc file nào. Có
thể khắc phục lỗi này bằng cách thêm khối vào danh sách khối trống.
- Tổng số đếm thứ nhất và thứ hai của khối lớn hơn 1 như với khối 3, 4, 5: kết quả lỗi,
cho thấy file vừa được đánh dấu còn trống, vừa được đánh dấu đã cấp phát cho file,
hay đã được cấp cho nhiều hơn một file. Trong trường hợp này việc khắc phục có thể
gây mất dữ liệu nếu khối thuộc về nhiều file và đã được ghi dữ liệu lên đó.
ệ thống
- Dấu hiệu kết thúc danh sách nếu ô tương ứng với cluster cuối cùng trong file.
- Dấu hiệu đánh dấu cluster bị hỏng, không được sử dụng.
- Dấu hiệu đánh dấu cluster dự phòng.
- Bằng 0 nếu cluster trống, chưa được cấp phát cho file nào.
Mỗi ô của FAT có thể chứa giá trị cụ thể như liệt kê dưới đây.
FAT12 FAT16 FAT32 Ý nghĩa
0x000 0x0000 0x00000000 Cluster trống
0x001 0x0001 0x00000001 Cluster dự phòng, không được sử dụng
0x002–
0xFEF
0x0002–
0xFFEF
0x00000002–
0x0FFFFFEF
Cluster đã được cấp cho file. Chứa số thứ tự
cluster tiếp theo của file.
0xFF0–
0xFF6
0xFFF0–
0xFFF6
0x0FFFFFF0–
0x0FFFFFF6 Cluster dự phòng
0xFF7 0xFFF7 0x0FFFFFF7 Cluster hỏng.
0xFF8–
0xFFF
0xFFF8–
0xFFFF
0x0FFFFFF8–
0x0FFFFFFF Cluster cuối cùng của file
FAT12, 16, 32 dành tương ứng 12, 16, và 32 bit cho mỗi ô của FAT. Kích thước mỗi ô
càng lớn thì càng quản lý được nhiều cluster, đồng thời cũng đòi hỏi nhiều không gian hơn để
lưu bảng FAT. Các hệ thống FAT32 hiện nay chỉ sử dụng 28 bit thấp. 4 bit cao dùng làm dự
phòng và có giá trị bằng 0.
Do cluster đầu tiên của vùng dữ liệu được đánh số thứ tự bằng 2 nên hai ô đầu tiên của
bảng FAT không được sử dụng.
4.10.4. Thư mục gốc
Mỗi thư mục được lưu trong bảng thư mục, thực chất là một file đặc biệt chứa các
khoản mục của thư mục. Mỗi khoản mục có kích thước 32 byte chửa thông tin về một file
hay thư mục con thuộc thư mục đang xét. Đối với FAT12/16, thư mục trên cùng của đĩa
được chứa trong một vùng đặc biệt gọi là thư mục gốc (root). Các thư mục mức thấp hơn
cũng như thư mục gốc của FAT 32 được chứa trong vùng dữ liệu của đĩa cùng với file.
Mỗi thư mục bao gồm các khoản mục 32 byte xếp liền nhau. Mỗi khoản mục đối với
trường hơp tên file ngắn 8.3 có cấu trúc như sau:
Vị trí Độ dài Mô tả
0 8 Tên file, thêm bằng dấu trắng ở cuối nếu ngắn hơn 8 byte
8 3 Phần mở rộng, thêm bằng dấu trắng ở cuối nếu ngắn hơn 3 byte
11 1 Byte thuộc tính của file. Các bit của byte này nếu bằng 1 sẽ có ý
nghĩa như sau:
Link Download bản DOC
Do Drive thay đổi chính sách, nên một số link cũ yêu cầu duyệt download. các bạn chỉ cần làm theo hướng dẫn.
Password giải nén nếu cần: ket-noi.com | Bấm trực tiếp vào Link để tải:

 
Last edited by a moderator:

Các chủ đề có liên quan khác

Top