Lý do chọn đĩa mềm để nghiên cứu trước khi nghiên cứu đĩa cứngChương 11: Quản lý bộ nhớ thứ cấp ■ Đây là loại đĩa sơ khai sử dụng hệ thống file FAT ■ Chi phí thấp vì khi thực hành có thể
Trang 1Chương 11: Quản lý bộ nhớ thứ cấp
Quản lý bộ nhớ thứ cấp với hệ thống File FAT
(File Allocation Table)
Trang 2Chương 11: Quản lý bộ nhớ thứ cấp
■ Trình bày cấu trúc, tổ chức vật lý và logic của
đĩa từ khi sử dụng hệ thống file FAT.
■ Từ đó đi đến giải quyết 1 số bài toán thường
gặp trong thực tế như cứu dữ liệu, phục hồi đĩa
bị format,
Mục tiêu của chương:
Trang 3■ Giải được một số bài toán trên đĩa từ như: Phục hồi file bị xóa, phục hội ổ đĩa bị Format, tìm kiếm các file bị phân mảnh, phát hiện mã nguồn B-virus, …
Sau khi học chương này sinh viên phải nắm được
Trang 4● 4.2.2 Cung từ khởi động (Boot Record - DBR).
● 4.2.3 Tổ chức truy nhập tập tin trong FAT16, 32 .
■ 4.3 Phần tự lực – Quản lý đĩa với hệ thống file NTFS
■ 4.4 Định thời truy cập đĩa
● 4.4.1 Các vấn đề trong truy xuất đĩa
Trang 6Chương 11: Quản lý bộ nhớ thứ cấp
Các câu hỏi thường gặp
HĐH quản lý file và dung lượng đĩa như thế nào?
Hệ điều hành
Dựa vào đâu mà HĐH có thể:
-Quản lý được danh mục các file
và folder.
-Quản lý được dung lượng đĩa.
Trang 7Khi HĐH xóa file hoặc format ổ, dựa vào cơ chế gì mà các chương trình có thể phục hồi lại dữ liệu?
Các câu hỏi thường gặp
Chương 11: Quản lý bộ nhớ thứ cấp
Trang 8Ý tưởng về quản lý thông tin trên sách
• Giả thiết giấy ngay sau khi xuất xưởng chưa được đóng thành các
quấn, và chúng ta ghi chép ngay thông tin lên đó
Ở đâu ?
• Khi cần đọc 1 thông tin nào đó người
đọc phải lục tung cả quận giấy dài đó để
tìm, công việc thực sự khó khăn tỉ lệ
với chiều dài của quận giấy
Chương 11: Quản lý bộ nhớ thứ cấp
Trang 9Ý tưởng về quản lý thông tin trên sách
Chương 11: Quản lý bộ nhớ thứ cấp
giản hơn?
Mục lục Abc 12 Bcd 34
Trang 10Ý tưởng về quản lý thông tin trên sách
Chương 11: Quản lý bộ nhớ thứ cấp
■ Cách quản lý, ghi, đọc thông tin trên đĩa từ cũng tuân theo
ý tưởng đó
Trang 12Lý do chọn đĩa mềm để nghiên cứu trước khi nghiên cứu đĩa cứng
Chương 11: Quản lý bộ nhớ thứ cấp
■ Đây là loại đĩa sơ khai sử dụng hệ thống file FAT
■ Chi phí thấp vì khi thực hành có thể gây hỏng đĩa
■ Cấu trúc của đĩa mềm gần như đồng dạng với đĩa cứng
Trang 13Chương 11: Quản lý bộ nhớ thứ cấp
■ Đĩa được chia thành các vòng
tròn đồng tâm và được gọi là các rãnh – Track
Trang 14Chương 11: Quản lý bộ nhớ thứ cấp
■ Có 18 cung từ trên mỗi rãnh và
được đánh số từ 1, 2, …, đến 18
■ 1 sector = 512 Bytes
■ Việc chia định dạng phân chia số
sector, track, kích thước của sector được thực hiện bằng phần mềm (format)
4.1.1 C u trúc a m m 1,44 Mb ấ đĩ ề
4.1.1 C u trúc a m m 1,44 Mb ấ đĩ ề
Sector 0
(?)
Trang 15Chương 11: Quản lý bộ nhớ thứ cấp
■ Như vậy, để xác định vị trí của một sector thì ta
cần ba thông số, là:
Sector đó thuộc mặt nào (mặt 0 hay mặt 1)
Sector đó thuộc rãnh nào [0 79]
Sector thứ mấy [1 18]
■ Địa chỉ này của sector được gọi là địa chỉ tuyệt
đối hay địa chỉ vật lý Các thủ tục của ROM- BIOS dùng địa chỉ tuyệt đối.
4.1.1 C u trúc a m m 1,44 Mb ấ đĩ ề
4.1.1 C u trúc a m m 1,44 Mb ấ đĩ ề
Trang 17Chương 11: Quản lý bộ nhớ thứ cấp
■ Như vậy, theo cách đánh địa chỉ này ta chỉ cần một thông
số là đủ để xác định vị trí của sector trên đĩa
■ Nếu biết được địa chỉ logic, ta có thể xác định được địa chỉ vật lý của sector như sau:
Sector vật lý = Sector logic mod 18 +1.
Mặt đĩa = (Sector logic div 18) mod 2.
Thứ tự track = Sector logic div (18*2).
4.1.1 C u trúc a m m 1,44 Mb ấ đĩ ề
4.1.1 C u trúc a m m 1,44 Mb ấ đĩ ề
Trang 184.1.2 Cách t ch c a v i FAT ổ ứ đĩ ớ
4.1.2 Cách t ch c a v i FAT ổ ứ đĩ ớ
Chương 11: Quản lý bộ nhớ thứ cấp
-Bảng tham số đĩa: chứa thông
tin về cấu hình đĩa, và loại
HĐH được cài đặt
-Mã lệnh khởi động.
-Bảng cấp phát và định vị file
-Bảng thư mục gốc của đĩa
-Vùng lưu dữ liệu thực sự của các file trên đĩa
■ FAT chia đĩa thành 4 vùng với 4
công dụng khác nhau
Trang 20Chương 11: Quản lý bộ nhớ thứ cấp
VÞ trÝ ChiÒu dµi Néi dung 00h 3 byte Lệnh nhẩy đến chương trình khởi động 0Bh 1 tõ Sè byte trªn mçi cung tõ
0Dh 1 byte Sè cung tõ trong mçi liªn cung 0Eh 1 tõ VÞ trÝ cña FAT tÝnh tõ cung tõ ®Çu tiªn cña ph©n khu 10h 1 byte Sè FAT
18h 1 tõ Sè cung tõ trªn mét tõ cluster 1Ah 1 tõ Sè mÆt
24h 1 tõ Tæng sè cung tõ trong mét FAT 2Ch 1 tõ kÐp VÞ trÝ liªn cung b¾t ®Çu cña th môc gèc (FAT32) 43h Dword Serial Number
47h 11 byte Volume 52h 8 byte File system ID 5Ah 436 byte Chương trình khởi động
Trang 214.1.3 N i dung các vùng ộ
4.1.3 N i dung các vùng ộ
Chương 11: Quản lý bộ nhớ thứ cấp
b) Bảng cấp phát tập tin FAT
■ Bảng FAT là phần quan trọng nhất trên đĩa, nếu
nó bị phá hỏng thì toàn bộ dữ liệu trên đĩa sẽ rất khó khôi phục lại được.
■ Luôn có thêm một bản sao của FAT để dự phòng
Trang 224.1.3 N i dung các vùng ộ
4.1.3 N i dung các vùng ộ
Chương 11: Quản lý bộ nhớ thứ cấp
b) Bảng cấp phát tập tin FAT
■ Bảng FAT chỉ là một bảng số mà mỗi vị trí trên
đó tương ứng với một liên cung Vị trí đầu tiên biểu diễn liên cung số 0, vị trí kế tiếp biểu diễn liên cung số 1, vv…
Trang 23■ Nếu mục vào có giá trị FF7 hex thì liên cung tương ứng đã bị đánh dấu là không dùng được từ lúc Format đĩa hoặc chạy chương trình sửa đĩa (Bad Block).
Trang 24■ Nếu mục vào là số FFF hex thì có nghĩa liên cung này là liên cung cuối cùng của tập tin.
Trang 25Chương 11: Quản lý bộ nhớ thứ cấp
xxx 000 xxx FFF xxx FF7 xxx xxx
data free data End data bad data data
Cluster 0 Entry 0
Cluster 1 Cluster 2 Cluster i
Cluster n
Entry 1 Entry 2 Entry i
Entry n
Trang 264.1.3 N i dung các vùng ộ
4.1.3 N i dung các vùng ộ
Chương 11: Quản lý bộ nhớ thứ cấp
b) Bảng cấp phát tập tin FAT
■ DOS và Windows sử dụng ba loại FAT là FAT
12, FAT 16 và FAT 32 bit để quản lý các ổ đĩa mềm và đĩa cứng.
■ FAT 12 bit dùng cho các ổ đĩa có dung lượng dưới 16Mb.
■ FAT 16 được dùng cho các ổ đĩa dung lượng lớn hơn 16Mb nhỏ hơn 2Gb.
■ FAT 32 dùng cho ổ cứng có dung lượng lớn hơn 2Gb
Trang 29Cách th c qu n lý FILE trên FAT ứ ả
Cách th c qu n lý FILE trên FAT ứ ả
Chương 11: Quản lý bộ nhớ thứ cấp
■ Cách thức HĐH ghi 1 file lên đĩa từ
• Giả thiết cần lưu 1 file có tên baigiang.doc có kích thước 1.5kb lên đĩa A Biết rằng 1 sector=512byte
• HĐH phân tích:
1.5kb = 1.5 x 1024b = 3 x 512b = 3 sector
sector 1 D1
sector 2 D2
sector 3 D3
Trang 30Cách th c qu n lý FILE trên FAT ứ ả
Cách th c qu n lý FILE trên FAT ứ ả
First sector=95
xxx xxx
Thư mục gốc
000 FF7
Fat
000 000
Trang 31Cách th c qu n lý FILE trên FAT ứ ả
Cách th c qu n lý FILE trên FAT ứ ả
Chương 11: Quản lý bộ nhớ thứ cấp
000
xxx Baigiang.doc
First sector=95
xxx xxx
Thư mục gốc
000 FF7
Fat
000 000
• Thao tác khi HĐH xóa File baigiang.doc
• Dữ liệu thực vẫn còn trên vùng
Trang 32Th o lu n v FAT ả ậ ề
Th o lu n v FAT ả ậ ề
Chương 11: Quản lý bộ nhớ thứ cấp
■ Vậy cơ chế để phục hồi lại file bị xóa là gì?
■ Những yếu tố nào ảnh hưởng đến hiệu quả của việc phục hồi?
Trang 33File name Text.doc First Sector 25
Size of file 3Kb
■ Biết rằng: 1 Sector = 512 byte và Sector 26, 28 bị Bad
■ Hãy mô tả (bằng sơ đồ) cách thức mà file Text.doc được lưu trên đĩa nếu nó không bị phân mảnh ?
Trang 34Cách truy xu t vào FAT ấ
Cách truy xu t vào FAT ấ
Chương 11: Quản lý bộ nhớ thứ cấp
■ Mặc dù FAT được tổ chức như là một bảng số giản đơn, nhưng nó được lưu trữ trên đĩa khá phức tạp nhằm mục đích nén chặt bảng đến mức có thể.
■ Mỗi mục vào chứa số hiệu liên cung chỉ gồm tối đa 12 bit hay 1,5 byte Các mục vào của FAT được tổ chức thành từng cặp, mỗi cặp chiếm 3 byte (các mục vào 0 và 1 chiếm
3 byte đầu tiên, mục vào 2, 3 chiếm 3 byte kế tiếp, vv…)
Trang 35Cách truy xu t vào FAT ấ
Cách truy xu t vào FAT ấ
Trang 3724 2 Giờ của lần sửa chữa cuối cùng
25 - 26 2 Ngày của lần sửa chữa cuối cùng
27 –28 2 Liên cung bắt đầu của tập tin
29 -32 3 Kích thước tập tin (tính bằng
Byte)
Entry 0 Entry 1 Entry 2 Entry i
Entry n
Trang 39Tên t p tin ậ
Tên t p tin ậ
Chương 11: Quản lý bộ nhớ thứ cấp
■ Có ba mã số: 00, E5 và 2E dùng để báo hiệu ba tình huống đặc biệt, có thể xuất hiện trong byte đầu tiên của trường tên tập tin.
● 00: Các entry hoàn toàn chưa sử dụng
● E5(?): Báo hiệu tập tin đã bị xoá
● 2E(.): Entry này là thư mục con
● Nếu byte thứ hai cũng là 2E(.) thì entry này ứng với thư mục cha của thư mục hiện hành
Trang 41Th m c con ư ụ
Th m c con ư ụ
Chương 11: Quản lý bộ nhớ thứ cấp
Thư mục gốc
Thư mục con 1 Thư mục con 2 Thư mục con n File m
Thư mục con 21 Thư mục con 22
File m
File nk Thư mục con n1
File n1k
Trang 44Nam := 1980 + Date div 512;
Thang := (Date mod 512) div 32
Trang 454.2 Đĩa cứng
Chương 11: Quản lý bộ nhớ thứ cấp
Track n
Trang 46• Cluster là đơn vị lưu trữ
thông tin nhỏ nhất trên đĩa Tức là phần kích thước vật lý trên đĩa cấp phát để lưu file luôn là một số nguyên lần của cluster
Trang 474.2 Đĩa cứng
Chương 11: Quản lý bộ nhớ thứ cấp
Cấu trúc vật lý của đĩa cứng:
Cylinder: đối với các loại
đĩa cứng có nhiều hơn
sector, side là tùy thuộc
vào từng kích thước của
đĩa từ
Trang 484.2 Đĩa cứng
Chương 11: Quản lý bộ nhớ thứ cấp
Cấu trúc vật lý của đĩa cứng:
Partition size Sectors per
Trang 504.2 Đĩa cứng
Chương 11: Quản lý bộ nhớ thứ cấp
Thảo luận về việc lựa chọn kích thước của Cluster
Trang 51Cấu trúc logic của đĩa cứng
Chương 11: Quản lý bộ nhớ thứ cấp
?
HĐH làm thế nào để xác định đâu là ổ C, D, E
Trang 524.2.1 Cung từ khởi động chủ
(Master Boot Record - MBR)
(Master Boot Record - MBR)
Chương 11: Quản lý bộ nhớ thứ cấp
■ Master Boot Record - MBR
Trang 534.2.1 Cung từ khởi động chủ
(Master Boot Record - MBR)
(Master Boot Record - MBR)
Chương 11: Quản lý bộ nhớ thứ cấp
■ Cấu trúc của Master boot record.
?
Trang 544.2.1 Cung từ khởi động chủ
Chương 11: Quản lý bộ nhớ thứ cấp
■ Vị trí: Cylinder 0, mặt 0 và sector 1 (thường ký hiệu là C/H/S = 0/0/1)
■ Tuy cung MBR chỉ nằm trong một cung từ, nhưng toàn bộ
từ đạo vẫn dành cho nó, các cung từ còn lại để trống hoàn toàn
Trang 55● Phần tiếp theo gồm 64 bytes là bảng phân khu.
● Hai bytes cuối cùng luôn có giá trị là 55 AA h để chỉ dấu hiệu hợp lệ của một MBR
Trang 56Chương 11: Quản lý bộ nhớ thứ cấp
(offset) Chiều
1BE hex 1 byte 80 hex ứng với khu dùng để khởi động, nếu không sẽ có
giá trị 00 hex 1BF hex 1 byte Chỉ ra khu ở mặt nào 1C0 hex 16 bit Chỉ ra từ trụ đầu tiên của phân khu chính (10bit) và cung
từ đầu tiên của phân khu chính (6 bit) 1C2 hex 1 byte Chỉ định hệ điều hành
1C3 hex 1 byte Chỉ ra khu kết thúc ở mặt nào 1C4 hex 16 bit Chỉ ra từ trụ cuối cùng của phân khu chính (10bit) và
cung từ cuối cùng của phân khu chính (6bit) 1C6 hex 1
dwo rd
Vị trí t ơng đối của khu
Code Patition Table 1
Patition Table 2
Patition Table 3
Patition Table 4
D
Trang 594.2.2 Cung từ khởi động (Boot Record - DBR)
Chương 11: Quản lý bộ nhớ thứ cấp
DBR
Trang 604.2.2 Cung từ khởi động (Boot Record - DBR)
Chương 11: Quản lý bộ nhớ thứ cấp
■ Cung từ đầu tiên thuộc vùng FAT quản lý gọi là cung từ khởi động DOS
■ Các DBR của các phân khu FAT có cấu trúc giống nhau
■ Mặc dù trên mỗi phân khu khả dĩ đều có một cung DBR như nhau, tuy nhiên, chỉ có chương trình của DBR nằm trên khu khởi động mới được đọc vào và chạy thực sự
■ Với mỗi cơ chế phân khu khác nhau, tương ứng với các ổ đĩa sẽ được định dạng cấp cao theo cơ chế quản lý tập tin của FAT16 hay FAT32, mà cấu trúc của DBR được tổ chức cũng khác nhau
Trang 61Chương 11: Quản lý bộ nhớ thứ cấp
00h 3 byte Lệnh nhẩy đến chương trình khởi động 0Bh 1 tõ Sè byte trªn mçi cung tõ
0Dh 1 byte Sè cung tõ trong mçi liªn cung 0Eh 1 tõ VÞ trÝ cña FAT tÝnh tõ cung tõ ®Çu tiªn cña ph©n khu
Trang 62Chương 11: Quản lý bộ nhớ thứ cấp
4.2.3 Tổ chức truy nhập tập tin trong FAT16, 32
4.2.3 Tổ chức truy nhập tập tin trong FAT16, 32
■ FAT 16, 32 bit làm việc giống FAT 12bit, nhưng đơn giản hơn nhiều Do 16 bit chiếm đúng 2 byte và FAT 32 chiếm đúng 4 byte nên FAT 16, 32 chỉ là bảng các số dài 2 byte hoặc 4 byte
Trang 63Chương 11: Quản lý bộ nhớ thứ cấp
xxxx 0000 xxxx FFFF xxxx FFF7 xxxx xxxx
data free data End data bad data data
Cluster 0 Entry 0
Cluster 1 Cluster 2 Cluster i
Cluster n
Entry 1 Entry 2 Entry i
Entry n
Trang 65Cách th c qu n lý FILE trên FAT ứ ả
Cách th c qu n lý FILE trên FAT ứ ả
Chương 11: Quản lý bộ nhớ thứ cấp
■ Cách thức HĐH ghi 1 file lên đĩa từ
• Giả thiết cần lưu 1 file có tên baigiang.doc có kích thước 3kB lên đĩa Biết rằng 1 cluster = 2 sector= 1024 byte
• HĐH phân tích:
3kB = 3 x 1024B = 3 cluster
Cluster 1 D1
Cluster 2 D2
Cluster 3 D3
Trang 66Cách th c qu n lý FILE trên FAT ứ ả
Cách th c qu n lý FILE trên FAT ứ ả
First cluster=95
xxx xxx
Thư mục gốc
0000 FFF7
Fat
000 000
Trang 67Cách th c qu n lý FILE trên FAT ứ ả
Cách th c qu n lý FILE trên FAT ứ ả
Chương 11: Quản lý bộ nhớ thứ cấp
000
xxx Baigiang.doc
First sector=95
xxx xxx
Thư mục gốc
000 FFF7
Fat
000 000
• Thao tác khi HĐH xóa File baigiang.doc
• Dữ liệu thực vẫn còn trên vùng
Trang 68Chương 11: Quản lý bộ nhớ thứ cấp
4.2.3 Tổ chức truy nhập tập tin trong FAT16, 32
4.2.3 Tổ chức truy nhập tập tin trong FAT16, 32
■ Thảo luận về nhược điểm của hệ thống file FAT trong vấn
đế tiết kiệm dung lượng đĩa
Trang 69Thư mục
Chương 11: Quản lý bộ nhớ thứ cấp
■ Là một bảng gồm nhiều mục(entry) Mỗi mục vào chiếm
32 bytes, mỗi điểm vào này dành cho một File hay một
thư mục con hay ghi nhãn đĩa, theo cơ chế tên ngắn
Trang 7024 2 Giờ của lần sửa chữa cuối cùng
25 - 26 2 Ngày của lần sửa chữa cuối cùng
27 –28 2 Liên cung bắt đầu của tập tin
29 -32 3 Kích thước tập tin (tính bằng
Byte)
Entry 0 Entry 1 Entry 2 Entry i
Entry n
Trang 71Chương 11: Quản lý bộ nhớ thứ cấp
Cơ chế tạo tên file dài trong win 32, 64
Cơ chế tạo tên file dài trong win 32, 64
Trang 72Tên t p tin ậ
Tên t p tin ậ
Chương 11: Quản lý bộ nhớ thứ cấp
■ Có ba mã số: 00, E5 và 2E dùng để báo hiệu ba tình huống đặc biệt, có thể xuất hiện trong byte đầu tiên của trường tên tập tin.
● 00: Các entry hoàn toàn chưa sử dụng
● E5(?): Báo hiệu tập tin đã bị xoá
● 2E(.): Entry này là thư mục con
● Nếu byte thứ hai cũng là 2E(.) thì entry này ứng với thư mục cha của thư mục hiện hành
Trang 74Th m c con ư ụ
Th m c con ư ụ
Chương 11: Quản lý bộ nhớ thứ cấp
Thư mục gốc
Thư mục con 1 Thư mục con 2 Thư mục con n File m
Thư mục con 21 Thư mục con 22
File m
File nk Thư mục con n1
File n1k
Trang 754.3 Phần tự lực – Quản lý đĩa với hệ thống file NTFS
NTFS
Chương 11: Quản lý bộ nhớ thứ cấp
■ Sinh viên đọc thêm phần phục lục A và trả lời các câu hỏi sau.
● Cấu trúc logic của đĩa từ khi sử dụng NTFS
● Trình bày các ưu việt của NTFS so với FAT
● Tại sao NTFS lại bảo mật và tiết kiệm dung lượng đĩa hơn
Trang 764.4 Định thời truy cập đĩa
Chương 11: Quản lý bộ nhớ thứ cấp
■ Các vấn đề trong truy xuất đĩa
■ Định thời truy cập đĩa
Trang 774.4.1 Các vấn đề trong truy xuất đĩa
Chương 11: Quản lý bộ nhớ thứ cấp
■ Thời gian đọc/ghi trên đĩa bao gồm:
● Seek time: thời gian di chuyển đầu đọc để định vị đúng
track/cylinder (Phục thuộc tốc độ, cách thức di chuyển đầu đọc)
sector cần đọc (Phụ thuộc tốc độ quay của đĩa)
nhớ hoặc ngược lại (phụ thuộc băng thông kênh truyền giữa đĩa và bộ nhớ)
■ Disk I/O time = seek time + rotational delay + transfer time
Trang 784.4.1 Các vấn đề trong truy xuất đĩa
Chương 11: Quản lý bộ nhớ thứ cấp
■ Để tăng hiệu xuất đĩa ta cần:
● Giảm kích thước đĩa
● Tăng tốc độ quay của đĩa
● Định thời các tác vụ truy xuất đĩa để hạn chế di chuyển đầu đọc
● Các dữ liệu liên quan (cùng 1 file) nằm trên các track gần nhau
● Bố trí các file thường sử dụng vào vị trí thích hợp