Chương 4 Quản lý I/O.

Slides:



Advertisements
Similar presentations
5.
Advertisements

AI CŨNG PHẢI HỌC LÀM NGƯỜI
CHƯƠNG III: NGÂN HÀNG VÀ CÁC NGHIỆP VỤ NGÂN HÀNG.
Cài đặt Moodle Cài đặt Moodle trên môi trường Windows Cục CNTT-Bộ GD&ĐT.
Javascript Giáo viên: TS. Trương Diệu Linh Bộ môn Truyền thông & Mạng
Các kiểu dữ liệu trong VB
Giáo viên: Nguyễn Ngọc Thúy Hằng Đơn vị: Trường THPT Lê Quý Đôn
Java I/O.
L/O/G/O NGUYÊN LÝ KẾ TOÁN Nguyễn Hữu Quy (MBA,CPA,APC)
TRAO ĐỔI KINH NGHIỆM PHƯƠNG PHÁP ÔN LUYỆN & KỸ NĂNG THI TOEIC
CƠ CHẾ QUẢN LÝ KINH TẾ TRƯỚC THỜI KÌ ĐỔI MỚI (1975 – 1986)
37 Lê Quốc Hưng, Quận 4, Tp. Hồ Chí Minh ​ (08) ĐỀ XUẤT POC CÁC GIẢI PHÁP GIÁM SÁT HẠ TẦNG TRÊN NỀN TẢNG CÔNG.
1 BÀI 6 BẤM CÁP VÀ CHIA SẺ DỮ LIỆU MẠNG. 2 Nội Dung  Bấm cáp xoắn đôi đúng chuẩn Phương pháp bấm cáp chuẩn A Phương pháp bấm cáp chuẩn B  Kết nối máy.
TỔNG QUAN VỀ NGÔN NGỮ LẬP TRÌNH C/C++
Quản trị dự án TS. Trịnh Thùy Anh.
Chương 1: mạng máy tính và Internet
Chương 06 BỘ NHỚ TRONG.
1. Quyền Admistrator, quyền Standard hoặc Limited 2. Kiểm tra kết nối mạng nội bộ, Internet 3. Một số nội dung của Quy nội bộ số 72/QyĐ-KTNB 4. L ư u ý.
Tác tử thông minh.
EGAS PHẦN MỀM QUẢN LÝ CỬA HÀNG BÁN LẺ XĂNG DẦU TẬP TRUNG
Khoa Công Nghệ Thông Tin – Đại Học Công Nghiệp TP Hồ Chí Minh
SỬ DỤNG EXCEL ĐỂ TRÍCH KHẤU HAO TSCĐ
Đầu tiên chỉ là 1 giao thức đơn giản
CHƯƠNG 9 PHẦN MỀM POWERPOINT
BÀI 4 CÔNG NGHỆ THÔNG TIN VÀ CHUỖI CUNG ỨNG
TỔNG QUAN VỀ ADOBE PRESENTER 11
© 2007 Thomson South-Western
Chương 8 KẾT NỐI VỚI SQL SERVER & ỨNG DỤNG TRÊN C#
Chương 4: Thị trường tài chính
MỘT SỐ HƯỚNG DẪN KHI SOẠN CÂU HỎI TRẮC NGHIỆM
NHẬP MÔN VỀ KỸ THUẬT.
© 2007 Thomson South-Western
Ràng buộc toàn vẹn (Integrity Constraint)
Hệ quản trị Cơ sở dữ liệu Giới thiệu
Dược Thảo Lợi Hại Ra Sao Kính thưa quí bạn, slide show nầy nói về những điều cần lưu ý khi tìm đọc các thông tin về các loại thuốc phụ trợ hoặc bổ sung,
Chương 1: Khái quát về dự án đầu tư.
VNUNi® Sales & Inventory Control
Ra quyết định kinh doanh
TIẾP CẬN CÁC CHƯƠNG TRÌNH KHOA HỌC VÀ CÔNG NGHỆ HỖ TRỢ NGÀNH DƯỢC
Theo mặc định toàn bộ dung lượng dùng lưu trữ, các thư mục hiện có trong các Partition , các dịch vụ hệ thống đã được chia sẽ cho mọi người được phép sử.
Policy Analysis Tools of the Trade NMDUC 2009.
Quản lý hệ thống file.
Cấu hình đơn giản cho Router
Bài giảng môn Tin ứng dụng
Ring ? Bus ? ? Mesh ? Start ?. Ring ? Bus ? ? Mesh ? Start ?
Môn: Lập trình Hướng đối tượng (Object Oriented Programming)
Chương 6 Các chiến lược tiếp thị
TÀI LIỆU GIẢNG DẠY IC3 GS4 SPARK
GIÁO TRÌNH ĐÀO TẠO TRƯỜNG ĐẠI HỌC SÀI GÒN
Bài 8 (6 tiết): CÂY (TREE) A. CÂY VÀ CÂY NHỊ PHÂN (2 tiết)
HỆ ĐIỀU HÀNH MẠNG.
ỨNG DỤNG HIV INFO 3.0 QUẢN LÝ SỐ LIỆU NGƯỜI NHIỄM HIV/AIDS
File Transfer Protocol (FTP) là cơ chế truyền tin dưới dạng tập tin (file). Thông qua giao thức TCP/IP FTP là dịch vụ đặc biệt vì nó dùng tới 2 port Port.
Chương10: Vai trò của sai lệch hệ thống trong các nghiên cứu sức khỏe
CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT
Chương 4 - CÁC MÔ ĐUN ĐiỀU KHIỂN TRONG HỆ THỐNG CƠ ĐiỆN TỬ
ĐÁNH GIÁ TÁC ĐỘNG SỨC KHỎE
Chương 1: Giới thiệu về Database
Tổng quan về Hệ điều hành
Lớp DH05LN GIÁO VIÊN PHỤ TRÁCH ThS. NGUYỄN QUỐC BÌNH
KỸ NĂNG LUYỆN TRÍ NHỚ ThS. Huỳnh Phạm Ngọc Lâm.
Please click through slides at your leisure
Chương 3. Lập trình trong SQL Server TRIGGER
AUDIO DROPBOX - TUTORIALS
Module 2 – CSR & Corporate Strategy
SỞ GIÁO DỤC VÀ ĐÀO TẠO ĐIỆN BIÊN TRƯỜNG THPT MÙN CHUNG
Company LOGO CĂN BẢN VỀ MẠNG NGUYEN TAN THANH Xem lại bài học tại
Quản trị rủi ro Những vấn đề căn bản Nguyễn Hưng Quang 07/11/2015 NHẬT HOA IC&T.
TRƯỜNG ĐẠI HỌC NGOẠI THƯƠNG CƠ SỞ II TẠI TP. HỒ CHÍ MINH HỘI NGHỊ KHOA HỌC CƠ SỞ II “BÁO CÁO HOẠT ĐỘNG ĐI THỰC TẾ CỦA GIẢNG VIÊN CSII, NĂM HỌC ”
Nghiên cứuLập kế hoạch Thực thi giao tiếp Đánh giá.
Presentation transcript:

