Xem mẫu

  1. Chap8: QL NHẬP XUẤT & QL HỆ THỐNG FILES (I/O management & File System management) GV: TS. Trần Thị Minh Khoa
  2. ()(6t)  I/O management (Stalling Chap11 + Siberchattz Chap 13)  I/O request packets (IRPs).  I/O hardware  I/O management  Plug and Play (PnP)  File System management (Stalling Chap12 + Siberchattz Chap 11&12) 2
  3. OS Architecture 3
  4. I/O Goals  Cung cấp I/O thích hợp cho các ứng dụng  Cung cấp 1 framework (khuôn khổ) làm việc như sau:  Linh động load/unload drivers  Hỗ trợ quản lý năng lượng để hệ thống hoặc thiết bị có thể tự bật chế độ tiết kiệm năng lượng  Phân lớp driver  I/O không đồng bộ  Bảo vệ an toàn 4
  5. Overview of the Windows I/O Model  Tất cả các yêu cầu I/O đến driver đều được gởi dưới dạng I/O request packets (IRPs)  Hoạt động I/O được phân lớp  Trình quản lý I/O xác định một tập các công việc chuẩn (standard routines) mà drivers có thể hỗ trợ  Yêu cầu  Tuỳ chọn 5
  6. I/O Request Packets (IRPs)  Với mỗi yêu cầu I/O từ user-mode, trình quản lý I/O cấp một IRP từ hệ thống bộ nhớ không phân trang  Dựa vào việc xử lý tập tin và chức năng I/O được y/c từ user, trình ql I/O chuyển IRP tới việc phân phối driver thích hợp 6
  7. Structure of an IRP. 7
  8. Major and Minor IRP  Major function IRP_MJ_CLOSE,IRP_MJ_CREATE,IRP_MJ_DEVICE_CONTROL ,IRP_MJ_INTERNAL_DEVICE_CONTROL,IRP_MJ_PNP,IRP_M J_POWER,IRP_MJ_READ..  Minor Function IRP_MN_START_DEVICE,IRP_MN_QUERY_ID,IRP_MN_EJEC T.... 8
  9. I/O hardware 9
  10. I/O hardware  Controller có một hay nhiều registers chứa data và các control signal  CPU giao tiếp với controller bằng cách đọc và ghi từng bit trong các register  The I/O instruction  memory-mapped I/O (the device-control registers are mapped into the address space of the processor) 10
  11. I/O hardware  Các thiết bị thông dụng: keyboards, displays, disks, mice, printers, scanners,  Các thiết bị trên system board: timers, graphics chips, audio chips. 11
  12. I/O hardware  Có 2 dạng thiết bị I/O  character devices– thiết bị dòng ký tự, chuyển từng byte một  Cung cấp truy suất unstructured, không địa chỉ  Modem, printer, scanner, mouse  block devices – thiết bị khối, chuyển từng khối các bytes (block)  Block có kích thước cố định (51232768 bytes). Các block được đánh số  có thể truy suất lặp lại một khối dữ liệu bằng việc chỉ định truy suất block thứ n  Đĩa từ, tape 12
  13. I/O hardware 13
  14. I/O hardware  Blocking IO: nghĩa là tiến trình người dùng sẽ bị block ( wait ) cho đến khi thao tác IO hoàn tất. Nếu bạn đang đọc 1500 byte từ một thiết bị, thao tác đọc sẽ bị khóa cho đến khi data đã sẳn sàng.  Non-blocking I : nghĩa là một lời gọi hệ thống IO sẽ ko đặt tiến trình vào trạng thái sleep khi chờ IO. Tiến trình sẽ nhận được thông báo rằng IO chưa sẵn sàng. Nếu bạn đang đọc 1500 byte từ một thiết bị, và khi chỉ 12 byte đã đọc xong, thao tác đọc của tt sẽ đọc được 12 byte. Hệ thống sẽ trả về data khi nó đã sẵn sàng , nhưng sẽ ko chờ cho new data. OS có thể trả về lỗi “no data”.  Ví dụ, các hệ thống POSIX ( Linux , OS X, … ) trả về lỗi EAGAIN khi đọc file đã mở để đọc non-blocking IO và ko có data sẳn có để đọc. …. 14
  15. Device management  Các thiết bị - device  Bộ điều khiển thiết bị - device controller  Trình điều khiển thiết bị - device driver 15
  16. Device management  Các thiết bị cần có phần mềm điều khiển - gọi là device driver  Trình đk thiết bị cho phép chúng ta có một interface đồng nhất với kernel , che dấu đi những chi tiết riêng biệt của thiết bị  Vd : kernel thực hiện ghi data vào đĩa => ko quan tâm đến chi tiết của loại đĩa ( đĩa từ hay flash memory )  Device drivers implement mechanism (cách để tương tác với thiết bị), not policy (ksoat ai truy suất thiết bị ) . Note: Trong nhiều OS, như Linux , Unix, BSD, OS X , Windows NT , các thiết bị được giao tiếp qua interface dạng file. 16
  17. Device management  Trình điều khiển thiết bị (device driver) giao tiếp với device controller để điều khiển thiết bị  Một device controler là hardware ( và/hoặc là firmware ) điều khiển hoạt động của thiết bị .  device controler - Nó kiểm soát việc ánh xạ vào vị trí vật lý và sinh ra ngắt để thông báo cho cpu về các sự kiện, sử dụng DMA để chuyển các block data giữa device và system memory. 17
  18. 18
  19. Plug and Play 19
  20. Driver Support for Plug and Play 20
nguon tai.lieu . vn