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.
ì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:
- Giáo trình Hệ điều hành - Chương 5 Quản lý thiết bị.pdf