Bài giảng Nguyên lí hệ điều hành - Chương 4: Quản lý Files và thiết bị ngoại vi
Quản lý thiết bị ngoại vi: Cần đảm bảo hệ thống thích nghi với:
Số lượng nhiều,
Chất lượng đa dạng,
Thuận tiện cho người dùng.
Quản lý files: Cho phép người dùng:
Tạo files ở các loại bộ nhớ ngoài,
Tìm kiếm, truy nhập files,
Đảm bảo độc lập giữa CT và thiết bị
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Nguyên lí hệ điều hành - Chương 4: Quản lý Files và thiết bị ngoại vi", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
Tóm tắt nội dung tài liệu: Bài giảng Nguyên lí hệ điều hành - Chương 4: Quản lý Files và thiết bị ngoại vi
1
Chương 4 QUẢN LÝ FILES VÀ THIẾT BỊ NGOẠI VI
Quản lý thiết bị ngoại vi: Cần đảm bảo hệ thống thích nghi với:
Số lượng nhiều,
Chất lượng đa dạng,
Thuận tiện cho người dùng.
Quản lý files: Cho phép người dùng:
Tạo files ở các loại bộ nhớ ngoài,
Tìm kiếm, truy nhập files,
Đảm bảo độc lập giữa CT và thiết bị
2
$1 – Nguyên tắc phân cấp trong quản lý thiết bị ngoại vi
1.1 UCB và Driver
1.2 Kênh vào ra
Máy tính thế hệ I và II: Processor làm việc trực tiếp với thiết bị ngoại vi,
Hạn chế: Tốc độ - Số lượng - Chủng loại,
Từ thế hệ III trở lên:
+ Phân kênh vào ra
+ Bộ điều khiển kênh (Controllers)
3
4
5
Nguyên tắc phân cấp trong quản lý thiết bị ngoại vi
Phép trao đổi vào ra: thực hiện theo nguyên lý Macroprocessor,
Với máy vi tính: Thiết bị điều khiển vào ra I/O Card,
Máy Card on Board,
Lập trình trên Card vào/ra: Viết TOOLS khởi tạo chương trình kênh,
Khái niệm kênh bó (Multiplex), Card Multimedia.
6
Kênh Multiplex
1.3 Phân cấp quản lý
Processor TB điều khiển TB ngoại vi
8
$2 - KỸ THUẬT PHÒNG ĐỆM
2.1 Khái niệm phòng đệm (Buffer) của OS.
9
2.2 Kỹ thuật phòng đệm
Cơ chế phục vụ phòng đệm,
Vấn đề đóng file output, FLUSH(F),
Vai trò phòng đệm:
Song song giữa trao đổi vào ra và xử lý,
Đảm bảo độc lập:
Thông tin và phương tiện mang,
Bản ghi lô gíc và vật lý,
Lưu trữ và xử lý,
Giảm số lần truy nhập vật lý:Giả thiết mỗi lẩn truy nhập vật lý: 0.01”, truy nhập kiểu BYTE.
10
KỸ THUẬT PHÒNG ĐỆM
Không có Buffer
Buffer
512B
1B
0.01”
0.01”
512B
~5”
0.01”
5KB
~50”
0.1”
50KB
~8’
1”
11
2.3 Các loại phòng đệm
Phòng đệm chung hoặc gắn với file,
Các Hệ QTCSDL còn hệ thống phòng đệm riêng để nâng độ linh hoạt và tốc độ xử lý,
Các loại bộ nhớ Cache và phòng đệm.
Ba kiểu tổ chức chính:
Phòng đệm truy nhập theo giá trị ,
Phòng đệm truy nhập theo địa chỉ ,
Phòng đệm vòng tròn .
12
A) Phòng đệm truy nhập theo giá trị :
13
Các loại phòng đệm
B) Phòng đệm truy nhập theo địa chỉ :
14
C) Phòng đệm vòng tròn: thường áp dụng cho các hệ QT CSDL.
15
2.3 - SPOOL
SPOOL – Simultaneuos Peripheral Opearations On-Line,
Không can thiệp vào CT người dùng,
Hai giai đoạn:
Thực hiện : thay thế thiết vị ngoại vi bằng thiết bị trung gian (Đĩa cứng),
Xử lý kết thúc :
Sau khi kết thúc việc thực hiện CT,
Đưa thông tin ra thiết bị yêu cầu.
Chú ý : Đặc trưng của thiết bị trung gian.
16
SPOOL
Đảm bảo song song giữa xử lý một CT với trao đổi vào ra của CT khác.
17
SPOOL
Giải phóng hệ thống khỏi sự ràng buộc về số lượng thiết bị,
Khai thác thiết bị ngoại vi tối ưu,
Kỹ thuật lập trình hiệu quả.
Hệ thống cung cấp các phương tiện để người dụng tạo SPOOL,
Ai tạo SPOOL – người đó xử lý kết thúc.
18
Giai đoạn thực hiện : với mỗi phép trao đổi vào ra hệ thống tạo 2 CT kênh:
CT kênh I – theo thiết bị yêu cầu,
CT kênh II – phục vụ ghi CT kênh I ra thiết bị trung gian,
Xử lý kêt thúc : Đọc CT kênh đã lưu và chuyển giao cho kênh.
Như vậy, mỗi thiết bị sử dụng file CT kênh.
Tổ chức SPOOL
19
$3 – HỆ THỐNG QUẢN LÝ FILES
3.1 Các thành phần cơ bản:
- Thành phần giao tiếp người - máy
- Thành phần quản lí các phương pháp truy nhập
- Thành phần giao tiếp thiết bị
- Các dịch vụ quản lí File
20
Hệ thống quản lý files - Hệ QT CSDL.
21
22
3.2 Khối FCB (file control block)
3.3 Kết khối dữ liệu:
- Khái niệm kết khối
- Nguyên tắc kết khối
- Các dạng kết khối (F,FB, V, VB và U)
3.3 Các phương pháp điều khiển truy nhập
- QSAM (Queue Sequential Access Method)
- QISAM (Q-- Index S--)
- BSAM (Base --)
- BDAM (B--- Direct ---)
- BPAM (B--- Partition ---)
25
QUẢN LÝ FILE TRONG WINDOWS
Mục đích:
Minh hoạ nguyên lý bảng tham số điều khiển,
Tính kế thừa và thích nghi,
Cơ chế bảo vệ,
Cách thể hiện một số chế độ quản lý bộ nhớ (chương tiếp theo).
3.2 Khối FCB (file control block)
3.3 Kết khối dữ liệu:
- Khái niệm kết khối
- Nguyên tắc kết khối
- Các dạng kết khối (F,FB, V, VB và U)
3.3 Các phương pháp điều khiển truy nhập
- QSAM (Queue Sequential Access Method)
- QISAM (Q-- Index S--)
- BSAM (Base --)
- BDAM (B--- Direct ---)
- BPAM (B--- Partition ---)
3.2 Khối FCB (file control block)
3.3 Kết khối dữ liệu:
- Khái niệm kết khối
- Nguyên tắc kết khối
- Các dạng kết khối (F,FB, V, VB và U)
3.3 Các phương pháp điều khiển truy nhập
- QSAM (Queue Sequential Access Method)
- QISAM (Q-- Index S--)
- BSAM (Base --)
- BDAM (B--- Direct ---)
- BPAM (B--- Partition ---)
30
TỔ CHỨC THÔNG TIN TRÊN ĐĨA TỪ
31
CÁC KHÁI NIỆM CƠ BẢN
Sector:
Đánh số từ 1,
Số Sector/track – Constant,
Hệ số đan xen (Interleave) – nguyên tố cùng nhau với số sector/track,
Kích thước 1 sector:
128B
256B
512B
1KB
32
Cylinder: 0,1,2, . . .
Đầu từ (Header): 0, 1, 2, . . .
Cluster:
Nhóm sectors liên tiếp lôgic,
Đơn vị phân phối cho người dùng,
Đánh số: 2, 3, 4, . . .
Kích thước: 1, 2, 4, 8, 16, 32, 64 (S),
Địa chỉ vật lý:(H, S, Cyl),
Địa chỉ tuyệt đối: 0, 1, 2, . . .
CÁC KHÁI NIỆM CƠ BẢN
33
CẤU TRÚC THÔNG TIN TRÊN ĐĨA TỪ
34
BOOT SECTOR
35
BOOT SECTOR
Stt
Offs
L (Byte)
Ý Nghĩa
1
0
3
Lệnh JMP (EB xx 90)
2
3
8
Tên hệ thống Format đĩa
3
B
2
Kích thước Sector
4
D
1
Sec/Cluster
5
E
2
Địa chỉ tuyệt đối FAT1 trong đĩa lô gíc
6
10 H
1
Số lượng bảng FAT
7
11
2
FAT16: Số phần tử ROOT
FAT32: 00 00
8
13
2
sect/Disk (<32MB) hoặc 00 00
36
BOOT SECTOR
9
15
1
Kiểu đĩa từ (F8 – HD, F0 – 1.44MB)
10
16
2
FAT16: Sec/FAT
FAT32: 00 00
11
18
2
Sec/ Track
12
1A
2
S ố đầu từ
13
1C
4
Địa chỉ tuyệt BS trong đĩa v ật lý
14
20
4
Sec / D isk ( 32MB) hoặc 0
15
24
4
Sec / FAT
16
28
2
Fl ags
17
2A
2
V ersion
18
2C
4
Địa chỉ ROOT (Cluster)
37
19
30
2
Inf
20
32
2
Địa chỉ lưu BS
21
34
12 10
D ự trữ (00...00)
22
40
1
Địa chỉ ổ đĩa ( 80 – C :)
23
41
1
00
24
42
1
29 – BIOS m ở rộng
25
43
4
S erial Number
26
47
11 10
Volume Name
27
52
8
FAT32
38
Boot Sector FAT 16
15
24
1
Địa chỉ ổ đĩa ( 80 – C :)
16
25
1
00
17
26
1
29 – BIOS m ở rộng
18
27
4
S erial Number
19
2B
11 10
Volume Name
20
36
8
FAT16
39
Ví dụ
EB 58 90 4D 53 57 49 4E 34 2E 31 00 02 08 2D 00
02 00 00 00 00 F8 00 00 3F 00 40 00 3F 00 00 00
41 0C 34 00 03 0D 00 00 00 00 00 00 02 00 00 00
01 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00
80 00 29 D1 09 47 32 20 20 20 20 20 20 20 20 20
20 20 46 41 54 33 32 20 20 20 FA 33 C9 8E 41 BC
40
THƯ MỤC
Đóng vai trò mục lục tra cứu, tìm kiếm,
Mọi hệ thống đều phải có với những tên khác nhau (Catalog, Directory, Folder,. . .),
Bao g ồm: Thư mục gốc (ROOT) + Thư mục con,
Các hệ thống của Microsoft và OS IBM – cấu trúc cây,
UNIX - cấu trúc phân cấp,
Thư mục = {Phần tử}, mỗi phần tử: 32 10 B
Phần tử file,
Thư mục con và ROOT: File có cấu trúc.
41
Cấu trúc phần tử thư mục tên ngắn(Phần tử 8.3)
Stt
Offs
L
Ý nghĩa
1
0
8
Tên (Name)
2
8
3
Phần mở rộng (Extention)
3
B
1
Thuộc tính (Attribute)
4
C
2
Thời điểm tạo file
5
E
2
Ngày tạo file
6
10 H
2
Ngày truy nhập gần nhất
7
12
1
00 (Cho NT)
8
13
1
Số 0.1” của thời điểm tạo file
42
Phần tử 8.3
9
14
2
2 bytes cao của cluster xuất phát
10
16
2
Thời điểm cập nhật cuối cùng
11
18
2
Ngày cập nhật cuối cùng
12
1A
2
2 bytes thấp của cluster xuất phát
13
1C
4
Kích thước file (Byte)
43
Phần tử 8.3
Byte số 0: Vai trò đặc biệt.
00 – Chưa sử dụng, phần tử chưa sử dụng đầu tiên - dấu hiệu kết thúc thư mục,
E5 – ( ) Đã bị xoá,
05 – Tên bắt đầu bằng ký tự ,
2E 20 (. ) – Phần tử thứ I của thư mục con,
2E 2E (..) – Phần tử thứ II của thư mục con
44
45
46
Tên dài
Không quá 255 ký tự,
Unicode,
Hệ thống phân biệt theo 66 ký tự đầu tiên,
Lưu trữ theo cách đưa vào,
Nhận dạng: Đưa về chữ hoa.
47
Cấu trúc phần tử tên dài
Stt
Offs
L
Ý nghĩa
1
0
1
Số thứ tự i (64+i)
2
1
10 10
5 ký tự C 1 – C 5
3
B
1
Thuộc tính ( 00001111 B )
4
C
1
00 – dấu hiệu phần tử tên dài
5
D
1
K phần tử 8.3
6
E
12 10
C 6 – C 11
7
1A
2
00 00
8
1C
4
C 12 – C 13
48
File Allocation Table (FAT)
Chức năng:
Quản lý bộ nhớ phân phối cho từng file,
Quản lý bộ nhớ tự do trên đĩa,
Quản lý bộ nhớ kém chất lượng.
FAT = { phần tử }
Phần tử:
Đánh số:0, 1, 2, . . .
Từ phần tử số 2: phần tử Cluster
49
50
FAT
Bit Shutdown = 1 – Ra khỏi hệ thống đúng cách
Bit Diskerror = 1 – không có lỗi truy nhập đĩa ở lần truy nhập cuối cùng.
Từ phần tử 2 trở đi:
Giá trị 0 – Cluster tự do,
FF7 (FFF7, 0FFFFFF7) – Bad cluster,
Các giá trị khác – đã phân phối,
Các phần tử tương ứng những Clusters của một file - tạo thành một danh sách móc nối,
EOC (End of Cluster Chain) – FFF (FFFF, FFFFFFFF).
51
52
MASTER BOOT
53
Nguyên tắc khai thác HD:
Chia HD thành các phần, mỗi phần có kích thước cố định,
Mỗi phần sử dụng như một đĩa từ độc lập: Đĩa lô gic ( Logical Volume).
OS cho phép tạo các đĩa kích thước động trong mỗi đĩa lô gic.
MASTER BOOT
54
Cấu trúc bảng phân vùng
B ảng phân vùng bắt đầu từ địa chỉ 1BE H ,
Bảng phân vùng = {4 phần tử},
Mỗi phần tử sử dụng Đĩa lô gic ,
Tồn tại cơ chế cho phép tạo nhiều hơn 4 đĩa lô gíc trên một đĩa vật lý.
55
Cấu trúc phần tử bảng phân vùng
56
Bảng phân vùng
80 01 01 00 0B 3F FF 4D 3F 00 00 00 41 0C 34 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
55AA
80010100 010511BF 11000000 6F4C0000
000001C0 5105511F 804C0000 40260000
00004120 510551DF C0720000 804C0000
000041E0 5105D132 40BF0000 12870000
55AA
57
Truy nhập Boot Sector
Dùng các hàm API,
Chương trình đọc và đưa ra màn hình nội dung BS của đĩa mềm A: (Hexa và ASCII):
Program R_BS_A;
Uses Crt, Dos;
Const s16: string[16]=‘0123456789ABCDEF’;
Var B: array[0..511] of char;
reg: registers;
i,j,k: integer;
c: char;
BEGIN
clrscr;
fillchar(b,sizeof(b),0);
writeln(‘Cho dia vao o A: va bam phim bat ky.’);
c:=readkey;
58
I := 0;
Repeat
with reg do
begin
dl := 0; { 0 -> A:, 128 -> C:}
dh := 0; {Đầu từ}
cl := 1; {Sector}
ch := 0; {Cylinder}
al := 1; {So Sectors can doc}
ah := 2; {2 -> Read; 3 -> Write;. . .}
es := seg(b);
bx := ofs(b)
end;
59
intr($13,reg);
inc(i)
Until i = 2;
for i := 0 to 511 do
begin
j := b[i] shr 4 + 1;
k := b[i] and $0F + 1;
write(s16[j]:2, s16[k]);
if (i+1) mod 16 = 0 then
begin write(‘ ‘:5);
for j := i-15 to i do
if (b[j] <32) or (b[j] = 255) then
write(‘.’)
else write(chr(b[j]));
60
writeln;
if i = 255 then c:= readkey
end
end;
Repeat
Until keypressed
END.
File đính kèm:
bai_giang_nguyen_li_he_dieu_hanh_chuong_4_quan_ly_files_va_t.ppt

