Giáo trình Hệ điều hành - Chương 5: Quản lý thiết bị

Vào giữa những năm 50 khi những thế hệ máy tính đầu tiên đ-ợc đ-a vào hoạt

động thực tế với những bóng đèn điện tử thì chúng có kích th-ớc rất cồng kềnh và

tốn nhiều năng l-ợng. Khi đó việc nhập dữ liệu vào các máy tính đ-ợc thông qua

các tấm bìa mà ng-ời viết ch-ơng trình đã đục lỗ sẵn. Mỗi tấm bìa t-ơng đ-ơng với

một dòng lệnh mà mỗi một cột của nó có chứa tất cả các ký tự cần thiết mà ng-ời

viết ch-ơng trình phải đục lỗ vào ký tựmình lựa chọn. Các tấm bìa đ-ợc đ-a vào

một "thiết bị" gọi là thiết bị đọc bìa mà qua đó các thông tin đ-ợc đ-a vào máy tính

(hay còn gọi là trung tâm xử lý) và sau khi tính toán kết quả sẽ đ-ợc đ-a ra máy in.

Nh-vậy các thiết bị đọc bìa và máy in đ-ợc thể hiện nh-các thiết bị vào ra (I/O)

đối với máy tính.

pdf12 trang | Chuyên mục: Hệ Điều Hành | Chia sẻ: dkS00TYs | Lượt xem: 2099 | Lượt tải: 1download
Tóm tắt nội dung Giáo trình Hệ điều hành - Chương 5: Quản lý thiết bị, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
ình đ−ợc thực hiện cho 
tới thiết bị ngoại vi cuối rồi lặp lại từ đầu. 
 Ph−ơng pháp này đơn giản nh−ng có nh−ợc điểm là khi số l−ợng thiết bị 
ngoại vi tăng lên sẽ làm lãng phí thời gian và khả năng đáp ứng tức thời với yêu cầu 
phục vụ là rất thấp vì CPU phải kiểm tra trạng thái của tất cả các thiết bị ngoại vi 
tr−ớc khi quay về thiết bị có yêu cầu phục vụ. 
b. Ph−ơng pháp ngắt 
 Gải sử CPU đang thực hiện một ch−ơng trình. Khi một thiết bị ngoại vi có 
yêu cầu trao đổi dữ liệu với CPU, nó sẽ gửi một tín hiệu yêu cầu gọi là yêu cầu ngắt 
(IRQ) tới chân INTR của CPU. CPU sẽ thực hiện xong lệnh hiện tại và trả lời bằng 
tín hiệu INTA. Ch−ơng trình chính lúc này bị ngắt và chuyển sang ch−ơng trình xử 
lý ngắt. 
Yêu cầu ngắt Ngắt mềm Công dụng 
IRQ0 INT 08H Ngắt của Timer 
IRQ1 INT 09H Ngắt bàn phím 
IRQ2 INT 0AH Ngắt của 8259A Slave 
IRQ3 INT 0BH Ngắt của COM2 (02F8 - 03FF) 
IRQ4 INT 0CH Ngắt của COM1 ( 03F8- 03FF) 
IRQ5 INT 0DH Ngắt của LPT2 
IRQ6 INT 0EH Ngắt của đĩa mềm 
IRQ7 INT 0FH Ngắt của LPT1 ( hay sound card) 
IRQ8 INT 70H Ngắt của CMOS-Ram và đồng hồ thực 
IRQ9 INT 71H Dự trữ hoặc nối về IRQ2 
IRQ10 INT 72H Dành cho user ( ISA/PCI bus) 
IRQ11 INT 73H Dành cho user ( ISA/PCI bus) 
IRQ12 INT 74H Ngắt của chuột PS/2 hoặc dự trữ 
IRQ13 INT 75H Ngắt của bộ đồng xử lý toán học 
 6
IRQ14 INT 76H Ngắt của đĩa cứng 1 (IDE1) 
IRQ15 INT 77H Ngắt của đĩa cứng 2 hay CD-ROM( IDE 2)
V.2.2. Vào/ra bằng truy nhập bộ nhớ trực tiếp DMA (8237A) 
Trong ph−ơng pháp vào/ra bằng ch−ơng trình, dữ liệu th−ờng phải đ−ợc 
chuyển qua lại từ bộ nhớ tới CPU rồi tới thiết bị ngoại vi hoặc ng−ợc lại bằng việc 
thực hiện từng lệnh thông qua kiểm soát của CPU với sự tham gia của các thanh 
ghi. Tốc độ trao đổi dữ liệu do đó rất chậm, tốn nhiều thời gian và cách truy nhập 
này chỉ áp dụng cho các vi mạch 8255, 8259A. Để truy nhập tới các bộ nhớ khối ( 
đĩa cứng, đĩa mềm) hay các bản mạch hiển thị ta cần tốc độ cao hơn rất nhiều. Tốc 
độ mong muốn đó chỉ có thể thực hiện bằng cách truy nhập trực tiếp giữa bộ nhớ và 
các thiết bị ngoại vi, không cần thông qua CPU. Trong tr−ờng hợp này CPU giao 
quyền điều khiển cho một chip điện tử gọi là chip DMAC( DMA Controller). Lúc 
này CPU không cần phải đọc, giải mã và thực hiện các lệnh chuyển dữ liệu mà nó 
trao toàn quyền cho chip DMAC. Chip này sẽ tự tạo địa chỉ, tạo các tín hiệu đọc/ghi 
bộ nhớ, đọc/ghi thiết bị ngoại vi và thông báo cho CPU biết sau khi kết thúc công 
việc. Các qúa trình này đ−ợc thực hiện hoàn toàn bằng mạch điện tử( phần cứng) và 
lại đ−ợc thực hiện trực tiếp giữa bộ nhớ và thiết bị ngoại vi nên tốc độ rất nhanh. 
Ví dụ : Mạch 8237A -5 của Intel có thể thực hiện việc chuyển 1 byte trong 
một mảng dữ liệu từ bộ nhớ ra ngoài thiết bị ngoại vi chỉ mất có 4 chu kì đồng hồ 
thì bộ VXL 8088 phải mất 39 chu kì 
Lap : MOV AL, [SI] ; 10 chu kì 
 OUT DX, AL ; 10 
 INC SI ; 2 
 Loop Lap ; 17 
 Có hai ph−ơng pháp thực hiện DMA : 
• CPU chuyển nh−ợng bus cho DMAC rồi tự treo 
+ Treo trong khoảng thời gian trao đổi cả mảng dữ liệu 
+ Treo trong thời gian trao đổi 1 byte dữ liệu 
 7
• DMAC tận dụng những khoảng thời gian trong một chu kì bus mà CPU 
không truy nhập bộ nhớ. 
V.3. Ngắt và xử lý ngắt 
1. Ngắt 
Ngắt là hiện t−ợng dừng một ch−ơng trình (tiến trình) đang thực hiện để 
chuyển sang thực hiện một ch−ơng trình (tiến trình) khác. 
 Ngắt đ−ợc chia làm hai loại chính : 
 - Ngắt cứng ( Hardware Interupt) : là những ngắt đ−ợc gửi từ các thiết bị 
ngoại vi đến chân tín hiệu ngắt của CPU gồm : INTR và NMI. 
 - Ngắt mềm : là các ngắt xuất hiện khi CPU thực hiện các lệnh hợp ngữ, hoặc 
do các lỗi phát sinh trong quá trình hoạt động của VXL ( chia cho 0, tràn). Gồm : 
 + Các ngắt do INT N, trong đó N là số hiệu ngắt mềm. 
 + Các ngoại lệ 
 Ngắt NMI t−ơng d−ơng với ngắt mềm số 2 (INT 2). 
1. Xử lý ngắt 
- Ghi nhận đặc tr−ng gây ngắt (xác định mức −u tiên, ch−ơng trình phục vụ 
ngắt). 
- L−u trạng thái của tiến trình bị ngắt: cờ, các thanh ghi đoạn, con trỏ 
lệnh… 
- Chuyển địa chỉ của ch−ơng trình phục vụ ngắt và thanh ghi con trỏ lệnh 
của CPU. 
- Thực hiện ch−ơng trình ngắt. 
- Khôi phục và thực hiện tiếp ch−ơng trình ngắt. 
Nếu có nhiều yêu cầu ngắt đồng thời thì CPU −u tiên theo mức −u tiên từ cao 
đến thấp : 
1. Ngắt mềm ( chia cho 0 INT 0, tràn INT 4, INT N ). 
2. Ngắt phần cứng NMI. 
3. Ngắt phần cứng INTR. 
 8
