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ị
* 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ị * $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) * * * 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. * Kênh Multiplex 1.3 Phân cấp quản lý Processor TB điều khiển TB ngoại vi * $2 - KỸ THUẬT PHÒNG ĐỆM 2.1 Khái niệm phòng đệm (Buffer) của OS. * 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. * KỸ THUẬT PHÒNG ĐỆM * 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. * A) Phòng đệm truy nhập theo giá trị: * Các loại phòng đệm B) Phòng đệm truy nhập theo địa chỉ: * C) Phòng đệm vòng tròn: thường áp dụng cho các hệ QT CSDL. * 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. * 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. * 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. * 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. * $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 * Hệ thống quản lý files - Hệ QT CSDL. * * 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 ---) * 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 ---) * TỔ CHỨC THÔNG TIN TRÊN ĐĨA TỪ * 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 * 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 * CẤU TRÚC THÔNG TIN TRÊN ĐĨA TỪ * BOOT SECTOR * BOOT SECTOR * BOOT SECTOR * * Boot Sector FAT 16 * 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 * 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ử: 3210 B Phần tử file, Thư mục con và ROOT: File có cấu trúc. * Cấu trúc phần tử thư mục tên ngắn(Phần tử 8.3) * Phần tử 8.3 * 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 * * * 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. * Cấu trúc phần tử tên dài * 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 * * 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). * * MASTER BOOT * 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 * Cấu trúc bảng phân vùng Bảng phân vùng bắt đầu từ địa chỉ 1BEH, 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ý. * Cấu trúc phần tử bảng phân vùng * 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 * 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; * 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; * 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])); * writeln; if i = 255 then c:= readkey end end; Repeat Until keypressed END.
File đính kèm:
- 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.ppt