5.3.Phần mềm nhập/xuất

Một phần của tài liệu Bài giảng Nguyên lý điều hành (Trang 126)

Local FSD (FSD cục bộ): Các Local FSD bao gồm các tập tin: Ntfs.sys, Fastfat.sys, Cdfs.sys và Raw FSD (được tích hợp trong Ntoskrnl.exe). Hình sau đây cho thấy cách Local FSD tương tác với quản lý nhập xuất và các thiết bị lưu trữ. Các local FSD chịu trách nhiệm đăng ký với bộ phận quản lý nhập xuất , khi FSD đã đăng ký thì bộ phận quản lý nhập xuất có thể gọi nó để thực hiện việc xác nhận volume khi các ứng dụng hoặc các hệ thống khởi tạo truy cập đến Volume.

Việc xác nhận volume bao hàm việc kiểm tra Boot Sector của Volume và các thông tin hệ thống khác. Sector đầu tiên của mọi dạng thức hệ thống tập tin được hỗ trợ bởi Windows 2000 đều được dành riêng cho boot Sector của volume. Boot Sector chứa đầy đủ thông tin cần thiết để local FSD vừa nhận biết mà Sector trên đó đang chứa một dạng thức mà FSD quản lý và tìm kiếm bất kỳ một metadata khác được lưu trữ trên đĩa.

Application Application

I/O manager

File system driver File system driver

Storage Device Drivers

Logical volume (partition) User mode

Để cải tiến hiệu suất, các local FSD thường sử dụng hệ thống quản lý Cache để Cache dữ liệu của hệ thống tập tin bao gồm cả Metadata.

Các Network/Remote FSD (FSD mạng/từ xa): Các Remote FSD bao gồm 2 thành phần: một Client và một Server. Các Client remote FSD cho phép các ứng dụng truy cập đến các tập tin và các thư mục ở xa.

Client FSD chấp nhận các yêu cầu nhập/xuất từ các ứng dụng và chuyển nó thành các lệnh trong các giao thức về hệ thống tập tin của mạng để thông qua mạng nó được chuyển đến Server Remote FSD. Server FSD lắng chờ các lệnh được đưa đến từ kết nối mạng và thực hiện cách đưa ra yêu cầu nhập/xuất đến bộ phận quản lý local FSD (Local FSD Manages) của volume chứa các tập tin và các thư mục mà lệnh có ý định xử lý nó. Hình 4 .55 cho thấy một tương tác giữa Client và Server trong hệ thống Remote FSD.

Cũng giống như các local FSD, các Client Remote FSD thường sử dụng những dịch vụ của bộ phận quản lý Cache để che giấu dữ liệu của các tập tin cục bộ và các thư mục ở xa. Các Server Remote FSD tham gia vào việc duy trì các kết nối đến Cache thông qua các Client Remote FSD

Hình 4.55. FSD mạng

4.3. Các hệ thống quản lý tập tin trên các hệ điều hành hiện nay

- FAT12, FAT16, FAT32: Hệ thống tập tin FAT12 và FAT16 được Microsoft đưa ra sử dụng từ hệ điều hành MS-DOS, hệ thống tập tin FAT32 được Microsoft đưa ra sử dụng từ hệ điều hành Windows98. Hệ điều hành WindowsNT/2000 vẫn sử dụng các hệ thống tập tin FAT này nhưng linh hoạt hơn.

Mỗi loại FAT có một con số để chỉ ra số lượng bit mà hệ thống tập tin sử dụng để nhận dạng các Cluster trên đĩa. FAT12 sử dụng 12 bit để định danh các Cluster trên đĩa, do đó với FAT12 hệ thống tập tin chỉ quản lý được 4096 ( 212 = 4096) Cluster trên đĩa. Hệ điều hành windows 2000 cho phép các Cluster có kích thước từ 512 byte đến 8Kb, vậy với FAT12 Windows 2000 có thể quản lý được 32Mb đĩa, điều này có nghĩa windows 2000 chỉ dùng FAT12 để quản lý các đĩa mềm.

Kích thước Volume Kích thước Cluster 0-32 MB 512 byte 32 Mb – 64 Mb 1 Kb 65 Mb – 128 Mb 2 Kb 129 Mb – 256 Mb 4 Kb 257 Mb – 512 Mb 8 Kb 513 Mb – 1023 Mb 16 Kb 1024 Mb – 2047 Mb 32 Kb 2048 Mb – 4095 Mb 64 Kb

Trên các hệ thống tập tin FAT16, Windows 2000 cho phép kích thước Cluster đi từ 512 byte đến 64Kb, nên với FAT16 Windows 2000 có thể quản lý một không gian đĩa lên đến 4Gb. Khi người sử dụng Format đĩa, tùy theo dung lượng đĩa mà Windows 2000 quyết định sử dụng hệ thống tập tin nào: FAT12, FAT16 hay FAT32.