Chương 4 Quản lý I/O

Nội dung Căn bản về thiết bị I/O Các dịch vụ I/O của hệ điều hành Embodiment : sự biểu hiện ; hiện thân - the I/O services provided by the operating system and the embodiment of these services in the application I/O interface. how the operating system bridges the gap between the hardware interface and the application interface Vai trò cầu nối hardware interface và application interface của hệ điều hành

I/O Hardware

I/O Hardware Controller có một hay nhiều register chứa data và các control signal CPU giao tiếp với controller bằng cách đọc và ghi từng bit trong các register The I/O instruction memory-mapped I/O (the device-control registers are mapped into the address space of the processor) How can the processor give commands and data to a controller to accomplish an I/O transfer? The short answer is that the controller has one or more registers for data and control signals. The processor communicates with the controller by reading and writing bit patterns in these registers. One way in which this communication can occur is through the use of special I/O instructions that specify the transfer of a byte or word to an I/O port address. The I/O instruction triggers bus lines to select the proper device and to move bits into or out of a device register. Alternatively, the device controller can support memory-mapped I/O. In this case, the device-control registers are mapped into the address space of the processor. The CPU executes I/O requests using the standard data-transfer instructions to read and write the device-control registers. Some systems use both techniques. For instance, PCs use I/O instructions to control some devices and memory-mapped I/O to control others

I/O Hardware Giao tiếp giữa hardware và CPU : Polling – thăm dò : CPU định kỳ sau một thời gian sẽ đọc bit trạng thái để biết thiết bị đã hoàn tất thao tac nhập/xuất chưa . Interrupt – ngắt: thiết bị sẽ thông báo cho CPU khi nó hoàn tất thao tác nhập/xuất. DMA – truy suất bộ nhớ trực tiếp special-purpose processor called a direct-memory-access (DMA) controller

I/O hardware Các thiết bị thông dụng : keyboards, displays, disks, mice, printers, scanners, Các thiết bi trên system board : timers, graphics chips, audio chips. Có 2 dạng thiết bị IO block devices character devices

I/O hardware các thiết bị dòng ký tự (character devices) chuyển từng byte một, ngược lại thiết bị khối (block devices) chuyển đơn vị là khối byte. Khối byte (block ) có kích thước cố định . Kích thước 1 block có thể từ 512 byte đến 32768 byte . Các block được đánh số => do vậy có thể truy suất lặp lại một khối data bằng việc chỉ định truy suất block N Đĩa từ và tape : là các thiết bị block . Đĩa từ truy suất ngẫu nhiên, tape truy suất tuần tự.

I/O hardware Character devices Các thiết bị dạng này cung cấp truy suất unstructured . Không địa chỉ Bao gồm : Traditional character-stream devices, such as a terminal multiplexer, modem, printer, scanner, or mouse.

I/O hardware Với các terminal devices : xử lý input vào các thiết bị này bằng 1 trong 2 mode Line mode (cooked) : các ký tự được đưa vào hệ thống như thể chúng được chuyển từ một buffer cho đến khi nhận một ký tự return . Khi đó một line đã sẵn sàng cho quá trình xử lý … Raw mode : các ký tự ngay khi nhập vào là sẵn sàng cho quá trình xử lý. Vd như mouse. Với một terminal , mode này được sử dụng khi một trình soạn thảo vb muốn xử lý các keystroke ngay khi nó được nhấn .

I/O hardware

I/O hardware Blocking IO : nghĩa là tiến trình người dùng sẽ bị block ( wait ) cho đến khi thao tác IO hoàn tất. Nếu bạn đang đọc 1500 byte từ một thiết bị, thao tác đọc sẽ bị khóa cho đến khi data đã sẳn sàng. Non-blocking IO : nghĩa là một lời gọi hệ thống IO sẽ ko đặt tiến trình vào trạng thái sleep khi chờ IO. Tiến trình sẽ nhận được thông báo rằng IO chưa sẵn sàng. Nếu bạn đang đọc 1500 byte từ một thiết bị, và khi chỉ 12 byte đã đọc xong, thao tác đọc của tt sẽ đọc được 12 byte. Hệ thống sẽ trả về data khi nó đã sẵn sàng , nhưng sẽ ko chờ cho new data. OS có thể trả về lỗi “no data”. Ví dụ, các hệ thống POSIX ( Linux , OS X, … ) trả về lỗi EAGAIN khi đọc file đã mở để đọc non-blocking IO và ko có data sẳn có để đọc. ….

Các thiết bị - device Bộ điều khiển thiết bị - device controller Trình điều khiển thiết bị - device driver

Các thiết bị cần có phần mềm điều khiển - gọi là device driver Trình đk thiết bị cho phép chúng ta có một interface đồng nhất với kernel , che dấu đi những chi tiết riêng biệt của thiết bị Vd : kernel thực hiện ghi data vào đĩa => ko quan tâm đến chi tiết của loại đĩa ( đĩa từ hay flash memory ) Device drivers implement mechanism (cách để tương tác với thiết bị), not policy (ksoat ai truy suất thiết bị ) . a device driver (commonly referred to as a driver) is a computer program that operates or controls a particular type of device that is attached to a computer.[1] A driver provides a software interface to hardware devices, enabling operating systems and other computer programs to access hardware functions without needing to know precise details of the hardware being used.

Trong nhiều OS, như Linux , Unix, BSD, OS X , Windows NT , các thiết bị được giao tiếp qua interface dạng file.

Trình điều khiển thiết bị giao tiếp với device controller để điều khiển thiết bị Một device controler là hardware ( và/hoặc là firmware ) điều khiển hoạt động của thiết bị . device controler - Nó kiểm soát việc ánh xạ vào vị trí vật lý và sinh ra ngắt để thông báo cho cpu về các sự kiện, sử dụng DMA để chuyển các block data giữa devive và system memory.

Kernel IO Sybsystem Kernel cung cấp nhiều dịch vụ liên quan đến IO : định thời biểu, vùng đệm buffering , vùng lưu trữ cache , spooling , quản lý lỗi , Bảo vệ IO ,…

Lập lịch IO Các ứng dụng phát ra các yêucầu (system call ) IO và phải chờ đến lượt được thực hiện IO trật tự tư nhiên này hiếm khi là một lựa chọn tốt cho hiệu năng chung của toàn bộ hệ thống=> bộ lập lịch cải thiện hiệu năng của toàn hệ thống , giảm tg chờ trung bình để thực hiện IO bằng cách đưa ra một trật tự tối ưu .

Lập lịch IO Vd : Suppose that a disk arm is near the beginning of a disk and that three applications issue blocking read calls to that disk. Application 1 requests a block near the end of the disk, application 2 requests one near the beginning, and application 3 requests one in the middle of the disk. The operating system can reduce the distance that the disk arm travels by serving the applications in the order 2, 3,1. Rearranging the order of service in this way is the essence of I/O scheduling.

Lập lịch IO OS sử dụng hàng đợi lưu các request cho mỗi thiết bị. Khi một ứng dụng phát ra một IO system call, yêu cầu này được đưa vào hàng đợi của thiết bị. Bộ lập lịch sẽ sắp xếp lại trật tự của hàng đợi để tăng hiệu quả của hệ thống và thời gian chờ tb của ứng dụng.

Buffering , caching , và spooling Buffer là một vùng nhớ lưu data trong quá trình data được di chuyển giữa 2 thiết bị hay giữa thiết bị và ứng dụng. 3 Lý do : Lý do 1 : Tốc độ không phù hợp giữa sản xuất và tiêu thụ dòng data. Vd : dữ liệu được chuyển từ modem vào đĩa. Tốc độ lệch nhau hàng ngàn lần. Một buffer được tạo trong bộ nhớ, để lưu các byte nhận từ modem. Khi buffer đã chứa toàn bộ data được chuyển đến, bằng một thao tác toàn bộ data trong buffer được ghi vào đĩa. ….

Buffering , caching , và spooling Lý do 2 : sự chênh lệch giữa các thiết bị có kích thước data-transfer khác nhau. VD : Such disparities are especially common in computer networking, where buffers are used widely for fragmentation and reassembly of messages. At the sending side, a large message is fragmented into small network packets. The packets are sent over the network, and the receiving side places them in a reassembly buffer to form an image of the source data. Lý do 3: sử dụng buffering để hỗ trợ copy semantics cho ứng dụng IO .

Buffering , caching , và spooling Caching : là một bộ nhớ có tốc độ truy suất cao , lưu giữ các bản sao data. Truy suất bản sao đã được cached thì hiệu quả hơn là truy suất data gốc. Vd, các lệnh của tt đang thực thi được lưu trên đĩa, được cache trong bộ nhớ , và copy lần nữa vào các bộ nhớ cache primary và secondary của CPU. Cache và buffer khác nhau về mục đích sử dụng .

Buffering , caching , và spooling Spool là một buffer lưu kết xuất của 1 device, như máy in, và đảm bảo các dòng data không đan xen nhau . Vd ,Tại một thời điểm 1 máy in chỉ phục vụ 1 tác vụ, nhưng nhiều ứng dụng mong muốn in song song và đảm bảo kết xuất của chúng ko bị trộn lẫn vào nhau . OS đã giải quyết vấn đề này bằng cách chặn kết xuất ra máy in. Mỗi kết xuất của 1 ứng dụng đẩy vào 1 file riêng. Khi một ứng dụng kết thúc in, hàng đợi spooling của hệ thống sẽ đẩy file chờ in ra máy in, mỗi lần 1 file .

IO protection Để ngăn ngừa user thực hiện những thao tác IO ko hợp lệ, OS thiết lập các lệnh IO là những lệnh đặc quyền ( privileged instructions ) . => User ko trực tiếp đưa ra lệnh IO, chúng phải thực hiện thông qua OS. Vd : một user program thực thi một system call yêu cầu OS thực hiện IO thay cho nó. OS kiểm tra xem yêu cầu có hợp lệ ko, và nếu hợp lệ OS thực hiện yêu cầu IO . Kết quả trả về cho user