1. Trang chủ
  2. » Tất cả

BTL Hệ điều hành đề tài: QUẢN LÝ THIẾT BỊ VÀO RA TRONG LINUX VIẾT USB KEYBOARD DRIVER

39 3 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 39
Dung lượng 1,27 MB
File đính kèm Nhom20_BC_CuoiKy.zip (3 MB)

Nội dung

BTL Hệ điều hành đề tài: QUẢN LÝ THIẾT BỊ VÀO RA TRONG LINUX VIẾT USB KEYBOARD DRIVER MỤC LỤC DANH MỤC HÌNH VẼ 3 DANH MỤC TỪ VIẾT TẮT 4 HOẠT ĐỘNG NHÓM 5 Lời mở đầu 6 Chương 1: Tổng quan về Linux 7 1.1. Giới thiệu tổng quan về Linux 7 1.1.1. Lịch sử phát triển của hệ điều hành Linux 7 1.1.2. Ưu và nhược điểm của hệ điều hành Linux 7 1.1.3. Kiến trúc của hệ điều hành Linux 8 1.2. Giới thiệu về Linux Kernel 9 1.3. Quản lý thiết bị (Device management) 10 1.3.1. Device driver 11 1.3.2. Bus driver 12 Chương 2: Hệ thống IO 13 2.1. Phân loại các thiết bị IO 13 2.2. Tổ chức các chức năng IO 13 2.3. Các phương pháp điều khiển IO 14 2.3.1. Điều khiển bằng chương trình (Programmed IO) 14 2.3.2. Điều khiển bằng ngắt (Interrupt Driven IO) 15 2.3.3. Truy cập bộ nhớ trực tiếp DMA (Direct Memory Access) 16 2.4. Giao tiếp thiết bị IO với hệ điều hành 17 2.5. Chuyển yêu cầu IO thành các hoạt động phần cứng 18 Chương 3: Quản lý thiết bị USB 21 3.1. Tổng quan giao thức USB 21 3.1.1. Chuẩn tín hiệu 21 3.1.2. Mô hình mạng 22 3.1.3. Các thành phần cơ bản của giao thức USB 23 3.2. Mô hình phân lớp hệ thống USB trên Linux 24 3.3. USB Device Driver 25 3.3.1. Phần cứng 25 3.3.2. Phần mềm 27 Chương 4: USB Keyboard Driver 30 4.1. Chương trình USB Driver cơ bản 30 4.2. Viết driver cho bàn phím USB 35 4.2.1. Khung chương trình 35 Tài liệu tham khảo 37

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN ĐIỆN TỬ - VIỄN THÔNG QUẢN LÝ THIẾT BỊ VÀO RA TRONG LINUX VIẾT USB KEYBOARD DRIVER Giảng viên hướng dẫn: TS Nguyễn Thanh Bình Mã lớp: 129265 Nhóm sinh viên thực hiện: Nhóm 20 Họ tên MSSV Trần Thị Mai Anh 20182363 Nguyễn Thị Hồng Hạnh 20182491 Mai Văn Lâm 20182625 Hoàng Nhật Minh 20182681 Nguyễn Thị Quyên 20182748 Hà Nội, 09/12/2021 MỤC LỤC DANH MỤC HÌNH VẼ DANH MỤC TỪ VIẾT TẮT .4 HOẠT ĐỘNG NHÓM Lời mở đầu Chương 1: Tổng quan Linux 1.1 Giới thiệu tổng quan Linux 1.1.1 Lịch sử phát triển hệ điều hành Linux .7 1.1.2 Ưu nhược điểm hệ điều hành Linux .7 1.1.3 Kiến trúc hệ điều hành Linux 1.2 Giới thiệu Linux Kernel .9 1.3 Quản lý thiết bị (Device management) 10 1.3.1 Device driver 11 1.3.2 Bus driver .12 Chương 2: Hệ thống I/O 13 2.1 Phân loại thiết bị I/O .13 2.2 Tổ chức chức I/O 13 2.3 Các phương pháp điều khiển I/O 14 2.3.1 Điều khiển chương trình (Programmed I/O) 14 2.3.2 Điều khiển ngắt (Interrupt Driven I/O) 15 2.3.3 Truy cập nhớ trực tiếp DMA (Direct Memory Access) 16 2.4 Giao tiếp thiết bị I/O với hệ điều hành 17 2.5 Chuyển yêu cầu I/O thành hoạt động phần cứng 18 Chương 3: Quản lý thiết bị USB 21 3.1 Tổng quan giao thức USB .21 3.1.1 Chuẩn tín hiệu 21 3.1.2 Mơ hình mạng 22 3.1.3 Các thành phần giao thức USB 23 3.2 Mô hình phân lớp hệ thống USB Linux 24 3.3 USB Device Driver .25 3.3.1 Phần cứng .25 3.3.2 Phần mềm .27 Chương 4: USB Keyboard Driver .30 4.1 Chương trình USB Driver 30 4.2 Viết driver cho bàn phím USB 35 4.2.1 Khung chương trình .35 Tài liệu tham khảo 37 DANH MỤC HÌNH VẼ Hình 1: Kiến trúc hệ điều hành Linux Hình 2: Kiến trúc Linux kernel đứng góc độ quản lý Hình 3: Mối liên hệ driver, điều khiển thiết bị góc độ thực thi 11 Hình 4: Tương tác thiết bị driver 12 Hình 5: Mơ hình phân lớp hệ thống quản lý I/O 14 Hình 6: Chu kì yêu cầu I/O 19 Hình 7: Chuẩn tín hiệu USB .21 Hình 8: Mơ hình giao thức USB 22 Hình 9: Mơ hình tổng quan thiết bị USB 23 Hình 10: Mơ hình phân lớp hệ thống USB Linux .24 Hình 11: Hệ thống USB Linux 27 DANH MỤC TỪ VIẾT TẮT Từ viết tắt Tên tiếng Anh Tên Tiếng Việt CPU Central Processing Unit  Bộ xử lý trung tâm I/O Input/Output Vào/Ra IRQ Interrupt Request Yêu cầu ngắt  DMA Direct Memory Access Truy cập nhớ trực tiếp TCP/IP Transmission Control Protocol/ Giao thức điều khiển truyền vận/ API Internet Protocol Giao thức mạng Application Programming Giao diện lập trình ứng dụng Interface HID Human Interface Device Thiết bị giao diện người dùng HOẠT ĐỘNG NHĨM Phân cơng nhiệm vụ ST Thành viên Nội dung Mai Văn Lâm Tổng quan Linux T Quản lý thiết bị Trần Thị Mai Anh Hệ thống I/O Quản lý thiết bị USB Nguyễn Thị Hồng Hạnh Hệ thống I/O Quản lý thiết bị USB Nguyễn Thị Quyên USB Device Driver Quy trình viết USB keyboard driver Hồng Nhật Minh USB Device Driver Quy trình viết USB keyboard driver Mơi trường trao đổi hoạt động nhóm: Internet  Hình thức: Online Các thành viên tìm hiểu nội dung phân cơng nêu trên, tổng hợp lại LinkShare MS Word, trao đổi tiến hành chỉnh sửa, bổ sung  Công cụ: Microsoft Office, Messenger, … Lời mở đầu Hiện nay, với phát triển ngày nhanh hệ thống nhúng để đáp ứng lại nhu cầu thị trường, dễ dàng thấy hệ điều hành Linux xuất hầu hết thiết bị có độ phức tạp khả đáp ứng cao Việc tích hợp hệ điều hành lên hệ thống nhúng giúp đơn giản hóa q trình thiết kế sản phẩm, rút ngắn thời gian chi phí xây dựng hệ thống ứng dụng kế thừa ưu việt hệ điều hành nói chung Linux nói riêng Đó nhỏ gọn, ổn định, thực thi nhanh, đơn giản hóa khả can thiệp sâu vào phần cứng Hơn nữa, với cộng đồng sử dụng Linux rộng lớn khắp giới phần mềm mã nguồn mở đa dụng làm cho việc phát triển hệ thống Linux trở thành chiến lược công ty lựa chọn hàng đầu Mặt khác, chuẩn giao tiếp USB (Universal Series Bus) trở thành chuẩn giao tiếp phổ biến Hiện tại, USB trở thành chuẩn kết nối phương thức truyền liệu thân thuộc với người dùng công nghệ nhờ vào thuận tiện, độ bền giá thành hợp lý Do đó, chúng em định chọn đề tài “Quản lý thiết bị vào linux viết USB keyboard driver” làm tập lớn cho môn học Hệ điều hành Chương 1: Tổng quan Linux 1.1 Giới thiệu tổng quan Linux Linux hệ điều hành mã nguồn mở, mạnh, đáng tin cậy, tương thích với Unix Linux cài đặt máy tính cá nhân trở thành trạm làm việc, sử dụng máy chủ lớn Có thể sử dụng với mục đích thương mại mơi trường tính tốn truyền tin, sử dụng để giảng dạy hệ điều hành lập trình hệ điều hành trường đại học 1.1.1 Lịch sử phát triển hệ điều hành Linux Năm 1991 Linus Torvalds, sinh viên đại học tổng hợp Helsinki, Phần Lan, bắt đầu xem xét Minix, phiên Unix làm với mục đích nghiên cứu cách tạo hệ điều hành Unix chạy máy PC với vi xử lý Intel 80386 sử dụng với mục đích chủ yếu học thuật Ngày 25/8/1991, Linus cho version 0.01 thông báo comp.os.minix Internet dự định Linux Tháng 1/1992, Linus cho version 0.12 với shell C compiler Linus không cần Minix để recompile hệ điều hành Linus đặt tên hệ điều hành Linux Năm 1994, phiên thức 1.0 phát hành Ngày nay, Linux phân làm nhiều nhánh như: Ubuntu, Linux Mint, Fedora… thông dụng Ubuntu 1.1.2 Ưu nhược điểm hệ điều hành Linux Ưu điểm:  Bản quyền: tảng mã nguồn mở miễn phí  Bảo mật: an tồn virus, mã độc khơng thể hoạt động tảng  Linh hoạt: Trên Linux, dễ dàng chỉnh sửa tương thích với nhiều môi trường khác mơi trường lý tưởng cho lập trình viên nhà phát triển   Hoạt động mượt mà máy tính có cấu hình yếu Nhược điểm:  Số lượng ứng dụng hỗ trợ Linux hạn chế  Một số nhà sản xuất không phát triển driver hỗ trợ tảng Linux o Khó làm quen, đặc biệt quen thuộc với Windows chuyển sang Linux cần khoảng thời gian để làm quen 1.1.3 Kiến trúc hệ điều hành Linux Hình 1: Kiến trúc hệ điều hành Linux  Kernel: Đây phần quan trọng ví trái tim hệ điều hành, phần kernel chứa module, thư viện để quản lý giao tiếp với phần cứng ứng dụng  Shell: Shell chương trình có chức thực thi lệnh từ người dùng từ ứng dụng - tiện ích yêu cầu chuyển đến cho Kernel xử lý  Applications: Là ứng dụng tiện ích mà người dùng cài đặt Server Ví dụ: ftp, samba, Proxy, … 1.2 Giới thiệu Linux Kernel Hình 2: Kiến trúc Linux kernel đứng góc độ quản lý Dựa vào chức hệ điều hành, Linux Kernel chia thành thành phần:  Process Management: có nhiệm vụ quản lý tiến trình o Tại tiến trình chương trình xử lý, sở hữu tập trỏ lệnh, tập ghi, biến tài nguyên cần cho tiến trình o Tạo hủy tiến trình người dùng tiến trình hệ thống o Hỗn khơi phục tiến trình o Cung cấp chế cho việc đồng hóa tiến trình o Cung cấp chế cho việc giao tiếp tiến trình o Cung cấp chế quản lý deadlock  Memory Management: có nhiệm vụ quản lý nhớ o Theo dõi thành phần nhớ sử dụng tiến trình sử dụng o Quyết định tiến trình dự liệu vào nhớ o Cấp phát hủy khơng gian nhớ  Device Management: có nhiệm vụ quản lý thiết bị

Ngày đăng: 02/03/2023, 02:06

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w