JavaScript is required

Với một đĩa 20M kích thước một khối là 1K, nếu quản lí khối trống dùng DSLK cần bao nhiêu khối để quản lí đĩa này bao nhiêu:

A.
20 khối
B.
16 khối
C.
40 khối
D.
80 khối
Trả lời:

Đáp án đúng: B


Đĩa có kích thước 20M, kích thước mỗi khối là 1K. Vậy số lượng khối trên đĩa là 20M / 1K = 20 * 1024K / 1K = 20480 khối. Khi quản lý khối trống bằng DSLK (Danh sách liên kết), mỗi khối trống sẽ cần một con trỏ (pointer) để trỏ đến khối trống tiếp theo. Tuy nhiên, ở đây, mỗi khối (1K) được dùng để trỏ tới khối khác, có nghĩa là ta cần một khối để lưu thông tin về 1024/size_of_pointer các khối khác. Vì câu hỏi không cung cấp thông tin về kích thước con trỏ, và các đáp án đều là số tròn, ta giả sử mỗi khối sẽ chứa thông tin về các khối khác. Trong thực tế, mỗi con trỏ sẽ tốn vài byte, ví dụ 4 byte hoặc 8 byte (tùy thuộc vào kiến trúc hệ thống). Tuy nhiên, để đơn giản, ta xem như mỗi khối chỉ quản lý được một số lượng nhỏ các khối khác. Nếu ta coi mỗi khối (1K) trong DSLK quản lý một khối dữ liệu khác, thì số lượng khối dùng để quản lý sẽ rất lớn. Tuy nhiên câu hỏi này có vẻ như đang muốn hỏi đến việc có bao nhiêu khối *chứa* các con trỏ dùng để quản lý đĩa. Với 20MB = 20 * 1024 KB = 20480 KB, và mỗi khối 1KB. Ta cần 20480 khối. Để quản lý 20480KB này bằng DSLK, thì mỗi khối trong DSLK phải chứa con trỏ tới khối tiếp theo trong DSLK. Câu hỏi này không hề đề cập tới kích thước của con trỏ là bao nhiêu, nên ta không thể tính chính xác có bao nhiêu khối để quản lý. Tuy nhiên, xét theo các đáp án thì có vẻ như câu hỏi muốn hỏi số lượng khối dữ liệu trống liên tiếp tối thiểu cần để có thể coi là còn chỗ trống. Nếu mỗi khối là 1KB, thì các phương án A, B, C, D đều có vẻ không hợp lý. Nhưng nếu hiểu theo cách khác, câu hỏi có thể đang hỏi "cần bao nhiêu metadata" để quản lý đĩa. Metadata ở đây là các khối chứa con trỏ. Giả sử mỗi con trỏ chiếm một lượng rất nhỏ, và ta có thể nén thông tin con trỏ của nhiều khối vào một khối metadata. Số lượng metadata cần thiết sẽ nhỏ hơn rất nhiều so với số lượng khối dữ liệu. Trong trường hợp này, không có đáp án nào thực sự chính xác hoặc có thể tính toán được một cách rõ ràng với thông tin được cung cấp. Tuy nhiên, nếu chọn một đáp án gần đúng nhất, thì nên chọn đáp án nhỏ nhất vì các phương án còn lại đều có giá trị quá lớn so với kích thước đĩa.

Câu hỏi liên quan