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