Tải bản đầy đủ (.docx) (79 trang)

NGHIÊN CỨU TÌM HIỂU VỀ QUẢN LÝ THIẾT BỊ NGOẠI VI TRONG HỆ ĐIỀU HÀNH LINUX

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (550.81 KB, 79 trang )

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

BÁO CÁO BÀI TẬP LỚN THUỘC HỌC PHẦN
NGUYÊN LÝ HỆ ĐIỀU HÀNH

Đề tài: NGHIÊN CỨU TÌM HIỂU VỀ QUẢN LÝ THIẾT BỊ
NGOẠI VI TRONG HĐH LINUX

Giảng viên hướng dẫn: TS.Nguyễn Bá Nghiễn
Nhóm số: 08

1


Hà Nội – Năm 2020

2


MỤC LỤC

DANH MỤC HÌNH VẼ
Hình
Hình 1 : Giao diện hdh Linux
Hình 2 :Minh họa cấu trúc tổng thể của hệ thống thiết
bị-trình điều khiển
Hình 3 : umount tháo bỏ kết gắn của hệ thống tập tin
Hình 4 : Thêm 1 phần vùng mới
Hình 5 : Hiển thị bảng phân vùng trên hệ thống
Hình 6 : Hệ thống tập tin trên thiết bị


3

Hình 7 : Kích cỡ của các tập tin trong thư mục /home
Hình 8 : Kiểm tra dung lượng /dev/sda3 còn trống

Trang
5
7
13
15
16
17
19
20


4


LỜI MỞ ĐẦU

5


Linux là một hệ điều hành máy tính được phát triển từ năm 1991 bởi Linus
Toward khi còn là một sinh viên của trường đại học Helssiki Phần Lan, dựa trên
hệ điều hành Unix và viết bằng ngôn ngữ C và là 1 hệ điều hành mã nguồn mở
rất phổ biến trên toàn thế giới hiện nay.

6



Ngồi ra Linux cịn tương tác tốt với các hệ điều hành của: Apple ,
Microsoft và Novell. Vì những ưu điểm của nó mà ngành cơng nghệ thơng tin
Việt Nam chọn Linux làm hệ điều hành nền cho các chương trình ứng dụng chủ
đạo về kinh tế và quốc phịng. Với mã nguồn mở, việc sử dụng Linux an toàn
hơn với các ứng dụng Windows. Linux đem đến cho chúng ta lợi ích về kinh tế
với rất nhiều phần mềm miễn phí.

7


Hiện nay, Linux là một hệ điều hành Unix đầy đủ và độc lập. Nó có thể
chạy X Window, TCP/IP, Emacs, Web, thư điện tử và các phần mềm khác. Hầu
hết các phần mềm miễn phí và thương mại đều được chuyển lên Linux.

8


Trong đồ án này,chúng em sẽ trình bày một phần rất quan trọng trong hệ
điều hành Linux cũng như các hệ điều hành khác là: cơ chế quản lý thiết bị
ngoại vi của hệ điều hành Linux.

9


Chương 1: Sơ lược về hệ điều hành linux
1. Giới thiệu hệ điều hành linux
Linux vừa là tên gọi vừa là tên hạt nhân phát triển của hệ điều hành này,
đang được rất nhiều người ưu tiên sử dụng. Bởi đây là hệ điều hành miễn phí và

đại diện điển hình cho việc phát triển mã nguồn mở .
Hệ điều hành Linux được viết ra vào năm 1991 bởi ông Linus Torvalds.
Phần mềm miễn phí và sử dụng tương thích với nhiều thiết bị và dưới bản
quyền GNU General Public License nên bất cứ ai cũng có thể tải và xem mã
nguồn Linux.
Ban đầu, hệ điều hành Linux được phát triển và được sử dụng nhiều cho
dòng vi xử lý 386, hiện tại hệ điều hành này được sử dụng trong nhiều ứng dụng
khác nhau từ máy tính cá nhân cho tới các siêu máy tính và các thiết bi di động.
Linux đã liên kết với các công ty lớn như IBM và Hewlett-Packard, đồng
thời nó cũng bắt kịp được các phiên bản Unix Độc quyền. Nên hiện nay hệ điều
hành Linux và Microsoft Windows luôn dẫn đầu. Nhờ nhiều tính năng nổi bật
phía, Linux đạt được những thành cơng một cách nhanh chóng: chi phí phần
cứng thấp, tốc độ cao (khi so sánh với các phiên bản Unix độc quyền) và khả
năng bảo mật tốt (khi so sánh với Windows) cũng như là các đặc điểm về giá
thành rẻ, khơng bị phụ thuộc vào nhà cung cấp.
Một đặc tính nổi trội của nó là được phát triển bởi một mơ hình phát triển
phần mềm nguồn mở hiệu quả.

10


Hình 1 : giao diện hdh Linux

2. Ưu điểm và nhược điểm
Ưu điểm:
-Bản quyền và chi phí: đượ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ở .
-Bảo mật cao .
-Linh hoạt : tương thích với rất nhiều các mơi trường khác nhau, rất lý
tưởng cho các lập trình viên và developer .

-Chạy ổn định cả trên các máy cấu hình yếu .
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 .

11


12


Chương 2: Quản lý thiết bị ngoại vi trong HĐH Linux
2.1 Input và output trong linux

Hình 2 minh họa cấu trúc tổng thể của hệ thống thiết bị-trình điều khiển

Đối với người dùng, hệ thống I / O trong Linux trơng giống như trong bất
kỳ hệ thống UNIX nào. Có nghĩa là, trong phạm vi có thể, tất cả các trình điều
khiển thiết bị xuất hiện dưới dạng tệp bình thường. Người dùng có thể mở kênh
truy cập vào một thiết bị giống như cách họ mở bất kỳ thiết bị tệp nào khác có
thể xuất hiện dưới dạng các đối tượng trong hệ thống tệp. Quản trị viên hệ thống
có thể tạo các tệp đặc biệt trong hệ thống tệp có chứa các tham chiếu đến trình
điều khiển thiết bị cụ thể và người dùng mở tệp như vậy sẽ có thể đọc và ghi
vào thiết bị được tham chiếu. Bằng cách sử dụng hệ thống bảo vệ tệp thơng
thường, hệ thống xác định ai có thể truy cập tệp nào, quản trị viên có thể đặt
quyền truy cập cho từng thiết bị.
Linux chia tất cả các thiết bị thành ba lớp: thiết bị khối, thiết bị ký tự và
thiết bị mạng.

Thiết bị khối bao gồm tất cả các thiết bị cho phép truy cập ngẫu nhiên vào
các khối dữ liệu hồn tồn độc lập, có kích thước cố định, bao gồm đĩa cứng và
đĩa mềm, CD-ROM và bộ nhớ flash. Thiết bị khối thường được sử dụng để lưu
13
trữ hệ thống tệp, nhưng quyền
truy cập trực tiếp vào thiết bị khối cũng được
phép để các chương trình có thể tạo và sửa chữa hệ thống tệp mà thiết bị đó
chứa. Các ứng dụng cũng có thể truy cập trực tiếp vào các thiết bị khối này nếu
họ muốn; ví dụ, một ứng dụng cơ sở dữ liệu có thể thích thực hiện việc bố trí dữ


liệu trên đĩa của chính nó, được tinh chỉnh hơn là sử dụng hệ thống tệp có mục
đích chung.
Thiết bị ký tự bao gồm hầu hết các thiết bị khác, chẳng hạn như chuột và
bàn phím. Sự khác biệt cơ bản giữa thiết bị khối và thiết bị ký tự là các thiết bị
khối truy cập ngẫu nhiên có thể được truy cập ngẫu nhiên, trong khi thiết bị ký
tự chỉ được truy cập tuần tự. Ví dụ: tìm kiếm một vị trí nhất định trong tệp có
thể được hỗ trợ cho DVD nhưng khơng có ý nghĩa gì đối với thiết bị pointil1.g
chẳng hạn như chuột.
Các thiết bị mạng được xử lý khác với các thiết bị khối và ký tự. Người
dùng không thể truyền trực tiếp dữ liệu đến các thiết bị mạng; thay vào đó,
chúng phải giao tiếp gián tiếp bằng cách mở một kết nối đến hệ thống con mạng
của hạt nhân.

2.1.1 Thiết bị khối

14


Thiết bị khối cung cấp giao diện chính cho tất cả các thiết bị đĩa trong hệ

thống. Hiệu suất đặc biệt quan trọng đối với đĩa và hệ thống thiết bị khối phải
cung cấp chức năng để đảm bảo rằng truy cập đĩa nhanh nhất có thể. Chức năng
này đạt được thông qua việc lập lịch các hoạt động I / 0.

15


Trong ngữ cảnh của các thiết bị khối, một khối đại diện cho đơn vị mà hạt
nhân thực hiện I / 0. Khi một khối được đọc vào bộ nhớ, nó sẽ được lưu trữ
trong bộ đệm. Trình quản lý yêu cầu là lớp phần mềm quản lý việc đọc và ghi
nội dung bộ đệm đến và đi từ trình điều khiển thiết bị khối.

16


Một danh sách các yêu cầu riêng biệt được lưu giữ cho mỗi trình điều
khiển thiết bị khối. Theo truyền thống, các yêu cầu này đã được lên lịch theo
thuật toán thang máy đơn hướng (C-SCAN) khai thác thứ tự mà các yêu cầu
được đưa vào và xóa khỏi danh sách. Danh sách yêu cầu được duy trì theo thứ
tự sắp xếp theo số lượng ngành bắt đầu tăng dần. Khi một yêu cầu được trình
điều khiển thiết bị khối chấp nhận để xử lý, nó sẽ khơng bị xóa khỏi danh sách.
Nó chỉ bị xóa sau khi I / O hồn tất, lúc này trình điều khiển tiếp tục với yêu cầu
tiếp theo trong danh sách, ngay cả khi các yêu cầu mới đã được chèn vào danh
sách trước khi yêu cầu hoạt động. Khi các yêu cầu I / 0 mới được thực hiện,
trình quản lý yêu cầu cố gắng hợp nhất các yêu cầu trong danh sách.

17


Việc lập lịch của các hoạt động I / 0 đã thay đổi phần nào với Phiên bản

2.6 của hạt nhân. Vấn đề cơ bản với thuật toán thang máy là các hoạt động I / 0
tập trung trong một vùng cụ thể của đĩa có thể dẫn đến việc bỏ đói các yêu cầu
cần xảy ra ở các vùng khác của đĩa. Bộ lập lịch I / O thời hạn được sử dụng
trong Phiên bản 2.6 hoạt động tương tự như thuật tốn thang máy ngoại trừ việc
nó cũng liên kết thời hạn với mỗi yêu cầu, do đó giải quyết vấn đề chết đói.
Theo mặc định, thời hạn cho yêu cầu đọc là 0,5 giây và thời hạn cho yêu cầu ghi
là 5 giây.

18


Bộ lập lịch thời hạn duy trì một hàng đợi được sắp xếp gồm các hoạt
động I / 0 đang chờ xử lý được sắp xếp theo số khu vực. Tuy nhiên, nó cũng duy
trì hai hàng đợi khác - một hàng đợi đọc cho các hoạt động đọc và một hàng đợi
ghi cho các hoạt động ghi. Hai hàng đợi này được sắp xếp theo thời hạn. Mọi
yêu cầu I / 0 đều được đặt trong cả hàng đợi đã sắp xếp và hàng đợi đọc hoặc
ghi, nếu thích hợp. Thông thường, các hoạt động I / 0 xảy ra từ hàng đợi đã sắp
xếp. Tuy nhiên, nếu hết thời hạn cho một yêu cầu trong hàng đợi đọc hoặc ghi,
thì các hoạt động I / O được lập lịch từ hàng đợi chứa yêu cầu đã hết hạn. Chính
sách này đảm bảo rằng hoạt động I / 0 sẽ khơng đợi lâu hơn thời gian hết hạn
của nó.

2.2.2 Thiết bị ký tự

19


Trình điều khiển thiết bị-ký tự có thể là hầu hết mọi trình điều khiển thiết
bị khơng cung cấp quyền truy cập ngẫu nhiên vào các khối dữ liệu cố định. Bất
kỳ trình điều khiển thiết bị ký tự nào được đăng ký cho nhân Linux cũng phải

đăng ký một tập hợp các chức năng triển khai các hoạt động I / 0 tệp mà trình
điều khiển có thể xử lý. Kernel hầu như không thực hiện xử lý trước một yêu
cầu đọc hoặc ghi tệp vào thiết bị ký tự; nó chỉ đơn giản là chuyển yêu cầu đến
thiết bị được đề cập và để thiết bị xử lý yêu cầu.

