Chương 2: Quản lý xuất nhập
lượt xem 16
download
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...
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Chương 2: Quản lý xuất nhập
- Chương 2: Quản lý xuất nhập 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 Bộ điều khiển thiết bị (device controller) Trình điều khiển thiết bị (device driver) Cơ chế DMA Quả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ập 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-ROM. 3
- Phân loại các thiết bị nhập xuất Phâ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-ROM Phâ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ững nhóm cơ bản để dễ dàng quản lý: Storage Hard drives, Tapes, CDROM Networking Ethernet, radio, serial line Multimedia DVD, Camera, microphones HĐH phải cung cấp các phương thức nhất quán để truy cập các nhóm đối tượng trên. Nếu không, lập trình sẽ rất khó khăn 5
- Các phương thức truy cập IO Sử dụng chung thư viện giao tiếp cho nhiều thiết bị khác nhau Ví 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ấp bởi HĐH để cho phép các ứng dụng chúng tương tác với các thiết bị xuất nhập. 6
- Các phương thức IO của Unix fileHandle = 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ập Ba đặc tính khác nhau cần xem xét khi xử lý 1 thao tác nhập xuất: blocking vs. non-blocking buffered vs. unbuffered synchronous vs. asynchronous 9
- Blocking vs. Non-Blocking I/O Blocking – ứ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/O Trong 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 11
- Synchronous vs. Asynchronous I/O Synchronous I/O: các xử lý khác của ứng dụng của người dùng cuối sẽ dừng lại để chờ các thao tác xuất nhập của nó hoàn tất. Asynchronous I/O: các xử lý khác của ứng dụng có thể thực thi song song với các thao tác xuất nhập 12
- Các loại thiết bị xuất nhập Hầu hết HĐH chia thành 3 nhóm thiết bị: Thiết bị đọc theo kí tự (character device) Dùng cho các thiết bị tuần tự (v.d. USB port, bàn phím, modem) Thiết bị mạng Dùng cho các card mạng (v.d. Ethernet card) Thiết bị theo block: Dùng cho các bộ lưu trữ lớn (v.d.ổ đĩa và CDROM) Phương thức read/write sẽ khác nhau với từng loại 13
- Thiết bị xuất nhập theo kí tự HĐH đọc và ghi theo chuỗi các byte System call write() sẽ ghi từng byte ra thiết bị System call read() sẽ đọc từng byte ra thiết bị Không có điều khiển tỉ lệ read/write, bên gửi có thể gọi system call write() 1 lần 1000 bytes, bên nhận có thể gọi read 1000 lần, mỗi lần đọc 1 byte. 14
- Thiết bị mạng Unix và Windows đều dùng khái niệm socket để cho việc truyền, nhận dữ liệu trên mạng Mỗi write() hoặc là gửi cả block, kích thước của block có giới hạn tùy hệ thống. Bên nhận, read() trả về tất cả các byte trong block. 15
- Thiết bị đọc theo block HĐH đọc và ghi thiết bị theo các block Mỗi block kích thước xác định (thông thường 1KB - 8KB) Người dùng chỉ có thể read/write các block cùng kích thước Không giống thiết bị khác, thiết bị đọc ghi theo block hỗ trợ random access Chúng ta có thể đọc/ghi bất cứ block nào trên thiết bị, không cần phải ‘đọc tất cả các bytes’ trước Làm sao xác định vị trí của block thứ n? 16
- Con trỏ file Một con trỏ file được gán vào một file đang mở, nếu như thiết bị đang mở thuộc loại đọc theo block Con trỏ file sẽ trỏ tới vị trí hiện hành trên file cho lệnh đọc/ghi kế tiếp Đơn vị của con trỏ file là byte, chứ không phải block Di chuyển con trỏ file: absoluteOffset = lseek(fileHandle, offset, whence); whence xác định vị trí cột mốc, đầu file, cuối file… Vị trí hiện hành được trả về,
- Thiết bị xuất nhập Màn hình: Thiết bị xuất chuẩn: Ký tự hay đồ hoạ Khả năng hiển thị: Độ phân giải: Ví dụ : 25 x 80 ký tự hay 800 x 600 x 256 màu. Độ làm tươi: 30-60 lần/giây. 18
- Thiết bị xuất nhập Bàn phím: Thiết bị nhập chuẩn Bố trí theo cấu trúc “QWERTY” Tốc độ nhập dữ liệu chậm (
- Thiết bị xuất nhập Máy in Máy in dòng, máy in điểm, máy in phun, in laser. Tốc độ đẩy dữ liệu chậm Hướng ký tự Máy quét Số hoá các tài liệu in thành các dữ liệu số dưới dạng ảnh bitmap. Tốc độ quét chậm 20
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Autolisp và Visual Lisp - Lập trình thiết kế: Tập 2
384 p | 462 | 190
-
Trắc Nghiệm Nguyên Lí Hệ Điều Hành.
26 p | 704 | 132
-
HƯỠNG DẪN SỬ DỤNG PHÂN HỆ QUẢN LÝ THƯ VIỆN
158 p | 443 | 56
-
Viễn thám ứng dụng - Chương 2
48 p | 150 | 55
-
Hệ điều hành-Chương 2: Cấu trúc của hệ điều hànhh
0 p | 170 | 37
-
Bài giảng Nhập môn khai phá dữ liệu (PGS.TS. Hà Quang Thụy) - Chương 2. Phát hiện tri thức từ dữ liệu
44 p | 148 | 35
-
Giáo trình Kiến trúc máy tính và hệ điều hành: Phần 2
124 p | 129 | 30
-
LÝ THUYẾT NHẬP MÔN INTERNET VÀ E-LEARNING - 3
21 p | 152 | 25
-
Nguyên lý hệ điều hành - Chương 2
37 p | 132 | 18
-
Giáo trình Kiến trúc máy tính (Nghề: Quản trị mạng máy tính - Trình độ: Trung cấp) - Trường TCN Quang Trung
97 p | 50 | 14
-
Giáo trình Kiến trúc máy tính - Phạm Xuân Hiệp (Chủ biên)
67 p | 56 | 13
-
Giáo trình Kiến trúc máy tính và quản lý hệ thống máy tính: Phần 2
133 p | 70 | 11
-
Giáo trình Hệ điều hành: Phần 2 - Trường ĐH Phan Thiết
107 p | 45 | 11
-
Giáo trình Lập trình quản lý với Microsoft Office Access: Phần 2
131 p | 16 | 10
-
Chương 2: Quản lý tiến trình CPU
28 p | 117 | 8
-
Bài giảng Hệ điều hành: Chương 2 - Phan Xuân Huy
36 p | 65 | 7
-
Bài giảng Lập trình mạng Java: Chương 2 - ThS. Nguyễn Minh Thành
114 p | 56 | 5
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn