Bài giảng Bài tập ôn tập HĐH giới thiệu tới các bạn những bài tập thường đưa ra trong hệ điều hành. Mời các bạn tham khảo bài giảng để biết được những dạng bài tập chính và cách giải những bài tập về hệ điều hành.
Bài tập ôn tập HĐH HỆ THỐNG TẬP TIN Bài • Đĩa mềm 1.44 MB, có head, 80 track / head, 18 sector / track • Đổi sector vật lý sang logic: – (10, 2, 1); (18, 70, 0); (18, 79, 1); (5, 5, 1); (2, 0, 0); • Đổi sector logic sang vật lý: – 90, 8,1080, 2000, • Cho biết dãy cyclinder cần truy xuất là: 9, 15, 21, 2, 25, 6, 12 Với vị trí hành đầu đọc đứng cyclinder 10, Hãy cho biết thứ tự truy xuất cyclinder dùng thuật toán là: FCFS – SSTF – SCAN – C-SCAN – LOOK – C-LOOK l = t*side*st + h*st + s - Vật lý Logic • (10, 2, 1): s=10, t=2, h=1 l = 2*2*18 + 1*18 + 10 – = 99 st= số sectors / track = 18 th= số tracks / head = 80 side= số lượng head = • (18, 70, 0): s=18, t=70, h=0 l = 70*2*18 + 0*18 + 18 – = 2537 l= sector logic • (18, 79, 1): s=18, t=79, h=1 l = 79*2*18 + 1*18 + 18 – = 2879 h: giá trị head t: giá trị track s: giá trị sector • (5, 5, 1): s=5, t=5, h=1 l = 5*2*18 + 1*18 + – = 202 • (2, 0, 0): s=2, t=0, h=0 l = 0*2*18 + 0*18 + – = s = (l mod st) + t = l div (st * side) h = (l div st) mod side • • • • • l = 90 (1, 2, 1) l = (9, 0, 0) l = 1080 (1, 30, 0) l = 2000 (3, 55, 1) l = 1 (2, 0, 0) st= số sectors / track = 18 th= số tracks / head = 80 side= số lượng head = l= sector logic h: giá trị head t: giá trị track s: giá trị sector • • • • • • FCFS: 10, 9, 15, 21, 2, 25, 6, 12 SSTF: 10, 9, 6, 2, 12, 15, 21, 25 SCAN: 10, 12, 15, 21, 25, [P], 9, 6, C-SCAN: 10, 12, 15, 21, 25, [P], [T], 2, 6, LOOK: 10, 12, 15, 21, 25, 9, 6, C-LOOK: 10, 12, 15, 21, 25, 2, 6, BOOT SECTOR STT 10 11 Nội dung Loại FAT Số byte cho sector Số sector cho cluster Số sector dành riêng (số sector vùng Bootsector) Số bảng FAT Số sector cho bảng RDET Tổng số sector đĩa Số sector cho bảng FAT Sector bảng FAT1 Sector bảng RDET Sector vùng Data Giá trị BOOT SECTOR STT Nội dung Giá trị Loại FAT Số byte cho sector Số sector cho cluster Số sector dành riêng (số sector vùng Bootsector) 32 Số bảng FAT Tổng số sector đĩa Số sector cho bảng FAT 635 Sector bảng FAT1 32 Sector bảng RDET 1302 10 Sector vùng Data 1302 FAT 32 512 81888 FAT • Cho dãy byte đĩa sau: Byte Giá trị Byte Giá trị E3 F1 FF 07 80 00 EC 64 01 00 10 11 12 13 14 15 … 66 55 90 A0 00 04 … • Cho biết FAT12, xác định giá trị ô bảng FAT có thứ tự là: Entry Giá trị FAT • Cho dạy byte đĩa sau: Byte Giá trị Byte Giá trị E3 F1 FF 07 80 00 EC 64 01 00 10 11 12 13 14 15 … 66 55 90 A0 00 04 … • Cho biết FAT12, xác định giá trị ô bảng FAT có thứ tự là: Entry Giá trị 1E3 FFF 007 008 4EC 016 600 556 090 00A Data • Cho đĩa USB có thông số sau: – Sc = – SB = – NF = – SF = – NRDET = 224 • Hãy cho biết cluster sau vùng Data tương ứng chiếm sector logic đĩa: 5, 2, 10, 20 i = SB + NF*SF + SRDET + (k- 2)*SC SRDET = NRDET*32/512 • Từ giả thuyết ta suy SRDET = NRDET*32/512 = 224*32/512 = 14 (sector) • K = i = + 2*9 + 14 + (5-2)*4 = 45 Cluster Data chiếm sector logic 45, 46, 47, 48 • K = i = + 2*9 + 14 + (2-2)*4 = 33 Cluster Data chiếm sector logic 33, 34, 35, 36 • K = 10 i = + 2*9 + 14 + (10-2)*4 = 65 Cluster 10 Data chiếm sector logic 65, 66, 67, 68 • K = 20 i = + 2*9 + 14 + (20-2)*4 = 105 Cluster 20 Data chiếm sector logic 105, 106, 107, 108 Sc = SB = NF = SF = NRDET = 224 FAT • USB 127MB có 112 entry bảng thư mục gốc, cluster chiếm sector, boot sector chiếm sector bảng FAT Cần sử dụng hệ thống FAT (FAT12/16/32) cho đĩa mềm ? Kích thước bảng FAT ? (Cần dùng sector để lưu bảng FAT) 12 • Ta có: – SB = (theo giả thiết) – NF = (theo giả thiết) • • SV = 127 MB = 127*1024*2 (sector) = 260096 (sector) Bảng thư mục gốc chiếm 112 entry = (112*32) / 512 = (sector) • Thay giá trị có vào đẳng thức: SB + NF*SF +SR + SD = SV + 2SF + + SD = 260096, hay 2SF + SD = 260081 (sector) (*) SD ~ 260081/8 = 32510.125 (vì Sc = sector) Do FAT12 quản lý tối đa 4096 cluster ~ 4096*4 = 16384 sector nên vol định dạng theo FAT12 Do đó, vol định dạng theo FAT16 • Giả sử SF = (sector): (*) SD = 260081 - 2SF = 260079 (sector) = 32509.875 (cluster) Vùng liệu có 32510 cluster, nên bảng FAT phải có 32510 + = 32512 phần tử, SF = (32512 * 2) / 512 = 127 (sector) SF = 127 sector Mâu thuẫn với giả thiết SF = Vậy kích thước bảng FAT vol khơng thể sector • Giả sử SF = 127 (sector): (*) SD = 260081 - 2SF = 259827 (sector) = 32478.375 (cluster) Vùng liệu có 32479 cluster, nên bảng FAT phải có 32479 + = 32481 phần tử, SF = (32481 * 2) / 512 = 126.x (sector) SF = 127 sector Phù hợp với giả thiết SF = 127 Vậy kích thước bảng FAT vol 127 sector 13 Cách • Gọi: x số phần tử FAT - y số cluster vùng Data (*) 2SF + SD = 260081 (sector) 2*(x*2) / 512 + y*8 = 260081 (**) • Do số phần tử FAT số cluster Data xấp xỉ nên ta giả sử x = y (**) 2*(x*2) / 512 + x*8 = 260081 x = 32478.40 SF = (2 * 32478.40) / 512 = 126.9 • Nếu SF = 126, tính được: - Số phần tử FAT x = 512*126/2 = 32256 - Số cluster y: (**) 260081 = 2*126 + y*8 y = 32479 Phí: 32479 – 32256 = 223 cluster = 223*8 = 1784 sector • Nếu SF = 127, tương tự tính được: - Số phần tử FAT x = 512*127/2 = 32512 - Số cluster y: (**) 260081 = 2*127 + y*8 y = 32479 Phí 32512 – 32479 = 33 cluster = 33*8 = 264 sector Vậy kích thước bảng FAT vol 127 sector 14 FAT • Xét đĩa mềm 1.44MB (có 2880 sector), để tập tin vol truy xuất nhanh & an toàn ta giả sử cho – SC = (sector) – SB = (sector) – SR = 32 (entry) = 32 * 32 (byte) = 1024 (byte) = (sector) – NF = Cần sử dụng hệ thống FAT (FAT12/16/32) cho đĩa mềm Kích thước bảng FAT ? (Cần dùng sector để lưu bảng FAT) 15 • Thay giá trị vào đẳng thức SB + NF*SF + SR + SD = SV ta 03/2009 + 2SF +2 + SD = 2880 (sector), hay 2SF + SD = 2877 (sector) (*) SD < 2877 (sector) = 719.25 (cluster) (vì SC = sector) Loại FAT tối ưu (về kích thước) FAT12, SD < 4079 (cluster) • Giả sử SF = (sector): (*) SD = 2875 (sector) = 718.75 (cluster) Vùng liệu có 719 cluster, nên bảng FAT phải có 719 + = 721 phần tử, SF = (721*1.5)/512 = BM MMT&VT - KHOA CNTT - ĐH KHTN TP.HCM 2.1x (sector) Bảng FAT phải chiếm sector – mâu thuẫn với giả thiết SF = Vậy kích thước bảng FAT vol khơng thể sector • Giả sử SF = (sector): tương tự, ta thấy mâu thuẫn, tức kích thước bảng FAT phải lớn sector • Giả sử SF = (sector): (*) SD = 2871 (sector) = 717.75 (cluster) Vùng liệu có 718 cluster, nên bảng FAT phải có 718 + = 720 phần tử, SF = (720*1.5)/512 = 2.1x (sector) Bảng FAT phải chiếm sector – phù hợp với giả thiết SF = Vậy kích thước bảng FAT vol sector 16 03/2009 FAT BM MMT&VT - KHOA CNTT - ĐH KHTN TP.HCM • USB 127MB có 112 entry bảng thư mục gốc, cluster chiếm sector, boot sector chiếm sector bảng FAT Cần sử dụng hệ thống FAT (FAT12/16/32) cho đĩa mềm ? Kích thước bảng FAT ? (Cần dùng sector để lưu bảng FAT) 17 • Ta có: – SB = (theo giả thiết) – NF = (theo giả thiết) • • SV = 127 MB = 127*1024*2 (sector) = 260096 (sector) Bảng thư mục gốc chiếm 112 entry = (112*32) / 512 = (sector) • Thay giá trị có vào đẳng thức: SB + NF*SF +SR + SD = SV + 2SF + + SD = 260096, hay 2SF + SD = 260081 (sector) (*) SD ~ 260081/8 = 32510.125 (vì Sc = sector) Do FAT12 quản lý tối đa 4096 cluster ~ 4096*4 = 16384 sector nên vol định dạng theo FAT12 Do đó, vol định dạng theo FAT16 • Giả sử SF = (sector): (*) SD = 260081 - 2SF = 260079 (sector) = 32509.875 (cluster) Vùng liệu có 32510 cluster, nên bảng FAT phải có 32510 + = 32512 phần tử, SF = (32512 * 2) / 512 = 127 (sector) SF = 127 sector Mâu thuẫn với giả thiết SF = Vậy kích thước bảng FAT vol khơng thể sector • Giả sử SF = 127 (sector): (*) SD = 260081 - 2SF = 259827 (sector) = 32478.375 (cluster) Vùng liệu có 32479 cluster, nên bảng FAT phải có 32479 + = 32481 phần tử, SF = (32481 * 2) / 512 = 126.x (sector) SF = 127 sector Phù hợp với giả thiết SF = 127 Vậy kích thước bảng FAT vol 127 sector 18 FAT • Xét đĩa USB có dung lượng 256 MB, kèm thông số đĩa: – SC = (sector) – SB = (sector) – NRDET = 256 (entry) – NF = Cần sử dụng hệ thống FAT (FAT12/16/32) cho USB Kích thước bảng FAT ? (Cần dùng sector để lưu bảng FAT) • Ta có: – SB = (theo giả thiết) – NF = (theo giả thiết) • • SV = 256 MB = (256*1024*1024) / 512 (sector) = 524288 (sector) Bảng thư mục gốc chiếm NRDET = 256 entry SRDET = (256 * 32) / 512 = 16 (sector) • Thay giá trị có vào đẳng thức: SB + NF*SF +SR + SD = SV + 2SF + 16 + SD = 524288, hay 2SF + SD = 524268 (sector) (*) SD < 524268 (sector) / = 131 067 (cluster) (vì Sc = sector) Do 216 < 131 067 (cluster) < 232 Do đó, vol định dạng theo FAT32 • Giả sử SF = (sector): (*) SD = 524268 - 2SF = 524266 (sector) = 131066.5 (cluster) Vùng liệu có 131067 cluster, nên bảng FAT phải có 131067 + = 131069 phần tử, SF = (131069 * 4) / 512 = 1023.9 (sector) SF = 1024 sector Mâu thuẫn với giả thiết SF = Vậy kích thước bảng FAT vol khơng thể sector • Giả sử SF = 1024 (sector): (*) SD = 524268 - 2SF = 522220 (sector) = 130555 (cluster) Vùng liệu có 130555 cluster, nên bảng FAT phải có 130555 + = 130557 phần tử, SF = (130557 * 4) / 512 = 1019.9 (sector) SF = 1020 sector Trái với giả thiết SF = 1024 • Giả sử SF = 1020 (sector): (*) SD = 524268 - 2SF = 522228 (sector) = 130557 (cluster) Vùng liệu có 130557 cluster, nên bảng FAT phải có 130557 + = 130559 phần tử, SF = (130559 * 4) / 512 = 1019.9 (sector) SF = 1020 sector Đúng với giả thiết SF = 1020 Vậy dung lượng bảng FAT 1020 sector .. .Bài • Đĩa mềm 1.44 MB, có head, 80 track / head, 18 sector / track • Đổi sector vật lý sang logic:... FAT có thứ tự là: Entry Giá trị 1E3 FFF 007 008 4EC 016 600 556 090 00A Data • Cho đĩa USB có thông số sau: – Sc = – SB = – NF = – SF = – NRDET = 224 • Hãy cho biết cluster sau vùng Data tương... sector Vậy kích thước bảng FAT vol 127 sector 14 FAT • Xét đĩa mềm 1.44MB (có 2880 sector), để tập tin vol truy xuất nhanh & an toàn ta giả sử cho – SC = (sector) – SB = (sector) – SR = 32 (entry)