Bài giảng Hệ điều hành - Chương 5: Quản lý nhập/xuất - Trường Đại học Kinh tế quốc dân

ppt 25 trang Hùng Dũng 05/01/2024 140
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Hệ điều hành - Chương 5: Quản lý nhập/xuất - Trường Đại học Kinh tế quốc dân", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pptbai_giang_he_dieu_hanh_chuong_5_quan_ly_nhapxuat_truong_dai.ppt

Nội dung text: Bài giảng Hệ điều hành - Chương 5: Quản lý nhập/xuất - Trường Đại học Kinh tế quốc dân

  1. Hệ điều hành Chương 5: Quản lý nhập/xuất Dang Minh Quan: Institute of IT for Economics-NEU, 2011 1
  2. Tổng quan • Khái niệm cơ bản • Mô hình tổ chức phần cứng nhập/ xuất • Cài đặt hệ thống quản lý và truy xuất nhập/ xuất Dang Minh Quan: Institute of IT for Economics-NEU, 2011 2
  3. Các khái niệm cơ bản CÁC LỚP CHỨC NĂNG NHẬP/XUẤT Xử lý của Tạo lời gọi nhập/xuất, định người dùng dạng nhập/xuất Phần mềm Đặt tên, bảo vệ, tổ chức khối, độc lập thiết bộ đệm, định vị bị Điều khiển Thiết lập thanh ghi thiết bị, thiết bị kiểm tra trạng thái Kiểm soát Báo cho driver khi nhập/xuất ngắt hoàn tất Phần cứng Thực hiện thao tác nhập/xuất Dang Minh Quan: Institute of IT for Economics-NEU, 2011 3
  4. Thiết bị nhập/ xuất • Thiết bị khối là thiết bị mà thông tin được lưu trữ trong những khối có kích thước cố định và được định vị bởi địa chỉ. • Đặc điểm của thiết bị khối là chúng có thể được truy xuất (đọc hoặc ghi) từng khối riêng biệt, và chương trình có thể truy xuất một khối bất kỳ nào đó. • Đĩa là một ví dụ cho loại thiết bị khối. Dang Minh Quan: Institute of IT for Economics-NEU, 2011 4
  5. Thiết bị nhập/ xuất • Một dạng thiết bị thứ hai là thiết bị tuần tự. • Ở dạng thiết bị này, việc gửi và nhận thông tin dựa trên là chuỗi các bits, không có xác định địa chỉ và không thể thực hiện thao tác seek được. • Màn hình, bàn phím, máy in, card mạng, chuột, và các loại thiết bị khác không phải dạng đĩa là thiết bị tuần tự. Dang Minh Quan: Institute of IT for Economics-NEU, 2011 5
  6. Thiết bị nhập/ xuất • Thiết￿bị￿tương￿tác￿được￿với￿con￿người￿:￿ dùng￿để￿giao￿tiếp￿giữa￿người￿và￿máy.￿Ví￿dụ￿ :￿màn￿hình,￿bàn￿phím,￿chuột,￿máy￿in￿ • Thiết￿bị￿tương￿tác￿trong￿hệ￿thống￿máy￿tính￿ là￿các￿thiết￿bị￿giao￿tiếp￿với￿nhau.￿Ví￿dụ￿:￿ đĩa,￿băng￿từ,￿card￿giao￿tiếp • Thiết￿bị￿truyền￿thông￿:￿như￿modem Dang Minh Quan: Institute of IT for Economics-NEU, 2011 6
  7. Thiết bị nhập/ xuất • Những￿điểm￿khác￿nhau￿giữa￿các￿thiết￿bị￿ I/O￿gồm￿:￿ – ￿Tốc￿độ￿truyền￿dữ￿liệu￿,￿ví￿dụ￿bàn￿phím￿:￿0.01￿ KB/s,￿chuột￿0.02￿KB/s￿ ￿ – Công￿dụng.￿ – Đơn￿vị￿truyền￿dữ￿liệu￿(khối￿hoặc￿ký￿tự).￿ – Biểu￿diễn￿dữ￿liệu,￿điều￿này￿tùy￿thuộc￿vào￿từng￿ thiết￿bị￿cụ￿thể.￿ – Tình￿trạng￿lỗi￿:￿nguyên￿nhân￿gây￿ra￿lỗi,￿cách￿mà￿ chúng￿báo￿về Dang Minh Quan: Institute of IT for Economics-NEU, 2011 7
  8. Tổ chức của chức năng nhập/ xuất • Có￿ba￿cách￿để￿thực￿hiện￿I/O￿: – Một￿là,￿bộ￿xử￿lý￿phát￿sinh￿một￿lệnh￿I/O￿đến￿ các￿đơn￿vị￿I/O,￿sau￿đó,￿nó￿chờ￿trong￿trạng￿thái￿ "busy"￿cho￿￿￿đến￿khi￿thao￿tác￿này￿hoàn￿tất￿ trước￿khi￿tiếp￿tục￿xử￿lý. – Hai￿là,￿bộ￿xử￿lý￿phát￿sinh￿một￿lệnh￿I/O￿đến￿các￿ đơn￿vị￿I/O,￿sau￿đó,￿nó￿tiếp￿tục￿việc￿xử￿lý￿cho￿ tới￿khi￿nhận￿được￿một￿ngắt￿từ￿đơn￿vị￿I/O￿báo￿ là￿đã￿hoàn￿tất,￿nó￿tạm￿ngưng￿việc￿xử￿lý￿hiện￿ tại￿để￿chuyển￿qua￿xử￿lý￿ngắt. – Ba￿là,￿sử￿dụng￿cơ￿chế￿DMA￿(như￿được￿đề￿ cập￿ở￿sau) Dang Minh Quan: Institute of IT for Economics-NEU, 2011 8
  9. Tổ chức của chức năng nhập/ xuất • Các￿bước￿tiến￿hóa￿của￿chức￿năng￿I/O￿: – Bộ￿xử￿lý￿kiểm￿soát￿trực￿tiếp￿các￿thiết￿bị￿ngoại￿ vi. – Hệ￿thống￿có￿thêm￿bộ￿điều￿khiển￿thiết￿bị.￿Bộ￿ xử￿lý￿sử￿dụng￿cách￿thực￿hiện￿nhập￿xuất￿thứ￿ nhất.￿Theo￿cách￿này￿bộ￿xử￿lý￿được￿tách￿rời￿ khỏi￿các￿mô￿tả￿chi￿tiết￿của￿các￿thiết￿bị￿ngoại￿ vi. – Bộ￿xử￿lý￿sử￿dụng￿thêm￿cơ￿chế￿ngắt. – Sử￿dụng￿cơ￿chế￿DMA,￿bộ￿xử￿lý￿truy￿xuất￿ những￿dữ￿liệu￿I/O￿trực￿tiếp￿trong￿bộ￿nhớ￿ chính.￿ Dang Minh Quan: Institute of IT for Economics-NEU, 2011 9
  10. Bộ điều khiển thiết bị • Một đơn vị bị nhập xuất thường được chia làm hai thành phần chính là thành phần cơ và thành phần điện tử. • Thành phần điện tử được gọi là bộ phận điều khiển thiết bị hay bộ tương thích, trong các máy vi tính thường được gọi là card giao tiếp. • Thành phần cơ chính là bản thân thiết bị. • Giao tiếp giữa bộ điều khiển và thiết bị là giao tiếp ở mức thấp. Dang Minh Quan: Institute of IT for Economics-NEU, 2011 10
  11. Bộ điều khiển thiết bị • Chức năng của bộ điều khiển là giao tiếp với hệ điều hành vì hệ điều hành không thể truy xuất trực tiếp với thiết bị. Việc thông tin thông qua hệ thống đường truyền gọi là bus. Dang Minh Quan: Institute of IT for Economics-NEU, 2011 11
  12. Bộ điều khiển thiết bị • Công việc của bộ điều khiển là chuyển đổi dãy các bit tuần tự trong một khối các byte và thực hiện sửa chửa nếu cần thiết. • Thông thường khối các byte được tổ chức thành từng bit và đặt trong buffer của bộ điều khiển. • Sau khi thực hiện checksum nội dung của buffer sẽ được chuyển vào bộ nhớ chính. Dang Minh Quan: Institute of IT for Economics-NEU, 2011 12
  13. Bộ điều khiển thiết bị • Mỗi bộ điều khiển có một số thanh ghi để liên lạc với CPU. • Trên một số máy tính, các thanh ghi này là một phần của bộ nhớ chính tại một địa chỉ xác định gọi là ánh xạ bộ nhớ nhập xuất. • Hệ máy PC dành ra một vùng địa chỉ đặc biệt gọi là địa chỉ nhập xuất và trong đó được chia làm nhiều đoạn, mỗi đoạn cho một loại thiết bị như sau : Dang Minh Quan: Institute of IT for Economics-NEU, 2011 13
  14. Bộ điều khiển thiết bị Bộ￿điều khiển Địa chỉ nhập/xuất Vectơ￿ngắt nhập/xuất Đồng hồ 040￿-￿043 8 Bàn￿phím 060￿-￿063 9 RS232￿phụ 2F8￿-￿2FF 11 Đĩa cứng 320￿-￿32F 13 Máy￿in 378￿-￿37F 15 Màn￿hình￿mono 380￿-￿3BF - Màn￿hình￿màu 3D0￿-￿3DF - Đĩa mềm 3F0￿-￿3F7 14 RS232￿chính 3F8￿-￿3FF 12 Dang Minh Quan: Institute of IT for Economics-NEU, 2011 14
  15. Bộ điều khiển thiết bị • Hệ điều hành thực hiện nhập xuất bằng cách ghi lệnh lên các thanh ghi của bộ điều khiển. Ví dụ : bộ điều khiển đĩa mềm của IBMPC chấp nhận 15 lệnh khác nhau như : READ, WRITE, SEEK, FORMAT, RECALIBRATE, một số lệnh có tham số và các tham số cũng được nạp vào thanh ghi. • Khi một lệnh đã được chấp nhận, CPU sẽ rời bộ điều khiển để thực hiện công việc khác. • Sau khi thực hiện xong, bộ điều khiển phát sinh một ngắt để báo hiệu cho CPU biết và đến lấy kết quả được lưu giữ trong các thanh ghi. Dang Minh Quan: Institute of IT for Economics-NEU, 2011 15
  16. DMA (direct memory access) • Quá trình đọc đĩa mà không có DMA – Trước tiên, bộ điều khiển đọc tuần tự các khối trên đĩa, từng bit từng bit cho tới khi toàn bộ khối được đưa vào buffer của bộ điều khiển. – Sau đó máy tính thực hiện checksum để đảm bảo không có lỗi xảy ra. – Tiếp theo bộ điều khiển tạo ra một ngắt để báo cho CPU biết. – CPU đến lấy dữ liệu trong buffer chuyển về bộ nhớ chính bằng cách tạo một vòng lặp đọc lần lượt từng byte. – Thao tác này làm lãng phí thời gian của CPU. Dang Minh Quan: Institute of IT for Economics-NEU, 2011 16
  17. DMA (direct memory access) • Quá trình đọc đĩa có DMA – Khi sử dụng, CPU gửi cho bộ điều khiển một số các thông số như địa chỉ trên đĩa của khối, địa chỉ trong bộ nhớ nơi định vị khối, số lượng byte dữ liệu để chuyển. – Sau khi bộ điều khiển đã đọc toàn bộ dữ liệu từ thiết bị vào buffer của nó và kiểm tra checksum, bộ điều khiển chuyển byte đầu tiên vào bộ nhớ chính tại địa chỉ được mô tả bởi địa chỉ bộ nhớ DMA. – Sau đó nó tăng địa chỉ DMA và giảm số bytes phải chuyển. Quá trình này lập cho tới khi số bytes phải chuyển bằng 0, và bộ điều khiển tạo một ngắt. Như vậy không cần phải copy khối vào trong bộ nhớ, nó đã hiện hữu trong bộ nhớ. Dang Minh Quan: Institute of IT for Economics-NEU, 2011 17
  18. DMA (direct memory access) • Vận chuyển DMA được thực hiện bởi bộ điều khiển Dang Minh Quan: Institute of IT for Economics-NEU, 2011 18
  19. Cài đặt hệ thống quản lý và truy xuất nhập/ xuất • Kiểm soát ngắt • Điều khiển thiết bị • Phần mềm hệ điều hành độc lập thiết bị • Phần mềm mức người sử dụng. Dang Minh Quan: Institute of IT for Economics-NEU, 2011 19
  20. Kiểm soát ngắt • HĐH thực hiện thao tác nhập xuất cho tới khi hoàn tất mới tạo ra một ngắt. Tiến trình có thể tự khóa lại bằng cách thực hiện lệnh WAIT theo một biến điều kiện hoặc RECEIVE theo một thông điệp. • Khi một ngắt xảy ra, hàm xử lý ngắt khởi tạo một tiến trình mới để xử lý ngắt. • Nó sẽ thực hiện một tín hiệu trên biến điều kiện và gửi những thông điệp đến cho các tiến trình bị khóa. • Tổng quát, chức năng của ngắt là làm cho một tiến trình đang bị khóa được thi hành trở lại. Dang Minh Quan: Institute of IT for Economics-NEU, 2011 20
  21. Điều khiển thiết bị • Device drivers phát ra các chỉ thị và kiểm tra xem chỉ thị đó có được thực hiện chính xác không. • Chức năng của device drivers là nhận những yêu cầu trừu tượng từ phần mềm nhập/xuất độc lập thiết bị ở lớp trên, và giám sát yêu cầu này thực hiện. Nếu driver đang rảnh, nó sẽ thực hiện ngay yêu cầu, ngược lại, yêu cầu đó sẽ được đưa vào hàng đợi. Dang Minh Quan: Institute of IT for Economics-NEU, 2011 21
  22. Điều khiển thiết bị • Một khi đã xác định được chỉ thị cho bộ điều khiển, nó bắt đầu thực hiện bằng cách chuyển lệnh vào thanh ghi của bộ điều khiển thiết bị. • Trong khi lệnh thực hiện. Có hai trường hợp xảy ra : – Một là device drivers phải chờ cho tới khi bộ điều khiển thực hiện xong bằng cách tự khóa lại cho tới khi một ngắt phát sinh mở khóa cho nó. – Hai là, hệ điều hành chấm dứt mà không chờ, vì vậy driver không cần thiết phải khóa. Dang Minh Quan: Institute of IT for Economics-NEU, 2011 22
  23. Điều khiển thiết bị • Sau khi hệ điều hành hoàn tất việc kiểm tra lỗi và nếu mọi thứ đều ổn driver sẽ chuyển dữ liệu cho phần mềm độc lập thiết bị. • Cuối cùng nó sẽ trả về thông tin về trạng thái hay lỗi cho nơi gọi và nếu có một yêu cầu khác ở hàng đợi, nó sẽ thực hiện tiếp, nếu không nó sẽ khóa lại chờ đến yêu cầu tiếp theo. Dang Minh Quan: Institute of IT for Economics-NEU, 2011 23
  24. Phần mềm nhập/xuất độc lập thiết bị • Trước tiên nó phải có chức năng tạo một ánh xạ giữa thiết bị và một tên hình thức. • Thứ hai là bảo vệ thiết bị, là cho phép hay không cho phép người sử dụng truy xuất thiết bị. • Thứ ba là cung cấp khối dữ liệu độc lập thiết bị • Thứ tư là cung cấp buffer để hỗ trợ cho đồng bộ hóa quá trình hoạt động của hệ thống. • Thứ năm là định vị lưu trữ trên các thiết bị khối. • Thứ sáu là cấp phát và giải phóng các thiết bị tận hiến. • Cuối cùng là thông báo lỗi cho lớp bên trên từ các lỗi do device driver báo về. Dang Minh Quan: Institute of IT for Economics-NEU, 2011 24
  25. Phần mềm nhập/xuất phạm vi người sử dụng • Hầu hết các phần mềm nhập/xuất đều ở bên trong của hệ điều hành và một phần nhỏ của chúng chứa các thư viện liên kết với chương trình của người sử dụng ngay cả những chương trình thi hành bên ngoài hạt nhân. • Tập hợp tất cả những hàm thư viện này rõ ràng là một phần của hệ thống nhập/xuất. • Các hàm thư viện chuyển các tham số thích hợp cho lời gọi hệ thống và hàm thư viện thực hiện việc định dạng cho nhập và xuất Dang Minh Quan: Institute of IT for Economics-NEU, 2011 25