1. Trang chủ
  2. » Luận Văn - Báo Cáo

Báo cáo btl nguyên lý hệ điều hành đề tài nghiên cứu và tìm hiểu về quản lý thiết bị ngoại vitrong hđh linux

70 1 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

Tiêu đề Nghiên cứu và tìm hiểu về quản lý thiết bị ngoại vi trong HĐH Linux
Tác giả Cao Sỹ Minh Hoàng, Lê Tuấn Hưng, Nguyễn Thành Lâm, Nguyễn Việt Chiến, Trịnh Bá Nguyên
Người hướng dẫn TS. Nguyễn Bá Nghiễn
Trường học Trường Đại học Công nghiệp Hà Nội
Chuyên ngành Nguyên Lý Hệ Điều Hành
Thể loại Báo cáo BTL
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 70
Dung lượng 717,47 KB

Nội dung

Trang 4 LỜI MỞ ĐẦUChào mừng đến với thời đại 4.0 - một thời kỳ đầy thách thức nhưng cũngđầy tiềm năng, khi mà sự phát triển của công nghệ đã đem lại những cơ hộimới và thay đổi toàn diện

Trang 1

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI

KHOA CÔNG NGHỆ THÔNG TIN

Sinh viên: Cao Sỹ Minh Hoàng

Lê Tuấn HưngNguyễn Thành LâmNguyễn Việt ChiếnTrịnh Bá Nguyên

Hà Nội, Năm 2023

Trang 2

PHIẾU HỌC TẬP CÁ NHÂN/NHÓM

I Thông tin chung

1 Tên lớp: IT6025.4

2 Tên nhóm: 02

3 Họ và tên thành viên trong nhóm:

1 Nguyễn Việt Chiến

2 Cao Sỹ Minh Hoàng

3 Lê Tuấn Hưng

4 Nguyễn Thành Lâm

5 Trịnh Bá Nguyên

II Nội dung học tập

1 Tên chủ đề: Nghiên cứu tìm hiểu về quản lý thiết bị ngoại vi trong HĐHLinux

2 Hoạt động của sinh viên

- Hoạt động/Nội dung 1: Trình bày, minh họa được các phương thức và công

cụ quản lý thiết bị ngoại vi trong HĐH Linux

- Hoạt động/Nội dung 2: Liên hệ so sánh với nguyên lý quản lý thiết bị ngoại

Trang 3

 Hà Quang Thuy (1998), Giáo trình Nguyên lý các hệ điều hành, TrườngĐại học Khoa học tự nhiên – Đại học Quốc gia Hà Nội.

 Trần Hạnh Nhi, Lê Khắc Nhiên Ân (1999), Giáo trình hệ điều hành, Trường Đại học Quốc gia TP.Hồ Chí Minh

 Michael Tischer (1992), Cẩm nang lập trình hệ thống, NXB Giáo dục

 Trang hệ điều hành Linux: https://www.Linux.org/

 Nguyễn Thanh Hải, Nguyễn Tuấn Tú, Trần Thanh Huân, Giáo trình Nguyên lí hệ điều hành, Trường Đại học Công Nghiệp Hà Nội

 Cùng với tài liệu, thông tin sưu tầm từ rất nhiều website khác về lĩnh vực công nghệ thông tin

Trang 4

LỜI MỞ ĐẦU

Chào mừng đến với thời đại 4.0 - một thời kỳ đầy thách thức nhưng cũngđầy tiềm năng, khi mà sự phát triển của công nghệ đã đem lại những cơ hộimới và thay đổi toàn diện cách chúng ta sống, làm việc và tương tác với nhau.Khi công nghệ phát triển thì thiết bị ngoại vi ngày càng tối ưu và đổi mới,theo thực tế đó việc quản lý thiết bị ngoại vi dần trở lên quan trọng, do đóbằng sự tìm hiểu và kiến thức môn học dưới sự hướng dẫn của thầy Nguyễn

Bá Nghiễn, nhóm chúng em đã thực hiện bài tập lớn “Nghiên cứu tìm hiểu vềthiết bị ngoại vi trong hệ điều hành Linux” với mục tiêu là tìm hiểu các kỹthuật được sử dụng để quản lý thiết bị ngoại vi và đưa đến cho người đọcnhững kiến thức tổng quan nhất về cách thức và có thể áp dụng trong khi sửdụng hệ điều hành

Ở bài tập lớn này, nhóm chúng em sẽ tìm hiểu chính về hệ điều hànhLinux – một hệ điều hành mã nguồn mở, và là một trong những hệ điều hànhđược các lập trình viên yêu thích và sử dụng nhiều nhất để phát triển dự án, vàtại sao hệ điều hành này lại được yêu thích đến vậy ? Tất cả sẽ được giải đáp

ở trong bài tập lớn này

Trong quá trình tìm hiểu và thực hiện báo cáo, với kinh nghiệm chưa cónhiều, nhóm chúng em không thể tránh khỏi những thiếu hụt và sai sót, vì vậyrất mong được nghe những lời đánh giá, đóng góp chân thành từ thầy trongquá trình làm việc Nhóm chúng em xin chân thành cảm ơn !

Trang 5

MỤC LỤC

DANH MỤC HÌNH ẢNH 8

Chương 1 Sơ lược về HĐH Linux và thiết bị ngoại vi trên HĐH Linux 9

1 Giới thiệu hệ điều hành Linux 9

1.1 Các đặc điểm và lợi ích của hệ điều hành Linux 9

1.2 Chức năng của hệ điều hành Linux 11

1.3 Lịch sử và quá trình phát triển của hệ điều hành Linux 11

2 Thiết bị ngoại vi trên Linux 14

2.1 Định nghĩa thiết bị ngoại vi 14

2.2 Một số loại thiết bị ngoại vi phổ biến trên Linux 14

3 Giới thiệu về quản lý thiết bị ngoại vi trong Linux 22

3.1 Định nghĩa và vai trò của quản lý thiết bị ngoại vi trong hệ điều hành Linux 22

3.2 Mục tiêu và lợi ích của quản lý thiết bị ngoại vi 24

Chương 2 Cơ chế quản lý và tổ chức thiết bị ngoại vi trên Linux 25

1 Nguyên tắc tổ chức và quản lý thiết bị 25

1.1 Chế độ khối (block) 25

1.2 Chế độ ký tự (character) 26

2 Các giao thức kết nối thiết bị ngoại vi trên Linux 28

2.1 Giao thức USB 28

2.2 Giao thức Bluetooth 29

2.3 Giao thức Wi-Fi 29

2.4 Giao thức Ethernet 30

Trang 6

2.5 Giao thức SCSI 31

2.6 Giao thức Firewire 32

