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.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)

 

ppt 60 trang yennguyen 4020
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

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:

  • pptbai_giang_nguyen_ly_he_dieu_hanh_chuong_4_quan_ly_files_va_t.ppt