4. Ngắt chạy từng lệnh INT 1. 
• Một số ngắt mềm : 
Số hiệu ngắt ý nghĩa 
INT 0 Chia cho 0 
INT 1 Chạy CT từng b−ớc 
INT 2 NMI 
INT 3 Dừng ch−ơng trình 
INT 4 Tràn 
INT 5 In ra màn hình 
INT 6 Dự trữ 
INT 7 Dự trữ 
INT 8 Timer 
INT 9 Bàn phím 
INT 0A Ngắt của 8259A Slave 
INT 0B COM2 
INT 0C COM 1 
INT 0D LPT 2 
INT 0E ổ đĩa mềm 
INT 0F LPT1 
INT 10 Thiết lập màn hình 
INT 20 Kết thúc ch−ơng trình 
INT 21 Kết thúc ch−ơng trình 
V.4. Quản lý file 
1. Mục đích 
- L−u trữ dữ liệu để sử dụng khi cần thiết 
- Chia sẻ dữ liệu 
 9
Yêu cầu : 
- Những khó khăn trong việc tổ chức, l−u trữ và tìm kiếm phải trở nên trong 
suốt đối với ng−ời dùng. 
- An toàn dữ liệu : 
 + bảo đảm toàn vẹn dữ liệu, không bị thay đổi 
 + không bị truy cập bất hợp lệ. 
2. Cách quản lý file: 
• Cách tổ chức l−u trữ 
- Thiết bị l−u trữ tuần tự : băng từ 
Các file phải ghi tuần tự nh−ng tr−ớc mỗi file bao giờ cũng có các thông tin về 
các tham số của file : tên, kích th−ớc, ngày giờ tạo file.. 
- Thiết bị l−u trữ ngẫu nhiên : đĩa từ 
Các file đ−ợc tổ chức theo mô hình phân cấp ( d−ới dạng cây) bao gồm các th− 
mục và file. 
o Cấu trúc vật lý của ổ đĩa từ 
o Cấu trúc logic 
 Đĩa cứng có thể phân chia thành các phân vùng độc lập. 
 DOS dùng đầu 0, đạo 0, cung 1 để l−u trữ các thông tin về phân vùng. Cung 
này đ−ợc gọi là cung phân vùng, chứa bảng phân vùng (partition table). Bảng phân 
vùng có điểm vào phân vùng ( partition entry). Mỗi điểm vào là một giá trị 16 byte 
chứa thông tin về các phân vùng. 
Vị trí (H) Kích th−ớc 
( byte) 
Nội dung 
00 
01 
1 
3 
Loại phân vùng ( 80H : khởi động đ−ợc 
00 : không khởi động đ−ợc ) 
Nơi bắt đầu phân vùng ( đầu : 1 byte, track : 10 bit, sector 
: 6 bit) 
04 
1 
Dạng hệ tệp ( 0: non-Dos; 1 : Dos, FAT12; 4: Dos, 
Fat16..) 
 10
