Bài giảng Hệ điều hành ThS. Nguyễn Thị Thùy Linh

313 3 0
Bài giảng Hệ điều hành  ThS. Nguyễn Thị Thùy Linh

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

TRƯỜNG ĐẠI HỌC ĐỒNG THÁP KHOA SƢ PHẠM TOÁN – TIN BÀI GIẢNG HỆ ĐIỀU HÀNH Biên soạn : Ths Nguyễn Thị Thùy Linh LƢU HÀNH NỘI BỘ ĐỒNG THÁP 11/2013 LỜI NÓI ĐẦU Tài liệu đƣợc biên soạn chủ yếu dựa kiến thức tích lũy giảng dạy nhiều năm môn học tác giả đƣợc tham khảo từ nguồn lý thuyết hệ điều hành nguyên lý hệ điều hành trƣờng Đại học Huế, Đại học Cần Thơ… Tổng quan: Bài giảng giới thiệu hệ hệ điều hành, thành phần hệ điều hành, chức hệ điều hành, dịch vụ mà hệ điều hành cung cấp Sau nghiên cứu chi tiết chức thành phần bên hệ điều hành: Quản lý tiến trình, Quản lý nhớ, Đồng hóa tiến trình, Quản lý Deadlock, Quản lý cài đặt hệ thống tập tin, Quản lý đĩa Mục tiêu: Kiến thức: - Hiểu đƣợc vai trò hệ điều hành chế hoạt động hệ điều hành - Hiểu kiến trúc thiết kế hệ điều hành - Hiểu chiến lƣợc việc thiết kế hệ điều hành đại - Biết vấn đề phát sinh trình thiết kế hệ điều hành nhƣ tiếp cận khác đƣợc dùng để phân tích giải vấn đề - Xem xét chiến lƣợc hệ điều hành phổ biến cách chúng tác động đến dịch vụ hệ điều hành đại - Vận dụng chiến lƣợc việc thiết kế hệ điều hành để mô lại máy tính Kỹ năng: - Rèn luyện kỹ phân tích giải tốn chiến lƣợc việc thiết kế thành phần bên hệ điều hành - Rèn luyện tƣ giải thuật, kỹ lập trình kỹ thuật mơ - Kỹ làm việc nhóm, tự học, tự nghiên cứu Thái độ: - Nhận thức đắn phía ngƣời thiết kế hệ điều hành hệ thống máy tính - Nâng cao ý thức tự học, tự nghiên cứu để mở rộng kiến thức Đối tượng: Tài liệu dành cho ngƣời học cao đẳng đại học chuyên ngành công nghệ thông tin Yêu cầu: Ngƣời học cần phải hiểu cấu trúc liệu giải thuật kèm theo ngơn ngữ lập trình Pascal ngôn ngữ C/C++, Java, C# Ngƣời học cần biết cấu trúc logic máy tính nói riêng nhƣ mạng máy tính nói chung Nội dung: Tài liệu bao gồm có chƣơng: Chƣơng 1: Tổng quan hệ điều hanh Chƣơng 2: Quản lý tiến trình Chƣơng 3: Quản lý nhớ Chƣơng 4: Quản lý tập tin đĩa Chƣơng 5: Quản lý hệ thống nhập/xuất MỤC LỤC LỜI NÓI ĐẦU MỤC LỤC DANH MỤC THUẬT NGỮ VIẾT TẮT CHƯ NG 1: TỔNG QU N VỀ HỆ ĐIỀU HÀNH 1.1 MỤC TIÊU 1.2 KHÁI NI M VỀ H ĐIỀU HÀNH 1.3 CHỨC N NG H ĐIỀU HÀNH 10 1.4 PH N LOẠI H ĐIỀU HÀNH 12 1.4.1 Hệ điều hành xử lý theo lô đơn chƣơng 12 1.4.2 Hệ thống xử lý theo lô đa chƣơng 14 1.4.3 Hệ thống chia s thời gian 15 1.4.4 Hệ thống đa xử lý hệ thống song song 15 1.4.5 Hệ thống phân tán 17 1.4.6 Hệ thống xử lý thời gian thực 18 1.4.7 Hệ xách tay 18 1.5 L CH S PHÁT TRIỂN CỦA H ĐIỀU HÀNH 19 1.5.1 Thế hệ 1945 – 1955) 19 1.5.2 Thế hệ 1955 – 1965) 20 1.5.3 Thế hệ 1965 – 1980) 20 1.5.4 Thế hệ 1980-nay ) 21 1.6 CẤU TR C CỦA H ĐIỀU HÀNH 21 1.6.1 Các thành phần bên hệ điều hành 21 1.6.2 Các dịch vụ hệ điều hành 26 1.6.3 Lời gọi hệ thống 27 1.6.4 Cấu trúc hệ điều hành 28 1.7 MỘT S H ĐIỀU HÀNH HI N ĐẠI 38 1.7.1 Hệ điều hành Windows95 38 1.7.2 Hệ điều hành Windows 2000 39 1.7.3 Hệ điều hành Linux 40 1.7.4 Hệ điều hành Windows 41 1.7.5 Hệ điều hành Windows 42 1.7.6 Hệ điều hành Android 42 1.8 TÓM TẮT 43 Câu hỏi ôn tập 44 TÀI LI U THAM KHẢO 44 CHƯ NG 2: QUẢN L TIẾN TR NH 45 2.1 MỤC TIÊU 45 2.2 TỔNG QUAN VỀ TIẾN TRÌNH 45 2.2.1 Nhu cầu xử lý đồng hành 45 2.2.2 Khái niệm tiến trình 46 2.2.3 Phân loại tiến trình 49 2.2.4 Tiểu trình Thread mơ hình đa tiểu trình Multithread 51 2.3 TỔ CHỨC QUẢN LÝ TIẾN TRÌNH 54 2.3.1 Các trạng thái tiến trình 54 2.3.2 Chế độ xử lý tiến trình 60 2.3.3 Cấu trúc liệu khối quản lý tiến trình 61 2.4 THAO TÁC TRÊN TIẾN TRÌNH 62 2.4.1 Tạo lập tiến trình 63 2.4.2 Kết thúc tiến trình 64 2.4.3 Khi tiến trình thay đổi trạng thái 64 2.5 CẤP PHÁT TÀI NGUYÊN CHO TIẾN TRÌNH 65 2.6 Đ NH THỜI BIỂU CPU 66 2.6.1 Giới thiệu 67 2.6.2 Tổ chức định thời biểu 70 2.6.3 Các chiến lƣợc định thời biểu CPU 75 2.7 ĐỒNG BỘ HĨA TIẾN TRÌNH 87 2.7.1 Liên lạc tiến trình 87 2.7.2 Các chế thông tin liên lạc 88 2.7.3 Nhu cầu đồng hóa synchronisation 95 2.7.4 Tài nguyên găng đoạn găng 96 2.7.5 Đồng tiến trình qua đoạn găng 102 2.8 TẮC NGHẼN VÀ CH NG TẮC NGHẼN 125 2.8.1 Khái niệm tắc nghẽn 125 2.8.2 Đặc điểm Deadlock 128 2.8.3 Các phƣơng pháp xử lý deadlock 134 2.9 TÓM TẮT 151 Câu hỏi ôn tập 153 Bài tập 156 TÀI LI U THAM KHẢO 160 CHƯ NG 3: QUẢN L BỘ NHỚ 161 3.1 MỤC TIÊU 161 3.2 NHI M VỤ QUẢN LÝ BỘ NHỚ 161 3.3 KIẾN THỨC NỀN 164 3.3.1 Một chƣơng trình qua nhiều bƣớc xử lý 164 3.3.2 Không gian địa luận lý không gian địa vật lý 166 3.3.3 Bộ quản lý nhớ MMU 167 3.3.4 Phủ lắp Overlay 167 3.3.5 Hoán vị 168 3.4 QUẢN LÝ BỘ NHỚ CHÍNH 170 3.4.1 Bộ nhớ cấp phát liên tục 170 3.4.2 Cấp phát không liên tục 182 3.5 QUẢN LÝ BỘ NHỚ ẢO 202 3.5.1 Khái niệm nhớ ảo 203 3.5.2 Cài đặt nhớ ảo 204 3.5.3 Kỹ thuật nhớ ảo 208 3.6 TÓM TẮT 222 Câu hỏi ôn tập 224 Bài Tập 225 TÀI LI U THAM KHẢO 230 CHƯ NG 4: QUẢN L TẬP TIN VÀ ĐĨ 231 4.1 MỤC TIÊU 231 4.2 TỔNG QUAN VỀ QUẢN LÝ TẬP TIN VÀ ĐĨA 232 4.2.1 Tập tin hệ thống quản lý tập tin 232 4.2.2 Bảng danh mục tập tin chia s 235 4.2.3 Quản lý không gian đĩa 238 4.2.4 Quản lý block chứa tập tin đĩa 241 4.2.5 An toàn quản lý tập tin 246 4.2.6 Hiệu suất hệ thống tập tin 251 4.3 MỘT S KHÁI NI M DÙNG TRONG QUẢN LÝ ĐĨA 252 4.4 CÁC ĐIỀU KHIỂN H TH NG TẬP TIN 255 4.5 CÁC H TH NG TẬP TIN ĐƢỢC S DỤNG TRÊN CÁC H ĐIỀU HÀNH HI N NAY 257 4.5.1 FAT12, FAT16, FAT32 257 4.5.2 NTFS 258 4.5.3 CDFS 259 4.5.4 UDF 259 4.6 TỔ CHỨC ĐĨA CỦA MS-DOS 259 4.6.1 FDISK 259 4.6.2 Tổ chức logic đĩa 261 4.7 QUẢN LÝ TẬP TIN TRÊN ĐĨA CỦA MS-DOS 265 4.7.1 Boot sector 266 4.7.2 File Allocation Table (FAT) 268 4.7.3 Root Directory Bảng thƣ mục gốc 274 4.7.4 Thƣ mục Subdirectory 279 4.8 TỔ CHỨC LƢU TRỮ TẬP TIN TRÊN ĐĨA CD_ROM 281 4.8.1 Hệ thống tập tin ISO 9660 282 4.8.2 Mở rộng Rock Ridge 283 4.8.3 Mở rộng Joliet 283 4.9 TÓM TẮT 284 Câu hỏi ôn tập 286 Bài tập 286 TÀI LI U THAM KHẢO 287 CHƯ NG 5: QUẢN L HỆ THỐNG NHẬP/XUẤT 291 5.1 MỤC TIÊU 291 5.2 CÁC KHÁI NI M CƠ BẢN 291 5.3 PHẦN CỨNG NHẬP/XUẤT 292 5.3.1 Thiết bị I/O 292 5.3.2 Tổ chức chức I/O 293 5.4 GIAO DI N NHẬP/XUẤT ỨNG DỤNG 299 5.5 H TH NG CON NHẬP/XUẤT CỦA NH N KERNEL I/O SUBSYTEM 302 5.5.1 Định thời biểu nhập/xuất 302 5.5.2 Vùng đệm 303 5.5.3 Vùng lƣu trữ 303 5.5.4 Vùng chứa 304 5.5.5 Quản lý lỗi 304 5.5.6 Cấu trúc liệu nhân 305 5.6 CHUYỂN NHẬP/XUẤT TỚI HOẠT ĐỘNG PHẦN CỨNG 305 5.7 N NG LỰC 308 5.8 TÓM TẮT 310 Câu hỏi ôn tập 311 Câu hỏi trắc nghiệm 311 TÀI LI U THAM KHẢO 311 D NH MỤC THUẬT NGỮ VIẾT TẮT K HIỆU API CDFS THUẬT NGỮ Application Programming Interface CD-ROM File System CLI CPU CRT CS CSDL DMA FAT FCFS FDD FIFO FSD HDD I/O device IC ISO Clean Interrupt Processor Cathode-Ray Tube Critical Section Cơ sở liệu Direct Memory Access File Allocation Table First-Come, First-Served Floppy Disk First In First Out File System Driver Hard disk Input/Output device Integrated C rcuit International Organization for Standardization KTCN LCNs LFU LRU LWP Logical Cluster Numbers The Least Frequently Used Least-Recently-Used Lightweight Process MEM MFT MFU MMU MS-DOS NRU NTFS OPT OS P PC Memory Master File Table The Most Frequently Used Memory Management Unit Microsoft Disk Operrating System Not Recently Used New Technology File System Optimal Operating System Process Personal Computer NGHĨ Là hệ thống tập tin đƣợc đƣa để quản lý tập tin, thƣ mục đĩa CD_ROM Cấm ngắt Bộ xử lý ng phóng điện tử chân khơng Miền găng, đoạn găng Truy xuất nhớ trực tiếp Bảng cấp phát tập tin Đến trƣớc đƣợc phục vụ trƣớc Đĩa mềm Vào trƣớc trƣớc Điều khiển hệ thống tập tin Đĩa cứng Thiết bị nhập/xuất Mạch tích hợp Tổ chức tiêu chuẩn hoá quốc tế Kiểm tra cập nhật Số hiệu Cluster logic Ít đƣợc dùng thƣờng xuyên Lâu chƣa sử dụng Liên kết tiểu trình tiến trình Bộ nhớ Trang đƣợc sử dụng nhiều Đơn vị quản lý nhớ Hệ điều hành MS-DOS Không sử dụng gần Hệ thống tập tin NTFS Tối ƣu hóa Hệ điều hành Tiến trình, q trình Máy tính cá nhân PCB PCT PDA PTBR RID Program Counter Process Control Block Page Control Table Personal Digital Assistant Page Table Base Register Resource Identification ROM RR SCT SJF STBR Read Only Memory Round Robin Segment Control Table Shortest Job First Segment Table Base Register STI STLR Setting Interrupt Segment Table Length Register THE TLBs TSL UDF Technische Hogeschool Eindhoven Translation Look-aside Buffers Test and Set UMA USER VCNs Uniform Memory Access USER Virtual Cluster Numbers Nghĩa khác: Bộ đếm chƣơng trình Khối điều khiển tiến trình Bảng trang Thiết bị kỹ thuật số hỗ trợ cá nhân Thanh ghi bảng trang Định danh khối quản lý tài nguyên Bộ nhớ đọc Bảng phân đoạn Công việc ngắn trƣớc Thanh ghi bảng phân đoạn Mở ngắt Thanh ghi giới hạn bảng phân đoạn Hệ điều hành THE Bộ nhớ kết hợp Kiểm tra khóa Là hệ thống tập tin đƣợc đƣa để quản lý đĩa từ/quang, chủ yếu đĩa DVD_ROM Truy xuất nhớ đồng Ngƣời dùng Số hiệu Cluster ảo CHƯ NG 1: TỔNG QU N VỀ HỆ ĐIỀU HÀNH 1.1 MỤC TIÊU Sau học xong chƣơng này, ngƣời học nắm đƣợc kiến thức sau: - Hiểu chức hệ điều hành hệ thống máy tính - Biết phân loại hệ điều hành - Biết hệ điều hành phát triển qua nhiều giai đoạn - Các thành phần bên hệ điều hành - Các dịch vụ mà hệ điều hành cung cấp - Biết đƣợc cấu trúc hệ điều hành Bài học cung cấp cho nhìn tổng quát nguyên lý hệ điều hành Chúng ta bắt đầu với việc xem x t mục tiêu chức hệ điều hành, sau phân loại chúng tìm hiểu trình phát triển hệ điều hành qua giai đoạn Phân biệt thành phần hệ thống thành phần bên hệ điều hành Thông qua giai đoạn khác thấy cách thức mà thành phần hệ điều hành đƣợc cải tiến nhƣ dịch vụ mà hệ điều hành cung cấp, cuối khảo sát cấu trúc khác hệ điều hành 1.2 KHÁI NIỆM VỀ HỆ ĐIỀU HÀNH Hệ điều hành chƣơng trình hệ thống hay hệ chƣơng trình đóng vai tr trung gian ngƣời dùng máy tính phần cứng máy tính Mục tiêu hệ điều hành cung cấp môi trƣờng thuận lợi để ngƣời dùng d dàng thực chƣơng trình ứng dụng họ máy tính khai thác triệt để chức phần cứng máy tính Hệ điều hành phần quan trọng hầu hết hệ thống máy tính Một hệ thống máy tính thƣờng đƣợc chia làm bốn phần chính: phần cứng, hệ điều hành, chƣơng trình ứng dụng ngƣời dùng (user) Phần cứng bao gồm xử lý, nhớ, thiết bị nhập xuất, tài ngun máy tính Chương trình ứng dụng nhƣ chƣơng trình dịch ngơn ngữ lập trình Pascal, C,… , hệ thống sở liệu (Access, SQL), chƣơng trình tr chơi, chƣơng trình thƣơng mại Các chƣơng trình sử dụng tài nguyên máy tính để giải yêu cầu ngƣời dùng Hệ điều hành làm nhiệm vụ điều khiển phối hợp việc sử dụng phần cứng cho ứng dụng khác nhiều người dùng khác bao gồm thiết bị đầu cuối, hệ thống máy tính khác) Hệ điều hành cung cấp mơi trƣờng mà chƣơng trình làm việc hữu hiệu Ngƣời dùng Chƣơng trình Ngƣời dùng Ngƣời dùng Hợp ngữ Soạn thảo văn dịch Ngƣời dùng CSDL Chƣơng trình ứng dụng Hệ điều hành Phần cứng Hình 1.1 Mơ hình trừu tượng hệ thống máy tính Hệ điều hành đƣợc coi nhƣ phân phối tài nguyên máy tính Nhiều tài nguyên máy tính nhƣ thời gian sử dụng CPU, không gian nhớ, vùng lƣu trữ tập tin, thiết bị nhập xuất v.v… đƣợc chƣơng trình yêu cầu để giải vấn đề Hệ điều hành hoạt động nhƣ quản lý tài nguyên phân phối chúng cho chƣơng trình ngƣời dùng cần thiết Do có nhiều yêu cầu, hệ điều hành phải giải vấn đề tranh chấp phải định cấp phát tài nguyên cho yêu cầu theo thứ tự để hoạt động máy tính hiệu Một hệ điều hành đƣợc coi nhƣ chƣơng trình kiểm sốt việc sử dụng máy tính, đặc biệt ngƣời dùng sử dụng thiết bị nhập xuất Tuy nhiên, nhìn chung chƣa có định nghĩa hoàn hảo hệ điều hành Hệ điều hành tồn để giải vấn đề sử dụng hệ thống máy tính Mục tiêu giúp cho việc thi hành chƣơng trình d dàng Mục tiêu thứ hai hỗ  Thành phần điện t : ph n điều hi n thiết bị hay tương thích, máy vi tính thƣờng đƣợc gọi card giao tiếp 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ý đƣợc 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 nhƣ ANSI, IEEE hay ISO nhà sản xuất thiết bị điều khiển phải tn theo chuẩn đó, ví dụ : điều khiển đĩa đƣợc theo chuẩn giao tiếp IBM Giao tiếp điều khiển thiết bị giao tiếp mức thấp Hình 5.4 Sự ết nối CPU, nhớ, điều hi n với thiết bị nh p/xu t Chức điều khiển giao tiếp với hệ điều hành hệ điều hành 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 kiểm tra tổng thể nội dung buffer đƣợc chuyển vào nhớ Ví dụ: điều khiển cho hình đọc Byte ký tự nhớ tổ chức tín hiệu để điều khiển tia CRT để xuất ảnh cách qu t tia dọc ngang Nếu khơng có điều khiển, lập trình viên 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 298 khởi động chúng với số tham số nhƣ 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 đƣợc chia làm nhiều đoạn, đoạn cho loại thiết bị nhƣ sau : Bộ điều khiển nhập/xuất Địa nhập/xuất Vectơ ngắt Đồng hồ 040 - 043 Bàn phím 060 - 063 RS232 phụ 2F8 - 2FF 11 Đĩa cứng 320 - 32F 13 Máy in 378 - 37F 15 Màn hình mono 380 - 3BF - Màn hình màu 3D0 - 3DF - Đĩa mềm 3F0 - 3F7 14 RS232 3F8 - 3FF 12 Bản 5.1 Địa nh p xu t thiết bị máy tính PC 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 IBM PC chấp nhận 15 lệnh khác nhƣ: READ, WRITE, SEEK, FORMAT, RECALIBRATE, số lệnh có tham số tham số đƣợc nạp vào ghi Khi lệnh đ đƣợc 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 đƣợc lƣu giữ ghi 5.4 GI O DIỆN NHẬP/XUẤT ỨNG DỤNG Trong phần này, thảo luận kỹ thuật cấu trúc giao diện cho hệ điều hành cho ph p thiết bị nhập/xuất đƣợc đối xử cách chuẩn, khơng đổi Ví dụ, giải thích ứng dụng mở tập tin đĩa mà khơng biết loại 299 đĩa đĩa thiết bị khác đƣợc thêm tới máy tính nhƣ mà khơng làm hệ điều hành bị gián đoạn Nhƣ vấn đề công nghệ phần mềm phức tạp khác, tiếp cận liên quan đến tính trừu tƣợng, bao gói phân tầng phần mềm Đặc biệt, trừu tƣợng khác chi tiết thiết bị nhập/xuất cách xác định vài loại thông dụng Mỗi loại thông dụng đƣợc truy xuất thông qua tập hợp hàm chuẩnmột giao diện Sự khác biệt đƣợc bao gói module nhân đƣợc gọi trình điều hi n thiết bị device driver đƣợc qui định bên đƣợc áp đặt cho thiết bị, nhƣng đƣợc nhập vào giao diện chuẩn Hình 5.5 hiển thị cách thành phần liên quan nhập/xuất nhân đƣợc cấu trúc tầng phần mềm Hình 5.5 C u trúc nhân nh p/xu t26 26 Nguy n Phú Trƣờng, Giáo trình hệ điều hành, ĐH Cần Thơ, 2005, Tr.246 300 Mục đích tầng chứa trình điều hi n thiết bị che đ y hác biệt điều hi n thiết bị từ hệ nh p/xu t nhân, nhiều lời gọi hệ thống nhập/xuất đóng gói hành vi thiết bị vài lớp phát sinh để che đậy khác biệt từ ứng dụng Thực hệ thống nhập/xuất độc lập với phần cứng đơn giản hóa cơng việc ngƣời phát triển hệ điều hành Nó đem lại thuận lợi cho nhà sản xuất phần cứng Họ thiết kế thiết bị tƣơng thích với giao diện điều khiển chủ đ có nhƣ SCSI-2 họ viết trình điều hi n thiết bị đ giao tiếp phần cứng hệ điều hành ph biến Do đó, thiết bị ngoại vi đƣợc gán tới 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, số nhà sản xuất thiết bị phần cứng, loại hệ điều hành có chuẩn riêng cho giao diện trình điều khiển thiết bị Một thiết bị đƣợc cho 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 Solaris Các thiết bị khác nhiều hƣớng nhƣ đƣợc hiển thị Bảng 5.2 Bản Các đ c m thiết bị nh p/xu t27 27 Nguy n Phú Trƣờng, Giáo trình hệ điều hành, ĐH Cần Thơ, 2005, Tr.246 301  Phương thức chuyển liệu dòng ký tự hay khối Character/ lock): thiết bị d ng ký tự chuyển Byte một, ngƣợc lại thiết bị khối chuyển đơn vị khối Byte  Truy xuất hay ngẫu nhiên Sequential/random): thiết bị chuyển liệu theo thứ tự cố định đƣợc định nghĩa thiết bị, ngƣợc lại ngƣời dùng thiết bị truy xuất ngẫu nhiên dẫn thiết bị để tìm vị trí lƣu trữ liệu sẵn có  Đồng ộ ất đồng ộ Synchronous/áynchronous): thiết bị đồng thiết bị thực việc chuyển liệu với số lần đáp ứng đốn trƣớc Một thiết bị bất đồng hiển thị số lần đáp ứng khơng đặn hay khơng thể đốn trƣớc  Có thể chia s hay tận hiến dedicated/shara le): thiết bị chia s đƣợc dùng đồng hành nhiều trình hay luồng; thiết bị tận hiến khơng thể  Tốc độ thao tác device speed): tốc độ thiết bị trải dài từ vài Byte giây tới vài Gigabyte giây  Hướng nhập/xuất I/O direction): Đọc-viết, đọc, hay viết: số thiết bị thực hai nhập/xuất, nhƣng số thiết bị khác hỗ trợ hƣớng liệu 5.5 HỆ THỐNG CON NHẬP/XUẤT CỦ NH N KERNEL I/O SUBSYTEM) Nhân cung cấp nhiều dịch vụ liên quan đến nhập/xuất 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 hệ thống nhập/xuất nhân xây dựng phần cứng sở hạ tầng trình điều khiển thiết bị 5.5.1 Định thời iểu nhập/xuất Định thời biểu cho tập hợp yêu cầu nhập/xuất có nghĩa xác định thứ tự tốt để thực thi chúng Thứ tự ứng dụng phát lời gọi hệ thống chọn lựa tốt Định thời biểu cải tiến tồn lực hệ thống, chia s truy xuất thiết bị đồng q trình giảm thời gian chờ đợitrung bình cho nhập/xuất hồn thành 302 Ngƣời phát triển hệ điều hành cài đặt định thời biểu cách trì hàng đợi cho thiết bị Khi ứng dụng phá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ị Bộ định thời biểu nhập/xuất xếp lại thứ tự hàng đợi để cải tiến tồn tính hiệu hệ thống thời gian đáp ứng trung bình dựa theo kinh nghiệm ứng dụng Hệ điều hành cố gắng giữ bình đẳng khơng ứng dụng nhận đƣợc dịch vụ nghèo nàn hay cho dịch vụ ƣu tiên yêu cầu trì ho n nhạy cảm Thí dụ, yêu cầu từ hệ thống nhớ ảo lấy độ ƣu tiên qua yêu cầu ứng dụng Một cách mà hệ thống nhập/xuất cải tiến tính hiệu máy tính cách định thời biểu hoạt động nhập/xuất Một cách khác dùng không gian lƣu trữ nhớ hay đĩa, với kỹ thuật đƣợc gọi vùng đệm, vùng lƣu trữ vùng chứa 5.5.2 Vùng đệm Vùng đệm vùng nhớ lƣu trữ liệu chúng đƣợc chuyển hai thiết bị hay thiết bị ứng dụng Vùng đệm đƣợc thực với lý  Thứ nh t đối phó với việc khơng tƣơng thích tốc độ ngƣời sản xuất ngƣời tiêu dùng d ng liệu  Thứ hai cho việc sử dụng vùng làm thích ứng thiết bị có kích thƣớc truyền liệu khác  Thứ ba cho việc dùng vùng đệm hỗ trợ ngữ nghĩa ch p cho nhập/xuất ứng dụng 5.5.3 Vùng lưu trữ Vùng lƣu trữ cache vùng nhớ nhanh quản lý liệu Truy xuất tới đƣợc lƣu trữ hiệu truy xuất tới gốc Ví dụ, thị q trình chạy đƣợc lƣu đĩa, đƣợc lƣu trữ nhớ vật lý đƣợc ch p lần vùng lƣu trữ phụ Sự khác vùng đệm vùng lƣu trữ vùng đệm giữ thành phần liệu đ có, ngƣợc lại vùng lƣu trữ giữ vừa đủ thiết bị lƣu trữ nhanh thành phần nằm nơi khác.Vùng lƣu trữ vùng đệm có chức khác nhƣng đơi vùng nhớ đƣợc dùng cho hai mục đích 303 5.5.4 Vùng chứa Một vùng chứa spool vùng đệm giữ liệu xuất cho thiết bị nhƣ máy in mà chấp nhận d ng liệu đan xen Mặc dù máy in phục vụ cơng việc thời điểm, nhƣng nhiều ứng dụng muốn in đồng thời mà khơng có liệu xuất chúng đan xen với Hệ điều hành giải vấn đề cách ngăn chặn tất liệu xuất tới máy in Dữ liệu xuất ứng dụng đƣợc chứa tập tin riêng Khi ứng dụng kết thúc việc in, hệ thống vùng chứa xếp tập tin chứa tƣơng ứng cho liệu xuất tới máy in Hệ thống vùng chứa ch p tập tin đƣợc xếp hàng tới máy in tập tin thời điểm Trong hệ điều hành, vùng chứa đƣợc quản lý trình hệ thống chạy chế độ Trong số hệ điều hành khác, đƣợc quản lý luồng nhân Trong trƣờng hợp, hệ điều hành cung cấp giao diện điều khiển cho ph p ngƣời dùng ngƣời quản trị hệ thống hiển thị hàng đợi để xóa cơng việc khơng mong muốn trƣớc cơng việc in, để tạm dừng việc in máy in đƣợc phục vụ, 5.5.5 Quản lý lỗi Một hệ điều hành sử dụng nhớ bảo vệ chống lại nhiều lỗi phần cứng ứng dụng lỗi tồn hệ thống khơng kết trục trặc học thứ yếu Các thiết bị truyền nhập/xuất bị lỗi nhiều cách, lý tạm thời nhƣ mạng trở nên tải, hay lý thƣờng xuyên nhƣ trình điều khiển đĩa bị lỗi Các hệ điều hành thƣờng trả giá cho tính hiệu lỗi tạm thời Ví dụ, lỗi đọc đĩa read dẫn đến cố gắng làm lại read lỗi gởi liệu mạng send dẫn tới việc gởi lại resend giao thức đƣợc xác định rõ Tuy nhiên, thành phần quan trọng bị lỗi thƣờng xun hệ điều hành khơng nghĩ đến việc phục hồi Nhƣ qui tắc thông thƣờng, lời gọi hệ thống nhập/xuất trả bit thông tin trạng thái lời gọi, biểu thị thành công hay thất bại Trong hệ điều hành UNIX, biến nguyên có tên errno đƣợc dùng để trả m lỗi-một 100 giá trị-hiển thị tính tự nhiên lỗi ví dụ: đối số vƣợt giới hạn, lỗi trỏ, tập tin mở, Ngƣợc lại, số phần cứng cung cấp thông tin lỗi đƣợc mô tả chi tiết nhiều hệ điều hành không đƣợc thiết kế để truyền đạt thông tin tới ứng dụng 304 5.5.6 Cấu tr c liệu nhân Nhân cần giữ thông tin trạng thái việc dùng thành phần nhập/xuất Nó thực nhƣ thơng qua d y cấu trúc liệu nhân nhƣ bảng tập tin mở Nhân dùng nhiều cấu trúc tƣơng tự để ghi vết nối kết mạng, giao tiếp thiết bị dạng ký tự hoạt động nhập/xuất khác Tóm lại, hệ thống nhập/xuất điều phối tập hợp dịch vụ mở rộng sẵn có ứng dụng phần khác nhân Hệ thống nhập/xuất điều khiển:  Quản lý không gian tên cho tập tin thiết bị  Điều khiển truy xuất tới tập tin thiết bị  Điều khiển hoạt động ví dụ, modem khơng thể tìm seek  Cấp phát khơng gian hệ thống tập tin  Cấp phát thiết bị  Vùng đệm, vùng lƣu trữ vùng chứa  Định thời biểu nhập/xuất  Điều khiển trạng thái thiết bị, quản lý lỗi, phục hồi lỗi  Cấu hình khởi tạo trình điều khiển thiết bị Cấp cao hệ thống nhập/xuất truy xuất thiết bị qua giao diện đồng đƣợc cung cấp trình điều khiển thiết bị 5.6 CHUYỂN NHẬP/XUẤT TỚI HOẠT ĐỘNG PHẦN CỨNG Phần trƣớc mô tả việc bắt tay trình điều khiển thiết bị điều khiển thiết bị, nhƣng 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 sector đĩa xác định nhƣ Ví dụ: Một ứng dụng muốn đọc tập tin từ đĩa Nó tham chiếu tới liệu tên tập tin Trong đĩa, hệ thống tập tin ánh xạ từ tên tập tin thông qua thƣ mục hệ thống tập tin để lấy không gian cấp phát tập tin Các hệ điều hành đại đạt đƣợc khả linh hoạt cao từ nhiều giai đoạn bảng tra cứu đƣờng dẫn yêu cầu điều khiển thiết bị vật lý Các chế truyền yêu cầu ứng dụng trình điều khiển phổ biến Do đó, giới thiệu thiết bị 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, số hệ điều hành có khả 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 thăm d bus phần cứng để xác định 305 thiết bị diện sau hệ thống nạp trình điều khiển cần thiết hay đƣợc yêu cầu yêu cầu nhập/xuất Bây mơ tả chu trình sống điển hình yêu cầu đọc bị nghẽn, nhƣ Hình 5.6 Hình đề nghị thao tác nhập/xuất yêu cầu nhiều bƣớc tiêu tốn số lƣợng lớn chu kỳ CPU 1) Một trình phát lời gọi hệ thống read tới mô tả tập tin đ đƣợc mở trƣớc 2) M lời gọi hệ thống nhân kiểm tra tính đắn tham số Trong trƣờng hợp nhập, liệu đ có sẵn vùng đệm liệu đƣợc trả tới trình yêu cầu nhập/xuất đƣợc hoàn thành 3) Ngƣợc lại, nhập/xuất vật lý cần đƣợc thực q trình đƣợc xóa từ hàng đợi thực thi đƣợc đặt vào hàng đợi chờ thiết bị, yêu cầu nhập/xuất đƣợc lập thời biểu Cuối cùng, hệ nhập/xuất gởi yêu cầu tới trình điều khiển thiết bị Phụ thuộc vào hệ điều hành, yêu cầu đƣợc gởi lời gọi thủ tục hay thơng điệp nhân 4) Trình điều khiển thiết bị cấp phát vùng đệm nhân để nhận liệu 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 điều khiển thiết bị cách viết vào ghi điều khiển thiết bị 5) Trình điều khiển thiết bị thao tác phần cứng thiết bị để thực truyền liệu 6) Trình điều khiển thăm d trạng thái liệu hay thiết lập truyền DMA vào nhớ nhân Chúng ta thừa nhận truyền đƣợc quản lý điều khiển DMA sinh ngắt việc truyền hoàn thành 7) Bộ quản lý ngắt tƣơng ứng nhận ngắt bằng vector ngắt, lƣu liệu cần thiết, báo hiệu trình điều khiển thiết bị trả 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 báo hiệu cho hệ nhập/xuất nhân yêu cầu đ hoàn thành 9) Nhân truyền liệu hay trả m tới không gian địa trình đƣợc yêu cầu di chuyển trình từ hàng đợi chờ tới hàng đợi sẵn sàng Di chuyển q trình tới hàng đợi sẵn sàng khơng làm nghẽn trình Khi định thời 306 biểu gán trình tới CPU, trình tiếp tục thực thi thời điểm hồn thành lời gọi hệ thống Hình 5.6 Chu trình sống y u cầu nh p/xu t28 28 Nguy n Phú Trƣờng, Giáo trình hệ điều hành, ĐH Cần Thơ, 2005, Tr.251 307 5.7 N NG LỰC Nhập/xuất yếu tố quan trọng lực hệ thống Nó đặt nhiều yêu cầu CPU để thực thi m trình điều khiển thiết bị định thời biểu q trình cơng hiệu q trình nghẽn khơng nghẽn Chuyển đổi ngữ cảnh trọng đến CPU vùng lƣu trữ phần cứng Nhập/xuất hiển thị tính khơng hiệu chế quản lý ngắt nhân, nhập/xuất tải xuống bus nhớ suốt thời gian ch p vùng đệm nhân không gian liệu ứng dụng Ch p cách hợp lý tất yêu cầu quan tâm kiến trúc máy tính Mặc dù máy tính đại quản lý hàng ngàn ngắt giây, quản lý ngắt công việc tƣơng đối đắt: ngắt gây cho hệ thống thực thay đổi trạng thái, để thực thi quản lý ngắt sau phục hồi trạng thái Nhập/xuất đƣợc lập trình hiệu nhập/xuất hƣớng ngắt số chu kỳ tiêu tốn cho việc chờ đợi bận khơng q mức Hồn thành thao tác nhập/xuất khơng nghẽn q trình dẫn đến tồn chi phí việc chuyển đổi ngữ cảnh Có nhiều ngun tắc để cải tiến tính hiệu nhập/xuất:  Cắt giảm số lƣợng chuyển ngữ cảnh  Cắt giảm số lần liệu phải đƣợc ch p vào nhớ truyền thiết bị ứng dụng  Cắt giảm tần số xuất ngắt cách dùng truyền lớn, điều khiển thông tin vùng chứa chờ đợi bận nhỏ  Gia tăng tính đồng hành dùng điều khiển tri thức DMA hay kênh để giảm gánh nặng ch p liệu đơn giản từ CPU  Di chuyển hàm xử lý vào phần cứng, ph p họat động chúng điều khiển thiết bị đồng hành với thao tác CPU bus  Cân CPU, hệ nhớ, bus lực nhập/xuất tải vùng gây rảnh rỗi vùng khác Ở chức nhập/xuất nên đƣợc cài đặt: phần cứng thiết bị, trình điều khiển thiết bị hay phần mềm ứng dụng? Chúng ta quan sát tiến trình đƣợc mơ tả Hình 5.7 308 Hình 5.7 Tiến trình mơ t chức thiết bị Khởi đầu, cài đặt giải thuật nhập/xuất thử nghiệm cấp ứng dụng m ứng dụng linh hoạt lỗi ứng dụng chƣa gây sụp đổ hệ thống Ngoài ra, phát triển m cấp ứng dụng, tránh yêu cầu khởi động hay nạp lại trình điều khiển thiết bị sau thay đổi tới m Tuy nhiên, cài đặt cấp ứng dụng khơng đủ chi phí chuyển ngữ cảnh ứng dụng khơng thể lấy lợi điểm cấu trúc liệu nhân bên chức nhân nhƣ truyền thông điệp hữu hiệu nhân, luồng khóa Khi giải thuật cấp ứng dụng chứng minh tính giá trị nó, cài đặt lại nhân Điều cải tiến lực nhƣng nỗ lực phát triển có thử thách nhiều nhân hệ điều hành lớn, phần mềm hệ thống phức tạp Ngoài ra, việc cài đặt nhân phải đƣợc gỡ rối toàn để tránh hƣ hỏng liệu sụp đổ hệ thống Năng lực cao đạt đƣợc cài đặt chuyên dụng phần cứng, thiết bị hay điều khiển Sự bất lợi việc cài đặt phần cứng gồm khó 309 khăn chi phí việc tạo cải tiến xa hay sửa lỗi, thời gian phát triển tăng khả linh hoạt giảm 5.8 TÓM TẮT Các thành phần phần cứng đƣợc nạp vào nhập/xuất bus, điều khiển thiết bị, thiết bị Cơng việc chuyển liệu thiết bị nhớ đƣợc thực CPU nhập/xuất đƣợc lập trình, hay đƣợc chuyển tải tới điều khiển DMA Module nhân điều khiển thiết bị trình điều khiển thiết bị Giao diện lời gọi hệ thống cung cấp tới ứng dụng đƣợc thiết kế để quản lý nhiều chủng loại phần cứng, sockets mạng đếm thời gian đến đƣợc lập trình Hệ nhập/xuất nhân cung cấp nhiều dịch vụ Các dịch vụ định thời biểu nhập/xuất, vùng đệm, vùng chứa, quản lý lỗi đặt trƣớc thiết bị Một dịch vụ khác dịch tên, để tạo nối kết thiết bị phần cứng tên tập tin tƣợng trƣng đƣợc dùng ứ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 trình điều khiển thiết bị xác định địa thiết bị sau tới địa vật lý cổng nhập/xuất hay đ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 nhiều lớp phần mềm thiết bị vật lý ứng dụng Các lớp ngụ ý chi phí chuyển ngữ cảnh để qua phạm vi bảo vệ nhân, tín hiệu quản lý ngắt để phục vụ thiết bị nhập/xuất, tải CPU hệ thống nhớ để ch p liệu vùng đệm nhân không gian ứng dụng 310 Câu hỏi ôn tập Tổ chức hệ thống quản lý I/O nhƣ ? Có loại thiết bị I/O? Với loại cho ví dụ cụ thể Vai tr điều khiển thiết bị gì? Cơ chế hoạt động DMA nhƣ nào? Có thể thực I/O mà khơng sử dụng điều khiển thiết bị không? Tại sao? Câu hỏi trắc nghiệm t ốn quản lý I/O u n l : a Một chế thiết bị tin học c Bàn phím b Một phần hệ điều hành d Máy in t ốn quản lý I/O u n bao ồm : a Phần cứng I/O phần mềm I/O c Kiểm soát ngắt b DMA d a, b, c sai DMA l v ết tắt : a Direct Management Access c Direct Memory Access b Direct Memory Application d Direct Mainboard Access TÀI LIỆU TH M KHẢO [1] Nguyễn Kim Tuấn, Giáo trình Hệ điều hành, Đại học Huế, 2004 [2] Nguyễn Ph Trường, Giáo trình Hệ điều hành, Đại học Cần Thơ, 2005 311 TÀI LIỆU TH M KHẢO [1] Trần Hạnh Nhi, Giáo trình hệ điều hành nâng cao, Đại học Khoa học Tự nhiên TP.HCM, 2004 [2] [Lê Khắc Nhiên n, Hồng Kiếm], Giáo trình Nh p môn hệ điều hành, Đại học Khoa học Tự nhiên, TP.HCM 2004 [3] Nguyễn Kim Tuấn, Giáo trình Hệ điều hành, Đại học Huế, 2004 [4] Nguyễn Ph Trường, Giáo trình Hệ điều hành, Đại học Cần Thơ, 2005 [5] Jean Bacon & Tim Harris, Operating Systems, Addison-Wesley, 2003 [6] Silberschatz, Galvin, Gagne, Operating System Concepts, John Wiley & Sons, 2003 312 ... thành phần hệ điều hành đƣợc cải tiến nhƣ dịch vụ mà hệ điều hành cung cấp, cuối khảo sát cấu trúc khác hệ điều hành 1.2 KHÁI NIỆM VỀ HỆ ĐIỀU HÀNH Hệ điều hành chƣơng trình hệ thống hay hệ chƣơng... nhiều giai đoạn - Các thành phần bên hệ điều hành - Các dịch vụ mà hệ điều hành cung cấp - Biết đƣợc cấu trúc hệ điều hành Bài học cung cấp cho nhìn tổng quát nguyên lý hệ điều hành Chúng ta bắt đầu... giảng giới thiệu hệ hệ điều hành, thành phần hệ điều hành, chức hệ điều hành, dịch vụ mà hệ điều hành cung cấp Sau nghiên cứu chi tiết chức thành phần bên hệ điều hành: Quản lý tiến trình, Quản lý

Ngày đăng: 20/12/2021, 07:31

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan