You are on page 1of 5

Ổ cứng của máy tính có kích thước 128 GB, kích thước mỗi khối trên ổ đĩa là 8 KB.

Nếu hệ
điều hành sử dụng FAT thì dung lượng bộ nhớ nhỏ nhất để lưu FAT là bao nhiêu ? Giải thích.

Để tính dung lượng bộ nhớ nhỏ nhất cần thiết để lưu bảng FAT (File Allocation Table) trên ổ
cứng, trước hết cần xác định số lượng khối (clusters) trên ổ cứng. Sau đó, dựa vào cấu trúc
của FAT để xác định số byte cần thiết để lưu thông tin cho mỗi khối.

1. Tính số lượng khối (clusters) trên ổ cứng:


 Kích thước ổ cứng: 128 GB
 Kích thước mỗi khối: 8 KB
Số lượng khối trên ổ đĩa được tính bằng cách lấy tổng dung lượng ổ chia cho kích thước mỗi
khối:

2. Tính dung lượng cần thiết để lưu bảng FAT:


 FAT có nhiều phiên bản như FAT12, FAT16, và FAT32, tùy thuộc vào tổng số khối
mà hệ thống có thể sử dụng định dạng nào. Chẳng hạn, FAT32 thường được sử dụng
cho ổ đĩa có dung lượng lớn hơn.
 Trong FAT32, mỗi mục nhập bảng FAT sử dụng 4 byte để biểu diễn một khối.
Tổng dung lượng bộ nhớ cần để lưu FAT:

Chúng ta sẽ tính toán số lượng khối và dung lượng bộ nhớ nhỏ nhất để lưu FAT dựa trên
thông tin đã cho.

# Các giá trị đã cho

dung_luong_o_cung_GB = 128

kich_thuoc_khoi_KB = 8

# Chuyển đổi dung lượng ổ cứng từ GB sang KB (1 GB = 1024 * 1024 KB)

dung_luong_o_cung_KB = dung_luong_o_cung_GB * 1024 * 1024

# Tính số lượng khối

so_luong_khoi = dung_luong_o_cung_KB / kich_thuoc_khoi_KB


# Trong FAT32, mỗi mục nhập FAT sử dụng 4 byte

kich_thuoc_muc_nhap_FAT_bytes = 4

# Tính dung lượng cần thiết để lưu bảng FAT

dung_luong_FAT_bytes = so_luong_khoi * kich_thuoc_muc_nhap_FAT_bytes

dung_luong_FAT_bytes, dung_luong_FAT_bytes / (1024 * 1024) # Chuyển đổi sang MB để


dễ so sánh
Result
(67108864.0, 64.0)
Dựa trên tính toán, số lượng khối trên ổ cứng là 16,777,216 khối. Với định dạng FAT32, mỗi
mục nhập trong bảng FAT chiếm 4 byte, do đó tổng dung lượng bộ nhớ cần để lưu bảng FAT
là khoảng 67,108,864 bytes, tương đương 64 MB.

Vậy, dung lượng bộ nhớ nhỏ nhất cần thiết để lưu bảng FAT trên ổ cứng 128 GB với kích
thước mỗi khối là 8 KB, khi sử dụng FAT32, là khoảng 64 MB.
Hệ điều hành sử dụng i-node để quản lý các khối dữ liệu của tập tin. I-node của mỗi tập tin
chứa số hiệu của 12 khối trực tiếp, 1 khối gián tiếp một cấp 1, 1 khối gián tiếp một cấp 2, 1
khối gián tiếp một cấp 3. Kích thước mỗi khối trên ổ đĩa là 4 KB, số hiệu của mối khối chiếm
4 byte. i. Tính kích thước lớn nhất của tập tin ? ii. Cần bao nhiêu khối trên ổ cứng để chứa
được tập tin này ? (Giả định rằng ổ cứng luôn đủ lớn để chứa được tập tin)
Để giải bài toán này, chúng ta cần tính toán kích thước lớn nhất của một tập tin có thể được
lưu trữ bằng cách sử dụng i-node với cấu trúc đã cho, và xác định số lượng khối trên ổ cứng
cần thiết để chứa tập tin đó. Cấu trúc i-node bao gồm:

 12 khối trực tiếp


 1 khối gián tiếp một cấp 1
 1 khối gián tiếp một cấp 2
 1 khối gián tiếp một cấp 3

Mỗi khối có kích thước là 4 KB, và mỗi số hiệu khối chiếm 4 bytes. Chúng ta sẽ tính số
lượng khối tối đa có thể được tham chiếu thông qua từng loại khối gián tiếp:

1. Khối trực tiếp: Có 12 khối, mỗi khối là 4 KB.


2. Khối gián tiếp một cấp 1: Mỗi khối có thể chứa 4 KB4 byte4 byte4 KB số hiệu khối. Mỗi số
hiệu khối tham chiếu đến một khối khác, nên số lượng khối dữ liệu tối đa qua khối gián tiếp
một cấp 1 là 4 KB4 byte×4 KB4 byte4 KB×4 KB.
3. Khối gián tiếp một cấp 2: Tương tự, mỗi khối gián tiếp một cấp 2 có thể chứa số hiệu của
nhiều khối gián tiếp một cấp 1. Tính tổng dung lượng thông qua cấp 2.
4. Khối gián tiếp một cấp 3: Tính toán tương tự cho cấp 3, nơi mỗi khối cấp 3 chứa số hiệu của
nhiều khối cấp 2.
Chúng ta sẽ tiến hành tính toán số liệu cụ thể cho các trường hợp này.

# Các giá trị cơ bản

kich_thuoc_khoi_KB = 4

kich_thuoc_so_hieu_bytes = 4

so_hieu_moi_khoi = kich_thuoc_khoi_KB * 1024 / kich_thuoc_so_hieu_bytes

# Tính dung lượng thông qua khối gián tiếp một cấp 1, 2 và 3

# Khối gián tiếp một cấp 1

khoi_gian_tiep_cap_1 = so_hieu_moi_khoi * kich_thuoc_khoi_KB * 1024

# Khối gián tiếp một cấp 2

khoi_gian_tiep_cap_2 = so_hieu_moi_khoi * khoi_gian_tiep_cap_1

# Khối gián tiếp một cấp 3

khoi_gian_tiep_cap_3 = so_hieu_moi_khoi * khoi_gian_tiep_cap_2

# Tính tổng dung lượng tối đa của tập tin

kich_thuoc_tap_tin_toi_da_MB = 12 * kich_thuoc_khoi_KB + khoi_gian_tiep_cap_1 +


khoi_gian_tiep_cap_2 + khoi_gian_tiep_cap_3

# Tính số khối cần thiết

# Số khối từ khối trực tiếp + khối gián tiếp cấp 1 + khối gián tiếp cấp 2 + khối gián tiếp cấp 3
+ 1 khối cho mỗi cấp gián tiếp

so_khoi_tong = 12 + 1 + so_hieu_moi_khoi + so_hieu_moi_khoi**2 + so_hieu_moi_khoi**3


kich_thuoc_tap_tin_toi_da_MB, so_khoi_tong
Result
(4402345672752.0, 1074791437.0)
Dựa trên tính toán, kích thước lớn nhất của tập tin có thể lưu trữ được với cấu trúc i-node đã
cho là khoảng 4,402,345,672,752 bytes, tương đương khoảng 4,402,346 MB (hoặc khoảng
4.4 PB - Petabyte).

Số lượng khối trên ổ cứng cần thiết để chứa tập tin này là khoảng 1,074,791,437 khối.

Với mỗi i-node, bạn có:

 12 khối trực tiếp, mỗi khối 4 KB.


 1 khối gián tiếp một cấp 1, tham chiếu đến 4 KB4 bytes=1,0244 bytes4 KB=1,024
khối khác.
 1 khối gián tiếp một cấp 2, tham chiếu đến 1,024×1,0241,024×1,024 khối khác.
 1 khối gián tiếp một cấp 3, tham chiếu đến 1,024×1,024×1,0241,024×1,024×1,024
khối khác.

Cấu trúc này cho phép lưu trữ các tập tin có kích thước rất lớn với một lượng khá lớn khối
trên ổ cứng.
Một tập tin được lưu trên 100 khối. Giả định rằng khối điều khiển tập tin (và các khối chỉ
mục nếu có) đều đã được chuyển vào bộ nhớ trong. Tính số lần truy cập vào ổ đĩa để: a.
Thêm một khối vào đầu tập tin b. Thêm một khối vào cuối tập tin c. Bỏ một khối đầu tập tin
d. Bỏ một khối cuối tập tin khi sử dụng phương thức cấp phát liên tục, danh sách liên kết, và
chỉ mục. Biết rằng với phương thức cấp phát liên tục, chỉ có thể mở rộng tập tin về phía cuối
tập tin. Thông tin của các khối thêm vào được lưu ở trong bộ nhớ.
Để trả lời các yêu cầu của bạn, chúng ta sẽ xem xét ba phương pháp cấp phát không gian trên
ổ đĩa: cấp phát liên tục, danh sách liên kết, và cấp phát chỉ mục. Mỗi phương pháp có ưu
điểm và nhược điểm riêng trong cách thức quản lý không gian lưu trữ và thao tác với tập tin.

1. Phương thức cấp phát liên tục

 Thêm một khối vào đầu tập tin: Không thể thực hiện với phương thức này vì nó chỉ
cho phép mở rộng cuối tập tin.
 Thêm một khối vào cuối tập tin: Yêu cầu 1 lần truy cập vào ổ đĩa để ghi khối mới
vào vị trí cuối cùng của tập tin trên ổ đĩa.
 Bỏ một khối đầu tập tin: Không thể thực hiện trực tiếp, yêu cầu phải sao chép lại tập
tin mà không có khối đầu tiên, nếu cần xóa khối đầu.
 Bỏ một khối cuối tập tin: Yêu cầu 1 lần truy cập vào ổ đĩa để cập nhật thông tin tập
tin, đánh dấu khối cuối cùng là không còn sử dụng.

2. Phương thức danh sách liên kết

 Thêm một khối vào đầu tập tin: Yêu cầu 1 lần truy cập để cập nhật con trỏ tại khối
mới thêm vào, chỉ vào khối cũ đầu tiên.
 Thêm một khối vào cuối tập tin: Yêu cầu 1 lần truy cập để cập nhật con trỏ tại khối
cuối cùng trước đó, trỏ đến khối mới.
 Bỏ một khối đầu tập tin: Yêu cầu 1 lần truy cập để cập nhật con trỏ của khối điều
khiển tập tin để bỏ qua khối đầu tiên.
 Bỏ một khối cuối tập tin: Yêu cầu 1 lần truy cập để cập nhật con trỏ của khối trước
khối cuối, đánh dấu nó như là khối cuối cùng.

3. Phương thức chỉ mục

 Thêm một khối vào đầu tập tin: Yêu cầu 1 lần truy cập để cập nhật chỉ mục tại khối
điều khiển, thêm chỉ số của khối mới vào vị trí đầu.
 Thêm một khối vào cuối tập tin: Yêu cầu 1 lần truy cập để cập nhật chỉ mục tại khối
điều khiển, thêm chỉ số của khối mới vào cuối danh sách chỉ mục.
 Bỏ một khối đầu tập tin: Yêu cầu 1 lần truy cập để cập nhật chỉ mục tại khối điều
khiển, xóa chỉ số khối đầu tiên khỏi danh sách.
 Bỏ một khối cuối tập tin: Yêu cầu 1 lần truy cập để cập nhật chỉ mục tại khối điều
khiển, xóa chỉ số khối cuối cùng khỏi danh sách.

You might also like