20


Ngoại lệ chính đối với quy tắc này là tập hợp con đặc biệt của trình điều
khiển thiết bị ký tự triển khai các thiết bị đầu cuối. Kernel duy trì một giao diện
chuẩn cho các trình điều khiển này bằng một tập hợp các cấu trúc tty _struct.
Mỗi cấu trúc này cung cấp bộ đệm và kiểm soát luồng trên luồng dữ liệu từ thiết
bị đầu cuối và cung cấp những dữ liệu đó cho một đường truyền.

21


Kỷ luật dịng là một trình thơng dịch cho thơng tin từ thiết bị đầu cuối

22


thiết bị. Kỷ luật dòng phổ biến nhất là kỷ luật tty, gắn luồng dữ liệu của
thiết bị đầu cuối vào các luồng đầu vào và đầu ra tiêu chuẩn của các quy trình
đang chạy của người dùng, cho phép các quy trình đó giao tiếp trực tiếp với
thiết bị đầu cuối của người dùng. Công việc này phức tạp bởi thực tế là một số
quy trình như vậy có thể chạy đồng thời và kỷ luật dòng tty chịu trách nhiệm
gắn và tách đầu vào và đầu ra của thiết bị đầu cuối khỏi các quá trình khác nhau
được kết nối với nó khi các q trình đó bị tạm dừng hoặc bị đánh thức bởi
người dùng.


23


Các ngun tắc dịng khác cũng được triển khai khơng liên quan gì đến I /
0 đối với quy trình của người dùng. Giao thức mạng PPP và SUP là cách mã hóa
kết nối mạng qua thiết bị đầu cuối chẳng hạn như đường dây nối tiếp. Các giao
thức này được triển khai trong Linux dưới dạng trình điều khiển mà ở một đầu
xuất hiện với hệ thống đầu cuối dưới dạng các quy tắc đường truyền và ở đầu
kia xuất hiện với hệ thống mạng dưới dạng trình điều khiển thiết bị mạng. Sau
khi một trong các quy tắc dòng này đã được bật trên thiết bị đầu cuối, mọi dữ
liệu xuất hiện trên thiết bị đầu cuối đó sẽ được chuyển trực tiếp đến trình điều
khiển thiết bị mạng thích hợp.

2.2 Các cách quản lý thiết bị lưu trữ trong Linux

24


Khác với Windows, trên Linux để có thể truy cập/sử dụng các thiết bị như
USB, đĩa CD/DVD, file ISO, phân vùng ổ cứng, các tài nguyên được chia sẻ
qua mạng (gọi chung là thiết bị)… thì trước hết các thiết bị này các được gắn
kết (mount) vào 1 thư mục trống (gọi là mount point). Và khi muốn tháo gỡ
thiết bị đang hoạt động khỏi hệ thống thì bạn phải ngắt kết nối (umount) giữa
thiết bị với mount point trước đó.

2.2.1 Lệnh mount
Lệnh mount được dùng để thơng báo cho nhân hệ thống biết là tồn tại một
hệ thống tập tin nào đó (đang nằm riêng rẽ và khơng thể truy cập được) muốn
kết nối vào hệ thống tập tin chính tại một điểm gắn nào đó (mount-point). Điểm

gắn thường là một thư mục của hệ thống tập tin chính và có thể truy cập dễ
dàng.
Để sử dụng bất kỳ một thiết bị lưu trữ vật lý nào trên Linux, đều cần đến
lệnh mount. Điểm gắn kết là thư mục /mnt.
Cú pháp lệnh mount:
mount [tùy-chọn] <tập-tin-thiết-bị> <thư-mục>
Lệnh này thông báo cho nhân hệ thống thực hiện việc kết gắn hệ thống tập
tin có trên tập-tin-thiết-bị (thiết bị này có kiểu nào đó) vào thư mục (điểm kết
gắn) là thư-mục.
Các tuỳ chọn của lệnh mount:
-t : Xác định kiểu của thiết bị (chẳng hạn msdos như ví dụ trên): kiểu cịng
được sử dụng để xác định kiểu hệ thống tập tin. Các kiểu hệ thống tập tin
hiện thời được hỗ trợ có trong tập tin Linux/fs/filesystems.c

25


×