05 3 Nơi bắt đầu phân khu ( đầu : 1 byte, track : 10 bit, sector : 
6 bit) 
08 4 Cung bắt đầu phân khu 
0C 4 Số cung trong phân khu 
Các hệ tệp : 
- FAT : MS- DOS, Windows 3.x, Windows 95 
- FAT32 : Windows 95 OSR2, Windows 98 
- NTFS : Windows NT, Windows 2000 
- VFS : Linux ( minix, ext, ext2,ext3…) 
1. FAT 
Đ−ợc phát minh vào năm 1977 và đ−ợc sử dụng trong HĐH Ms-Dos từ năm 
1981. Hệ tệp này bao gồm FAT12 (cho đĩa mềm) và FAT16 cho đĩa cứng. Đơn vị 
logic nhỏ nhất của đĩa là một khối ( block hay cluster). FAT hay các hệ tệp khác 
đều xử lý đĩa nh− một chuỗi tuyến tính các khối dữ liệu. 
DOS quản lý đĩa theo ph−ơng pháp tuyến tính, có nghĩa là mỗi khối đều đ−ợc 
gán một số thứ tự ( hay địa chỉ tuần tự từ thấp đến cao). Một cluster của Dos cũ chỉ 
chứa đ−ợc 1 sector, 1 sector có 29 = 512 byte và số sector đ−ợc FAT16 quản lý là 
216. Do đó Dos chỉ quản lý đ−ợc tối đa : 29x216 = 225 = 32 MB. 
Không gian l−u trữ của một ổ đĩa chỉ đ−ợc chia thành những phần sau: 
• Boot sector : gồm cung số 0 ( hay 512 byte đầu tiên của đĩa.. 
• Bảng FAT : ghi thông tin về vị trí của từng cluster. Mỗi đề mục FAT dài 12,16 
hay 32 bit t−ơng ứng với FAT12, FAT16, FAT32. 
Đĩa mềm 1,44MB dành 9 sector cho bảng FAT. 
• Th− mục gốc : nằm kế tiếp bảng FAT. Th− mục gốc chứa các thông tin về tập 
tin hay các th− mục con khác trên đĩa. 
• Vùng dữ liệu : Sau th− mục gốc là vùng dữ liệu. 
2. FAT32 
 11
• Tên tệp có thể dài tối đa 255 ký tự. Khi l−u trữ một tên tệp dài hơn 8 ký tự, nó 
sẽ tạo ra hai tên khác nhau: 
+ Tên dài ( <255 lý tự ) mà Windows đọc đ−ợc 
+ Tên ngắn ( 8 ký tự tên, 3 ký tự phần mở rộng) để t−ơng thích với FAT16. 
• FAT32 quản lý đ−ợc ổ có dung l−ợng 2 Terabyte = 241 byte. 
3. NTFS : 
Nguyên tắc quản lý tệp của Windows NT t−ơng tự nh− Unix : tệp ảo ( virtual 
file). Một tệp ảo là bất cứ nguồn hay đích dữ liệu nào. Có nghĩa là mọi thiết bị 
ngoại vi và ngay cả thiết bị trong mạng cũng đ−ợc coi nh− là một tệp dữ liệu ảo. 
Ch−ơng trình xử lý các thiết bị ngoại vi coi chúng nh− một tệp dữ liệu bình th−ờng. 
4. EXT2 
Linux có khả năng quản lý nhiều hệ tệp. Để thực hiện đ−ợc điều này, HĐH và 
ổ đĩa đ−ợc tách rời bởi một lớp giao diện đ−ợc gọi là hệ tệp ảo VFS. Linux có khả 
năng quản lý đ−ợc 15 hệ tệp (1999) : Minix, Ext, Ext2, Fat16, Vfat (FAT32) … 
Minix là hệ tệp đầu tiên của Linux do Linux Torvard thiêt kế, có khả năng 
quản lý tên tệp dài 14 kí tự, kích th−ớc tệp tối đa 64MB. Vào 4-1992 , hệ Ext trở 
thành hệ tệp chính thức của Linux. Ext có nhiều nh−ợc điểm và đ−ợc thay thế bởi 
Ext2 vào năm 1993. 
• Bảo vệ dữ liệu 
Quản lý truy nhập : 
Quyền truy nhập file hay thao tác, xử lý dữ liệu trong file phụ thuộc vào ng−ời 
sử dụng và file cụ thể. Trên thực tế, ng−ời ta sử dụng chế độ phân lớp ng−ời sử dụng 
và đối với mỗi lớp có một số quyền truy nhập nhất định. Những lớp cơ bản là : 
1. Ng−ời quản trị ( administrator, root) 
2. Ng−ời tạo file (owner) 
3. Những ng−ời sử dụng trong cùng một nhóm 
4. Những ng−ời sử dụng bình th−ờng ( user, other) 
Các quyền truy nhập đối với file là : 
Quyền Mô tả Sự cho phép cá nhân 
 12
Đọc Cho phép ng−ời sử dụng xem 
nội dung của tập tin 
Ghi Cho phép ng−ời dùng thay đổi 
nội dung của tập tin 
Thi hành Cho phép thực thi tập tin 
Sửa đổi Cho phép ng−ời sử dụng đọc, 
thay đổi, xoá tập tin 
Toàn quyền Cho phép tất cả các quyền trên 
Trong Linux : 
# ls –l /usr 
-rwxr-x--- 1 root group 444 Oct 24 5:01 test.txt 
drwxr-xr-x 15 root root 4096 Oct 24 20:37 usr 
Đối với th− mục thì quyền x cho phép ta chuyển đến th− mục đó bằng lệnh cd, 
và do đó ta cũng có thể vào các th− mục con của nó. 
Các lệnh xử lý file : 
- Tạo file 
- Hiển thị nội dung file 
- Thay đổi nội dung file 
- Di chuyển file 
- Sao chép file 
- Xóa file 

File đính kèm:

  • pdfGiáo trình Hệ điều hành - Chương 5 Quản lý thiết bị.pdf