2.7 Giao thức Serial 32

Chương 3 Các kỹ thuật áp dụng trong quản lý thiết bị trên Linux 35

1 Kỹ thuật vùng đệm 35

1.1 Khái niệm và mục đích của vùng đệm 35

1.2 Phân loại vùng đệm 35

2 Kỹ thuật kết khối 38

3 Kỹ thuật xử lý lỗi 40

4 Kỹ thuật mô phỏng 42

Chương 4 Các lệnh quản lý thiết bị ngoại vi trên HĐH Linux 43

1 Tổng quan về truy xuất đĩa từ trong Linux 43

2 Cấu trúc file hệ thống 45

3 Các lệnh thao tác với đĩa từ trên Linux 49

3.1 Lệnh mount 49

3.2 Lệnh unmount 50

3.3 Lệnh du 51

3.4 Lệnh df 52

Chương 5 Các công cụ quản lý thiết bị ngoại vi trên HĐH Linux 54

1 Định nghĩa công cụ quản lý thiết bị ngoại vi 54

2 Các công cụ quản lý thiết bị ngoại vi phổ biến trên Linux 55

2.1 GNOME Disks 55

2.2 GParted 56

2.3 HPLIP 57

Trang 7

2.4 SANE 58

Chương 6 Liên hệ so sánh các kỹ thuật quản lý thiết bị ngoại vi trong HĐH Linux 59 1 Khái quát các kỹ thuật quản lý thiết bị ngoại vi 59

1.1 Kỹ thuật vùng đệm 59

1.2 Kỹ thuật kết khối 60

1.3 Kỹ thuật xử lý lỗi 60

1.4 Kỹ thuật mô phỏng 61

2 So sánh các kỹ thuật quản lý thiết bị ngoại vi 63

2.1 So sánh đặc điểm, ưu nhược điểm của các kỹ thuật 63

2.2 Sự phù hợp và ứng dụng của từng kỹ thuật trong các tình huống và loại thiết bị ngoại vi khác nhau 64

3 Nhận xét 65 Chương 7 Xu hướng phát triển và tương lai của quản lý thiết bị ngoại vi trên Linux 66

1 Một số đổi mới công nghệ quản lý thiết bị ngoại vi trong linux ngày nay 66

Trang 8

DANH MỤC HÌNH ẢNH

Hình 1.1 : Thiết bị nhập dữ liệu bàn phím 13Hình 1.2 : Thiết bị nhập dữ liệu chuột 14Hình 1.3 : Thiết bị xuất dữ liệu màn hình 14Hình 1.4 : Thiết bị xuất dữ liệu máy in 18Hình 1.5 : Thiết bị xuất dữ liệu loa 19

Trang 9

Chương 1 Sơ lược về HĐH Linux và thiết bị

ngoại vi trên HĐH Linux

Hệ điều hành (operating system) là phần mềm hệ thống quản lý tài nguyênphần cứng máy tính, phần mềm và cung cấp các dịch vụ chung cho cácchương trình máy tính Đối với các chức năng phần cứng như đầu vào, đầu ra

và cấp phát bộ nhớ, hệ điều hành đóng vai trò quan trọng giữa các chươngtrình và phần cứng máy tính, mặc dù mã ứng dụng thường được thực thi trựctiếp bởi phần cứng và thường thực hiện các lệnh hệ thống đến Chức năng hệđiều hành hoặc bị hệ điều hành là gián đoạn Hệ điều hành được tìm thấy trênnhiều thiết bị có máy tính – từ điện thoại di động và bảng điều khiển trò chơiđiện tử đến máy chủ web và siêu máy tính, cung cấp môi trường cho phépngười sử dụng phát triển và thực hiện các ứng dụng của họ một cách dễ dàng

Hệ điều hành chia sẻ thời gian lập lịch cho các tác vụ để sử dụng hệ thốngmột cách hiệu quả và cũng có thể bao gồm phần mềm kế toán để phân bố chiphí thời gian xử lý, lưu trữ dung lượng lớn, in ấn và các tài nguyên khác

1 Giới thiệu hệ điều hành Linux 1.1 Các đặc điểm và lợi ích của hệ điều hành Linux

 Đặc điểm

Hệ điều hành Linux sở hữu nhiều tính năng đặc biệt khác hẳn với 2

hệ điều hành Mac OS và Windows Nên số lượng người dùng hệ điều hành này vẫn luôn ổn định Đặc điểm của hệ điều hành Linux đối với người dùng dưới đây:

Dễ dàng điều phối và quản lý hệ thống tài nguyên

Hệ thống code dễ dàng sử dụng, người chỉnh sự và phát triển có thể

dễ dàng dựa vào để thao tác dễ hơn

Cho phép chạy các tính năng miễn phí, không cần mua bản quyền Tính năng bảo mật cao

Giao diện đẹp và đa dạng, thường xuyên nâng cấp phiên bản mới

Trang 10

Chạy hệ điều hành nhẹ và mất ít dụng lượng nên không kén máy khi

sử dụng

 Ưu điểm

Bản quyền và chi phí:

+ Linux được phát triển miễn phí cho người sử dụng và dựa trên

nền tảng mã nguồn mở - open source trong khi Windows bản quyền và bộ Office bản quyền sẽ phải mất khoảng vài triệu để sở hữu Vì lý do đó mà tỷ lệ dùng lậu Windows ở Việt Nam luôn ở mức cao Và đương nhiên việc dùng lậu thì sẽ đi kèm những bất tiện của nó chưa kể vấn đề về nguyên tắc làm việc

+ Sử dụng Linux bạn sẽ được sử dụng miễn phí tất cả các tính năng

kèm bộ ứng dụng văn phòng miễn phí mà không phải lo lắng gì

về vấn đề bản quyền

Linh hoạt:

+ Người dung Linux có thể tự thực hiện các tùy chỉnh theo ý mình.

Tuy nhiên, điều này không xảy ra với Windows, bạn sẽ cần phải được Windows thông qua mỗi lần muốn chỉnh sửa gì đó Ngoài

ra, nền tảng này cũng tương thích với rất nhiều các môi trường khác nhau, do đó, rất lý tưởng cho các lập trình viên và các nhà phát triển hệ thống

Chạy ổn định cả trên các máy tính cấu hình yếu:

+ Một phiền toái mà hẳn người dùng Windows nào cũng thấy quen

thuộc đó là cứ mỗi khi Windows ra mắt một bản nâng cấp thì người dùng cũng phải nâng cấp cấu hình theo nếu máy không đáp ứng được phiên bản mới đó Và nếu không nâng cấp thì chỉ

