Nguyên lý phân cấp trong tổ chức và quản lý thiết bị ngoại vi

Một phần của tài liệu bài giảng hệ điều hành đại học bách khoa hà nội (Trang 32)

a. Giới thiệu

Thiết bị ngoại vi hết sức đa dạng, phong phú về chủng loại và có thể gắn vào vào hệ thống với số l−ợng lớn. Ngoài các thiết bị chuẩn có tính chất bắt buộc do ng−ời sản xuất cung cấp nh− bàn phím, màn hình, chuột các hệ thống tính toán phải luôn có tính mở tức là khả năng giao tiếp với số l−ợng tuỳ ý các thiết bị ngoại vi bổ xung. Điều này là cần thiết vì hệ thống tính toán phải sẵn sàng có thể sử dụng cho một môi tr−ờng bất kỳ.

Ví dụ: Máy tính có thể gắn vào máy đọc thẻ để kiểm tra nhân viên có đi làm hay không? để hạn chế sự xâm phạm trái phép.

Nói chung cấu tạo và chức năng của các thiết bị ngoại vi là khác nhau. Ví dụ: màn hình là thiết bị ra chuẩn, bàn phím là thiết bị vào chuẩn. Tuy chúng đều là thiết bị chuẩn nh−ng rõ ràng cấu tạo và hoạt động của hai thiết bị này khác nhau rất nhiều. Hơn nữa các tính hiệu điều khiển đ−ợc truyền đến các thiết bị sẽ điều khiển thao tác hiện hành của nó. Rất khó để có các tín hiệu riêng cho từng chức năng riêng của các thiết bị bao gồm cả các thiết bị có thể đ−ợc thêm vào trong suốt thời gian tồn tại của hệ thống. Ví dụ: 1 tín hiệu của hệ thống đ−a đến máy in có thể hiểu là bỏ qua một dòng (dòng trắng) nh−ng lại có ý nghĩa là tua lại nếu tín hiệu đ−ợc đ−a đến ổ băng từ.

Chính vì vậy mà processor không thể làm việc trực tiếp với các thiết bị ngoại vi này mà chỉ làm việc với các thiết bị điều khiển (Device Controller).

Lê Tiến Dũng BM Công nghệ phần mềm Device Controller 1 Device Controller 2 DCn

IO Device 1 IO Device 2 IO Device m

Processor

Các thiết bị điều khiển này sẽ thông dịch tín hiệu điều khiển cho phù hợp với thiết bị ngoại vi gắn với nó và sẽ điều khiển thao tác t−ơng ứng với thiết bị.

Đối với một hệ thống máy tính các thiết bị điều khiển hoạt động nh−

những máy tính chuyên dùng (có hệ lệnh riêng và ch−ơng trình riêng). Một máy tính có thể có nhiều thiết bị điều khiển.

b. Kênh

Một thiết bị điều khiển và các thiết bị ngoại vi do nó điều khiển tạo thành một hệ thống hoạt động độc lập gọi là kênh. Một máy tính có thể có nhiều kênh, các kênh này phải có khả năng liên hệ với processor.

- Kênh đơn và kênh bó:

Nếu thiết bị điều khiển làm việc trực tiếp với thiết bị vào ra ta có kênh đơn.

Kênh bó có kênh có nhiều kênh đơn, tức là thiết bị điều khiển lại điều khiển các thiết bị điều khiển khác.

TBĐK 1 TBĐK 2 IO Device

IO Device 11 IO Device 12

Device Controller

Lê Tiến Dũng BM Công nghệ phần mềm

- Trao đổi vào ra với kênh

Để thực hiện một phép trao đổi vào ra ở một kênh nào đó thì processor phải tạo ra ch−ơng trình trên ngôn ngữ của thiết bị điều khiển (còn gọi là ch−ơng trình kênh). Tiếp theo processor chuyển giao ch−ơng trình kênh cùng với dữ liệu cần thiết cho kênh. Sau đó processor tiếp tục thực hiện công việc của mình.

Nh− vậy các công việc của kênh đ−ợc thực hiện song song với công việc của processor điều này làm tăng tốc độ chung của cả hệ thống.

Khi kênh thực hiện xong công việc của mình kênh sẽ báo về cho processor d−ới dạng ngắt vào/ra cùng với mã kết quả thực hiện công việc (return code). Tín hiệu ngắt có thể đ−ợc xử lý ngay lập tức hay phải chờ đợi hoặc thậm chí bị huỷ bỏ nếu processor thấy không cần thiết. Mã kết quả bao giờ cũng đ−ợc l−u trữ để chờ processor xử lý.

Khi processor dừng công việc của mình để đánh giá công việc thực hiện của kênh (tín hiệu ngắt đ−ợc xử lý), processor sẽ lấy mã trở về từ kênh. Nếu mã cho biết kênh thực hiện tốt đẹp thì processor có thể giao tiếp công việc mới cho kênh (nếu còn). Ng−ợc lại, processor có thể yêu cầu kênh thực hiện lại công việc. Nếu sau n lần (phụ thuộc vào từng hệ điều hành) vẫn không đ−ợc ta mới nhận đ−ợc thông báo lỗi.

Ngôn ngữ kênh có thể đ−ợc đ−a vào hệ thống khi nạp hệ điều hành hoặc có thể đ−ợc cung cấp cho processor ngay khi hệ thống hoạt động.

Đối với MSDOS giải quyết bằng các đ−a các câu lệnh điều khiển thiết bị trong CONFIG.SYS hoặc thực hiện các ch−ơng trình cung cấp ngôn ngữ kênh trong khi hệ điều hành đang làm việc.

- Ví dụ

Đối với thiết bị ngoại vi chuột

+ Ta có thể đ−a vào tệp config.sys câu lệnh Device = C:\mouse\mouse.sys

+ Hoặc thực hiện ch−ơng trình Mouse.com (adsbygoogle = window.adsbygoogle || []).push({});

- Ví dụ (mở rộng nói thêm): tạo ổ đĩa ảo

Device = c:\windows\Ramdrive.sys 200

Tạo một đĩa ảo (RAM disk) kích th−ớc 200K, nếu chỉ có ổ mềm A: thì ổ đĩa này sẽ là đĩa B:

Một phần của tài liệu bài giảng hệ điều hành đại học bách khoa hà nội (Trang 32)