Trong Windows 2000 kích thước Cluster được chọn phụ thuộc vào dung lượng của ổ đĩa. Bảng 4 .8 cho thấy kích thước Cluster được chọn, phụ thuộc vào dung lượng Volume, trên hệ thống tập tin FAT16.

Hệ thống tập tin FAT32 được định nghĩa dựa trên các hệ thống tập tin FAT. Trong thực tế FAT32 sử dụng chỉ sử dụng 28 bit, thay vì 32 bit, để định danh các Cluster trên đĩa, vì đã dành riêng 4 bit cao cho mục đích khác. Kích thước của 1 Cluster trên hệ thống FAT32 có thể lên đến 32Kb, nên theo lý thuyết thì FAT32 có thể quản lý đến 8Tb dung lượng Partition/đĩa. Nhưng trong thực tế Windows 2000 chỉ dùng FAT32 trên các Partition/đĩa có kích thước nhỏ hơn 32Gb.

Sau đây là một số thuận lợi của FAT32 so với FAT12 và FAT16:

 Số phần tử/mục vào (Entry) trên thư mục gốc không có giới hạn.

 Thư mục gốc không cần lưu trữ tại một vị trí xác định trước.

 Kích thước của một Cluster có thể lên đến 32Kb nên nó có thể quản lý được 8Tb, nhưng trong thức tế Windows 2000 chỉ dùng FAT32 để quản lý có Partition/đĩa có kích thước nhỏ hơn 32Mb.

 Chỉ dùng 28 bit để định danh các Cluster, dùng 4 bit cao cho mục đích khác.

 Lưu trữ một bản Copy của Boot Sector.

 Có hai bảng FAT trên một Volume nhưng cả hai đều có vai trò như nhau.

 Kích thước của tập tin có thể lên đến 4Gb.

 Hệ thống tập tin FAT32 không được hệ điều hành sử dụng định dạng đĩa mềm.

- NTFS: Là hệ thống tập tin dành riêng cho WindowsNT/2000. NTFS dùng 64 bit để định danh các Cluster, nên nó có thể quản lý được các ổ đĩa có dung lượng lên đến 16 Exabyte (16 tỉ Gb). Trong thực tế WindowsNT/2000 chỉ sử dụng 32 bit để định danh Cluster, kích thước Cluster là 64Kb, nên NTFS chỉ có thể quản lý được các ổ đĩa có dung lượng lên đến 128TB.

NTFS có một số tính năng cao cấp như bảo mật các File/Directory, cấp hạn ngạch cho đĩa, nén tập tin, mã hóa tập tin, … Một trong những tính năng quan trọng của NTFS là khả năng phục hồi lỗi. Nếu hệ thống bị dừng một cách đột ngột, thì metadata của ổ đĩa FAT sẽ rơi vào tình trạng xung khắc dẫn đến làm sai lệch một lượng lớn dữ liệu tập tin và thư mục. Nhưng trên NTFS thì điều này không thể xảy ra, tức là cấu trúc của File/Directory không bị thay đổi.

Tên tập tin trong NTFS có độ dài không quá 255 ký tự, đường dẫn đầy đủ đến tập tin dài không quá 32.567 ký tự. Tên tập tin sử dụng mã UniCode. Tên tập tin trong NTFS có sự phân biệt giữa chữ hoa và chữ thường

- CDFS: Là hệ thống tập tin được đưa ra để quản lý các tập tin, thư mục trên các đĩa CD_ROM. CDFS được ISO đưa ra vào năm 1998 theo chuẩn ISO9660, sau đó Microsoft phát triển theo đặc thù của nó để sử dụng trên windows98 và sau đó là WindowsNT/2000. Dạng thức hệ thống tập tin CDFS còn một số hạn chế như: Tên tập tin và thư mục dài không quá 32 ký tự, cây thư mục không sâu quá 8 mức.

- UDF: Được Windows 2000 phát triển dựa theo chuẩn ISO 13346 để thay thế cho CDFS, và dùng để quản lý các đĩa từ-quang, chủ yếu là các đĩa DVD_ROM. UDF bao gồm cả các đặc tả DVD và có các điểm tiêu biểu sau: Tên tập tin có thể dài đến 255 ký tự không phân biệt chữ hoa và chữ thường, đường dẫn có thể dài đến 1023 ký tự.

4.4. Câu hỏi và bài tập

1. Các khái niệm dùng trong quản lý đĩa : Track, Sector, Cluster, Cylinder. 2. Tập tin là gì ? Thư mục là gì ? Tại sao phải quản lý tập tin và thư mục ? 3. Tập tin có những đặc tính gì ? Những đặc tính nào là quan trọng ? Tại sao ? 4. Nêu các chức năng của tập tin và thư mục.