có thể mãi mãi dùng phiên bản cũ mà thôi và rất nhanh sẽ bị Windows cho vào quên lãng

+ Việc vẫn chạy mượt mà, độ ổn định cao trên các máy có cấu hình

thấp và được nâng cấp, hỗ trợ thường xuyên từ nhà phát hành có

Trang 11

lẽ là một ưu điểm được người ưa chuộng Linux đánh giá cao hơnWindows.

+ Tuy nhiên, Linux không thể tránh khỏi vẫn tồn tại những nhược

điểm khiến cho Windows tiếp tục mở rộng sự thống trị của mình

 Nhược điểm

Số lượng ứng dụng hỗ trợ vẫn còn rất hạn chế

Một số nhà sản xuất không phát triển driver hỗ trợ nền tảng Linux.Mất thời gian để làm quen, đặc biệt là khi chuyển từ Windows sang

sử dụng Linux thì sẽ cần thời gian để thích nghi từ đầu

1.2 Chức năng của hệ điều hành Linux

 Tổ chức giao tiếp giữa người sử dụng và hệ thống

 Cung cấp bộ nhớ, các thiết bị ngoại vi, cho chương trình và tổ chức thực hiện các chương trình đó

 Tổ chức lưu trữ thông tin trên bộ nhớ ngoài, cung cấp các công cụ tìm kiếm và truy cập thông tin

 Hỗ trợ phần mềm cho các thiết bị ngoại vi

 Cung cấp các dịch vụ tiện ích hệ thống

1.3 Lịch sử và quá trình phát triển của hệ điều hành Linux

1.3.1 Lịch sử hệ điều hành LINUX

 UNIX(Uniplexed information and Computing system) là một hệ

điều hành ra đời 1969 bởi một số nhân viên phòng Lab của AT&T bao gồm Ken Thompson và Dennis Ritchie Các phiên bản UNIX đầu tiên được viết bằng ngôn ngữ B Ngôn ngữ lập trình này cũng

do 2 nhân viên trên sáng lập 1973- thời điểm phiên bản thứ 4 của UNIX, Dennis Ritchie đã viết ra ngôn ngữ lập trình C, một trong những ngôn ngữ lập trình phổ biến đến hiện nay

 Khái niệm đầu tiên khi nói đến lịch sử hình thành của Linux đó

chính là GNU

Trang 12

 Richard Stallman – một nhân viên kỹ thuật máy tính yêu thích và

chuyên sử dụng phần mềm nguồn mở, tuy nhiên đến những năm củathập kỷ 80 thế kỷ trước hầu hết các phần mềm đều có bản quyền Nhận thấy điều này có thể ngăn cản việc phát triển và kết nối giữa những nhà phát triển phần mềm Richard Stallman đã khởi đầu dự

án GNU vào năm 1983

 Mục đích của GNU ban đầu là phát triển một hệ điều hành giống

Unix nhưng phải được miễn phí và cộng đồng có thể tham gia sửa đổi, phát triển GNU được cấu tạo từ các chữ đầu của cụm từ

“GNU’s Not Unix”

GNU đã tạo ra được rất nhiều sản phẩm quan trọng như GNU

Compiler Collection (gcc), GNU Debugger, GNU Emacs text editor (Emacs), GNU build automator (make) … Ngoài ra còn phải kể đến giấy phép nổi tiếng được sử dụng rộng rãi nhất hiện nay: GNU General Public License (GPL)

 GNU Project đã đạt được nhiều thành tựu lớn, tạo ra được nhiều

công cụ tương tự như những gì có trên Unix Tuy nhiên, GNU vẫn thiếu một thành phần quan trọng, mảnh ghép cuối cùng để nó trở thành một hệ điều hành hoàn chỉnh Đó chính là Kernel, phần thực hiện công việc điều khiển, giao tiếp với các thiết bị phần cứng (CPU, RAM, Devices …)

 Torvalds lần đầu tiên biết đến dự án GNU vào năm 1991, sau khi

được bạn mình là Lars Wirzenius, đưa anh đến Đại học Công nghệ

để nghe bài phát biểu của Richard Stallman, Torvalds sau đó đã sử

dụng GNU General Public License phiên bản 2 (GPLv2) của

Stallman để phát triển kernel của mình dựa vào GNU C Compiler

1.3.2 Quá trình phát triển hệ điều hành Linux theo các mốc thời gian

 1991: Hạt nhân LINUX được công bố 25/8.

Trang 13

 1992: Hạt nhân LINUX được cấp phép lại theo GPL GNU Các bản

phân phối của LINUX đầu tiên được sáng tạo

 1993: Hơn 100 nhà phát triển làm việc trên nhân LINUX Với sự trợ

giúp của họ, hạt nhân được điều chỉnh phù hợp với môi trường GNU, tạo ra một phổ rộng các loại ứng dụng cho LINUX Bản phânphối LINUX hiện có (Slackware), được phát hành lần đầu tiên Cuốinăm đó, dự án Deblan được thành lập Ngày nay nó là phân phối cộng đồng lớn nhất

 1994: Torvalds đánh giá tất cả các thành phần của hạt nhân đã

trưởng thành hoàn toàn: ông phát hành phiên bản 1.0 của Linux Dự

án XFree86 đóng góp giao diện người dùng đồ họa(GUI) Các nhà sản xuất phân phối LINUX thương mại RED Hat và SUSE xuất phiên bản 1.0 của các bản phân phối LINUX của họ

 1995: LINUX được chuyển sang DEC Alpha và Sun SPARC Trong

những năm tiếp theo, nó được chuyển đến một số lượng lớn hơn cácnền tảng

 1996: Phiên bản 2.0 của nhân LINUX được phát hành, hạt nhân có

 1999: Một nhóm các nhà phát triển bắt đầu làm việc trên môi trường

đồ họa GNOME, dự định trở thành một sự thay thế miễn phí cho

Trang 14

KDE, tại thời điểm đó, phụ thuộc vào bộ công cụ độc quyền Trong năm, IBM công bố một dự án mở rộng cho sự hỗ trợ của LINUX.

 2000: Dell tuyên bố rằng họ hiện là nhà cung cấp số 2 các hệ thống

dựa trên LINUX trên toàn thế giới và là nhà sản xuất đầu tiên cung cấp LINUX trên toàn bộ dòng sản phẩm của mình

 2004: Sự phát triển nhanh hơn đáng kể của máy chủ X cho LINUX.

 2007: Dell bắt đầu phân phối máy tính xách tay với Ubuntu được cài

đặt sẵn

 2011: Version 3.0 của LINUX kernel được phát hành.

 2013: Android, Hệ điều hành dựa trên LINUX của google chiếm

75% thị phần smart, về số lượng điện thoại được xuất xưởng

 2015: Phiên bản 4.0 của LINUX kernel được phát hành.

2 Thiết bị ngoại vi trên Linux 2.1 Định nghĩa thiết bị ngoại vi

 Thiết bị ngoại vi là tên gọi chung chỉ một nhóm loại thiết bị bên ngoài thùng máy được gắn kết với máy tính với tính năng nhập xuất (I/O) hoặc mở rộng khả năng lưu trữ (như một dạng bộ nhớ phụ)

 Thiết bị ngoại vi của máy tính có thể là:

Thiết bị cấu thành lên máy tính và không thể thiếu được ở một số loại máy tính

Thiết bị có mục đích mở rộng tính năng hoặc khả năng của máy tính

2.2 Một số loại thiết bị ngoại vi phổ biến trên Linux

 Thiết bị nhập dữ liệu: Bàn phím, chuột

Bàn phím: Là một thiết bị ngoại vi không thể thiếu để người dùng

có thể nhập liệu và giao tiếp với máy tính Đây là một thiết bị đầu vào cơ bản và được coi là phương tiện giao tiếp cơ bản nhất giữa con người và máy tính

Trang 15

Bàn phím ra đời từ rất sớm, trong mỗi hệ máy tính hiện nay đều

có trang bị bàn phím tiêu chuẩn, những hệ máy tính đặc biệt thì

có trang bị bàn phím chuyên dụng

Hình 1 1 Thiết bị nhập dữ liệu bàn phím

Bàn phím có nhiều loại khác nhau:

+ Bàn phím tiêu chuẩn + Bàn phím cho máy tính xách tay.

+ Bàn phím ảo

Bàn phím được quản lý thông qua kỹ thuật mô phỏng (Spool) Khi một phím được nhấn, sự kiện tương ứng được tạo ra và gửi đến thiết bị đầu vào, sau đó ứng dụng có thể đọc và xử lý các sự kiện này để tương tác với bàn phím Dưới đây là cách hoạt động của mô phỏng bàn phím trong Linux:

+ Mô phỏng bàn phím: Trong Linux, bàn phím được mô phỏng

như một thiết bị đặc biệt có tên là "/dev/input/eventX", trong

đó "X" là số thứ tự của thiết bị Mỗi lần bạn nhấn một phím trên bàn phím, một sự kiện sẽ được tạo ra và gửi đến thiết bị đầu vào "/dev/input/eventX"

+ Vùng đệm: Khi sự kiện bàn phím được tạo ra, nó sẽ được đưa

vào vùng đệm (buffer) của hệ thống Vùng đệm này tạm thời lưu trữ các sự kiện từ các thiết bị đầu vào khác nhau cho đến khi hệ thống sẵn sàng xử lý chúng

Trang 16

+ Đọc sự kiện bàn phím: Ứng dụng hoặc tiến trình có quyền

truy cập vào thiết bị "/dev/input/eventX" có thể đọc các sự kiện bàn phím từ vùng đệm Bằng cách đọc dữ liệu từ thiết bị đầu vào này, ứng dụng có thể nhận biết khi nào một phím được nhấn hoặc thả ra trên bàn phím

+ Xử lý sự kiện: Khi ứng dụng đọc các sự kiện bàn phím, nó có

thể xử lý và tương tác với dữ liệu đó theo nhu cầu của ứng dụng Ví dụ, ứng dụng có thể xử lý các phím chức năng, phímđiều hướng, hoặc sự kiện phím tắt để thực hiện các hành độngtương ứng

Chuột: Cho phép người dùng di chuyển con trỏ một cách mượt mà

và trực quan trên mặt phẳng hai chiều Do đó, nó là một thiết bị đầu vào cần thiết để chọn, kéo, di chuột và nhấp Chuột cho phép người dùng chuyển đổi giữa các ứng dụng, chọn các tùy chọn và nút, và di chuyển xung quanh màn hình với độ chính xác và linh hoạt cao Cácloại chuột phổ biến hiện nay gồm: chuột bi, chuột laser, chuột

quang, chuột không dây…

Hình 1 2 Thiết bị nhập dữ liệu chuột

Con trỏ chuột ra đời muộn hơn bàn phím Sự ra đời của con trỏ chuột là một cột mốc trong ngành chế tạo máy tính, giúp sự điều khiển sử dụng máy tính dễ dàng và tiện lợi hơn

Từ khi ra đời cho đến nay con trỏ chuột đã có nhiều thay đổi trong công nghệ chế tạo

+ Máy tính lớn: chuột quang, chuột laser, chuột bi lăn…

Trang 17

+ Máy tính nhỏ: track ball, Trackpad, chuột cảm ứng…

Chuột được quản lý thông qua kỹ thuật mô phỏng (Spool) Các

sự kiện chuột được tạo ra và gửi đến thiết bị đầu vào mô phỏng,

và sau đó ứng dụng có thể đọc và xử lý các sự kiện này để tương tác với chuột Dưới đây là cách hoạt động của mô phỏng chuột trong Linux:

+ Mô phỏng chuột: Trên Linux, chuột được mô phỏng như một

thiết bị đặc biệt có tên là "/dev/input/mice" Khi di chuyển chuột hoặc nhấn các nút trên chuột, các sự kiện chuột tương ứng sẽ được tạo ra và gửi đến thiết bị đầu vào

"/dev/input/mice"

+ Vùng đệm: Khi các sự kiện chuột được tạo ra, chúng sẽ được

đưa vào vùng đệm (buffer) của hệ thống Vùng đệm này tạm thời lưu trữ các sự kiện từ chuột và các thiết bị đầu vào khác cho đến khi hệ thống sẵn sàng xử lý chúng

+ Đọc sự kiện chuột: Ứng dụng hoặc tiến trình có quyền truy

cập vào thiết bị "/dev/input/mice" có thể đọc các sự kiện chuột từ vùng đệm Bằng cách đọc dữ liệu từ thiết bị đầu vào này, ứng dụng có thể nhận biết các sự kiện di chuyển chuột, nút chuột được nhấn hoặc thả ra

+ Xử lý sự kiện: Khi ứng dụng đọc các sự kiện chuột, nó có thể

xử lý và tương tác với dữ liệu đó theo nhu cầu của ứng dụng

Ví dụ, ứng dụng có thể di chuyển con trỏ, thực hiện các hành động liên quan đến chuột hoặc phản ứng với các nút chuột được nhấn

 Thiết bị xuất dữ liệu: Màn hình, máy in, loa

Màn hình: Là thiết bị điện tử gắn liền với máy tính với mục đích

chính là hiển thị và giao tiếp giữa người sử dụng với máy tính

Trang 18

