Mục tiêu của đề tài này là giúp người đọc hiểu rõ hơn về cách hệ thống máy tính tương tác với các thiết bị I/O, cung cấp kiến thức cơ bản về các cơ chế quản lý và kiểm soát thiết bị I/O,
Trang 1TRƯỜNG ĐẠI HỌC VINH
VIỆN KỸ THUẬT VÀ CÔNG NGHỆ
ĐỀ TÀI HỌC PHẦN
HỆ ĐIỀU HÀNH
TÌM HIỂU CƠ CHẾ QUẢN LÝ THIẾT BỊ VÀO RA (I/O DEVICES)
GVHD: THS Lê Văn Thành
Nhóm SVTH:
1 Trương Trung Dũng, 215748020110496
2 Phạm Quang Hưng, 215748020110030
3 Bùi Hoàng Hiệp, 215748020110306
Nghệ An – 2023
Trang 2MỤC LỤC LỜI MỞ ĐẦU 3 CHƯƠNG 1 KHÁI NIỆM VỀ THIẾT BỊ VÀO/RA 4
1.1 Thiết bị vào/ra (I/O devices) và vai trò của chúng là gì? 4
1.2 Các loại thiết bị I/O phổ biến và ví dụ: 5
CHƯƠNG 2 CƠ CHẾ QUẢN LÝ THIẾT BỊ I/O 7
2.1 Giới thiệu về cơ chế quản lý: 7
2.2 Cách CPU tương tác với các thiết bị I/O: 7
2.3 DMA (Direct Memory Access): 8
CHƯƠNG 3: NGẮT (INTERRUPTS) 10
3.1 Sự cần thiết của Ngắt (Interrupts): 10
CHƯƠNG 4 TRÌNH ĐIỂU KHIỂN (DRIVERS) 12
4.1 Vai trò của trình điều khiển: 12
4.2 Cách trình điểu khiển hoạt động: 13
CHƯƠNG 5 ỨNG DỤNG VÀ VÍ DỤ THỰC TẾ 14 KẾT LUẬN 16
1 Cơ chế quản lý thiết bị I/O: 16
2 Tầm Quan Trọng của Việc Hiểu về Cơ Chế Quản Lý Thiết Bị I/O: 16
3 Hạn Chế và Hướng Phát Triển Trong Tương Lai: 16
TÀI LIỆU THAM KHẢO 18
Trang 3LỜI MỞ ĐẦU
Trong thời đại kỹ thuật số hiện nay, thiết bị vào ra (I/O devices) đóng một vai trò quan trọng trong cuộc sống hàng ngày của chúng ta Từ bàn phím và chuột trên máy tính cá nhân, đến các thiết bị nhúng như điều khiển từ xa thông minh, chúng ta tương tác với các thiết bị I/O mỗi ngày mà thường không nhận thấy Điều này làm cho việc nghiên cứu và hiểu cơ chế quản lý thiết bị I/O trở nên rất quan trọng Mục tiêu của đề tài này là giúp người đọc hiểu rõ hơn về cách hệ thống máy tính tương tác với các thiết bị I/O, cung cấp kiến thức cơ bản về các cơ chế quản lý
và kiểm soát thiết bị I/O, và mô tả cách các thiết bị I/O thực tế, từ bàn phím và chuột đến ổ đĩa và các thiết bị ngoại vi khác, được quản lý trong hệ thống máy tính
Mục tiêu nghiên cứu:
Hiểu cơ chế cơ bản của thiết bị vào ra (I/O devices): Mục tiêu này là giúp
độc giả có cái nhìn tổng quan về các loại thiết bị I/O và tầm quan trọng của chúng trong hệ thống máy tính
Nắm vững cơ chế quản lý thiết bị I/O: Nghiên cứu sẽ cung cấp sự hiểu biết
về cách hệ thống máy tính tương tác với các thiết bị I/O thông qua cơ chế quản lý như địa chỉ I/O, memory-mapped I/O, port-mapped I/O và DMA
Thấu hiểu về cách ngắt hoạt động trong quản lý thiết bị I/O: Điều này sẽ
bao gồm cách CPU xử lý các tín hiệu ngắt từ các thiết bị I/O và tại sao ngắt là một phần quan trọng của quản lý I/O
Xem xét vai trò của trình điều khiển (drivers): Mục tiêu này là hiểu cách
trình điều khiển giúp kết nối giữa hệ thống và các thiết bị I/O cụ thể, chuyển đổi yêu cầu và tín hiệu thành các lệnh cụ thể cho thiết bị
Bằng cách đạt được những mục tiêu này, chúng ta có thể hiểu rõ hơn về cách các thiết bị I/O hoạt động trong hệ thống máy tính và cách chúng tương tác với CPU, mang lại kiến thức cơ bản trong lĩnh vực quản lý I/O devices
Trang 4CHƯƠNG 1 KHÁI NIỆM VỀ THIẾT BỊ VÀO/RA
1.1 Thiết bị vào/ra (I/O devices) và vai trò của chúng là gì?
Thiết bị vào ra (I/O devices) là những thành phần không thể thiếu trong hệ thống máy tính Chúng là các phương tiện tương tác giữa máy tính và thế giới bên ngoài, cho phép truyền và nhận dữ liệu Các thiết bị I/O đóng vai trò quan trọng trong việc đáp ứng nhu cầu của người dùng và ứng dụng Dưới đây là một số khái niệm cơ bản về thiết bị I/O:
Thiết bị vào ra (I/O Device): Đây là các thiết bị sử dụng để gửi dữ liệu vào máy tính (đầu vào) hoặc nhận dữ liệu từ máy tính (đầu ra) Chúng bao gồm rất nhiều loại, từ bàn phím và chuột đến máy in và cổng USB
Cổng (Port): Cổng là một cơ chế kết nối giữa máy tính và thiết bị I/O Có hai loại cổng phổ biến: cổng đầu vào (input port) để nhận dữ liệu từ thiết bị I/O
và cổng đầu ra (output port) để gửi dữ liệu từ máy tính đến thiết bị I/O
Trình điều khiển (Driver): Trình điều khiển là phần mềm giữ vai trò quản lý
và điều khiển thiết bị I/O Nó cung cấp một giao diện chuẩn giữa hệ điều hành và thiết bị I/O, cho phép máy tính tương tác với các thiết bị cụ thể
Ngắt (Interrupt): Ngắt là một cơ chế cho phép thiết bị I/O thông báo cho máy tính về các sự kiện quan trọng Khi một ngắt xảy ra, máy tính tạm dừng thực hiện công việc hiện tại để xử lý sự kiện ngắt
Trang 5Hình 1.1 Thiết bị vào/ra
1.2 Các loại thiết bị I/O phổ biến và ví dụ:
Có một loạt các loại thiết bị I/O trong hệ thống máy tính, mỗi loại phục vụ mục đích riêng biệt và tương tác với máy tính theo cách độc đáo Dưới đây là một
số ví dụ về các loại thiết bị I/O phổ biến:
Bàn Phím (Keyboard): Bàn phím là một trong những thiết bị đầu vào chính của máy tính Người dùng sử dụng bàn phím để nhập dữ liệu văn bản, lệnh hoặc tương tác với ứng dụng Ví dụ: Bàn phím QWERTY tiêu biểu
Chuột (Mouse): Chuột là một thiết bị đầu vào cho việc điều khiển con trỏ trên màn hình máy tính Người dùng di chuyển chuột để tương tác với giao diện người dùng đồ họa và thực hiện các thao tác như chọn, kéo và thả Ví dụ: Chuột cảm ứng và chuột quang học
Màn Hình (Monitor): Màn hình là thiết bị đầu ra chính của máy tính, hiển thị thông tin, hình ảnh và video cho người dùng Các loại màn hình bao gồm màn hình LCD, LED, và CRT
Ổ Đĩa Cứng (Hard Drive): Ổ đĩa cứng là một thiết bị lưu trữ dữ liệu không bay dùng để lưu trữ hệ điều hành, ứng dụng và dữ liệu người dùng Ví dụ: Ổ đĩa HDD và SSD
Ổ Đĩa USB (USB Drive): USB drive là một thiết bị lưu trữ dữ liệu dạng di động, kết nối qua cổng USB Nó cho phép truyền dữ liệu giữa máy tính và các thiết bị ngoại vi Ví dụ: USB flash drive
Máy In (Printer): Máy in là thiết bị đầu ra được sử dụng để tạo ra bản in của văn bản, hình ảnh hoặc tài liệu từ máy tính Các loại máy in bao gồm máy in laser, máy in mực nước, và máy in nhiệt
Cổng Mạng (Network Port): Cổng mạng là cơ chế kết nối máy tính với mạng hoặc internet Chúng cho phép truyền dữ liệu giữa máy tính và các thiết bị mạng khác
Trang 6 Thiết Bị Điều Khiển Từ Xa (Remote Control): Thiết bị điều khiển từ xa là một loại thiết bị I/O nhúng, được sử dụng để điều khiển các thiết bị từ xa, ví
dụ như điều khiển từ xa TV hoặc các thiết bị IoT (Internet of Things) Các loại thiết bị I/O này đóng vai trò quan trọng trong hệ thống máy tính và cung cấp các phương tiện tương tác và kiểm soát đa dạng
Hình 1.2 Một số thiết bị I/O
Trang 7CHƯƠNG 2 CƠ CHẾ QUẢN LÝ THIẾT BỊ I/O
2.1 Giới thiệu về cơ chế quản lý:
Cơ chế quản lý thiết bị vào ra (I/O devices) là một phần quan trọng của hệ thống máy tính, đảm bảo rằng CPU có khả năng tương tác với các thiết bị I/O một cách hiệu quả Cơ chế này bao gồm các khái niệm quan trọng sau:
Địa chỉ I/O (I/O Addresses): Mỗi thiết bị I/O trong hệ thống máy tính được gán một địa chỉ I/O cụ thể Đây là một địa chỉ được sử dụng để truy cập thiết bị I/O, tương tự như việc truy cập các vùng bộ nhớ Địa chỉ I/O là một phần quan trọng để CPU có thể tương tác với thiết bị I/O
Memory-Mapped I/O (I/O được ánh xạ vào bộ nhớ): Trong kiểu này, các thiết
bị I/O được ánh xạ vào không gian bộ nhớ của hệ thống Cụ thể, một phần của không gian bộ nhớ được dành riêng cho truy cập vào các thiết bị I/O CPU có thể truy cập các thiết bị I/O bằng cách đọc và ghi vào các địa chỉ bộ nhớ tương ứng với thiết bị đó Điều này giúp CPU tương tác với thiết bị I/O giống như việc làm việc với bộ nhớ thông thường
Port-Mapped I/O (I/O được ánh xạ vào các cổng): Trong kiểu này, các cổng đầu vào và ra được sử dụng để tương tác với các thiết bị I/O CPU sử dụng lệnh đọc (IN) và lệnh ghi (OUT) để truy cập các cổng I/O và gửi dữ liệu đến hoặc nhận dữ liệu từ các thiết bị I/O Các cổng I/O có các địa chỉ riêng và được sử dụng để điều khiển và truyền dữ liệu cho các thiết bị cụ thể
2.2 Cách CPU tương tác với các thiết bị I/O:
Trong trường hợp Port-Mapped I/O, CPU sử dụng lệnh đọc (IN) để đọc dữ liệu từ các cổng I/O và lệnh ghi (OUT) để gửi dữ liệu đến các cổng I/O Các cổng I/O có các địa chỉ riêng, và CPU sử dụng các địa chỉ này để xác định cổng cụ thể
mà nó muốn tương tác
Ví dụ: Nếu một thiết bị I/O là một cổng song song 8-bit và được gán địa chỉ I/O là 0x300, CPU có thể sử dụng lệnh IN 0x300 để đọc 8-bit dữ liệu từ cổng này
và lệnh OUT 0x300 để gửi dữ liệu đến cổng này
Trang 8Cơ chế quản lý I/O devices thông qua địa chỉ I/O và Port-Mapped I/O đóng một vai trò quan trọng trong việc đảm bảo CPU có thể tương tác với các thiết bị I/O một cách hiệu quả và linh hoạt
Hình 2.1 Các kỹ thuật thực hiện I/O 2.3 DMA (Direct Memory Access):
DMA (Direct Memory Access) là một tính năng của hệ thống máy tính cho phép một thành phần phần cứng truy cập bộ nhớ chính của máy tính mà không cần thông qua CPU Điều này giúp cải thiện hiệu suất của hệ thống bằng cách giảm tải cho CPU và cho phép các thành phần phần cứng khác truy cập bộ nhớ một cách nhanh chóng và hiệu quả hơn
Ví dụ, khi bạn sao chép dữ liệu từ ổ cứng sang ổ đĩa flash, CPU sẽ phải thực hiện từng bước sau:
Trang 91 Đọc dữ liệu từ ổ cứng.
2 Lưu trữ dữ liệu trong bộ nhớ đệm
3 Ghi dữ liệu từ bộ nhớ đệm vào ổ đĩa flash
Với DMA, ổ cứng có thể truy cập bộ nhớ chính của máy tính mà không cần thông qua CPU Điều này sẽ giúp giảm tải cho CPU và cho phép quá trình sao chép
dữ liệu diễn ra nhanh hơn
DMA được sử dụng trong nhiều thành phần phần cứng khác nhau, chẳng hạn như:
Ổ cứng
Ổ đĩa flash
Card đồ họa
Card mạng
Card âm thanh
DMA là một tính năng quan trọng của hệ thống máy tính giúp cải thiện hiệu suất của hệ thống
Hình 2.2 DMA
Trang 10CHƯƠNG 3: NGẮT (INTERRUPTS)
Ngắt (interrupt) là một phần quan trọng của cơ chế quản lý thiết bị vào ra (I/O devices) trong hệ thống máy tính Sự cần thiết của ngắt xuất phát từ việc rất nhiều thiết bị I/O hoạt động không đồng thời, và chúng có thể thực hiện các sự kiện không đồng thời cũng như yêu cầu xử lý từ CPU Dưới đây, chúng ta sẽ tìm hiểu về sự cần thiết của ngắt và cách nó hoạt động:
3.1 Sự cần thiết của Ngắt (Interrupts):
Trong hệ thống máy tính, nhiều thiết bị I/O hoạt động độc lập với CPU Chẳng hạn, một thiết bị I/O như chuột có thể gửi tín hiệu đến CPU khi người dùng di chuyển chuột hoặc nhấn nút CPU không thể dự đoán được khi nào sự kiện này sẽ xảy ra
Sự cần thiết của ngắt nằm ở việc CPU cần phải tạm dừng công việc hiện tại và
xử lý sự kiện từ thiết bị I/O một cách nhanh chóng và hiệu quả Ngắt cho phép hệ thống phản ứng ngay lập tức khi có sự kiện từ thiết bị I/O và sau đó tiếp tục thực hiện công việc chính mà CPU đang thực hiện
3.2 Cách ngắt hoạt động:
Khi một sự kiện từ thiết bị I/O xảy ra, thiết bị gửi một tín hiệu ngắt đến CPU
để yêu cầu xử lý Tín hiệu ngắt này là một sự gián đoạn trong luồng công việc của CPU và yêu cầu CPU chuyển sang xử lý sự kiện ngắt
CPU sử dụng một phần của bộ nhớ gọi là "bảng ngắt" (interrupt table) để xác định sự kiện ngắt cụ thể Bảng ngắt chứa các thông tin về ngắt cụ thể, bao gồm địa chỉ nơi xử lý sự kiện ngắt cần được thực hiện
CPU sau đó tạm dừng công việc hiện tại, lưu trạng thái của công việc đó, và thực hiện xử lý sự kiện ngắt Sau khi xử lý xong, CPU phục hồi trạng thái của công việc ban đầu và tiếp tục thực hiện nhiệm vụ hiện tại
Ngắt giúp CPU phản ứng nhanh chóng và linh hoạt đối với các sự kiện từ thiết
bị I/O mà không cần liên tục kiểm tra và chờ đợi Điều này đảm bảo rằng hệ thống
Trang 11có thể tương tác một cách hiệu quả với nhiều thiết bị I/O và thực hiện nhiều tác vụ đồng thời
3.3 Cách CPU xử lý ngắt:
Khi CPU xử lý ngắt, nó tạm dừng công việc hiện tại và lưu trạng thái của công việc đó, bao gồm các giá trị đối tượng của các thanh ghi
Sau đó, CPU thực hiện xử lý sự kiện ngắt bằng cách thực hiện lệnh tại địa chỉ nơi xử lý ngắt được định rõ trong bảng ngắt Xử lý ngắt có thể bao gồm việc đọc dữ liệu từ thiết bị I/O, ghi dữ liệu vào bộ nhớ, hoặc thực hiện các tác vụ khác liên quan đến sự kiện ngắt
Sau khi xử lý xong, CPU phục hồi trạng thái của công việc ban đầu và tiếp tục thực hiện nhiệm vụ hiện tại
Ngắt là một phần quan trọng của cơ chế quản lý thiết bị I/O trong hệ thống máy tính, giúp CPU tương tác hiệu quả với nhiều thiết bị I/O và thực hiện các tác vụ
đa nhiệm
Trang 12CHƯƠNG 4 TRÌNH ĐIỂU KHIỂN (DRIVERS)
Trình điều khiển (drivers) là phần mềm trung gian quan trọng trong hệ thống máy tính, đóng vai trò quan trọng trong quản lý thiết bị vào ra (I/O devices) Vai trò của trình điều khiển bao gồm tương tác với các thiết bị I/O và đảm bảo rằng họ hoạt động một cách hiệu quả và tương thích với hệ thống Dưới đây, chúng ta sẽ tìm hiểu
về trình điều khiển và cách chúng hoạt động:
4.1 Vai trò của trình điều khiển:
Trình điều khiển là phần mềm giao tiếp trực tiếp với các thiết bị I/O như bàn phím, chuột, ổ đĩa cứng, máy in, card mạng, và nhiều thiết bị khác Chúng đảm bảo rằng hệ thống máy tính có thể tương tác với các thiết bị này một cách hiệu quả Vai trò chính của trình điều khiển bao gồm cung cấp một giao diện thống nhất cho hệ thống và ứng dụng để tương tác với thiết bị I/O Trình điều khiển cung cấp các dịch vụ và chức năng cần thiết để truyền thông với thiết bị, gửi và nhận dữ liệu, kiểm soát các tính năng của thiết bị, và quản lý các sự kiện như ngắt
Hình 4.1 Device Manager
Trang 134.2 Cách trình điểu khiển hoạt động:
Trình điều khiển nhận yêu cầu từ hệ thống hoặc ứng dụng Yêu cầu có thể bao gồm việc đọc hoặc ghi dữ liệu, thực hiện các thao tác kiểm soát, hoặc xử lý các sự kiện từ thiết bị I/O
Trình điều khiển chuyển đổi yêu cầu này thành các lệnh cụ thể cho thiết bị I/O Các lệnh này thường được gửi đến thiết bị thông qua địa chỉ I/O hoặc cổng I/O (tùy thuộc vào kiểu giao tiếp) và chứa thông tin về tác vụ cần thực hiện
Trình điều khiển theo dõi trạng thái của thiết bị I/O, đảm bảo rằng các lệnh được thực hiện một cách chính xác và theo đúng thứ tự Nếu có lỗi xảy ra hoặc cần
xử lý các sự kiện bất thường, trình điều khiển cũng chịu trách nhiệm báo cáo về tình trạng của thiết bị và quản lý các biện pháp khắc phục
Trình điều khiển cũng có nhiệm vụ cung cấp thông tin về thiết bị cho hệ thống
và ứng dụng Thông tin này bao gồm các tính năng, khả năng, trạng thái, và tài liệu hướng dẫn sử dụng
Trình điều khiển đóng vai trò quan trọng trong việc đảm bảo rằng các thiết bị I/O hoạt động một cách hiệu quả và tương thích với hệ thống Chúng đảm bảo rằng việc tương tác với các thiết bị này diễn ra một cách trơn tru và tương thích với ứng dụng và hệ thống máy tính
Trang 14CHƯƠNG 5 ỨNG DỤNG VÀ VÍ DỤ THỰC TẾ
Cơ chế quản lý thiết bị I/O chủ yếu tập trung vào việc tương tác và quản lý các thiết bị ngoại vi với máy tính Dưới đây là một số ví dụ cụ thể về cách cơ chế quản
lý thiết bị I/O được áp dụng trong các ứng dụng thực tế và cách các thiết bị I/O tương tác với hệ thống:
1 Bàn phím và Chuột:
Bàn phím và chuột là hai thiết bị I/O cực kỳ quan trọng trong máy tính cá nhân Khi bạn bấm một phím trên bàn phím hoặc di chuyển chuột, các tín hiệu từ các thiết bị này được gửi đến CPU thông qua cơ chế quản lý thiết bị I/O Trình điều khiển của bàn phím và chuột tạo ra các sự kiện ngắt để thông báo về các hoạt động này, sau đó CPU xử lý những sự kiện này để thực hiện các tác vụ như gõ văn bản hoặc di chuyển con trỏ
2 Ổ Đĩa Cứng (Hard Drive):
Ổ đĩa cứng là thiết bị lưu trữ chính trong máy tính Cơ chế quản lý thiết bị I/O cho phép CPU ghi dữ liệu lên ổ đĩa cứng để lưu trữ và đọc dữ liệu từ ổ đĩa cứng khi cần thiết Trình điều khiển ổ đĩa cứng quản lý việc truyền dữ liệu giữa bộ nhớ và ổ đĩa cứng, đảm bảo rằng dữ liệu được lưu trữ và truy xuất một cách đáng tin cậy
3 Máy In:
Máy in là một thiết bị I/O sử dụng để tạo ra bản in từ dữ liệu máy tính Trình điều khiển máy in quản lý việc gửi dữ liệu từ máy tính đến máy in và kiểm soát quá trình in ấn Cơ chế quản lý thiết bị I/O cho phép máy tính và máy in tương tác một cách hiệu quả để tạo ra các bản in chất lượng
4 Card Mạng:
Card mạng là một thiết bị I/O cho phép máy tính kết nối với mạng máy tính Trình điều khiển card mạng quản lý việc gửi và nhận dữ liệu qua mạng, đảm bảo rằng máy tính có thể kết nối với các thiết bị và dịch vụ trên mạng