Tải bản đầy đủ (.pptx) (21 trang)

bài tập ôn tập hệ điều hành

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (151.54 KB, 21 trang )

Bài tập ôn tập HĐH
HỆ THỐNG TẬP TIN


Bài 1
• Đĩa mềm 1.44 MB, có 2 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, 1

• Cho biết dãy cyclinder cần truy xuất lần lượt là: 9, 15, 21, 2,
25, 6, 12. Với vị trí hiện hành của đầu đọc đang đứng tại
cyclinder 10, Hãy cho biết thứ tự truy xuất các cyclinder trên
nếu dùng các thuật toán lần lượt là: FCFS – SSTF – SCAN – CSCAN – LOOK – C-LOOK


l = t*side*st + h*st + s - 1
Vật lý  Logic
• (10, 2, 1): s=10, t=2, h=1
l = 2*2*18 + 1*18 + 10 – 1 = 99

st= số sectors / track = 18
th= số tracks / head = 80
side= số lượng head = 2

• (18, 70, 0): s=18, t=70, h=0
l = 70*2*18 + 0*18 + 18 – 1 = 2537


l= sector logic

• (18, 79, 1): s=18, t=79, h=1
l = 79*2*18 + 1*18 + 18 – 1 = 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 + 5 – 1 = 202
• (2, 0, 0): s=2, t=0, h=0
l = 0*2*18 + 0*18 + 2 – 1 = 1


s = (l mod st) + 1
t = l div (st * side)
h = (l div st) mod side







