Danh mục

Chương 2: Quản lý xuất nhập

Số trang: 36      Loại file: pdf      Dung lượng: 454.08 KB      Lượt xem: 12      Lượt tải: 0    
Jamona

Hỗ trợ phí lưu trữ khi tải xuống: 9,000 VND Tải xuống file đầy đủ (36 trang) 0

Báo xấu

Xem trước 4 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Nhiệm vụ của bộ phận quản lý xuất nhập Các thiết bị xuất nhập Mô hình phân lớp trong quản lý xuất nhập...
Nội dung trích xuất từ tài liệu:
Chương 2: Quản lý xuất nhập Chương 2: Quản lý xuất nhậpNhiệm vụ của bộ phận quản lý xuất nhậpCác thiết bị xuất nhậpMô hình phân lớp trong quản lý xuất nhậpBộ điều khiển thiết bị (device controller)Trình điều khiển thiết bị (device driver)Cơ chế DMAQuản lý lỗi và bảo vệ quá trình xuất nhập 1 Nhiệm vụMục tiêu của bộ phận quản lý xuất nhập Giới thiệu lớp trừu tượng và độc lập thiết bị Che giấu các chi tiết kỹ thuật của các thiết bị phần cứng. Quản lý và sửa lỗi. Làm cho các thiết bị phần cứng đơn giản và dễ dùng. Cho phép chia sẻ các thiết bị phần cứng Xây dựng các cơ chế bảo vệ các thiết bị được chia sẻ. Điều phối thiết bị để phục vụ cho cùng lúc nhiều nhu cầu sử dụng. 2 Ví dụ về các thiết bị xuất nhậpCác thiết bị giao tiếp: Các thiết bị chỉ nhập : bàn phím, chuột, joystick… Các thiết bị chỉ xuất : màn hình, máy in Các thiết bị vừa nhập vừa xuất: card mạng.Các thiết bị lưu trữ Thiết bị vừa xuất, vừa nhập: đĩa (cứng/mềm), băng từ Thiết bị chỉ xuất: CD-ROM. 3 Phân loại các thiết bị nhập xuấtPhân loại theo mục đích sử dụng: Các thiết bị giao tiếp: Các thiết bị chỉ nhập : bàn phím, chuột, joystick… Các thiết bị chỉ xuất : màn hình, máy in Các thiết bị vừa nhập vừa xuất: card mạng. Các thiết bị lưu trữ Thiết bị vừa xuất, vừa nhập: đĩa (cứng/mềm), băng từ Thiết bị chỉ xuất: CD-ROMPhân loại theo phương pháp truy xuất: Thiết bị khối: Tổ chức theo từng khối riêng biệt và truy xuất ngẫu nhiên. Thiết bị tuần tự Gởi nhận theo chuỗi bít và phải truy xuất tuần tự. 4 Phân loại các thiết bị nhập xuất (tt)HĐH phải gom nhóm các thiết bị khác nhau thành nhữngnhóm cơ bản để dễ dàng quản lý: Storage Hard drives, Tapes, CDROM Networking Ethernet, radio, serial line Multimedia DVD, Camera, microphonesHĐH phải cung cấp các phương thức nhất quán để truycập các nhóm đối tượng trên. Nếu không, lập trình sẽ rấtkhó khăn 5 Các phương thức truy cập IOSử dụng chung thư viện giao tiếp cho nhiều thiết bị khácnhauVí dụ , với HĐH Unix, sử dụng 4 phương thức chính: open() close() read() write()Các phương thức này là các system calls được cung cấpbởi HĐH để cho phép các ứng dụng chúng tương tác vớicác thiết bị xuất nhập. 6 Các phương thức IO của UnixfileHandle = open(pathName, flags, mode) filehandle: là một số nguyên, dùng để thao tác với tập tin hay thiết bị pathname: tên trong hệ thống file. Trong Unix, các thiết bị đặt dưới thư mục /dev. E.g. /dev/ttya là serial port đầu tiên, /dev/sda: là SCSI drive đầu tiên flags: blocking hoặc là non-blocking … mode: read only, read/write, append …errorCode = close(fileHandle) Kernel sẽ giải phóng các biến lưu trữ cho thiết bị 7 Các phương thức IO của Unix (tt)byteCount = read(fileHandle, byte [] buf, count) Đọc count bytes từ thiết bị và lưu trong buffer buf. Chương trình người dùng phải kiểm tra byteCount để biết số byte thật sự đọc được. byteCount < 0 thì là báo lỗi (xem mã lỗi)byteCount = write(fileHandle, byte [] buf, count) Ghi count byte từ buf vào thiết bị Số byte thật sự ghi được lưu trong byteCount byteCount âm là bị lỗi 8 Các đặc tính xuất nhậpBa đặc tính khác nhau cần xem xét khi xử lý 1 thao tácnhập xuất: blocking vs. non-blocking buffered vs. unbuffered synchronous vs. asynchronous 9 Blocking vs. Non-Blocking I/OBlocking – ứng dụng dừng lại cho đến khi số count bytesđược đọc hoặc ghi Ví dụ: Trong thiết bị mạng, nếu muốn ghi 1000 bytes, thì HĐH ghi tất cả các byte cho đến khi ghi hoàn tất. Nếu thiết bị không thể thực hiện lệnh ghi được (ví dụ hỏng dây nối), làm sao? Thì sẽ kết thúc và trả về số bytes đã ghi được.Nonblocking – HĐH đọc và ghi các bytes khi có thể,không cần ứng dụng phải dừng lại. 10 Buffered vs. Unbuffered I/OTrong trường hợp buffer dữ liệu của thiết bị quá nhỏ, đểkhông phải chờ quá lâu khi thực hiện IO buffered I/O cho phép kernel copy lại dữ liệu Bên write(): cho phép ứng dụng tiếp tục ghi dữ liệu Bên read(): khi thiết bị báo có dự liệu đến, kernel chép dữ liệu vào buffer. Khi tiến trình gọi read(), kernel chỉ việc copy từ buffer.Khuyết điểm buffered I/O? Thêm chi phí để thực hiện copy Chậm trễ việc gửi dữ liệu ...

Tài liệu được xem nhiều: