Vai trò của hệ điêu hành trong máy tính là quản ly, điều khiển nhập xuất và hoạt động nhập xuất Cách đ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ư
Trang 1BÀI TẬP LỚN MÔN LÝ THUYẾT HỆ ĐIỀU HÀNH
Thành viên nhóm:
Bùi Khắc Hoài Nam
Nguyễn Hữu Hoài Nhân
Trang 2Chương 13: Quản Lý Nhập Xuất
Tổng Quát
Phần Cứng I/O
Ứng Dụng Giao Diện I/O
Hệ Thống Con I/O Của Nhân
Chuyển Đổi I/O Đến Phần Cứng
Streams
Năng Lực
Tóm tắt
Trang 3Mục Đích
Nắm được các cơ sở của phần cứng I/O
Biết được các dịch vụ I/O được cung cấp bởi hệ điều
hành
Hiểu cách hệ điều hành làm cầu nối giữa giao diện phần cứng và giao diện ứng dụng
Biết các khía cạnh về chức năng của I/O và các nguyên
lý thiết kế hệ điều hành để cải tiến chức năng I/O
Trang 4Tổng Quát
Máy tính có 2 công việc chính : nhập xuất và xử lý
Vai trò của hệ điêu hành trong máy tính là quản ly, điều khiển nhập xuất và hoạt động nhập xuất
Cách đ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
Công nghệ thiết bị I/O thể hiện hai xu hướng trái ngược nhau:
Tăng sự chuẩn hoá phần mềm và giao diện phần cứng.
Tăng sự đa dạng của các thiết bị I/O
− Device drive(trình điều khiển) Để hợp nhất các thiết bị
mới vào máy tính và hệ điều hành
Trang 5Phần cứng nhập xuất
Phần cứng I/O được chia làm 3 loại phổ biến
Thiết bị giao diện người dùng (màn hình, bàn phím, chuột, máy in )
Thiết bị lưu trữ ( đĩa, băng từ, card giao tiếp )
Thiết bị truyền : như modem )
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) ví dụ : cổng tuần tự,usb…
Một bus là một tập hợp dây dẫn truyền thông tin
giữa máy tính và các thiết bị nhập xuất Ví dụ:
PCI bus, SCSI bus
Trang 6Kiến trúc PC thông thường
Trang 7I/O hardware
Các lệnh vào ra điều khiển các thiết bị vào ra
Môt cổng I/O thông thường có 4 thanh ghi, đó là status, control,data-in, và thanh ghi data-out.
Địa chỉ các cổng thiết bị nhập xuất trên PC
Trang 8Polling( thăm dò)
Polling giúp CPU xác định được trạng thái cua thiết bi
B usy bit : bít bận
Command-ready bit : bit sẵn sàng nhận lệnh
Là một vòng lặp byte đợi vào ra từ thiết bị: Nó ở trong một vòng lặp, đọc thanh ghi trang thái cho đến khi bit bận Ví dụ đọc trạng thanh ghi trạng thái của cổng tuần tự( serial port đê tránh tràn bộ đệm gây
ra việc mất dữ liệu).
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 nhưng nếu chờ đợi lâu nó sẽ chuyển sang một tác vụ khác polling sẽ không hiệu quả khi được lặp lại nhiều lần, hiếm khi tìm một thiết bị sẳn sàng 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 ( bộ điều khiển phần cứng nên có một cơ chế báo trạng thái lỗi cho bus).
Trang 9Interrupts (ngắt)
Khái niêm: ngắt là Cơ chế phần cứng cho phép một
thiết bị thông báo tới CPU
Phần cứng CPU có một dây dẫn gọi là dòng yêu cầu
ngắt (interrupt-request line) chứa các ngắt đến
Khi xuất hiên thông báo yêu cầu ngắt:
CPU lưu một lượng nhỏ trạng thái như giá trị hiện
hành của con trỏ lệnh và nhảy tới thủ tục của bộ quản
lý ngắt(interrupt-handler) tại địa chỉ cố định trong bộ nhớ
Bộ quản lý ngắt xác định nguyên nhân gây ra ngắt, thực hiện xử lý cần thiết, thực thi chỉ thị từ ngắt để trả
về CPU trạng thái thực thi trước khi ngắt
Trang 10Hinh 2 Chu kỳ nhập/xuất xử lý ngắt
Trang 11DMA((direct
memory-access-DMA).
• Khái niệm: chuyển một số công việc
truyền dữ liệu lớn ( như ổ đĩa) tới một bộ điều khiển có mục đích đặc biệt
• Chuyển dữ liệu trực tiếp vào ra mà không cần CPU
Trang 12Hình 3 Các bước trong việc truyền
dữ liệu của DMA
Trang 13Ứng dụng giao diên nhập/xuất
Sự khác nhau của các thiết bị nhâp xuất được lưu trongkermel module được gọi là device driver.( điều khiển thiết bị)
Điều khiển thiết bị là để che đi sự khác biệt giữa các bộ điều khiển thiết bị từ hệ thống I/O con của nhân
Một thiết bị được cho có thể có nhiều loại khác nhau:
Trang 14Hình 4: Các đặc điểm của các thiết
bị nhập xuất
Trang 15Thiết bị vào ra theo khối và ký tự
Thiết bị I/O theo khối giữ lại tất cả các khía cạnh cần thiết cho việc điều khiển đĩa truy cập và khối khác theo định hướng thiết bị
Các lệnh read (),write() và seek()
Dạng nguyên bản của I/O hay truy cập tập tin hệ thông
Truy nhâp file theo Phân vùng bộ nhớ
Thiết bị ký tự bao gồm keybroards, chuôt, cổng tuần tự
Các hàm get() ,put()
Những lớp thư viện ở trên cho phép chỉnh sữa và
xử lý bộ đêm Ví du khi gõ backspace, xóa ký tự trước đó ra khỏi dòng
Trang 16Network Devices
Khối và ký tự đều có một giao diện riêng
Unix và Windows NT/9x/2000 sử dụng các giao diện
socket (*) (được dùng như một giao diện cho một ứng dụng nền quan trọng )
Phân chia thủ tục mạng từ các thao tác mạng
Lời gọi Select() sẽ trả về 3 con trỏ tới 3 tập các socket
có thể dọc, ghi dữ liệu và các exceptional conditions chờ
xử lý
Nhiều phương pháp tiếp cận khác nhau(pipes, FIFOs, streams, queues, mailboxes)
Trang 17Đồng hồ và bộ tính giờ
Cung cấp ba chức năng cơ bản
Cho thời gian hiện tại
Cho thời gian đã qua
Đặt một giờ để kích hoạt hoạt động X vào thời gian T
Programmable interval timer được sử dụng cho việc
tính toán thời gian và định kỳ ngắt
Các lời gọi hệ thống ioctl() Cho phép một ứng dụng để truy cập các tính năng mà có thể được thực hiện bất kỳ điều khiển thiết bị, mà không cần phải phát ra một lời gọi
hệ thống mới
Trên nhiều máy tính, tỷ lệ gián đoạn tạo ra bởi đồng hồ phần cứng là từ 18 đến 60 nhịp (tick) trong một giây
Trang 18Blocking and Nonblocking I/O
Blocking - quá trình bị tạm ngưng cho đến khi
I/O hoàn thành dễ sử dụng và dễ hiểu
Không đáp ứng được một số trường hợp
Nonblocking – lặp lai lời gọi nhiều nhất có thể sử dụng trong giao diện người sử dụng, lưu dữ liệu vào bộ đệm ( nhâp du liêu từ bàn fim, xử lý trên màn hình
Một thay thế cho lời gọi nonblocking là
ansynchronous- trả về giá trị ngay lâp tức mà
không cần I/O kết thúc
Trang 19Hình 5
Trang 20Hệ thống con nhâp xuất của nhân
Phần nhân cung cấp nhiều tiện ích liên quan đến nhập xuất: định biểu thời gian nhâp xuất vùng
đệm, vùng lưu trữ, vùng chứa, đặt trước thiết bị
và quản lí lỗi.
Định biểu tập hợp các yêu cầu nhâp xuât: xác
định săp xếp thực thi chúng sao cho hợp lí.
Cách thức : duy trì hàng đợi cho mỗi thiết bị
Chức năng
Có thể cải tiến hiệu năng hệ thống
Có thể chia sẻ truy xuất thiết bị đồng đều giữa các quá trình
Giảm thời gian chờ đợi
Trang 21Hệ thống con nhập xuất của nhân
(tiếp)
Vùng đệm:
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
3 lý do để thực hiện vùng đệm:
Không khớp tốc độ giữa các thiết bị
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
Bảo vệ “ngôn ngữ sao chép” cho nhập/xuất ứng
Trang 22Hệ thống con nhập xuất của nhân
(tiếp)
Vùng lưu trữ: (cache) là một vùng bộ nhớ nhanh quản lý các bản sao dữ liệu Vùng lưu trữ giữ vừa đủ một bản sao trên thiết bị lưu trữ
Vùng chứa: 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.)
Trang 23Hệ thống con nhập xuất của nhân
(tiếp)
Sự bảo vệ I/O : Lỗi liên quan chặt chẽ đến vấn đề bảo vệ
Để làm I/O cho một chương trình người
dùng thực hiện một cuộc gọi hệ thống để yêu cầu hệ điều hành thực hiện I/O trên
tên của nó.
Trang 24Tóm lược
Hệ thống thay thế I/O giám sát các thủ tục này:
Quản lý các không gian tên cho tập tin và các thiết bị
Kiểm soát truy cập vào các file và các thiết bị
Hoạt động kiểm soát (ví dụ, một modem không thể tìm kiếm ())
Hồ sơ-hệ thống phân bổ không gian
Trang 25Chuyển yêu cầu vào ra tới hoạt
động nhâp xuất
• Cách đọc môt tâp tin từ đĩa
• Xác định thiết bị chứa file
• Dịch tên tương ứng với thiết bị
• Đọc dữ liệu từ đĩa vào bộ đệm
• Trả điêu khiên cho tiên trình
Trang 26Chuyển phần nhập xuất tới hoạt
động phần cứng
Trang 27• Cho phép có thể giữ và nhân cùng một lúc giưa môt tiến trình người sử dụng với môt thiết bị
• Streams head giao tiếp với quá trình sử dụng
• Driver end để điều khiển thiết bị
• Streams moduler năm giữa 2 phần trên
• Stream head, the driver end, each module chứa một cặp hàng đơi:
• Read queue và write queue
Trang 28Kiến trúc STREAMS
Trang 29Năng Lực
Nhập/xuất là một yếu tố quan trọng trong năng lực hệ thống
Chúng ta có thể tận dụng nhiều nguyên tắc để cải tiến tính hiệu quả của nhập/xuất:
Cắt giảm số lượng chuyển ngữ cảnh
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
Cắt giảm tần số xuất hiện ngắt bằng cách dùng sự truyền lớn, bộ điều khiển thông tin và vùng chứa (nếu chờ đợi bận có thể là nhỏ nhất)
Gia tăng tính đồng hành dùng các bộ điều khiển tri thức DMA knowledgeable controllers) hay các kênh để giảm gánh nặng chép dữ liệu đơn giản từ CPU
(DMA- 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
Cân bằng CPU, hệ con bộ nhớ, bus và năng lực nhập/xuất vì quá tải trong một vùng bất kỳ sẽ gây rảnh rỗi trong vùng khác
Trang 30Tiến trình mô tả chức năng thiết bị
Trang 31THE END.