Bài giảng Hệ điều hành trình bày các nội dung chính: giới thiệu về hệ điều hành, các khái niệm cơ bản, cấu trúc phân lớp của hệ thống tính toán, tác động phần mềm lên phần cứng, thiết bị ngoại vi, tính chất chung của OS, tổ chức thông tin trên đĩa từ,... Đây là tài liệu tham khảo dành cho sinh viên ngành CNTT.
HỆ ĐIỀU HÀNH Giáo viên: Đỗ Tuấn Anh Bộ môn Khoa học Máy tính Khoa Cơng nghệ Thơng tin ĐHBK Hà Nội anhdt@it anhdt@it hut.edu.vn 0989095167 MỤC ĐÍCH – U CẦU • Là giáo trình sở chun ngành: – Xét vấn đề HĐH phải giải quyết, – Phương thức giải vấn đề – Hỗ trợ cho môn khác việc xây dựng sở cho Tin học – Những v/đ xem xét không lạc hậu tương lai MỤC ĐÍCH – U CẦU • Mang yếu tố chun đề: – Minh hoạ cho v/đ lý thuyết, – Khoảng cách thực tế công nghệ Tin học nói chung HĐH nói riêng gần • Như vậy: giáo trình khó, nặng nề TÀI LIỆU • A.Tanenbaum Design and Implementation operating system • A Tanenbaum Advanced Concepts to • • Operating Systems Microsoft Press Inside to WINDOWS 2000 Nguyên lý hệ điều hành: – TS.Hà Quang Thụy – NXB Khoa học kỹ thuật • Hệ điều hành: Tác giả: Ths.Nguyễn Thanh Tùng Thời gian biểu Chương 0: Giới thiệu Hệ điều hành • Giới thiệu HĐH – 1.1 Phần cứng phần mềm • Phần cứng: – Ngơn ngữ máy – Chương trình vi điều khiển – điều khiển trực tiếp thiết bị – Thiết bị điện tử • Phần mềm – Chương trình hệ thống: quản lý hoạt động máy tính – Chương trình ứng dụng: giải tốn người dùng Phần mềm tạo nên môi trường hệ thống gọi Hệ điều hành Hệ điều hành điều khiển quản lý tài nguyên tạo mơi trường cho chương trình ứng dụng thực thao tác với tài nguyên • Hệ điều hành thực chế độ đặc quyền • Trình dịch thực chế độ không đặc quyền 1.2 Khái niệm Hệ điều hành • Hệ điều hành chương trình hay hệ chương trình – hoạt động người sử dụng phần cứng máy tính tính – Chuẩn hóa giao diện người dùng hệ thống phần cứng khác nhau • Sử dụng hiệu tài nguyên phần cứng • Khai thác tối đa hiệu suất phần cứng • Hệ điều hành coi hệ thống quản lý tài nguyên nguyên • Hệ điều hành coi phần mở rộng hệ thống máy tính điện tử Lịch sử phát triển HĐH • Lịch sử phát triển HĐH gắn liền với phát triển máy tính điện tử Thế hệ thứ (1945 (1945 1955) – Howard Aiken (Havard) John von Neumann (Princeton) • Xây dựng máy tính dùng bóng chân khơng • Kích thước lớn • Với 10000 bóng chân khơng – Ngơn ngữ lập trình Hệ điều hành chưa biết đến – Đầu năm 50 50 >phiếu đục lỗ thay cho bảng điều khiển Lịch sử phát triển HĐH (1955-1965) • Thế hệ thứ (1955– Sự đời thiết bị bán dẫn – lập trình FORTRAN hợp ngữ – Hệ thống xử lý theo lơ • Thế hệ thứ (1965(1965-1980) – mạch tích hợp (IC) – hệ điều hành chia sẻ thời gian (1980-nay) • Thế hệ thứ (1980– máy tính cá nhân (PC (PC Personal Computer) – hệ điều hành mạng hệ điều hành phân tán 10 Chương I CÁC KHÁI NIỆM CƠ BẢN • 1- Cấu trúc phân lớp hệ thống tính • • tốn Máy tính điện tử đời năm 1944 1944 1945, MTĐT xây dựng hoạt động theo nguyên lý Von Neuman: Máy tính điều khiển chương trình câu lệnh chương trình người ta nêu địa nơi chứa giá trị không nêu trực tiếp giá trị 11 Cấu trúc phân lớp hệ thống tính tốn MTĐT Hệ lệnh = {Mã lệnh} Command System = {Command Code} Ngôn ngữ riêng (Ngôn ngữ máy) 12 13 Cấu trúc phân lớp hệ thống tính tốn • Người lập trình thường nhầm lẫn ž suất lập trình thấp, • Đã áp dụng nhiều biện pháp kích thích: – Kỷ luật hành chính, – Thưởng phạt kinh tế • Năng suất tăng chút ổn định mức câu lệnh/ngày cơng! • Kết nghiên cứu tâm lý học: Bản chất người không quen làm cơng việc đơn điệu, khơng có tính quy luật, sớm hay muộn có sai sót! 14 Cấu trúc phân lớp hệ thống tính tốn • Như vậy, để nâng cao suất - cần tác • • động vào MTĐT ∃ công việc người ∃ CT cần (V/d – Trao đổi vào ra) ž tạo sẵn CT mẫu (Standard Programs – SP) cung cấp với máy Hình thành LSP = {SP} 15 U P LS Use r 10% 10% 10% 10% MTDT R SE 10% MTDT 10% 10% 10% 10% 10% US ER 16 Phần cứng Phần mềm 16.6667% 16.6667% 10% 10% 10% 16.6667% 10% 10% MTĐT 10% 10% 16.6667% 10% 10% 10% 16.6667% 16.6667% Hệ thống tính tốn (System) 17 Tác động phần mềm lên phần cứng • Cơ sở hoá hệ lệnh: – Các lệnh phức tạp x1/2, ex,|x| thay CT con, – Tăng cường lệnh xử lý bit • • • • • Tăng tốc độ MT, Tăng tính vạn năng, Tăng độ tin cậy, Giảm giá thành, Cho phép phân thiết bị thành nhóm độc lập, tăng độ mềm dẻo cấu hình 18 Tác động phần mềm lên phần cứng • Các yếu tố có tác động tiến cơng nghệ, phần mềm đóng vai trị quan trọng, nhiều có tính định: – Bàn phím, – Máy in 19 Tác động phần mềm lên USER máy, tạo • Đẩy người dùng xa máy, điều kiện để khai thác triệt để tối ưu thiết bị 6 6 % 6 6 % % % % % 6 6 % % M T D T % 6 6 % % % % % 6 6 % U S E R 6 6 % 20 Thay đổi nguyên lý làm việc: 21 Tác động phần mềm lên USER tạo,, • Hiệu ứng tự đào tạo • Nguyên lý WYSIWYG, – What you see is What you get • Gi Giải ải phóng người dùng khỏi ràng buộc vào thiết bị vật lý cụ thể thể 22 – Các tài ngun a) Bộ nhớ: • Vai trị, Gót chân Asin hệ thống, Quan trọng: sử dụng nào? Bảo vệ thông tin? 23 b) PROCESSOR • Điều khiển máy tính, • Thực phép tính số học, lơ gic • • • điều khiển, Có tốc độ lớn (vài chục triệu phép tính / giây), Thơng thường có thời gian rãnh (thời gian “chết”) lớnž lớnž hiệu suất sử dụng thấp, V/đ: tăng hiệu suất sử dụng (giảm thời gian chết) 24 C) THIẾT BỊ NGOẠI VI • Số lượng: Nhiều, • Chất lượng: Đa dạng, • Tốc độ: Cực chậm (so với Processor), • V/đ: Phải đảm bảo: – Hệ thống thích nghi với số lượng tính đa dạng, – Tốc độ thiết bị ngoại vi không ảnh hưởng đáng kể đến suất hệ thống 25 D) Tài ngun chương trình • Cần phải có chương trình cần thiết, • Một chương trình kích hoạt: phục vụ cho nhiều người dùng ( cấu trúc Reenter), • Khai thác OnOn-Line, RPC, • Cách tổ chức chương trình: cấu trúc đảm bảo cho cấu trúc hoạt động, 26 Nhiệm vụ hệ thống tài nguyên • nhiệm vụ chung(không phụ thuộc vào loại tài nguyên): – Phân phối tài nguyên: Cho ai? Khi nào? Bao nhiêu (với loại chia sẻ được)? – Quản lý trạng thái tài ngun: Cịn tự hay khơng số lượng cịn tự do? • Tồn nhiều giải thuật ž Loại hệ thống: – Xử lý theo lô, – Phân chia thời gian, – Thời gian thực 27 - ĐỊNH NGHĨA HỆ ĐIỀU HÀNH • Có nhiều góc độ quan sát đánh giá, • Các đối tượng khác có u cầu, địi • hỏi khác OS, Xét góc độ: – Của – Của – Của – Của người sử dụng, nhà quản lý, nhà kỹ thuật, người lập trình hệ thống 28 ĐỊNH NGHĨA HỆ ĐIỀU HÀNH • Người dùng: Thuận tiện, • Nhà quản lý: Quản lý chặt chẽ, khai thác tối ưu, • Nhà kỹ thuật: 29 30 10 KỸ THUẬT ĐÈN BÁO • Nội dung lệnh P(S): * Dec(s); ** If S < then Đưa TT xếp hàng • Nội dung lệnh V(S): * Inc(s); ** If S ≤ then Kích hoạt TT xếp hàng 178 KỸ THUẬT ĐÈN BÁO • Thực hiện: – Vì nhiều lý do, khơng thể chế tạo MT với lệnh trên, – Lệnh P(S), V(S) ž thủ tục tương ứng • Đảm bảo tính liên tục: 179 KỸ THUẬT ĐÈN BÁO • Sơ đồ điều độ: 180 60 KỸ THUẬT ĐÈN BÁO Semaphore nhị phân: phân: • Phần lớn tài nguyên găng có khả phục vụ = ž S nhị phân • P(S): If s = then Xếp_hàng Else s := 0; • V(S): If dịng_xếp_hàng ≠ NULL then Kích_hoạt Else s := 1; Vấn đề đặt tên thủ tục P V 181 – CÔNG CỤ ĐIỀU ĐỘ CẤP CAO • Đoạn găng quy ước, • Biến điều kiện quy ước, • Monitor hỗ trợ điều độ: cung cấp giá trị • cho biến điều kiện quy ước Monitor đóng vai trò vỏ bọc bảo vệ ngăn cách tài ngun găng cơng cụ truy nhập tới 182 - BẾ TẮC CHỐNG BẾ TẮC • Khái niệm bế tắc (Deadlock): • Cùng chờ đợi, • Vơ hạn khơng có tác động từ bên ngồi • Sẽ khơng có bế tắc TT A bắt đầu đủ sớm hay đủ muộn 183 61 BẾ TẮC CHỐNG BẾ TẮC • Điều kiện xuất bế tắc: hội đủ đồng thời điều kiện: – ∃ tài nguyên găng, – Có tổ chức xếp hàng chờ đợi, – Không phân phối lại tài nguyên, – ∃ tượng chờ đợi vịng trịn • Chống bế tắc: lớp giải thuật: – Phòng ngừa, – Dự báo tránh, – Nhận biết khắc phục 184 Phòng ngừa • Điều kiện áp dụng: – Xác xuất xuất bế tắc lớn, – Các biện phápTổn thất lớn • Biện pháp: tác động lên • điều kiện gây bế tắc để điều kiện không xuất đồng thời Các giải pháp: áp dụng để nâng cao hiệu hệ thống 185 Phòng ngừa • Chống tài nguyên găng: – Tổ chức hệ thống tài ngun lơ gíc, – mức truy nhập, – SPOOL • Chống xếp hàng chờ đợi: – Chế độ phân phối sơ bộ, – Trước ngắt TT: lưu trạng thái (Dump), – Cơng cụ: • Điểm gác (Control Points), • Điểm ngắt (Break Points) 186 62 Phịng ngừa • Đặt điểm gác: – Cố định CT, – Theo tác nhân ngồi (vd: thời gian) • Ứng dụng: – Hiệu chỉnh CT, – Thực CT dài, – Với tồn hệ thống: Hibernating 187 Phịng ngừa • Phân phối lại tài nguyên: – Các tài nguyên quan trọng (Bộ nhớ, Processor ) luôn phân phối lại, – Chủ yếu: cần lưu ý tài nguyên riêng, – Hệ thống tài ngun lơ gíc: giảm nhu cầu phân phối lại – Để phân phối lại: Lưu khôi phục trạng thái tài ngun 188 Phịng ngừa • Chống chờ đợi vịng tròn: – Phân lớp tài nguyên, tạo thành hệ thống phân cấp, – Nguyên tắc phân phối: Khi chuyển lớp - phải giải phóng tài nguyên lớp cũ 189 63 DỰ BÁO VÀ TRÁNH • Mỗi lần phân phối tài nguyên: kiểm tra xem việc phân phối dẫn đến nguy bế tắc cho số tiến trình • hay khơng tiến trình nào? Điều kiện mơi trường: – Xác xuất xẩy bế tắc nhỏ, – Tổn thất (nếu có bế tắc) – lớn 190 DỰ BÁO VÀ TRÁNH • Giải thuật tiêu biểu: “Người chủ ngân hàng” • Giả thiết: – Xét loại tài nguyên, số lượng ž tstb, – n tiến trình, – Maxi, – Ffoii, – Kti – boolean, • True – chắn kết thúc được, • False – trường hợp ngược lại 191 DỰ BÁO VÀ TRÁNH 192 64 DỰ BÁO VÀ TRÁNH • Tiêu chuẩn dự báo: ngặt, • Dựa vào Kti ž biết TT có nguy bế tắc, • Xử lý trước TT bị bế tắc • Đặc điểm giải thuật: – Đơn giản, – Input: Maxi – tin cậy, – Mỗi loại tài nguyên ⇔ thủ tục, – Mỗi lần phân phối ž kiểm tra 193 NHẬN BIẾT VÀ KHẮC PHỤC • Định kỳ kiểm tra TT chờ đợi để phát bế tắc, • Điều kiện áp dụng: – Xác xuất xẩy bế tắc bé, – Tổn thất (nếu có bế tắc) – bé • Áp dụng với phần lớn OS thực tế, • Do OP đảm nhiệm 194 NHẬN BIẾT VÀ KHẮC PHỤC • Lệnh OP ž nhóm lệnh phục vụ nhận • • • • • biết khắc phục, Nhóm lệnh xem trạng thái (Display Status), Nhóm lệnh tác động lên dịng xếp hàng TT, Nhóm lệnh tác động lên TT, Quan trọng: lệnh huỷ tiến trình, Các biện pháp hỗ trợ ngăn chặn tự động 195 65 - GỌI TIẾN TRÌNH • TT cạnh tranh tương tác với nhau, • Mối quan hệ tương tác: song song, • Xác lập quan hệ: – Lời gọi, – Cơ chế xử lý kiện (Sẽ xét chương sau), • Các cách gọi: – Trong phạm vi hệ thống, – Giữa hệ thống: • RI (Remote Invocation), • RPC (Remote Procedure Call), – Lý thuyết chung: RMI (Remote Methods Invocation) 196 GỌI TIẾN TRÌNH • Sơ đồ gọi: – Khơng đối xứng, – Đối xứng • Kỹ thuật truyền tham số: – Theo giá trị, – Theo địa chỉ, – CR (Call by Copy/Restore) 197 GỌI TIẾN TRÌNH • Thông tin tối thiểu để lưu khôi phục TT: – Nội dung ghi, – Địa lệnh, – Vùng nhớ RAM liên quan, – Vùng nhớ phục vụ hệ thống, – Các kiện chưa xử lý • Phân biệt sơ đồ gọi đối xứng đệ quy 198 66 V – QUẢN LÝ PROCESSOR • Mục đích: Giảm thời gian chết Processor ž nâng cao hiệu hệ thống thống,, • Vai trị thiết bị trung tâm: liên kết • phận đọc lập (cứng mềm) thành hệ thống hoạt động đồng Trong phần này: xét hoạt động CPU 199 – PROCESSOR LƠ GÍC 200 – CÁC TRẠNG THÁI CƠ BẢN CỦA TIẾN TRÌNH • Đặc trưng loại trạng thái, • Vấn đề cần giải quyết: loại 201 67 VẤN ĐỀ 202 VẤN ĐỀ a) Liên quan tới dòng TT sẵn sàng sàng:: Cách tổ chức phục vụ dòng xếp hàng hàng?? 203 VẤN ĐỀ • Trình tự phục vụ tác động lên thời gian chờ đợi trung bình tw : giả thiết – TT : 204 68 VẤN ĐỀ • Thời gian thực tiến trình: – Khơng đẩy (Non(Nonpreemptive), (Xử lý theo lơ) – Có đẩy (Preemptive) (Phân chia thời gian) Lượng tử thời gian: 0.03” ÷ 0.2” 205 VẤN ĐỀ • c) Thời điểm đưa TT chờ đợi trở lại sẵn sàng? Cơ chế kiện ngắt 206 - ĐIỀU ĐỘ THỰC HIỆN TT • TT ⇔ thứ tự ưu tiên phục vụ, • Yêu cầu: – tw ž – TT kết thúc thúc • Chế độ: – Một dòng xếp hàng, – Nhiều dòng xếp hàng 207 69 Chế độ dòng xếp hàng • a) FCFS (First come – First served): – Đơn giản, – ∀ TT kết thúc được, – Không cần input bổ sung, – Tw – lớn, – NonNon-Preemtipve 208 Chế độ dịng xếp hàng • b) SJN (Shortest Job – Next): – Thời gian thực ž ưu tiên cao, – Tw giảm, – TT dài có nguy khơng kết thúc được, – Khó dự báo thời điểm phục vụ TT, – Non Non Preemtipve, – Input: Thời gian thực TT 209 Chế độ dịng xếp hàng • c) SRT (Shortest Remaining Time): – Thứ tự ưu tiên phục vụ: xác định theo lượng thời gian lại cần thiết để kết thúc TT, – tw giảm mạnh, – Các đặc trưng khác: tương tự SJN, – TT dài có nguy khơng kết thúc được! • Ở chế độ Non Non Preemtipve: cần có tlim ž huỹ TT đưa thứ tự ưu tiên thấp 210 70 Chế độ dịng xếp hàng • d) RR (Round Robin): – Preemtipve, – ∀ TT - kết thúc đươc, – Khả đối thoại với TT, – Ưu tiên thích đáng với TT dài: phân lớp phục vụ với t lớn 211 Chế độ nhiều dòng xếp hàng 212 - NGẮT XỬ LÝ NGẮT • Định nghĩa ngắt (Interrupt): – Cơ chế Sự kiện Ngắt: từ MT hệ III, – IBM 360/370 – loại kiện, – IBM PC – 256 loại kiện 213 71 PHÂN LOẠI NGẮT ngồi,, • Ngắt ngắt ngồi – Ngắt trong: trong: /0, tràn ơ, – Ngắt ngoài: ngoài: I/O Int Int,, Timer, được:: • Ngắt chắn không chắn – Chắn được:: i/o Int Int,, – Khơng chắn được:: Timer Int mềm • Ngắt cứng ngắt mềm 214 XỬ LÝ NGẮT TT xử lý ngắt TT bị ngắt 215 CT CT xử lý ngắt 216 72 - Xử lý ngắt IBM PC • • • • Ngắt ⇔ Pointer (4 bytes), Véc tơ ngắt = {Pointers} (1 KB), Khối nhớ xử lý ngắt, Nét đặc biệt: – – – – – – ∃ ngắt | Pointer ž Bảng tham số (Int 11, 1E, 41, ), Ngắt KT CT – Int 20, Ngắt thường trú CT Int 27, Ngắt R/W đĩa theo địa tuyệt đối – Int 25, 26, ∃ ngắt tương ứng với việc bấm phím (Int 05, 1B), Ngăt OS mơ xử lý kiện (Int 21), Một số kiện: dành cho user tạo ngắt mềm ž Lập trình hướng kiện (EOP) 217 VI - CẤU HÌNH QUẢN LÝ HỆ THỐNG • - Hệ thống nhiều Processors • Các loại cấu hình: – Cấu hình phân cấp, – Liên kết linh hoạt, – Đẳng cấu, • Quản lý tiến trình: – S – tài nguyên găng, – TS ž S ž điều độ, • Đảm bảo tồn vẹn chức tồn vẹn cấu hình 218 CẤU HÌNH QUẢN LÝ HỆ THỐNG • - Bảo vệ hệ thống: • Nguy cơ: – – – – Mất hỏng liệu, Sử dụng tài nguyên với mục đích xấu, Truy nhập khơng đăng ký, Dị rỉ thơng tin • Cơ chế bảo vệ: – Ngun lý ngăn chặn, – Nguyên lý cho phép • Giải thuật biện pháp bảo vệ: linh hoạt, thường xuyên thay đổi 219 73 CẤU HÌNH QUẢN LÝ HỆ THỐNG • – Thiết kế xây dựng hệ thống: • Nguyên lý tập trung: WINDOWS, UNIX, • OS IBM, Nguyên lý “Thử sai”: LINUX: – Khơng có đề xuất hướng chung, – Mã nguồn mở cho phép người nghiên cứu, bổ sung sửa đổi, – Phát triển theo nguyên lý tự điều chỉnh, – Giao diện: User tự trang bị 220 - Hệ thống Microsoft • 221 74 ... • Thế hệ thứ (1965(196 5-1 980) – mạch tích hợp (IC) – hệ điều hành chia sẻ thời gian (1980-nay) • Thế hệ thứ (1980– máy tính cá nhân (PC (PC Personal Computer) – hệ điều hành mạng hệ điều hành. .. mềm tạo nên môi trường hệ thống gọi Hệ điều hành Hệ điều hành điều khiển quản lý tài nguyên tạo môi trường cho chương trình ứng dụng thực thao tác với tài nguyên • Hệ điều hành thực chế độ đặc... WINDOWS 2000 Nguyên lý hệ điều hành: – TS.Hà Quang Thụy – NXB Khoa học kỹ thuật • Hệ điều hành: Tác giả: Ths.Nguyễn Thanh Tùng Thời gian biểu Chương 0: Giới thiệu Hệ điều hành • Giới thiệu HĐH