Hình 1 3 Thiết bị xuất dữ liệu màn hình

Đối với các máy tính cá nhân (PC), màn hình máy tính là một bộ phận tách rời Đối với máy tính xách tay màn hình là một bộ phận gắn chung không thể tách rời

Phân loại:

+ CRT (Cathode Ray Tube): Màn hình dùng còn nghệ ống cực

Cathode lạnh, ra đời từ rất lâu, hiện công nghệ CRT đang dần được thay thế bằng LCD

+ LCD (Liquid Crystal Display): Màn hình tinh thể lỏng ra đời

từ sớm, tuy nhiên do hạn chế về tính năng và giá cả, nền LCDmới chỉ được dùng rộng rãi gần đây

+ Màn hình cảm ứng: là màn hình CRT hoặc LCD thông thường

và được lắp đặt trên tấm màn hình cảm ứng (cảm ứng điện trởhoặc điện dung)

Màn hình trong hệ điều hành Linux không được quản lý thông qua kỹ thuật mô phỏng như bàn phím và chuột Thay vào đó, nó được quản lý bằng cách sử dụng kỹ thuật kết khối Dữ liệu đồ họa được gửi đến thiết bị đầu ra màn hình và được lưu trữ trong

bộ đệm trước khi được cập nhật lên màn hình thực tế Dưới đây

là cách hoạt động của quản lý thiết bị ngoại vi màn hình trong Linux:

Trang 19

+ Thiết bị đầu ra màn hình: Trong Linux, màn hình được xem

như một thiết bị đầu ra Nó có thể được đại diện bằng một tệp

hệ thống, thường là "/dev/fb0"

+ Gửi dữ liệu đến thiết bị: Để hiển thị hình ảnh trên màn hình,

dữ liệu đồ họa được gửi đến thiết bị đầu ra màn hình Các ứngdụng hoặc các thành phần hệ thống gửi dữ liệu hình ảnh đến thiết bị này để hiển thị trên màn hình

+ Quản lý bộ đệm: Trước khi dữ liệu được hiển thị, nó thường

được lưu trữ trong bộ đệm (framebuffer) trên màn hình Bộ đệm này giữ các dữ liệu hình ảnh và các thông tin khác nhau

về màu sắc, độ phân giải và định dạng hình ảnh

+ Cập nhật màn hình: Khi dữ liệu được lưu trữ trong bộ đệm, hệ

thống sẽ thực hiện cập nhật màn hình bằng cách chuyển dữ liệu từ bộ đệm vào màn hình thực tế Quá trình này thường được điều khiển bởi các thành phần hệ thống hoặc trình điều khiển đồ họa

Trang 20

Máy in: Máy in được coi là thiết bị xuất dữ liệu cổ xưa, máy in ra

đời trước khi mà hình ra đời

Hình 1 4 Thiết bị xuất dữ liệu máy in

+ Thiết bị đầu ra máy in: Trên Linux, máy in được xem như một

thiết bị đầu ra Nó có thể được đại diện bằng một tệp hệ thống, thường là "/dev/lp0" hoặc "/dev/usb/lp0" (đối với cổngUSB)

Trang 21

+ Gửi dữ liệu đến máy in: Để in một tệp hoặc nội dung từ ứng

dụng, dữ liệu in được gửi đến thiết bị đầu ra máy in Các ứng dụng sử dụng các giao thức in (ví dụ: CUPS - Common Unix Printing System) để gửi dữ liệu đến thiết bị máy in

+ Quản lý vùng đệm: Trước khi dữ liệu được gửi đến máy in, nó

thường được lưu trữ trong một vùng đệm (buffer) tạm thời trong hệ thống Vùng đệm này giữ các dữ liệu in và các thôngtin khác nhau về định dạng in, bố cục trang và các thuộc tính

in khác

+ Điều khiển máy in: Sau khi dữ liệu được lưu trữ trong vùng

đệm, hệ thống sẽ điều khiển máy in để thực hiện quá trình in Quá trình này bao gồm truyền dữ liệu từ vùng đệm tới máy in

và điều khiển các hoạt động in như in trang, di chuyển giấy, kiểm tra mực in, và các thao tác khác

Loa: là thiết bị dùng để phát ra âm thanh phục vụ nhu cầu làm việc

và giải trí của con người với máy tính cần đến âm thanh Loa máy tính thường được kết nối với máy tính thông qua ngõ xuất audio củacard âm thanh trên máy tính

Hình 1 5 Thiết bị xuất dữ liệu loa

Phân loại:

+ Loa nội bộ: Đây là loa tích hợp sẵn trong thiết bị, chẳng hạn

như laptop hoặc máy tính để bàn

Trang 22

+ Loa ngoại vi: Đây là loa được kết nối với thiết bị thông qua

cổng âm thanh như cổng 3.5mm hoặc cổng USB

Loa được quản lý thông qua kỹ thuật kết khối Dữ liệu âm thanh được gửi đến thiết bị đầu ra âm thanh thông qua tệp hệ thống tương ứng và được lưu trữ trong vùng đệm trước khi điều khiển loa thực hiện quá trình phát âm thanh Dưới đây là cách hoạt động của quản lý thiết bị ngoại vi loa trong Linux:

+ Thiết bị đầu ra âm thanh: Trên Linux, loa được xem như một

thiết bị đầu ra âm thanh Nó có thể được đại diện bằng một tệp hệ thống, thường là "/dev/snd/pcmC0D0p" (đối với thiết

bị âm thanh số 0)

+ Gửi dữ liệu âm thanh đến loa: Để phát âm thanh qua loa, dữ

liệu âm thanh được gửi đến thiết bị đầu ra âm thanh Các ứng dụng hoặc các thành phần hệ thống sử dụng ALSA (AdvancedLinux Sound Architecture) hoặc PulseAudio để gửi dữ liệu

âm thanh đến thiết bị loa

+ Quản lý vùng đệm: Trước khi dữ liệu âm thanh được phát, nó

thường được lưu trữ trong một vùng đệm (buffer) tạm thời trong hệ thống Vùng đệm này giữ các mẫu âm thanh và các thông tin khác nhau về tần số lấy mẫu, độ phân giải và định dạng âm thanh

+ Điều khiển loa: Sau khi dữ liệu âm thanh được lưu trữ trong

vùng đệm, hệ thống sẽ điều khiển loa để phát âm thanh Quá trình này bao gồm chuyển dữ liệu từ vùng đệm vào loa và điều chỉnh các tham số âm lượng, cân bằng âm thanh và các thiết lập khác

3 Giới thiệu về quản lý thiết bị ngoại vi trong Linux 3.1 Định nghĩa và vai trò của quản lý thiết bị ngoại vi trong hệ điều hành Linux

Trang 23

 Định nghĩa:

Quản lý thiết bị ngoại vi trong hệ điều hành Linux là quá trình điều khiển và quản lý các thiết bị phần cứng ngoại vi (peripheral devices) được kết nối với máy tính chạy hệ điều hành Linux Thiết bị ngoại vi bao gồm các thành phần phần cứng như bàn phím, chuột, màn hình, máy in, ổ đĩa, thiết bị âm thanh, cổng kết nối USB, cổng Ethernet và nhiều loại thiết bị khác

 Vai trò:

Vai trò của quản lý thiết bị ngoại vi trong hệ điều hành Linux rất quan trọng và đóng góp đáng kể cho việc tương tác và sử dụng các thiết

bị ngoại vi Vai trò này có thể bao gồm:

Nhận dạng và kết nối thiết bị: Quản lý thiết bị ngoại vi trong Linux đảm bảo rằng hệ điều hành có thể nhận dạng và kết nối các thiết bị ngoại vi một cách chính xác Điều này cho phép hệ điều hành biết được sự hiện diện của các thiết bị và chuẩn bị các tài nguyên cần thiết để tương tác với chúng

Cấu hình và quản lý: Linux cung cấp các công cụ và giao thức đểcấu hình và quản lý các thiết bị ngoại vi Điều này bao gồm việc thiết lập các thông số, tùy chọn và chức năng của thiết bị, như độphân giải màn hình, tốc độ truyền dữ liệu, cài đặt âm thanh, và các tùy chọn khác

Truy cập và điều khiển: Linux cung cấp giao diện và cơ chế truy cập để các ứng dụng và người dùng có thể tương tác và điều khiển các thiết bị ngoại vi Điều này cho phép các ứng dụng thựchiện các thao tác nhập liệu, gửi dữ liệu, đọc dữ liệu từ các thiết bịngoại vi và điều khiển chúng theo nhu cầu

Quản lý tài nguyên: Quản lý thiết bị ngoại vi trong Linux đảm bảo sử dụng tài nguyên hệ thống một cách hiệu quả và phân chia

Trang 24

tài nguyên cho các thiết bị ngoại vi sao cho không gây xung đột

và ảnh hưởng đến hiệu suất hệ thống

 Điều này đóng vai trò quan trọng trong việc nhận dạng, kết nối, cấuhình, truy cập và quản lý các thiết bị ngoại vi Nó đảm bảo rằng hệ điều hành và các ứng dụng có thể tương tác và sử dụng các thiết bị ngoại vi một cách hiệu quả và nhất quán

3.2 Mục tiêu và lợi ích của quản lý thiết bị ngoại vi

 Mục tiêu:

Mục tiêu chính của quản lý thiết bị ngoại vi trong Linux là cung cấpmột giao diện đơn giản và nhất quán giữa hệ điều hành và các thiết bị ngoại vi, đồng thời đảm bảo khả năng tương thích và tương tác hiệu quả giữa các ứng dụng và thiết bị ngoại vi

 Lợi ích:

Lợi ích của quản lý thiết bị ngoại vi trong Linux có thể bao gồm:Tính tương thích: Quản lý thiết bị ngoại vi đảm bảo khả năng tương thích với nhiều loại thiết bị phần cứng khác nhau, cho phép hệ điều hành Linux tương tác và sử dụng chúng một cách hiệu quả

Tiện lợi và linh hoạt: Linux cung cấp các công cụ và giao thức quản lý thiết bị ngoại vi đáng tin cậy và linh hoạt, cho phép người dùng dễ dàng kết nối, cấu hình và sử dụng các thiết bị ngoại vi một cách thuận tiện

Tối ưu hiệu suất: Quản lý thiết bị ngoại vi trong Linux giúp tối

ưu hiệu suất hoạt động của các thiết bị ngoại vi, đồng thời giảm thiểu độ trễ và tăng cường truyền thông dữ liệu giữa hệ điều hành

và thiết bị ngoại vi

Bảo mật: Linux cung cấp các cơ chế bảo mật mạnh mẽ cho quản

lý thiết bị ngoại vi, giúp ngăn chặn các mối đe dọa và xâm nhập

từ các thiết bị ngoại vi

Trang 25

 Điều này đóng vai trò quan trọng trong việc tạo ra môi trường tươngthích, tiện lợi và hiệu quả cho việc tương tác và sử dụng các thiết bị ngoại vi trên hệ điều hành Linux.

Chương 1 Cơ chế quản

lý và tổ chức thiết bị ngoại vi trên Linux

1 Nguyên tắc tổ chức và quản lý thiết bị 3.3 Chế độ khối (block)

Khái niệm: Là chế độ dùng để truy cập dữ liệu trên các thiết bị lưu

trữ đại diện bởi các khối Các thiết bị như ổ đĩa cứng, ổ đĩa SSD, USB và thẻ nhớ được coi là các thiết bị lưu trữ khối

 Quá trình làm việc của chế độ khối trong Linux:

Xác định thiết bị: xác định các thiết bị lưu trữ khối bằng các lệnhnhư ‘lsblk’ hoặc ‘fdisk -l’ để liệt kê các thiết bị lưu trữ khối có sẵn trên hệ thống

Phân vùng và định dạng: Sau đó, cần phân vùng thiết bị lưu trữ khối (nếu chưa được phân vùng) và định dạng phân vùng đó với một hệ thống tệp tin Các công cụ như ‘fdisk’ và ‘parted’ được sửdụng để phân vùng và ‘mkfs’ được sử dụng để định dạng các phân vùng

Gắn kết: Sau khi định dạng các phân vùng, bạn cần gắn kết (mount) các phân vùng đó vào cây thư mục hệ thống tệp tin Bạn cần tạo một thư mục trống để làm điểm gắn kết, sau đó sử dụng lệnh ‘mount’ để gắn kết phân vùng vào thư mục đó Ví du: $ sudo mount /dev/sda1 /mnt/mydrive

Trang 26

Truy cập và làm việc với dữ liệu: Khi thiết bị lưu trữ khối đã được gắn kết vào hệ thống tệp tin, ta có thể truy cập và làm việc với dữ liệu trên nó như bất kỳ thư mục hoặc tệp tin thông

thường Bằng việc sử dụng các lệnh thông thường như ‘cd’, ‘ls’,

‘cp’, ‘mv’, ‘rm’, và ‘cat’ để di chuyển, liệt kê, sao chép, di chuyển, xóa và hiển thị nội dung của các tệp tin và thư mục trên thiết bị lưu trữ khối Ví du: $ cd /mnt/mydrive (truy cập vào thư mục mnt/mydrive)