l = 90  (1, 2, 1)
l = 8  (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 = 2
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, 2
C-SCAN: 10, 12, 15, 21, 25, [P], [T], 2, 6, 9
LOOK: 10, 12, 15, 21, 25, 9, 6, 2
C-LOOK: 10, 12, 15, 21, 25, 2, 6, 9


BOOT SECTOR

STT
1
2

3
4
5
6
7
8
9
10
11

Nội dung

Loại FAT
Số byte cho 1 sector
Số sector cho 1 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 trên đĩa
Số sector cho 1 bảng FAT
Sector đầu tiên của bảng FAT1
Sector đầu tiên của bảng RDET
Sector đầu tiên của vùng Data

Giá trị

6



BOOT SECTOR

STT
1

Nội dung

Giá trị

2

Loại FAT
Số byte cho 1 sector

FAT 32

3

Số sector cho 1 cluster

4

Số sector dành riêng (số sector vùng Bootsector)

5

Số bảng FAT

6


Tổng số sector trên đĩa

7

Số sector cho 1 bảng FAT

8

Sector đầu tiên của bảng FAT1

32

9

Sector đầu tiên của bảng RDET

1302

10

Sector đầu tiên của vùng Data

1302

512
1
32
2
81888
635


7


FAT
• Cho dãy byte trên đĩa như sau:
Byte
Giá trị
Byte
Giá trị

0

1

2

3

4

5

6

7

8

9


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 trong FAT12, hãy xác định giá trị tại
các ô trong bảng FAT có thứ tự lần lượt là:
Entry
Giá trị

0

1

2

3


4

5

6

7

8

9


FAT
• Cho dạy byte trên đĩa như sau:
Byte
Giá trị
Byte
Giá trị

0

1

2

3

4


5

6

7

8

9

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 trong FAT12, hãy xác định giá trị tại
các ô trong bảng FAT có thứ tự lần lượt là:

Entry
Giá trị

0

1

2

3

4

5

6

7

8

9

1E3

FFF

007

008


4EC

016

600

556

090

00A


Data
• Cho đĩa USB có các thông số sau:
– Sc = 4
– SB = 1
– NF = 2
– SF = 9
– NRDET = 224

• Hãy cho biết các cluster sau trong vùng Data
tương ứng chiếm những sector logic nào trên
đĩa: 5, 2, 10, 20


i = SB + NF*SF + SRDET + (k- 2)*SC
SRDET = NRDET*32/512
• Từ giả thuyết ta suy ra

SRDET = NRDET*32/512 = 224*32/512 = 14 (sector)

• K = 5  i = 1 + 2*9 + 14 + (5-2)*4 = 45
 Cluster 5 trong Data chiếm 4 sector logic là 45, 46, 47, 48
• K = 2  i = 1 + 2*9 + 14 + (2-2)*4 = 33
 Cluster 2 trong Data chiếm 4 sector logic là 33, 34, 35, 36
• K = 10  i = 1 + 2*9 + 14 + (10-2)*4 = 65
 Cluster 10 trong Data chiếm 4 sector logic là 65, 66, 67, 68
• K = 20  i = 1 + 2*9 + 14 + (20-2)*4 = 105
 Cluster 20 trong Data chiếm 4 sector logic là 105, 106, 107, 108

Sc = 4
SB = 1
NF = 2
SF = 9
NRDET = 224


FAT
• USB 127MB có 112 entry trên bảng thư mục
gốc, cluster chiếm 8 sector, boot sector chiếm 8
sector và 2 bảng FAT.
Cần sử dụng hệ thống FAT nào (FAT12/16/32)
cho đĩa mềm này ?
Kích thước bảng FAT ? (Cần dùng bao nhiêu
sector để lưu bảng FAT)
12





Ta có:
– SB = 8 (theo giả thiết).
– NF = 2 (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 = 7 (sector)



Thay các giá trị đã có vào đẳng thức: SB + NF*SF +SR + SD = SV

 8 + 2SF + 7 + SD = 260096, hay 2SF + SD = 260081 (sector) (*)
 SD ~ 260081/8 = 32510.125 (vì Sc = 8 sector)
 Do FAT12 chỉ có thể quản lý tối đa 4096 cluster ~ 4096*4 = 16384 sector nên vol này không thể định dạng theo
FAT12 được. Do đó, vol sẽ được định dạng theo FAT16

Giả sử SF = 1 (sector): (*)  SD = 260081 - 2SF = 260079 (sector) = 32509.875 (cluster)
 Vùng dữ liệu có 32510 cluster, nên bảng FAT phải có 32510 + 2 = 32512 phần tử, do đó S F = (32512 * 2) / 512 =
127 (sector)
 SF = 127 sector. Mâu thuẫn với giả thiết SF = 1. Vậy kích thước bảng FAT của vol này không thể là 1 sector

Giả sử SF = 127 (sector): (*)  SD = 260081 - 2SF = 259827 (sector) = 32478.375 (cluster)
 Vùng dữ liệu có 32479 cluster, nên bảng FAT phải có 32479 + 2 = 32481 phần tử, do đó S F = (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 của vol này là 127 sector

13


Cách 2


Gọi: x là số phần tử FAT - y là số cluster vùng Data.

(*) 2SF + SD = 260081 (sector)  2*(x*2) / 512 + y*8 = 260081 (**)


Do số phần tử FAT và số cluster cùng Data xấp xỉ nhau nên ta có thể 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ự trên 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 của vol này là 127 sector

14


FAT 2


Xét đĩa mềm 1.44MB (có 2880 sector), để các tập tin trên vol có thể truy
xuất nhanh & an toàn hơn ta giả sử cho
– SC = 4 (sector)
– SB = 1 (sector)
– SR = 32 (entry) = 32 * 32 (byte) = 1024 (byte) = 2 (sector)
– NF = 2

 Cần sử dụng hệ thống FAT nào (FAT12/16/32) cho đĩa mềm này
 Kích thước bảng FAT ? (Cần dùng bao nhiêu sector để lưu bảng FAT)

15




Thay các giá trị trên vào đẳng thức SB + NF*SF + SR + SD = SV ta được
1 + 2SF +2 + SD = 2880 (sector), hay 2SF + SD = 2877 (sector) (*)
03/2009

 SD < 2877 (sector) = 719.25 (cluster) (vì SC = 4 sector).
 Loại FAT tối ưu nhất (về kích thước) là FAT12, vì SD < 4079 (cluster)




Giả sử SF = 1 (sector): (*)  SD = 2875 (sector) = 718.75 (cluster)
BM MMT&VT - KHOA CNTT - ĐH KHTN TP.HCM

 Vùng dữ liệu có 719 cluster, nên bảng FAT phải có 719 + 2 = 721 phần tử, do đó SF = (721*1.5)/512 =
2.1x (sector)
 Bảng FAT phải chiếm 3 sector – mâu thuẫn với giả thiết SF = 1. Vậy kích thước bảng FAT của vol này
không thể là 1 sector


Giả sử SF = 2 (sector): tương tự, ta vẫn thấy mâu thuẫn, tức kích thước bảng FAT phải lớn hơn 2
sector.



Giả sử SF = 3 (sector): (*)  SD = 2871 (sector) = 717.75 (cluster).

 Vùng dữ liệu có 718 cluster, nên bảng FAT phải có 718 + 2 = 720 phần tử, do đó SF = (720*1.5)/512 =
2.1x (sector)
 Bảng FAT phải chiếm 3 sector – phù hợp với giả thiết SF = 3.
 Vậy kích thước bảng FAT của vol này là 3 sector.

16


03/2009

FAT 2

BM MMT&VT - KHOA CNTT - ĐH KHTN TP.HCM


• USB 127MB có 112 entry trên bảng thư mục
gốc, cluster chiếm 8 sector, boot sector chiếm 8
sector và 2 bảng FAT.
Cần sử dụng hệ thống FAT nào (FAT12/16/32)
cho đĩa mềm này ?
Kích thước bảng FAT ? (Cần dùng bao nhiêu
sector để lưu bảng FAT)
17




Ta có:
– SB = 8 (theo giả thiết).
– NF = 2 (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 = 7 (sector)



Thay các giá trị đã có vào đẳng thức: SB + NF*SF +SR + SD = SV

 8 + 2SF + 7 + SD = 260096, hay 2SF + SD = 260081 (sector) (*)
 SD ~ 260081/8 = 32510.125 (vì Sc = 8 sector)
 Do FAT12 chỉ có thể quản lý tối đa 4096 cluster ~ 4096*4 = 16384 sector nên vol này không thể định dạng theo
FAT12 được. Do đó, vol sẽ được định dạng theo FAT16


Giả sử SF = 1 (sector): (*)  SD = 260081 - 2SF = 260079 (sector) = 32509.875 (cluster)
 Vùng dữ liệu có 32510 cluster, nên bảng FAT phải có 32510 + 2 = 32512 phần tử, do đó S F = (32512 * 2) / 512 =
127 (sector)
 SF = 127 sector. Mâu thuẫn với giả thiết SF = 1. Vậy kích thước bảng FAT của vol này không thể là 1 sector

Giả sử SF = 127 (sector): (*)  SD = 260081 - 2SF = 259827 (sector) = 32478.375 (cluster)
 Vùng dữ liệu có 32479 cluster, nên bảng FAT phải có 32479 + 2 = 32481 phần tử, do đó S F = (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 của vol này là 127 sector
18


FAT 3
• Xét đĩa USB có dung lượng 256 MB, kèm các thông số trên đĩa:
– SC = 4 (sector)
– SB = 4 (sector)
– NRDET = 256 (entry)
– NF = 2

 Cần sử dụng hệ thống FAT nào (FAT12/16/32) cho USB này
 Kích thước bảng FAT ? (Cần dùng bao nhiêu sector để lưu
bảng FAT)




Ta có:
– SB = 4 (theo giả thiết).

– NF = 2 (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 các giá trị đã có vào đẳng thức: SB + NF*SF +SR + SD = SV
 4 + 2SF + 16 + SD = 524288, hay 2SF + SD = 524268 (sector) (*)
 SD < 524268 (sector) / 4 = 131 067 (cluster) (vì Sc = 4 sector)
 Do 216 < 131 067 (cluster) < 232
 Do đó, vol sẽ được định dạng theo FAT32


• Giả sử SF = 1 (sector): (*)  SD = 524268 - 2SF = 524266 (sector) = 131066.5 (cluster)
 Vùng dữ liệu có 131067 cluster, nên bảng FAT phải có 131067 + 2 = 131069 phần tử, do đó SF =
(131069 * 4) / 512 = 1023.9 (sector)
 SF = 1024 sector. Mâu thuẫn với giả thiết SF = 1. Vậy kích thước bảng FAT của vol này không thể là 1
sector
Giả sử SF = 1024 (sector): (*)  SD = 524268 - 2SF = 522220 (sector) = 130555 (cluster)
 Vùng dữ liệu có 130555 cluster, nên bảng FAT phải có 130555 + 2 = 130557 phần tử, do đó 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 dữ liệu có 130557 cluster, nên bảng FAT phải có
130557 + 2 = 130559 phần tử, do đó 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 là 1020 sector



×