Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 18 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
18
Dung lượng
635,27 KB
Nội dung
Hỗ trợ ơn tập [ĐỀ CƯƠNG CHƯƠNG TRÌNH ĐẠI HỌC] Một chức hệ điều hành quản lý tất thiết bị nhập/xuất máy tính Hệ điều hành phải thịđiều khiển thiết bị, kiểm soát ngắt lỗi Hệ điều hành phải cung cấp cách giao tiếp đơn giản tiện dụng thiết bị phần lại hệ thống giao tiếp phải độc lập với thiết bị Chúng ta tìm hiểu hệ điều hành quản lý nhập/xuất với nội dung sau: -Khái niệm hệ thống nhập/ xuất -Phần cứng nhập / xuất -Phần mềm nhập / xuất Qua này, hiểu chế quản lý nhập/xuất hệ điều hành cách tổng quát Từ hiểu rõ trình nhập xuất diễn máy tính thơng qua hệ điều hành Bài học giúp cho việc tìm hiểu chế tương tác hệ điều hành thiết bị nhập/xuất cụ thể(đượcđề cập học sau) dễ dàng I.KHÁI NIỆM VỀ HỆ THỐNG QUẢN LÝ NHẬP/XUẤT Hệ thống quản lý nhập/xuất tổ chức theo lớp, lớp có chức định lớp có giao tiếp với sơ đồ sau : CÁC LỚP CHỨC NĂNG NHẬP/XUẤT Nhóm Sinh viên : Hồng Hữu Ngân ; Nguyễn Văn Tam ; Phạm Ngọc Diễn Lớp: Tin Mỏ K54 Hỗ trợ ơn tập [ĐỀ CƯƠNG CHƯƠNG TRÌNH ĐẠI HỌC] Ví dụ: Trong chương trình ứng dụng, người dùng muốn đọc khối từ tập tin, hệ điều hành kích hoạt để thực yêu cầu Phần mềm độc lập thiết bị tìm kiếm cache, khối cần đọc khơng có sẵn, gọi chương trình điều khiển thiết bị gửi yêu cầu đến phần cứng Tiến trình bị ngưng lại thao tác đĩa hoàn tất Khi thao tác hoàn tất, phần cứng phát sinh ngắt Bộ phận kiểm soát ngắt kiểm tra biến cố này, ghi nhận trạng thái thiết bị đánh thức tiến trình bị ngưng để chấm dứt yêu cầu I/O cho tiến trình người sử dụng tiếp tục thực hiện.[TAN] II PHẦN CỨNG NHẬP/XUẤT Có nhiều cách nhìn khác phần cứng nhập/xuất Các kỹ sư điện tử nhìn góc độ thiết bị IC, dây dẫn, nguồn, motor v.v….Các lập trình viên nhìn chúng góc độ phần mềm - lệnh thiết bị chấp nhận, chúng thực chức nào, thông báo lỗi chúng bao gồm gì, nghĩa quan tâm đến lập trình thiết bị khơng phải thiết bị hoạt động khía cạnh có liên quan mật thiết với thao tác bên chúng Phần đề cập đến số khái niệm phần cứng I/O liên quan đến khía cạnh lập trình II.1 Thiết bị I/O Các thiết bị nhập xuầt chia tương đối thành hai loại thiết bị khối thiết bị Nhóm Sinh viên : Hồng Hữu Ngân ; Nguyễn Văn Tam ; Phạm Ngọc Diễn Lớp: Tin Mỏ K54 Hỗ trợ ơn tập [ĐỀ CƯƠNG CHƯƠNG TRÌNH ĐẠI HỌC] Thiết bị khối thiết bị mà thông tin lưu trữ khối có kích thước cố định định vị địa Kích thước thông thường khối khoảng từ 128 bytes đến 1024 bytes Đặc điểm thiết bị khối chúng truy xuất (đọc ghi) khối riêng biệt, chương trình truy xuất khối Đĩa ví dụ cho loại thiết bị khối Một dạng thiết bị thứ hai thiết bị Ở dạng thiết bị này, việc gửi nhận thông tin dựa chuỗi bits, khơng có xác định địa thực thao tác seek Màn hình, bàn phím, máy in, card mạng, chuột, loại thiết bị khác dạng đĩa thiết bị Việc phân chia lớp khơng hồn tồn tối ưu, số thiết bị khơng phù hợp với hai lớp trên, ví dụ : đồng hồ, nhớ hình v.v khơng thực theo chế bits Ngoài ra, người ta phân loại thiết bị I/O tiêu chuẩn khác : Thiết bị tương tác với người : dùng để giao tiếp người máy Ví dụ : hình, bàn phím, chuột, máy in Thiết bị tương tác hệ thống máy tính thiết bị giao tiếp với Ví dụ : đĩa, băng từ, card giao tiếp Thiết bị truyền thồng : modem Những điểm khác thiết bị I/O gồm : Nhóm Sinh viên : Hoàng Hữu Ngân ; Nguyễn Văn Tam ; Phạm Ngọc Diễn Lớp: Tin Mỏ K54 Hỗ trợ ôn tập [ĐỀ CƯƠNG CHƯƠNG TRÌNH ĐẠI HỌC] Tốc độ truyền liệu , ví dụ bàn phím : 0.01 KB/s, chuột 0.02 KB/s Công dụng Đơn vị truyền liệu (khối ký tự) Biểu diễn liệu, điều tùy thuộc vào thiết bị cụ thể Tình trạng lỗi : nguyên nhân gây lỗi, cách mà chúng báo II.2 Tổ chức chức I/O Có ba cách để thực I/O : Một là, xử lý phát sinh lệnh I/O đến đơn vị I/O, sau đó, chờ trạng thái "busy" thao tác hoàn tất trước tiếp tục xử lý Hai là, xử lý phát sinh lệnh I/O đến đơn vị I/O, sau đó, tiếp tục việc xử lý nhận ngắt từ đơn vị I/O báo hồn tất, tạm ngưng việc xử lý để chuyển qua xử lý ngắt Nhóm Sinh viên : Hồng Hữu Ngân ; Nguyễn Văn Tam ; Phạm Ngọc Diễn Lớp: Tin Mỏ K54 Hỗ trợ ơn tập [ĐỀ CƯƠNG CHƯƠNG TRÌNH ĐẠI HỌC] Ba là, sử dụng chế DMA (như đề cập sau) Các bước tiến hóa chức I/O : Bộ xử lý kiểm soát trực tiếp thiết bị ngoại vi Hệ thống có thêm điều khiển thiết bị Bộ xử lý sử dụng cách thực nhập xuất thứ Theo cách xử lý tách rời khỏi mô tả chi tiết thiết bị ngoại vi Bộ xử lý sử dụng thêm chế ngắt Sử dụng chế DMA, xử lý truy xuất liệu I/O trực tiếp nhớ II.3 Bộ điều khiển thiết bị Một đơn vị bị nhập xuất thường chia làm hai thành phần thành phần thành phần điện tử Thành phần điện tử gọi phậnđiều khiển thiết bị hay tương thích, máy vi tính thường gọi card giao tiếp Thành phần thân thiết bị Nhóm Sinh viên : Hồng Hữu Ngân ; Nguyễn Văn Tam ; Phạm Ngọc Diễn Lớp: Tin Mỏ K54 Hỗ trợ ơn tập [ĐỀ CƯƠNG CHƯƠNG TRÌNH ĐẠI HỌC] Một phận điều khiển thường có phận kết nối chúng để gắn thiết bị lên Một phận điều khiển quản lý hai, bốn hay chí tám thiết bị khác Nếu giao tiếp thiết bị phận điều khiển chuẩn ANSI, IEEE hay ISO nhà sản xuất thiết bị bộđiều khiển phải tuân theo chuẩn đó, ví dụ : điều khiển đĩa theo chuẩn giao tiếp IBM Giao tiếp điều khiển thiết bị giao tiếp mức thấp Chức điều khiển giao tiếp với hệ điều hành hệ điều hành khơng thể truy xuất trực tiếp với thiết bị Việc thông tin thông qua hệ thốngđường truyền gọi bus Công việc điều khiển chuyển đổi dãy bit khối byte thực sửa chửa cần thiết Thông thường khối byteđược tổ chức thành bit đặt buffer điều khiển Sau thực checksum nội dung buffer chuyển vào nhớ Ví dụ : điều khiển cho hình đọc byte ký tự để hiển thị nhớ tổ chức tín hiệu để điều khiển tia CRT để xuất ảnh cách qt tia dọc ngang Nếu khơng có điều khiển, lập trình viên hệ điều hành phải tạo thêm chương trình điều khiển tín hiệu analog cho đèn hình Với điều khiển , hệ điều hành cần Nhóm Sinh viên : Hồng Hữu Ngân ; Nguyễn Văn Tam ; Phạm Ngọc Diễn Lớp: Tin Mỏ K54 Hỗ trợ ơn tập [ĐỀ CƯƠNG CHƯƠNG TRÌNH ĐẠI HỌC] khởi động chúng với số tham số số ký tự dòng, số dòng hình điều khiển thực điều khiển tia Mỗi điều khiển có số ghi để liên lạc với CPU Trên số máy tính, ghi phần nhớ địa xác định gọi ánh xạ nhớ nhập xuất Hệ máy PC dành vùng địa đặc biệt gọi địa nhập xuất chia làm nhiều đoạn, đoạn cho loại thiết bị sau : Bộ điều khiển nhập/xuất Địa nhập/xuất Đồng hồ 040 - 043 Bàn phím 060 - 063 Nhóm Sinh viên : Hoàng Hữu Ngân ; Nguyễn Văn Tam ; Phạm Ngọc Diễn Lớp: Tin Mỏ K54 Vectơ ngắt [ĐỀ CƯƠNG CHƯƠNG TRÌNH ĐẠI HỌC] Hỗ trợ ơn tập RS232 phụ 2F8 2FF 11 Đĩa cứng 320 32F 13 Máy in 378 37F 15 Màn hình mono 380 3BF - Nhóm Sinh viên : Hồng Hữu Ngân ; Nguyễn Văn Tam ; Phạm Ngọc Diễn Lớp: Tin Mỏ K54 [ĐỀ CƯƠNG CHƯƠNG TRÌNH ĐẠI HỌC] Hỗ trợ ơn tập Màn hình màu 3D0 3DF - Đĩa mềm 3F0 3F7 14 RS232 3F8 3FF 12 Hệ điều hành thực nhập xuất cách ghi lệnh lên ghi điều khiển Ví dụ : điều khiển đĩa mềm IBMPC chấp nhận 15 lệnh khác : READ, WRITE, SEEK, FORMAT, RECALIBRATE, số lệnh có tham số tham số nạp vào ghi Khi lệnh chấp nhận, CPU rời điều khiển để thực công việc khác Sau thực xong, điều khiển phát sinh ngắt để báo hiệu cho CPU biết đến lấy kết lưu giữ ghi Nhóm Sinh viên : Hồng Hữu Ngân ; Nguyễn Văn Tam ; Phạm Ngọc Diễn Lớp: Tin Mỏ K54 Hỗ trợ ôn tập [ĐỀ CƯƠNG CHƯƠNG TRÌNH ĐẠI HỌC] II.4 DMA (Direct Memory Access) Đa số loại thiết bị, đặc biệt thiết bị dạng khối, hỗ trợ chế DMA (direct memory access) Để hiểu chế này, trước hết phải xem xét q trình đọc đĩa mà khơng có DMA Trước tiên, điều khiển đọc khối đĩa, bit bit toàn khối đưa vào buffer điều khiển Sau máy tính thực checksum để đảm bảo khơng có lỗi xảy Tiếp theo điều khiển tạo ngắt để báo cho CPU biết CPU đến lấy liệu buffer chuyển nhớ cách tạo vòng lặp đọc byte Thao tác làm lãng phí thời gian CPU Do để tối ưu, người ta đưa chế DMA Cơ chế DMA giúp cho CPU không bị lãng phí thời gian Khi sử dụng, CPU gửi cho điều khiển số thông số địa đĩa khối, địa nhớ nơi định vị khối, số lượng byte liệu để chuyển Sau điều khiển đọc toàn liệu từ thiết bị vào buffer kiểm tra checksum Bộ điều khiển chuyển byte vào nhớ địa mơ tả địa nhớ DMA Sau tăng địa DMA giảm số bytes phải chuyển Quá trình lập số bytes phải chuyển 0, điều khiển tạo ngắt Như không cần phải copy khối vào nhớ, hữu nhớ Nhóm Sinh viên : Hoàng Hữu Ngân ; Nguyễn Văn Tam ; Phạm Ngọc Diễn Lớp: Tin Mỏ K54 Hỗ trợ ôn tập [ĐỀ CƯƠNG CHƯƠNG TRÌNH ĐẠI HỌC] III PHẦN MỀM NHẬP/XUẤT Mục tiêu chung thiết bị logic dể biểu diễn Thiết bị logic tổ chức thành nhiều lớp Lớp giao tiếp với phần cứng, lớp giao tiếp tốt, thân thiện với người sử dụng Khái niệm then chốt thiết bị logic độc lập thiết bị, ví dụ : viết chương trình truy xuất file đĩa mềm hay đĩa cứng mà khơng cần phải mơ tả lại chương trình cho loại thiết bị Ngoài ra, thiết bị logic phải có khả kiểm sốt lỗi Thiết bị logic tổ chức thành bốn lớp : Kiểm soát lỗi, điều khiển thiết bị, phần mềm hệ điều hành độc lập thiết bị, phần mềm mức người sử dụng III.1 Kiểm soát ngắt Ngắt tượng phức tạp Nó phải cần che dấu sâu hệ điều hành, phần hệ thống biết chúng Cách tốt để che dấu chúng hệ điều hành có tiến trình thực thao tác nhập xuất hoàn tất tạo ngắt Tiến trình tự khóa lại Nhóm Sinh viên : Hồng Hữu Ngân ; Nguyễn Văn Tam ; Phạm Ngọc Diễn Lớp: Tin Mỏ K54 Hỗ trợ ơn tập [ĐỀ CƯƠNG CHƯƠNG TRÌNH ĐẠI HỌC] cách thực lệnh WAIT theo biến điều kiện RECEIVE theo thông điệp Khi ngắt xảy ra, hàm xử lý ngắt khởi tạo tiến trình để xử lý ngắt Nó thực tín hiệu biến điều kiện gửi thông điệp đến cho tiến trình bị khóa Tổng qt, chức ngắt làm cho tiến trình bị khóa thi hành trở lại III.2 Điều khiển thiết bị (device drivers) Tất đoạn mã độc lập thiết bị chuyển đến device drivers Mỗi device drivers kiểm soát loại thiết bị, có tập hợp thiết bị liên quan mật thiết với Device drivers phát thị kiểm tra xem thị có thực xác khơng Ví dụ, driver đĩa phần hệ điều hành kiểm sốt điều khiển đĩa Nó quản lý sectors, tracks, cylinders, head, chuyển động, interleave, thành phần khác giúp cho thao tác đĩa thực tốt Chức device drivers nhận yêu cầu trừu tượng từ phần mềm nhập/xuất độc lập thiết bị lớp trên, giám sát yêu cầu thực Nếu driver rảnh, thực yêu cầu, ngược lại, yêu cầu đưa vào hàng đợi Ví dụ, bước yêu cầu nhập/xuất đĩa chuyển từ trừu tượng thành cụ thể Driver đĩa phải biết khối cần đọc, kiểm tra hoạt động motor đĩa, xác định vị trí đầu đọc chưa v.v… Nhóm Sinh viên : Hoàng Hữu Ngân ; Nguyễn Văn Tam ; Phạm Ngọc Diễn Lớp: Tin Mỏ K54 Hỗ trợ ôn tập [ĐỀ CƯƠNG CHƯƠNG TRÌNH ĐẠI HỌC] Nghĩa device drivers phải xác định thao tác điều khiển phải thi hành theo trình tự Một xác định thị cho điều khiển, bắt đầu thực cách chuyển lệnh vào ghi điều khiển thiết bị Bộ điều khiển nhận hay nhiều thị liên tiếp sau tự thực không cần trợ giúp hệ điều hành Trong lệnh thực Có hai trường hợp xảy : Một device drivers phải chờ điều khiển thực xong cách tự khóa lại ngắt phát sinh mở khóa cho Hai là, hệ điều hành chấm dứt mà khơng chờ, driver khơng cần thiết phải khóa Sau hệ điều hành hồn tất việc kiểm tra lỗi thứ ổn driver chuyển liệu cho phần mềm độc lập thiết bị Cuối trả thơng tin trạng thái hay lỗi cho nơi gọi có yêu cầu khác hàng đợi, thực tiếp, khơng khóa lại chờ đến yêu cầu III.3 Phần mềm nhập/xuất độc lập thiết bị Mặc dù số phần mềm nhập/xuất mô tả thiết bị phần lớn chúng độc lập với thiết bị Ranh giới xác drivers phần mềm độc lập thiết bị độc lập mặt hệ thống, số hàm mà thi hành theo kiểu độc lập thiết bị thi hành drivers lý hiệu hay lý dó khác Giao tiếp đồng cho Nhóm Sinh viên : Hồng Hữu Ngân ; Nguyễn Văn Tam ; Phạm Ngọc Diễn Lớp: Tin Mỏ K54 Hỗ trợ ơn tập [ĐỀ CƯƠNG CHƯƠNG TRÌNH ĐẠI HỌC] device drivers Đặt tên thiết bị Bảo vệ thiết bị Cung khối độc thiết bị cấp lập Tổ chức buffer Nhóm Sinh viên : Hồng Hữu Ngân ; Nguyễn Văn Tam ; Phạm Ngọc Diễn Lớp: Tin Mỏ K54 Hỗ trợ ơn tập [ĐỀ CƯƠNG CHƯƠNG TRÌNH ĐẠI HỌC] Định vị lưu trữ thiết bị khối Cấp phát giải phóng thiết bị tận hiến Báo lỗi Chức phần mềm nhập/xuất độc lập thiết bị chức chung cho tất thiết bị cung cấp giao tiếp đồng cho phần mềm phạm vi người sử dụng Trước tiên phải có chức tạo ánh xạ thiết bị tên hình thức Ví dụ UNIX, tên /dev/tty0 dành riêng để mô tả I-node Nhóm Sinh viên : Hồng Hữu Ngân ; Nguyễn Văn Tam ; Phạm Ngọc Diễn Lớp: Tin Mỏ K54 Hỗ trợ ơn tập [ĐỀ CƯƠNG CHƯƠNG TRÌNH ĐẠI HỌC] cho file đặc biệt, I-node chứa chứa số thiết bị chính, dùng để xác định driver thích hợp số thiết bị phụ, dùng để xác định tham số cho driver biết đọc hay ghi Thứ hai bảo vệ thiết bị, cho phép hay không cho phép người sử dụng truy xuất thiết bị Các hệ điều hành có hay khơng có chức Thứ ba cung cấp khối liệu độc lập thiết bị ví dụ đĩa khác có kích thước sector khác điều gây khó khăn cho phần mềm người sử dụng lớp Chức cung cấp khối liệu logic độc lập với kích thước sector vật lý Thứ tư cung cấp buffer để hỗ trợ cho đồng hóa q trình hoạt động hệ thống Ví dụ buffer cho bàn phím Thứ năm định vị lưu trữ thiết bị khối Thứ sáu cấp phát giải phóng thiết bị tận hiến Cuối thông báo lỗi cho lớp bên từ lỗi device driver báo III.4 Phần mềm nhập/xuất phạm vi người sử dụng Nhóm Sinh viên : Hoàng Hữu Ngân ; Nguyễn Văn Tam ; Phạm Ngọc Diễn Lớp: Tin Mỏ K54 Hỗ trợ ôn tập [ĐỀ CƯƠNG CHƯƠNG TRÌNH ĐẠI HỌC] Hầu hết phần mềm nhập/xuất bên hệ điều hành phần nhỏ chúng chứa thư viện liên kết với chương trình người sử dụng chương trình thi hành bên ngồi hạt nhân Lời gọi hệ thống, bao gồm lời gọi hệ thống nhập/xuất thường thực hàm thư viện Ví dụ chương trình C có lệnh count = write(fd, buffer, nbytes) ; Hàm thư viện write địch liên kết dạng nhị phân nằm nhớ thi hành Tập hợp tất hàm thư viện rõ ràng phần hệ thống nhập/xuất Không phải tất phần mềm nhập/xuất chứa hàm thư viện, có loại quan trọng khác gọi hệ thống spooling dùng để khai thác tối đa thiết bị nhập/xuất hệ thống đa chương Các hàm thư viện chuyển tham số thích hợp cho lời gọi hệ thống hàm thư viện thực việc định dạng cho nhập xuất lệnh printf C Thư viện nhập/xuất chuẩn chứa số hàm có chức nhập/xuất tất chạy chương trình người dùng Chức spooling tránh trường hợp tiến trình truy xuất thiết bị, chiếm giữ thiết bị sau khơng làm khoảng thời gian tiến trình khác bị ảnh hưởng khơng thể truy xuất thiết bị Một ví dụ spooling device line printer Spooling sử dụng hệ thống mạng hệ thống e-mail chẳng hạn Nhóm Sinh viên : Hoàng Hữu Ngân ; Nguyễn Văn Tam ; Phạm Ngọc Diễn Lớp: Tin Mỏ K54 Hỗ trợ ơn tập [ĐỀ CƯƠNG CHƯƠNG TRÌNH ĐẠI HỌC] Nhóm Sinh viên : Hoàng Hữu Ngân ; Nguyễn Văn Tam ; Phạm Ngọc Diễn Lớp: Tin Mỏ K54