Tháo gắn thiết bị: Sau khi hoàn thành công việc với thiết bị lưu trữ khối, cần tháo gắn nó khỏi hệ thống Điều này giống như

"rút" thiết bị ra khỏi máy tính một cách an toàn Để tháo gắn thiết

bị, cần đảm bảo rằng không có quy trình hoặc ứng dụng nào đang sử dụng thiết bị và sử dụng lệnh ‘unmount’ để tháo gắn Ví dụ: $ sudo unmount /mnt/mydrive

3.4 Chế độ ký tự (character)

 Chế độ ký tự (character mode) được sử dụng để quản lý và truy cập

dữ liệu từ các thiết bị ngoại vi như cổng serial, bàn phím, chuột, và các thiết bị khác có tương tác thông qua dữ liệu ký tự

 Khi một thiết bị ngoại vi được kết nối vào hệ thống và được nhận

diện là một thiết bị ký tự, hệ điều hành Linux sẽ thực hiện các bước sau để quản lý và làm việc với nó:

Xác định thiết bị: Khi kết nối một thiết bị ngoại vi, hệ điều hành Linux sẽ phát hiện và xác định thiết bị thông qua giao diện và cổng kết nối tương ứng Mỗi thiết bị ngoại vi được đại diện bởi một tệp đặc biệt trong thư mục ‘/dev/’

Cấu hình thiết bị: Trước khi sử dụng thiết bị ký tự, cần cấu hình

nó với các thông số cần thiết, chẳng hạn như tốc độ truyền dữ liệu, chế độ dòng hoặc ký tự, bit dừng, và kiểu mã hóa Linux hỗ trợ lệnh ‘stty’ để thực hiện công việc trên Ví dụ, để cấu hình

Trang 27

thiết bị /dev/ttyUSB0 với tốc độ truyền dữ liệu 9600 baud, bạn

có thể sử dụng lệnh sau: $ stty -F /dev/ttyUSB0 9600Truy cập và làm việc với dữ liệu: Sau khi thiết bị ký tự đã được cấu hình, ta có thể truy cập và làm việc với dữ liệu từ thiết bị đó Đọc dữ liệu ta sử dụng lệnh ‘cat’ hoặc ‘screen’ Ví dụ, để đọc dữ liệu từ thiết bị ‘/dev/ttyUSB0’ ta có thể sử dụng lệnh: ‘$ cat /dev/ttyUSB0’ Còn ghi dữ liệu dùng lệnh ‘echo’ hoặc ‘printf’

Ví dụ: để ghi dữ liệu vào thiết bị ‘/dev/ttyUSB0’ ta có thể sử dụng lệnh: ‘$ echo "Hello, world!" > /dev/ttyUSB0’

Đóng kết nối thiết bị: Khi đã hoàn thành việc sử dụng thiết bị ký

tự, Linux cần đóng kết nối với nó để giải phóng tài nguyên hệ thống Điều này thường được thực hiện bằng cách đóng các chương trình ứng dụng đang sử dụng thiết bị hoặc sử dụng phím tắt (ví dụ: Ctrl+C) để dừng các chương trình đang chạy

Trang 28

4 Các giao thức kết nối thiết bị ngoại vi trên Linux 4.1 Giao thức USB

 Hệ thống Linux cung cấp các công cụ và thư viện cho việc quản lý

giao tiếp USB, phát hiện và cấu hình USB, và truyền tải dữ liệu qua giao thức USB

Hình 2 1 USB (Universal Serial Bus)

 Một số thành phần và công cụ của USB

USB Core: xác định cấu trúc dữ liệu của USB, giao thức truyền tải và cung cấp các giao diện cho thiết bị USB để tương tác với

hệ thống

USB utils: Linux cung cấp các công cụ dòng lệnh để tương tác với USB Các công cụ như ‘lsusb’, ‘usbutils’, ‘usbview’, giúp hiển thị thông tin chi tiết, trạng thái và thông số của thiết bị USB ghép nối

USB libraries: Gồm nhiều thư viện, trong đó có thư viện ‘libusb’

và ‘libusbx’, được phát triển cho Linux Thư viện này cung cấp các giao diện ứng dụng cao cấp (API) để gửi và nhận dữ liệu từ các thiết bị USB

Trang 29

4.2 Giao thức Bluetooth

 Khái niệm: Bluetooth là một giao thức không dây tiêu chuẩn cho

phép truyền tải dữ liệu thiết bị gần nhau mà không cần qua dây cáp Trong hệ điều hành Linux, Bluetooth sử dụng 2 giao thức chính để làm việc đó là BlueZ, và Pulse Audio

 Blue Z được phát triển trên mã nguồn mở, BlueZ cung cấp các công

cụ và thư viện để quản lý và tương tác với các thiết bị Bluetooth Một số công cụ quan trọng được sử dụng như “bluetoothctl” và

“hcitool” giúp quản lý thiết bị Bluetooth qua dòng lệnh và thực hiện các tác vụ như kết nối, phát hiện và ghép nối

 Pulse Audio: là một hệ thống âm thanh máy tính mã nguồn mở,

cùng hỗ trợ Bluetooth trong Linux Giao thức này cho phép người dùng truyền tải âm thanh qua kết nối Bluetooth và quản lý thiết bị

âm thanh

Hình 2 2 Bluetooth

4.3 Giao thức Wi-Fi

 Trong Linux, giao thức Wifi được hỗ trợ thông qua thành phần phần

mềm để quản lý và tương tác với kết nối mạng Wifi Linux cung cấpmột loạt công cụ và giao diện lập trình ứng dụng (API) để thực hiện việc tương tác trên

 Một số thành phần và công cụ của giao thức Wifi:

Trang 30

Wireless Extensions (Wext): đây là một giao diện tiêu chuẩn của Linux cho việc tương tác và quản lý với thiết bị không dây WPA Supplicant: là một phần mềm mã nguồn mở để thiết lập kếtnối Wifi bảo mật Nó hỗ trợ các giao thức bảo mật như WPA, WPA2, WPA Supplicant và giao diện dòng lệnh ‘wpa_cli’ để giúp tăng cường bảo mật cho thiết bị không dây.

NetworkManager: là một công cụ quản lý mạng trong Linux, nó làm việc với ‘D-Bus’ để bảo vệ và cấu hình giao diện mạng bằng cách ‘D-Bus’ báo hiệu sự hiện diện của một thiết bị mạng mới đến NetworkManager Trình quản lý mạng sau đó lắng nghe lưu lượng trên D-Bus và phản hồi bằng cách tạo cấu hình cho thiết bịmạng này

Hình 2 3 Wifi (Wireless Fidelity)

