« Home « Kết quả tìm kiếm

Giáo Trình Hệ Điều Hành –quản lý hệ thống nhập,xuất


Tóm tắt Xem thử

- QUẢN LÝ HỆ THỐNG NHẬP/XUẤT.
- Hiểu các dịch vụ nhập/xuất được cung cấp bởi hệ điều hành.
- Vai trò của hệ điều hành trong nhập/xuất máy tính là quản lý và điều khiển các thao tác nhập/xuất và các thiết bị nhập/xuất.
- Điều khiển các thiết bị được nối kết 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, và 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 một hệ thống 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 hai xu hướng trái ngược nhau.
- 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ó.
- Xu hướng thứ hai, chúng ta tăng sự đa dạng của các thiết bị.
- nhập/xuất.
- Thiết bị mới là rất khác với các 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ủa chúng ta.
- Các thành phần 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 được chỉ dẫn để dùng các modules 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..
- IV 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 (card mạng, modem) và thiết bị giao diện người 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 hay thậm chí qua không khí.
- Các 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.
- Khi thiết bị A có một cáp gán vào thiết bị B, thiết bị B có một cáp gán vào thiết bị C và thiết bị C gán vào 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.
- Nó đọc thanh ghi xuất dữ liệu để lấy một byte và thực hiện nhập/xuất tới thiết bị..
- Bộ điều khiển xoá bit sẳn sàng nhận lệnh, xoá bit lỗi trong thanh ghi trạng thái để hiển thị rằng thiết bị nhập/xuất thành công, và xoá bit bận để hiển thị rằng nó được kết thúc..
- Nếu bộ điều khiển và thiết bị nhanh thì phương pháp này là một phương pháp phù hợp.
- Sau đó, máy tính làm thế nào để biết khi nào bộ điều khiển rảnh? Đối với một số thiết bị, máy tính phải phục vụ thiết bị nhanh chóng hoặc Biên soạn: Th.s Nguyễn Phú Trường - 09/2005 Trang 243.
- Trong nhiều kiến trúc máy tính, 3 chu kỳ lệnh CPU đủ để thăm dò một thiết bị:.
- Nhưng thăm dò trở nên không đủ khi được lặp lại nhiều lần, hiếm khi tìm một thiết bị sẳn sàng phục vụ trong lần thăm dò đầu tiên, trong khi cần dùng CPU để xử lý cho các công việc khác.
- Trong trường hợp như thế, sẽ hiệu quả hơn để sắp xếp bộ điều khiển phần cứng thông báo cho CPU khi nào thiết bị sẳn sàng phục vụ hơn là yêu cầu CPU lặp lại việc thăm dò cho việc hoàn thành nhập/xuất.
- Cơ chế phần cứng cho phép một thiết bị thông báo tới CPU được gọi là ngắt (interrupt)..
- Chúng ta nói rằng bộ điều khiển thiết bị sinh ra một ngắt bằng cách xác định tín hiệu trên dòng yêu cầu ngắt và bộ quản lý xoá ngắt bằng cách phục vụ thiết bị..
- Đối với một thiết bị thực hiện việc truyền lớn như ổ đĩa, nó sẽ lãng phí khi dùng bộ vi xử lý để theo dõi các bit trạng thái và đẩy dữ liệu vào thanh ghi điều khiển từng byte một.
- V Giao diện nhập/xuất ứng dụng.
- Trong phần này, chúng ta thảo luận các kỹ thuật cấu trúc và các giao diện cho hệ điều hành cho phép các thiết bị nhập/xuất được đối xử trong cách chuẩn, không đổi.
- Thí dụ, chúng ta giải thích một ứng dụng có thể mở một tập tin trên đĩa mà không biết loại đĩa đó là gì và các đĩa mới và các thiết bị khác có thể được thêm tới máy tính như thế nào mà không làm hệ điều hành bị gián đoạn..
- Đặc biệt, chúng ta có thể trừu tượng sự khác nhau chi tiết trong các thiết bị nhập/xuất bằng cách xác định một vài loại thông dụng.
- Sự khác biệt này được bao gói trong module nhân được gọi là trình điều khiển thiết bị (device driver) mà qui định bên trong được áp đặt cho mỗi thiết bị, nhưng được nhập vào một trong những giao diện chuẩn.
- Hình 0-3 Cấu trúc của nhân nhập/xuất.
- Mục đích của tầng chứa trình điều khiển thiết bị là che đậy sự khác biệt giữa các bộ điều khiển thiết bị từ hệ con nhập/xuất của nhân, nhiều lời gọi hệ thống nhập/xuất đóng gói các hành vi của thiết bị trong một vài lớp phát sinh để che đậy sự khác biệt từ các ứng dụng.
- Họ thiết kế các thiết bị mới tương thích với giao diện bộ điều khiển chủ đã có (như SCSI-2) hay họ viết các trình điều khiển thiết bị để giao tiếp phần cứng mới đối với các hệ điều hành phổ biến.
- Do đó, các thiết bị ngoại vi mới có thể được gán tới một máy tính mà không phải chờ nhà cung cấp hệ điều hành phát triển thêm mã..
- Tuy nhiên, đối với một số nhà sản xuất thiết bị phần cứng, mỗi loại hệ điều hành có chuẩn riêng của nó cho giao diện trình điều khiển thiết bị.
- Một thiết bị được cho có thể mang nhiều trình điều khiển-thí dụ, trình điều khiển cho MS-DOS, Windows 95/98, Windows NT/2000 và Solaris.
- Các thiết bị khác nhau trong nhiều hướng như được hiển thị trong hình XI-4..
- Hình 0-4 Các đặc điểm của các thiết bị nhập/xuất.
- Dòng ký tự hay khối: các thiết bị dòng ký tự chuyển từng byte một, ngược lại một thiết bị khối chuyển đơn vị là khối byte..
- Truy xuất tuần tự và ngẫu nhiên: thiết bị tuần tự chuyển dữ liệu theo một thứ tự cố định được định nghĩa bởi thiết bị, ngược lại người dùng của một thiết bị truy xuất ngẫu nhiên có thể chỉ dẫn thiết bị để tìm bất cứ vị trí lưu trữ dữ liệu sẳn có..
- Đồng bộ và bất đồng bộ: một thiết bị đồng bộ là một thiết bị thực hiện việc chuyển dữ liệu với số lần đáp ứng có thể đoán trước.
- Một thiết bị bất đồng bộ hiển thị số lần đáp ứng không đều đặn hay không thể đoán trước..
- Có thể chia sẻ hay tận hiến: một thiết bị có thể chia sẻ được dùng đồng hành bởi nhiều quá trình hay luồng.
- một thiết bị tận hiến thì không thể..
- Tốc độ thao tác: tốc độ thiết bị trải dài từ một vài byte trên giây tới một vài gigabyte trên giây..
- Đọc-viết, chỉ đọc, hay chỉ viết: một số thiết bị thực hiện cả hai nhập, xuất, nhưng một số thiết bị khác hỗ trợ chỉ một hướng dữ liệu.
- VI Hệ thống con nhập/xuất của nhân (kernel I/O subsytem).
- Một vài dịch vụ-định thời biểu, vùng đệm (buffering), vùng lưu trữ (cache), đặt trước thiết bị, quản lý lỗi- được cung cấp bởi hệ thống con nhập/xuất của nhân và xây dựng trên phần cứng và cơ sở hạ tầng trình điều khiển thiết bị..
- VI.1 Định thời biểu nhập/xuất.
- Định thời biểu có thể cải tiến năng toàn bộ lực hệ thống, có thể chia sẻ truy xuất thiết bị đồng đều giữa các quá trình và có thể giảm thời gian chờ đợi trung bình cho nhập/xuất hoàn thành.
- Người phát triển hệ điều hành cài đặt bộ định thời biểu bằng cách duy trì một hàng đợi cho mỗi thiết bị.
- Khi một ứng dụng phát ra một lời gọi hệ thống nhập/xuất nghẽn, yêu cầu được đặt vào hàng đợi cho thiết bị đó.
- Vùng đệm là một vùng bộ nhớ lưu trữ dữ liệu trong khi chúng được chuyển giữa hai thiết bị hay giữa thiết bị và ứng dụng.
- Lý do thứ hai cho việc sử dụng vùng là làm thích ứng giữa các thiết bị có kích thước truyền dữ liệu khác nhau..
- Sự khác nhau giữa vùng đệm là vùng lưu trữ là vùng đệm có thể giữ chỉ bản sao của thành phần dữ liệu đã có, ngược lại một vùng lưu trữ giữ vừa đủ một bản sao trên thiết bị lưu trữ nhanh hơn của một thành phần nằm ở một nơi nào khác.Vùng lưu trữ và vùng đệm có chức năng khác nhau nhưng đôi khi một vùng bộ nhớ có thể được dùng cho cả hai mục đích..
- VI.4 Vùng chứa và đặt trước thiết bị.
- Một vùng chứa (spool) là một vùng đệm giữ dữ liệu xuất cho một thiết bị như máy in mà không thể chấp nhận các dòng dữ liệu đan xen nhau.
- Các thiết bị và truyền nhập/xuất có thể bị lỗi trong nhiều cách, có thể là các lý do tạm thời như mạng trở nên quá tải, hay các lý do thường xuyên như trình điều khiển đĩa bị lỗi.
- Nhân dùng nhiều cấu trúc tương tự để ghi vết các nối kết mạng, giao tiếp thiết bị dạng ký tự và các hoạt động nhập/xuất khác..
- Hệ thống con nhập/xuất điều khiển.
- Quản lý không gian tên cho các tập tin và các thiết bị.
- Điều khiển truy xuất tới các tập tin và các thiết bị.
- Điều khiển hoạt động (thí dụ, một modem không thể tìm seek()).
- Cấp phát thiết bị.
- Định thời biểu nhập/xuất.
- Cấu hình và khởi tạo trình điều khiển thiết bị.
- Cấp cao hơn của hệ thống con nhập/xuất truy xuất thiết bị qua giao diện đồng nhất được cung cấp bởi các trình điều khiển thiết bị.
- Phần trước chúng ta mô tả việc bắt tay giữa một trình điều khiển thiết bị và bộ điều khiển thiết bị, nhưng chúng ta không giải thích cách hệ điều hành nối kết yêu cầu ứng dụng tới tập hợp dây mạng hay một sector đĩa xác định như thế nào.
- Các hệ điều hành hiện đại đạt được khả năng linh hoạt cao từ nhiều giai đoạn của bảng tra cứu trong đường dẫn giữa yêu cầu và bộ điều khiển thiết bị vật lý.
- Do đó, chúng ta có thể giới thiệu các thiết bị mới và trình điều khiển vào máy tính mà không biên dịch lại nhân.
- Thật vậy, một số hệ điều hành có khả năng nạp trình điều khiển thiết bị theo yêu cầu.
- Tại thời điểm khởi động, hệ thống đầu tiên thăm dò các bus phần cứng để xác định thiết bị nào hiện diện và sau đó hệ thống nạp các trình điều khiển cần thiết ngay lập tức hay khi được yêu cầu bởi một yêu cầu nhập/xuất đầu tiên..
- Cuối cùng, hệ con nhập/xuất gởi yêu cầu tới trình điều khiển thiết bị.
- 4) Trình điều khiển thiết bị cấp phát vùng đệm nhân để nhận dữ liệu và lập thời biểu nhập/xuất.
- Cuối cùng, trình điều khiển gởi lệnh tới bộ điều khiển thiết bị bằng cách viết vào thanh ghi điều khiển của thiết bị..
- 5) Trình điều khiển thiết bị thao tác trên phần cứng thiết bị để thực hiện truyền dữ liệu..
- 7) Bộ quản lý ngắt tương ứng nhận ngắt bằng bằng vector ngắt, lưu bất cứ dữ liệu cần thiết, báo hiệu trình điều khiển thiết bị và trả về từ ngắt..
- 8) Trình điều khiển thiết bị nhận tín hiệu, xác định yêu cầu nhập/xuất hoàn thành, xác định trạng thái yêu cầu và báo hiệu cho hệ con nhập/xuất nhân rằng yêu cầu đã hoàn thành..
- Nó đặt nhiều yêu cầu trên CPU để thực thi mã trình điều khiển thiết bị và định thời biểu quá trình công bằng và hiệu quả khi các quá trình này nghẽn và không nghẽn.
- Cắt giảm số lần dữ liệu phải được chép vào bộ nhớ trong khi truyền giữa thiết bị và ứng dụng..
- Di chuyển các hàm xử lý cơ bản vào phần cứng, để cho phép họat động của chúng trong các bộ điều khiển thiết bị đồng hành với các thao tác CPU và bus..
- Ở đây các chức năng nhập/xuất nên được cài đặt-trong phần cứng thiết bị, trong trình điều khiển thiết bị hay trong phần mềm ứng dụng? Chúng ta quan sát tiến trình được mô tả trong hình XI-6..
- Hình 0-6 Tiến trình mô tả chức năng thiết bị.
- Ngoài ra, bằng phát triển mã tại cấp ứng dụng, chúng ta tránh yêu cầu khởi động hay nạp lại trình điều khiển thiết bị sau mọi thay đổi tới mã..
- Năng lực cao nhất có thể đạt được bởi cài đặt chuyên dụng trong phần cứng, trong thiết bị hay trong bộ điều khiển.
- Các thành phần phần cứng cơ bản được nạp vào nhập/xuất là các bus, các bộ điều khiển thiết bị, và chính các thiết bị.
- Công việc chuyển dữ liệu giữa thiết bị và bộ nhớ chính được thực hiện bởi CPU khi nhập/xuất được lập trình, hay được chuyển tải tới bộ điều khiển DMA.
- Module nhân điều khiển một thiết bị là một trình điều khiển thiết bị.
- Các dịch vụ này là định thời biểu nhập/xuất, vùng đệm, vùng chứa, quản lý lỗi và đặt trước thiết bị.
- Một dịch vụ khác là dịch tên, để tạo nối kết giữa các thiết bị phần cứng và tên tập tin tượng trưng được dùng bởi ứng dụng.
- Nó liên quan nhiều cấp ánh xạ mà dịch từ tên chuỗi ký tự tới một trình điều khiển thiết bị xác định và địa chỉ thiết bị và sau đó tới địa chỉ vật lý của cổng nhập/xuất hay bộ điều khiển bus.
- Các lời gọi hệ thống nhập/xuất tính chi phí theo thuật ngữ tiêu tốn CPU vì nhiều lớp phần mềm giữa thiết bị vật lý và ứng dụng.
- Các lớp này ngụ ý chi phí chuyển ngữ cảnh để đi qua phạm vi bảo vệ của nhân, của tín hiệu và bộ quản lý ngắt để phục vụ các thiết bị nhập/xuất, và của tải trên CPU và hệ thống bộ nhớ để chép dữ liệu giữa vùng đệm nhân và không gian ứng dụng.

Xem thử không khả dụng, vui lòng xem tại trang nguồn
hoặc xem Tóm tắt