5. Vai trò của bảng thư mục và tập tin chia sẻ.

6. Quản lý không gian đĩa và và các Block chứa tập tin trên đĩa. 7. So sánh các phương pháp cài đặt bảng phân phối vùng nhớ. 8. Bảo về tập tin và hiệu suất tập tin.

CHƯƠNG 5

QUẢN LÝ HỆ THỐNG NHẬP/XUẤT

Một trong những chức năng chính của hệ điều hành là quản lý tất cả những thiết bị nhập/xuất của máy tính. Hệ điều hành phải ra các chỉ thị điều khiển thiết bị, kiểm soát các ngắt và lỗi. Hệ điều hành phải cung cấp một cách giao tiếp đơn giản, tiện dụng giữa các thiết bị, phần còn lại của hệ thống và giao tiếp này phải độc lập với thiết bị. Chúng ta tìm hiểu cơ chế quản lý nhập/xuất của hệ điều hành một cách tổng quát để từ đó hiểu rõ hơn về quá trình nhập xuất diễn ra trên máy tính thông qua hệ điều hành, cơ chế tương tác giữa hệ điều hành và các thiết bị nhập/xuất.

5.1. Hệ thống quản lý nhập/xuất

Điều khiển các thiết bị được kết nối tới máy tính là mối quan tâm chủ yếu của người thiết kế hệ điều hành. Vì các thiết bị nhập/xuất rất khác nhau về chức năng và tốc độ (xem xét chuột, đĩa cứng, CD-ROM) nên sự đa dạng về phương pháp là cần thiết điều khiển chúng. Các phương pháp này hình thành hệ thống quản lý nhập xuất con (I/O Subsystem) của nhân, tách rời phần còn lại của nhân từ sự phức tạp của việc quản lý các thiết bị nhập xuất.

Công nghệ thiết bị nhập xuất thể hiện 2 xu hướng trái ngược nhau:

+ Thứ nhất: Chúng ta tăng sự chuẩn hóa của phần mềm và giao diện phần cứng, xu hướng này giúp chúng ta hợp tác những thế hệ thiết bị được cải tiến vào các máy tính và hệ điều hành đã có.

+ Thứ hai: Chúng ta tăng sự đa dạng của thiết bị nhập xuất. Thiết bị mới là rất khác với thiết bị trước đó đã tạo ra một trở ngại để hợp nhất chúng vào máy tính và hệ điều hành đã có. Trở ngại này được giải quyết bởi sự kết hợp giữa kỹ thuật phần cứng và phần mềm. Các thành phần cứng nhập xuất cơ bản như cổng, bus và bộ điều khiển thiết bị chứa trong một dãy rộng các thiết bị nhập xuất. Để đóng gói các chi tiết và sự khác biệt của các thiết bị khác nhau, nhân của hệ điều hành chỉ dẫn để dùng các Modul trình điều khiển thiết bị. Các trình điều khiển thiết bị (Device Driver) hiện diện một giao diện truy xuất thiết bị đồng nhất tới hệ thống con nhập/xuất, như các lời gọi hệ thống cung cấp một giao diện chuẩn giữa ứng dụng và hệ điều hành.

5.2. Phần cứng nhập/xuất

Các máy tính điều hành nhiều loại thiết bị, hầu hết chúng thuộc các chủng loại phổ biến như thiết bị lưu trữ (đĩa, băng từ), thiết bị truyền thông (Card mạng, Modem) và thiết bị giao diện người sử dụng (màn hình, bàn phím, chuột),.. Mặc dù có sự đa dạng về các thiết bị nhập/xuất, nhưng chúng ta chỉ cần hiểu một vài khái niệm như các thiết bị được gán như thế nào và phần mềm có thể điều khiển phần cứng như thế nào.

Một thiết bị giao tiếp với một hệ thống máy tính bằng cách gởi các tín hiệu qua dây cáp. Cái thiết bị giao tiếp với máy bằng một điểm nối kết (cổng-Port) như cổng tuần tự. Nếu một hay nhiều thiết bị dùng một tập hợp dây dẫn, nối kết được gọi là bus. Một bus là tập hợp dây dẫn và giao thức được định nghĩa chặt chẽ để xác định tập hợp các thông điệp có thể được gởi qua dây. Trong thuật ngữ điện tử, các thông điệp được truyền bởi các mẫu điện thế điện tử được áp dụng tới dây dẫn với thời gian được xác định. Khi thiết bị A có một cáp gắn vào thiết bị B, thiết bị B có cáp gắn vào thiết bị C

và thiết bị C gắn vào với một cổng máy tính, sự sắp xếp này được gọi là chuỗi nối tiếp. Một chuỗi các nối tiếp được điều hành như một Bus.

5.2.1. Thiết bị nhập/xuất

Các thiết bị nhập xuất chia thành hai loại đó là: Thiết bị khối và thiết bị tuần tự.

- Thiết bị khối: Là thiết bị mà thông tin được lưu trữ trong những khối có kích thước cố định và được định vị bởi địa chỉ. Kích thước thông thường của một khối là khoảng từ 128 bytes đến 1024 bytes. Đặc điểm của thiết bị khối là chúng có thể được truy xuất (đọc hoặc ghi) từng khối riêng biệt và chương trình có thể truy xuất một khối bất kỳ nào đó. Đĩa là một ví dụ cho loại thiết bị khối.

- Thiết bị tuần tự: Ở dạng thiết bị này, việc gởi và nhận thông tin dựa trên là chuỗi các bits, không có xác định địa chỉ và không thể thực hiện thao tác seek được. Màn hình, bàn phím, máy in, card mạng, chuột, và các loại thiết bị khác không phải dạng đĩa là thiết bị tuần tự.

Việc phân chia các lớp như trên không hoàn toàn tối ưu, một số các thiết bị không phù hợp với hai lớp trên, ví dụ: đồng hồ, bộ nhớ màn hình,... không thực hiện theo cơ chế tuần tự các bits. Ngoài ra, người ta còn phân loại các thiết bị nhập/xuất dưới một tiêu chuẩn khác:

- Thiết bị tương tác được với con người: Dùng để giao tiếp giữa người và máy. Ví dụ: màn hình, bàn phím, chuột, máy in ...

- Thiết bị tương tác trong hệ thống máy tính: Là các thiết bị giao tiếp với nhau. Ví dụ: đĩa, băng từ, card giao tiếp...

- Thiết bị truyền thông: Như Modem...

Những điểm khác nhau giữa các thiết bị nhập/xuất gồm: Tốc độ truyền dữ liệu, đơn vị truyền dữ liệu (khối hoặc ký tự), biểu diễn dữ liệu, điều này tùy thuộc vào từng thiết bị cụ thể. Tình trạng lỗi, nguyên nhân gây ra lỗi, cách mà chúng báo về...

5.2.2. Tổ chức của chức năng nhập/xuất

Có ba cách để thực hiện nhập/xuất:

- Một là: Bộ xử lý phát sinh một lệnh nhập/xuất đến các đơn vị nhập/xuất, sau đó chờ trong trạng thái "busy" cho đến khi thao tác này hoàn tất trước khi tiếp tục xử lý.

- Hai là: Bộ xử lý phát sinh một lệnh nhập/xuất đến các đơn vị nhập/xuất, sau đó tiếp tục việc xử lý cho tới khi nhận được một ngắt từ đơn vị nhập/xuất báo là đã hoàn tất và tạm ngưng việc xử lý hiện tại để chuyển qua xử lý ngắt.

- Ba là: Sử dụng cơ chế DMA (sẽ được đề cập sau) Các bước tiến hóa của chức năng nhập/xuất.

- Bộ xử lý kiểm soát trực tiếp các thiết bị ngoại vi.

- Hệ thống có thêm bộ điều khiển thiết bị. Bộ xử lý sử dụng cách thực hiện nhập xuất thứ nhất. Theo cách này bộ xử lý được tách rời khỏi các mô tả chi tiết của các thiết bị ngoại vi.

- Bộ xử lý sử dụng thêm cơ chế ngắt.

- Sử dụng cơ chế DMA, bộ xử lý truy xuất những dữ liệu nhập/xuất trực tiếp trong bộ nhớ chính.

5.2.3. Bộ điều khiển thiết bị

Một đơn vị nhập xuất thường được chia làm hai thành phần chính là thành phần cơ và thành phần điện tử, trong đó phần điện tử gọi là bộ điều khiển.

Khái niệm bộ điều khiển thiết bị: là thành phần điện tử hay bộ tương thích trong thiết bị nhập xuât, trong các máy vi tính thường được gọi là card giao tiếp, thành phần cơ chính là bản thân thiết bị.

Một bộ phận điều khiển thường có bộ phận kết nối trên chúng để có thể gắn thiết bị lên đó. Bộ phận điều khiển có thể quản lý được hai, bốn hay thậm chí tám thiết bị khác nhau. Nếu giao tiếp giữa thiết bị và bộ phận điều khiển là các chuẩn như ANSI, IEEE hay ISO thì nhà sản xuất thiết bị và bộ điều khiển phải tuân theo chuẩn đó, ví dụ: bộ điều khiển đĩa được theo chuẩn giao tiếp của IBM.

Giao tiếp giữa bộ điều khiển và thiết bị là giao tiếp ở mức thấp.

Hình 5.56. Sự kết nối CPU, bộ nhớ, bộ điều khiển và thiết bị nhập xuất

Một phần của tài liệu Bài giảng Nguyên lý điều hành (Trang 126)