4.4 Giao thức Ethernet

 Ethernet là giao thức được sử dụng để kết nối và truyền dữ liệu trên

mạng có dây

 Trên Linux, giao thức Ethernet được triển khai thông qua các trình

điều khiển và công cụ mạng tương ứng, các trình điều khiển như e1000e, r8169, tg3, ixgbe, … và các công cụ mạng như ifconfig, ip, ethtool, wireshark Trên một mạng Ethernet, các thiết bị mạng được kết nối với nhau thông qua cáp mạng, hub hoặc switch Các thiết bị mạng trao đổi dữ liệu qua mạng dựa trên địa chỉ MAC (Media

Trang 31

Access Control) Ngoài ra các ứng dụng mạng khác như SSH, FTP

và HTTP cũng sử dụng giao thức Ethernet để truyền dữ liệu qua mạng

 Ethernet có tốc độ trao đổi dữ liệu khá tốt và rất ổn định, khả năng

bảo mật, độ tin cậy cao

Hình 2 4 HTTP (Hypertext Transfer Protocol)

4.5 Giao thức SCSI

 Giao thức SCSI (Small Computer System Interface) là một chuẩn

giao tiếp được sử dụng để kết nối và truyền dữ liệu giữa các thiết bị lưu trữ, chẳng hạn như ổ cứng, ổ đĩa quang và thiết bị lưu trữ khác, với máy tính hoặc máy chủ Giao thức SCSI cung cấp một cách linh hoạt và hiệu quả để truyền dữ liệu giữa các thiết bị và hệ thống máy tính

Hình 2 5 SCSI (Small Computer System Interface)

 Trên Linux, SCSI được gọi là SCSI subsystem Trong hệ thống này,

các thiết bị SCSI được định danh bằng đường dẫn Linux hỗ trợ nhiều giao thức SCSI, bao gồm SCSI-1, SCSI-2, SCSI-3 và SAS (Serial Attached SCSI) Các giao thức này cho phép kết nối các thiết

Trang 32

bị lưu trữ khác nhau, bao gồm đĩa cứng, ổ CD/DVD, băng thông và thiết bị lưu trữ flash.

4.6 Giao thức Firewire

 Firewire là tên gọi khác của IEEE 1394, là kiểu kết nối tiêu chuẩn

cho nhiều loại thiết bị điện tử khác nhau, như máy quay video kỹ thuật số, một số máy in và máy scan, ổ cứng ngoài và các thiết bị khác

 Các thuật ngữ IEEE 1394 và FireWire thường đề cập đến những loại

cáp, cổng và đầu nối được sử dụng để kết nối nhiều loại thiết bị ngoại vi này với máy tính

Hình 2 6 Firewire

4.7 Giao thức Serial

 Tên Linux, giao thức Serial (còn được gọi lại RS-232) được triển

khai thông qua các cổng serial trên máy tính hoặc thông qua các chuyển đổi USB sang serial Giao thức serial cho phép truyền dữ liệu 2 chiều giữa máy tính và các thiết bị ngoại vi như thiết bị điều khiển, máy in, moderm,…

Trang 33

Hình 2 7 Serial

 Để sử dụng giao thức Serial trên Linux, bạn có thể sử dụng các công

cụ và trình điều khiển sau:

Trình điều khiển UART: UART (Universal Asynchronous Receiver/Transmitter) là một thành phần phần cứng chịu trách nhiệm cho việc truyền và nhận dữ liệu theo giao thức Serial TrênLinux, các trình điều khiển UART phổ biến bao gồm:

8250/16550: Trình điều khiển UART chuẩn cho các cổng serial nổi tiếng Trình điều khiển này được tích hợp trong nhân Linux.USB-Serial: Trình điều khiển UART cho các chuyển đổi USB sang Serial, cho phép kết nối các thiết bị Serial thông qua cổng USB Các trình điều khiển này thường đi kèm với kernel Linux hoặc có thể được cài đặt riêng

Cổng Serial /dev/ttySx: Các cổng serial được đại diện bằng các thiết bị /dev/ttySx, trong đó x là số cổng (ví dụ: ttyS0, ttyS1, ) Các ứng dụng và công cụ có thể truy cập và truyền dữ liệu qua các cổng này

Công cụ minicom: Minicom là một công cụ dòng lệnh phổ biến

để kết nối và giao tiếp với các thiết bị thông qua cổng Serial trên Linux Nó cung cấp các chức năng như gửi, nhận, và xem dữ liệu

từ các thiết bị Serial

Trang 34

Các thư viện hỗ trợ: Có các thư viện như termios và libserialport được cung cấp để làm việc với giao thức Serial trong các ứng dụng phần mềm Chúng cung cấp các hàm và API để cấu hình, truyền và nhận dữ liệu qua cổng Serial.

Trang 35

Chương 2 Các kỹ thuật

áp dụng trong quản lý thiết bị trên Linux

1 Kỹ thuật vùng đệm 4.8 Khái niệm và mục đích của vùng đệm

 Vùng đệm là một vùng nhớ trung gian dùng làm nơi lưu trữ thông

tin tạm thời trong thao tác vào/ra

 Để thực hiện một thao tác vào/ra, hệ thống cần thực hiện các bước:

kích hoạt thiết bị, chờ thiết bị đạt trạng thái thích hợp, chờ thao tác vào/ra được thực hiện

 Tuy nhiên việc chờ đợi các thiết bị đạt trạng thái thích hợp chiếm

một thời gian khá lớn trong tổng thời gian thực hiện thao tác vào/ra

Vì vậy, để đảm bảo tốc độ chung của toàn hệ thống, thao tác vào/ra cần phải sử dụng vùng đệm nhằm mục đích:

Giảm số lượng các thao tác vào/ra vật lý

Cho phép thực hiện song song các thao tác vào/ra với các thao tác xử lý thông tin khác nhau

Cho phép thực hiện trước các phép nhập dữ liệu

 Kỹ thuật này được sử dụng trong hệ điều hành Linux nhằm mục

đích tăng hiệu suất đọc và ghi dữ liệu trên ổ đĩa Linux sử dụng cơ chế vùng đệm để tạm thời lưu trữ dữ liệu trong bộ nhớ trước khi thực hiện ghi hoặc đọc từ ổ đĩa

4.9 Phân loại vùng đệm

Vùng đệm trung chuyển:

Cách thức hoạt động: Hệ thống tổ chức hai vùng nhớ riêng biệt

đó là vùng nhớ vào và vùng nhớ ra Vùng nhớ vào là để nhập thông tin và vùng nhớ ra để ghi thông tin

Ngày đăng: 22/03/2024, 22:38

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

TÀI LIỆU LIÊN QUAN

w