1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Giáo trình Nguyên lý hệ điều hành (Nghề Quản trị mạng - Trung cấp)

90 15 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 90
Dung lượng 730,58 KB

Nội dung

1 ỦY BAN NHÂN DÂN TỈNH HÀ TĨNH TRƯỜNG CAO ĐẲNG KỸ THUẬT VIỆT ĐỨC GIÁO TRÌNH Mơn học: Ngun lý hệ điều hành NGHỀ: QUẢN TRỊ MẠNG TRÌNH ĐỘ: TRUNG CẤP Hà Tĩnh, năm 2017 MỤC LỤC LỜI GIỚI THIỆU Error! Bookmark not defined CHƯƠNG 1:GIỚI THIỆU CHUNG VỀ HỆ ĐIỀU HÀNH Khái niệm hệ điều hành 1.1 Tài nguyên hệ thống 1.2 Khái niệm hệ điều hành Phân loại hệ điều hành 10 2.1 Các thành phần hệ điều hành 11 2.2 Phân loại hệ điều hành 12 2.3 Tính chất hệ điều hành 14 2.4 Phân lớp chương trình thành phần điều khiển 15 2.5 Chức hệ điều hành 15 2.6 Nhân hệ điều hành, tải hệ điều hành 19 Sơ lược lịch sử phát triển HĐH 21 Mục tiêu: nắm lịch sử phát triển hệ điều hành 21 CÂU HỎI VÀ BÀI TẬP 23 CHƯƠNG 2: ĐIỀU KHIỂN DỮ LIỆU 24 Các phương pháp tổ chức truy nhập liệu 24 1.1 Các phương pháp tổ chức liệu 24 1.2 Các phương pháp truy nhập liệu 26 1.3 Chức hệ thống điều khiển liệu 27 Bản ghi khối 28 2.1 Bản ghi lôgic ghi vật lý 28 2.2 Kết khối tách khối 30 Điều khiển buffer 31 3.1 Vai trò buffer 31 3.2 Sử dụng buffers 32 3.3 Điều khiển buffer (vào liệu) 33 Quy trình điều khiển chung vào 34 4.1 Các khối điều khiển liệu 34 4.2 Ví dụ sơ đồ chung điều khiển vào hệ điều hành 35 Tổ chức lưu trữ liệu nhớ 36 Mục tiêu: Nắm cách thức tổ chức lưu trữ liệu, phương pháp quản lý nhớ 36 5.1 Các khái niệm 36 5.2 Các phương pháp quản lý không gian tự 36 5.3 Các phương pháp cấp phát không gian tự 38 5.4 Lập lịch cho đĩa 42 5.5 Hệ file 42 CÂU HỎI VÀ BÀI TẬP 43 CHƯƠNG 3: ĐIỀU KHIỂN BỘ NHỚ 44 Quản lý bảo vệ nhớ 44 1.1 Một số khái niệm liên quan đến nhớ 45 1.2 Quản lý phân phối nhớ Vấn đề bảo vệ nhớ 46 Điều khiển nhớ liên tục theo đa toán 47 2.1 Chiến lược giới hạn tĩnh (cận cố định) 47 2.2 Chiến lược giới hạn động (cận thay đổi) 49 2.3 Cách thức Overlay swapping 50 2.4 Các phương thức phân phối vùng nhớ (first fit, best fit, worst fit) 52 Điều khiển nhớ gián đoạn 53 3.1 Tổ chức gián đoạn 53 3.2 Phân đoạn 55 3.3 Phân trang 59 3.4 Kết hợp phân đoạn phân trang 62 CÂU HỎI VÀ BÀI TẬP 63 CHƯƠNG 4: ĐIỀU KHIỂN CPU, ĐIỀU KHIỂN QUÁ TRÌNH 64 Các khái niệm 64 1.1.Khái niệm trình 64 1.2 Quan hệ trình 65 Trạng thái trình 66 2.1.Sơ đồ không gian trạng thái (SNAIL) 66 2.2 Một số khối điều khiển trình 68 Điều phối trình 69 3.1 Nguyên tắc chung 69 3.2 Các trình lập lịch (long term, short term) 69 Các thuật toán lập lịch 69 4.1 First Come First Served (FCFS) 69 4.2 Shortest Job First (SJF) 70 4.3 Shortest Remain Time (SRT) 71 4.4 Round Robin (RR) 72 4.5 Multi Level Queue (MLQ) 74 4.6 Multi Level Feedback Queues (MLFQ) 74 Hệ thống ngắt 75 5.1 Khái niệm ngắt 76 5.2 Xử lý ngắt 76 Hiện tượng bế tắc 78 6.1 Khái niệm bế tắc 78 6.2 Các biện pháp phòng tránh bế tắc 79 6.3 Phát bế tắc 79 6.4 Xử lý bế tắc 79 6.5 Kết luận chung phòng tránh bế tắc 80 CÂU HỎI VÀ BÀI TẬP 81 CHƯƠNG 5: HỆ ĐIỀU HÀNH ĐA XỬ LÝ 83 Hệ điều hành đa xử lý tập trung 83 1.1 Hệ thống đa xử lý 83 1.2 Hệ điều hành đa xử lý tập trung 86 Hệ điều hành đa xử lý phân tán 87 2.1 Giới thiệu hệ phân tán 87 2.2 Đặc điểm hệ phân tán 87 CÂU HỎI VÀ BÀI TẬP 88 TÀI LIỆU THAM KHẢO 90 NGUYÊN LÝ HỆ ĐIỀU HÀNH Mã mơn học:MH 10 Vị trí, tính chất, ý nghĩa vai trị mơn học: - Vị trí: Mơn học bố trí sau sinh viên học xong môn học chung, trước môn học, mơ đun đào tạo chun mơn nghề - Tính chất: Là môn học sở - Ý nghĩa vai trị: Đây mơn học sở ngành ngành liên quan đến công nghệ thông tin, cung cấp cho sinh viên kiến thức hệ điều hành để làm tản cho việc lập trình giải vấn đề cần thiết, tối ưu hóa hệ thống máy tính Mục tiêu mơn học: - Hiểu vai trò chức hệ điều hành hệ thống máy tính; - Biết giai đoạn phát triển hệ điều hành; - Hiểu nguyên lý thiết kế, thực hệ điều hành; - Hiểu cách giải vấn đề phát sinh hệ điều hành - Bố trí làm việc khoa học đảm bảo an toàn cho người phương tiện học tập + Nội dung mơn học (danh sách chương mục ): Số TT I II III Thời gian Tên chương, mục Tổng số Kiểm Lý Thực hành tra* (LT thuyết TH) 0 Tổng quan hệ điều hành Khái niệm hệ điều hành Phân loại hệ điều hành Sơ lược lịch sử phát triển HĐH 2 2 0 0 0 Điều khiển liệu 15 Các phương pháp tổ chức truy nhập liệu Bản ghi khối 1 Điều khiển buffer Quy trình chung điều khiển vào – Tổ chức lưu trữ liệu nhớ Điều khiển nhớ Quản lý bảo vệ nhớ 2 0 1 20 10 IV V Điều khiển nhớ liên tục theo đa toán Điều khiển nhớ gián đoạn Điều khiển CPU, Điều khiển trình Các khái niệm Trạng thái trình Điều phối trình Các thuật toán lập lịch Hệ thống ngắt Hiện tượng bế tắc Hệ điều hành đa xử lý Hệ điều hành đa xử lý tập trung Hệ điều hành đa xử lý phân tán Cộng 10 25 12 12 10 10 2 3 2 0 0 1 1 75 43 28 CHƯƠNG 1:GIỚI THIỆU CHUNG VỀ HỆ ĐIỀU HÀNH Mã chương: MH10-01 Mục tiêu: - Nắm yêu cầu cần có hệ điều hành; - Nắm khái niệm hệ điều hành, chức năng, phân loại thành phần hệ điều hành; - Thực thao tác an toàn với máy tính Khái niệm hệ điều hành Mục tiêu: Nắm yêu cầu cần có hệ điều hành; Nắm khái niệm hệ điều hành 1.1 Tài nguyên hệ thống Tài nguyên trung tâm máy tính tổng hợp từ ba thành tố, tài nguyên phần cứng, tài nguyên phần mềm tài nguyên nguồn nhân lực trung tâm máy tính Trong tài liệu giới thiệu trung tâm máy tính bất kỳ, số liệu thống kê phần cứng (số lượng chủng loại máy tính, hệ thống thiết bị ngoại vi, khả liên kết với mơi trường ngồi v.v…) ln yếu tố quan tâm sớm thành tố dễ nhận biết sức mạnh trung tâm máy tính Tài ngun phần mềm ý thông qua thông tin hệ điều hành sử dụng, phần mềm ứng dụng có sở tính tốn Hiện nay, trung tâm tính tốn mạnh, giá trị (tính theo tiền) thực tài nguyên phần mềm lại cao vượt trội nhiều so với giá trị tài nguyên phần cứng Tài nguyên nguồn nhân lực ý, số trường hợp, thành tố lại khó nhận biết khó đánh giá so hai loại tài nguyên nói Năng lực nguồn nhân lực hệ thống nhằm đảm bảo việc thực chức bảo trì, phục vụ phát triển hệ thống (kỹ sư hệ thống, kỹ thuật viên, thao tác viên v.v…) thực lại đánh giá nhiều so với phần cứng phần mềm Tuy nhiên, giáo trình này, hạn chế phạm vi tiếp cận công việc hệ điều hành hệ thống phần cứng có sẵn hệ điều hành cần phải hoạt động nhằm phát huy cao lực hệ thống phần cứng đề cập đến tài nguyên phần cứng (có thể kể tới phần tài nguyên phần mềm) định hướng tới vấn đề phát huy hiệu khai thác tài nguyên Để định hướng tới mục tiêu phát huy hiệu thành phần tài nguyên phần cứng, cần xem xét số đặc trưng đánh giá giá trị thành phần hệ thống phần cứng, hướng tới mục đích đưa chiến lược ưu tiên thích đáng (hoặc khả dụng) thành phần xây dựng hệ thống chương trình điều khiển hoạt động máy tính Theo cách tiếp cận hệ điều hành, tài nguyên điển hình thuộc phần cứng bao gồm: thiết bị xử lý trung tâm (CPU), nhớ trong, hệ thống vào – (kênh, thiết bị điều khiển thiết bị vào thiết bị vào ra, nhớ v.v…) CPU nhớ thuộc khu vực trung tâm hệ thống vào – thường xếp vào khu vực ngoại vi hệ thống máy tính Trong thiết bị nói trên, đáng ý phải kể đến CPU nhớ • Bộ xử lý trung tâm (Central Processing Unit-CPU) Trước hết xem xét đặc trưng liên quan đến CPU Việc đánh giá tài nguyên CPU dựa đặc trưng này: tốc độ xử lý, độ dài từ máy, phương pháp thiết kế hệ lệnh máy CPU Tốc độ xử lý thông số thể mức độ làm việc nhanh chậm CPU dựa đơn vị biểu diễn tốc độ Tốc độ xử lý CPU thường tính theo tần số đồng hồ nhịp (với đơn vị MHz-triệu nhịp giây) xem xét tần số đồng hồ nhịp số lượng phép tính thực giây (với đơn vị MIPS – Million Instruction Per Second – triệu phép tính giây) xem xét theo tốc độ thực phép tính (phép cộng tĩnh – không dấu CPU thường coi phép tính CPU đó) Thơng thường, đơn vị đo MHz dùng cho CPU cụ thể máy vi tính cịn đơn vị đo MIPS dùng cho hệ thống CPU máy tính lớn Độ dài từ máy: Từ máy lượng thông tin đồng thời mà CPU xử lý nhịp làm việc Độ dài từ máy số lượng bit nhị phân toán hạng đối số phép tính CPU Trong thời gian gần đây, quen thuộc với CPU bit, 16 bit, 32 bit, 64 bit,… số lượng bit nói độ dài từ máy Độ dài từ máy có quan hệ với tốc độ xử lý Khi nói đến lực hoạt động (tốc độ xử lý thông tin) thực CPU mà nói đến tốc độ xử lý mà khơng nói kèm theo độ dài từ máy chưa hồn tồn đầy đủ Điều diễn giải theo phát biểu sau “năng lực hoạt động thực củaCPU đánh giá thông qua tốc độ xử lý độ dài từ máy” • Bộ nhớ (Operative Memory-OM) có số đặc trưng tiêu biểu sau: Dung lượng nhớ: Khả đồng thời lưu trữ thông tin nhớ Hiện dung lượng nhớ từ vài MB đến vài GB Đặc trưng nhớ phù hợp với nguyên lý thứ hai theo Von Neumann là: Bộ nhớ địa hóa để truy nhập Đa số máy tính địa hóa theo byte số trường hợp lại địa hóa theo từ máy Địa nhớ địa Lý việc chọn địa liên quan đến tính chia hết, số chia hết cho số Khi phân phối nhớ cho đối tượng, nhiều trường hợp, địa vùng nhớ đối tượng phải chia hết cho độ dài vùng nhớ dành cho đối tượng chia hết cho số (ví dụ, phân phối cho chương trình MS-DOS bắt đầu địa đoạn địa chia hết cho 16) Một đặc trưng (hay yêu cầu) mang tính chất nhớ là: Thời gian truy cập nhớ tới địa nhớ phải đồng nhất; khơng thể có khác biệt thời gian truy cập tới địa cao với thời gian truy cập tới địa thấp Từ đặc trưng dẫn đến việc đặt yêu cầu phải tổ chức nhớ theo khối phân cấp để cục dần việc cục dần làm cho việc truy nhập cân Nguồn gốc yêu cầu liên quan đến tính xác định thuật tốn, hay nói cách khác đi, yêu cầu nhằm mục tiêu đảm bảo độ tin cậy hệ thống máy tính Chúng ta thường thấy nhớ cấu trúc từ “ nhớ”, nhớ lại phân nhỏ việc truy nhập nhớ theo cách phân cấp dần theo thanh, lại theo phận nhỏ có v.v… truy nhập phần nhỏ có sai khác thời gian không đáng kể Để tăng tốc độ truy nhập CPU nhớ trong, người ta thường gắn CPU với nhớ tạm thời CPU (được gọi nhớ cache CPU) Bộ nhớ cache thiết bị nhớ đặc biệt với tốc độ truy cập CPU tới cache cao nhiều so với tốc độ truy cập vào nhớ Trong cache chứa phần nội dung nhớ thường phần nhớ thời (chương trình liệu) CPU hướng tới Quá trình hướng truy nhập nhớ (theo địa chỉ) CPU việc hướng tới cache, cache chứa phần nhớ việc hướng địa kết thúc thực công việc, ngược lại thực việc hướng tới nhớ theo quy tắc thơng thường Chương trình chạy chương trình liệu tương ứng chương trình phải có mặt nhớ (chính xác cần phận thời chương trình liệu liên quan đến phận nằm nhớ trong) Cách thức sử dụng nhớ đóng vai trị quan trọng nhằm đảm bảo chất lượng hoạt động hệ thống vậy, tốn điều khiển nhớ có độ ưu tiên cao sau tốn điều khiển CPU • Hệ thống ngoại vi Hệ thống ngoại vi đảm bảo việc chuyển đổi thơng tin mơi trường ngồi khu vực trung tâm Có phân cấp hệ thống ngoại vi: gần khu vực trung tâm kênh, sau thiết bị điều khiển thiết bị ngoại vi thiết bị ngoại vi 1.2 Khái niệm hệ điều hành Hệ thống máy tính hệ thống kết hợp thiết bị phần cứng vấn đề điều khiển phân phối công việc tồn hệ thống Để giải tốn này, khơng thể dùng phương pháp thủ cơng mà cần có chế tự động hóa, tức cần có chương trình điều khiển hoạt động hệ thống máy tính Chương 10 trình gọi hệ điều hành, thành phần quan trọng hệ thống máy tính -Xét phía người sử dụng hệ điều hành cần phải tạo môi trường giao diện người sử dụng máy tính.Thơng qua mơi trường cho phép người sử dụng đưa lệnh, thị điều khiển hoạt động máy tính -Về phía chương trình ứng dụng hệ điều hành phải tạo mơi trường để chương trình hoạt động, cung cấp chế cho phép kích hoạt loại bỏ chương trình ứng dụng -Về phía phần cứng hệ điều hành phải quản lý thiết bị cách có hiệu quả, khai thác hết khả thiết bị, cung cấp cho chương trình người sử dụng tài nguyên phần cứng có u cầu, thu hồi cần thiết Hình 1.1 Mơ hình trừu tượng hệ thống máy tính Vì vậy, hệ điều hành tập hợp chương trình hệ thống có chức tạo mơi trường giao diện cho người dùng, tạo môi trường hoạt động cho chương trình ứng dụng, quản lý khai thác hiệu thiết bị phần cứng Phân loại hệ điều hành Mục tiêu: Nắm chức năng, phân loại thành phần hệ điều hành Nắm cách thức tải hệ điều hành 76 5.1 Khái niệm ngắt Tồn mối quan hệ phận hệ điều hành, ví dụ: điều phối, thực trình hệ thống vào – Thông thường hết hạn lượng tử thời gian hay hoàn thiện vào/ra nảy sinh ngắt Ngắt sinh kiện khác xử lý ngắt phương tiện quan trọng điều khiển CPU Xem xét chương trình thực lệnh cách tuần tự, có lệnh chuyển điều khiển vơ điều kiện có điều kiện Ngắt xác định chương trình gắn vào truyền điều khiển cho chương trình khác thực thời điểm ngắt Ngắt coi cách thức truyền điều khiển cho trình xử lý ngắt chưa biết từ trình bị ngắt Ngắt phân chia hai lớp bản: ngắt ngắt -Ngắt liên quan đến kiện liên kết tới công việc CPU để đồng hoạt động Ví dụ: tràn cộng hay trừ dấu phẩy động, xuất phép chia cho 0; thực phép tốn dấu phẩy động truyền xóa phần bậc; vi phạm địa nhớ, thiếu vắng segment trang, mã lệnh sai… -Ngắt ngoài: xảy theo tượng liên quan thực CPU: ngắt vào-ra, ngắt sơ đồ kiểm tra, ngắt từ CPU khác, ngắt hết lượng tử thời gian.v.v… 5.2 Xử lý ngắt Như vậy, ngắt tượng xảy độc lập với làm việc CPU Một vấn đề đặt thời điểm xử lý ngắt: xử lý ngắt lúc thích hợp quan hệ với lệnh máy thực Ngắt xảy thực lệnh, tác động từ thân lệnh Nếu chế xử lý ngắt không thích hợp loại bỏ lệnh máy thực Thuận lợi xử lý ngắt sau thực lệnh việc ghi nhận ngắt độc lập với thực lệnh Cơ chế ghi nhận ngắt nằm ngồi chương trình xử lý ngắt Có nhiều phương pháp liên quan đến xử lý ngắt quy trình chung mơ tả qua bước: Tại ô nhớ quy định, ghi nhận đặc trưng số hiệu ngắt vừa phát sinh (tùy thuộc vào số liệu đưa vào nhớ tương ứng) Ví dụ với máy IBM 360-370 có số hiệu để phân biệt kiểu ngắt sau: -Ngắt vào-ra -Ngắt theo chương trình: vi phạm cách thức phương tiện máy: lệnh khơng quy; liệu khơng quy; -Ngắt hướng tới supervisor (gọi chương trình supervisor thay chế độ làm việc CPU); -Ngắt ngồi: có tín hiệu hướng tới CPU, ngắt theo thời gian, ngắt có tín hiệu xử lý khác…; -Ngắt theo sơ đồ kiểm tra Ghi nhớ trạng thái trình bị ngắt: giá trị đếm lệnh (chú ý từ trạng thái chương trình PSW: Program Status Word, bàn điều khiển có hàng đèn tương ứng với từ máy…) 77 Thanh ghi địa lệnh hướng tới địa để xử lý ngắt Ngắt xử lý Quay lại trình bị ngắt (nếu được) Các bước 1-3 thành phần chức máy tính đảm nhận, bước 4-5 chương trình xử lý ngắt đảm nhận Bước chương trình xử lý ngắt tiến hành công việc: Ghi nhớ bổ sung số thông tin mà cách thức phương tiện (bước 2) chưa ghi hết, ví dụ, bước ghi PSW cịn chương trình xử lý ngắt phải bảo vệ trạng thái trình bị ngắt việc lưu trữ hệ thống ghi chung cơng việc nói đòi hỏi vùng nhớ định (chẳng hạn, với IBM, EC đòi hỏi vùng 72 bytes cho 16 địa chuyển đổi) Định danh chương trình xử lý ngắt Thơng tin bước phận chương trình xử lý ngắt: loại ngắt chương trình ngắt riêng, ví dụ ngắt vào (thiết lập cách thức phương tiện bước 1) khác biệt hoàn toàn với ngắt hướng tới supervisor (phân tích tác động supervisor) - Thực tác động tương ứng với ngắt định danh Các tác động đơn giản Ví dụ, thiết lập dấu hiệu trạng thái tràn ơ, quay lại băng từ chuyển sang việc chuẩn bị đọc đọc sai.v.v… Nếu khơng q gấp, chương trình xử lý ngắt tương ứng ghi vào dòng xếp hàng trình trạng thái chuẩn bị Chương trình xử lý ngắt đảm bảo việc quay trạng thái bình thường CPU (chọn trình người dùng để thực hiện) tùy thuộc vào: -Kiểu ngắt; -Kiểu chương trình điều phối CPU sử dụng Từ yếu tố xác định công việc kết khối, trạng thái chuẩn bị công việc chọn tiếp theo… Chú ý: Một số tác động chương trình xử lý ngắt thực chậm để nhớ đưa giải pháp số phận chương trình xử lý ngắt đặt thường trực nhớ phần nhân hệ thống Nếu chương trình xử lý ngắt lớn, chia làm hai phần: phần thường trực phần khơng thường trực Nhiều ngắt có quan hệ đến điều khiển CPU (ngắt theo thời gian, ngắt theo hoạt động thiết bị, ngắt hoàn thiện vào/ra) Quá trình điều phối làm khơng q trình người dùng mà phận khác hệ điều hành (bao hàm chương trình xử lý ngắt mức 2; chương trình thống kê; điều phối chính; tải chí điều phối) Ngắt đa mức Ngắt xảy chương trình người dùng, xảy q trình xử lý ngắt Đây tình gọi ngắt đa mức Xử lý ngắt đa mức sao? -Phân cấp loại ngắt theo độ ưu tiên, thông thường ngắt liên quan tới cách thức kĩ thuật có độ ưu tiên thấp so với ngắt có liên quan 78 đến hệ điều hành Ví dụ: ngắt gọi supervisor có độ ưu tiên cao so với ngắt vào/ra -Chọn ngắt xử lý trước tiên: ngắt cũ ngắt mới, việc tùy thuộc vào kiểu hai ngắt Ngắt giải (ngắt trội hơn), bị hủy bỏ, chờ để giải Xử lý ngắt đa mức theo độ ưu tiên khác đảm bảo theo cách thức phương tiện khác ghi nhận kiểu ngắt khác ô nhớ khác Hiện tượng bế tắc Mục tiêu : Nắm khái niệm bế tắc, biện pháp phòng tránh, xử lý bế tắc 6.1 Khái niệm bế tắc Bế tắc tượng nhóm trình bị kết khối cách lâu dài q trình nhóm chiếm tập tài ngun để hồn thiện q trình chờ đợi việc giải phóng số tài ngun cịn lại bị q trình thuộc nhóm chiếm giữ Một ví dụ dễ thấy tượng u cầu chu trình thiết bị: có trình, A chiếm giữ thiết bị đòi hỏi thiết bị 2, B chiếm giữ thiết bị đòi hỏi thiết bị 3, C chiếm giữ thiết bị đòi hỏi thiết bị Chúng ta có hai q trình Pr1 Pr2 Chúng chia xẻ hai tài nguyên p1 p2 để loại trừ ràng buộc, hai trình sử dụng semaphore s1cho tài nguyên p1 semaphore s2 cho tài nguyên p2 Việc sử dụng semaphore nói thân thủ tục trình bày Pr1:… Pr2:… 1.P(s1) 5.P(s2) … … 2.P(s2) 6.P(s1) … … 3.V(s1) 7.V(s1) … … 4.V(s2) 8.V(s2) … … Ban đầu, hai semaphore có giá trị Xem xét trường hợp theo thời gian, dãy trạng thái đòi hỏi nhu cầu giải phóng biến chung dãy 1,2,5,3,4,6,7 Khi thủ tục Pr2 có nhu cầu p2 (lệnh 5), bị kết khối p2 Pr1 dùng Chỉ sau Pr1 thực giải phóng p2 (lệnh 4) Pr2 tách khối Đến dãy thực câu lệnh trở thành 5,1,6,2 Pr2 bị kết khối địi hỏi p1 (lệnh 6) Pr1 bị kết khối đòi hỏi p2 (lệnh 2): Pr1 chờ đợi Pr2 tới lệnh Pr2 79 chờ đợi Pr1 tới lệnh Hiện tượng bế tắc xuất hai trình chờ đợi lẫn 6.2 Các biện pháp phòng tránh bế tắc Chủ yếu có ba hương tiếp cận để xử lý tắc nghẽn : - Sử dụng vài giao thức (protocol) để bảo đảm hệ thống không xảy tắc nghẽn HĐH khơng có khả chống Deadlock Lý dung phương pháp này: Do xác suất xảy đealock nhỏ Giải deadlock đòi hỏi chi phí cao Xử lý tay người quản trị hệ thống làm Đây giải pháp hầu hết hệ điều hành - Cho phép xảy tắc nghẽn tìm cách sửa chữa tắc nghẽn - Hoàn toàn bỏ qua việc xử lý tắc nghẽn, xem hệ thống không xảy tắc nghẽn 6.3 Phát bế tắc Một câu hỏi đặt tính tốn để khẳng định hay khơng khẳng định q trình rơi vào tình trạng bế tắc Để tính tốn điều này, hệ điều hành cần đưa danh sách tài nguyên mà trình chờ đợi danh sách trình chờ đợi tài ngun mà khơng thỏa mãn Để đốn nhận việc bế tắc xảy hay khơng cần có thơng tin để kiểm sốt nhu cầu tài ngun q trình Rõ ràng khơng phải tình trạng cần tài nguyên xảy bế tắc Có số thuật toán dựa vào danh sách liệt kê để đoán nhận bế tắc xảy để loại bỏ 6.4 Xử lý bế tắc Đình hoạt động tiến trình liên quan 80 Cách tiếp cận dựa việc thu hồi lại tài nguyên tiến trình bị kết thúc Có thể sử dụng hai phương pháp sau : Đình tất tiến trình tình trạng tắc nghẽn Đình tiến trình liên quan khơng cịn chu trình gây tắc nghẽn : để chọn tiến trình thích hợp bị đình chỉ, phải dựa vào yếu tố độ ưu tiên, thời gian xử lý, số lượng tài nguyên chiếm giữ , số lượng tài nguyên yêu cầu Thu hồi tài nguyên Có thể hiệu chỉnh tắc nghẽn cách thu hồi số tài nguyên từ tiến trình cấp phát tài nguyên cho tiến trình khác loại bỏ chu trình tắc nghẽn Cần giải vấn đề sau: Chọn lựa nạn nhân: tiến trình bị thu hồi tài nguyên ? thu hồi tài nguyên ? Trở lại trạng thái trước tắc nghẽn: thu hồi tài nguyên tiến trình, cần phải phục hồi trạng thái tiến trình trở lại trạng thái gần trước mà khơng xảy tắc nghẽn Tình trạng « đói tài nguyên »: bảo đảm khơng có tiến trình ln ln bị thu hồi tài nguyên ? 6.5 Kết luận chung phòng tránh bế tắc Trạng thái deadlock xảy hai hay nhiều q trình chờ khơng xác định kiện mà gây q trình chờ Về ngun tắc, có ba phương pháp giải deadlock: • Sử dụng số giao thức để ngăn chặn hay tránh deadlock, đảm bảo hệ thống không vào trạng thái deadlock • Cho phép hệ thống vào trạng thái deadlock, phát sau phục hồi • Bỏ qua vấn đề deadlock giả vờ deadlock chưa xảy hệ thống Giải pháp giải pháp dùng hầu hết hệ điều hành bao gồm UNIX Trường hợp deadlock xảy bốn điều kiện cần xảy lúc hệ thống: loại trừ hỗ tương, giữ chờ cấp thêm tài ngun, 81 khơng địi lại tài ngun, tồn chu trình đồ thị cấp phát tài nguyên Để ngăn chặn deadlock, đảm bảo điều kiện cần không xảy Một phương pháp để tránh deadlock mà nghiêm ngặt giải thuật ngăn chặn deadlock có thơng tin trước trình dùng tài nguyên Thí dụ, giải thuật Banker cần biết số lượng tối đa lớp tài nguyên u cầu q trình Sử dụng thơng tin định nghĩa giải thuật tránh deadlock Nếu hệ thống không thực giao thức để đảm bảo deadlock không xảy lược đồ phát phục hồi phải thực Giải thuật phát deadlock phải nạp lên để xác định deadlock xảy hay không Nếu deadlock phát hệ thống phải phục hồi cách kết thúc số trình bị deadlock hay địi lại tài ngun từ số trình bị deadlock Trong hệ thống mà chọn nạn nhân để phụv hồi trạng thái trước chủ yếu dựa sở yếu tố chi phí, việc đói tài ngun xảy Kết q trình chọn khơng hồn thành tác vụ định CÂU HỎI VÀ BÀI TẬP Nêu khái niệm trình (tiến trình) Phân biệt trình với chương trình Vẽ sơ đồ không gian trạng thái Nêu ý nghĩa trạng thái trình Thế lập lịch dài kỳ lập lịch ngắn kỳ Khái niệm ngắt qui trình xử lý ngắt Nêu tiêu chuẩn lập lịch cho CPU Cho trình với thời gian thực tương ứng sau: Quá trình (process) tthực P1 10 P2 82 P3 P4 P5 Tính thời gian chờ đợi trung bình q trình chiến lược FCFS, SJN, RR (với lượng tử thời gian 2) Nêu khái niệm bế tắc điều kiện xảy bế tắc hệ thống HƯỚNG DẪN TRẢ LỜI Tiến trình đoạn chương trình hay đoạn liệu chương trình đưa vào CPU để xử lý Dựa vào khái niệm chương trình tiến trình để phân biệt Vẽ sơ đồ Nêu lên trình trạng thái sơ đồ Nêu phần lập lịch dài kỳ lập lịch ngắn kỳ Ở phần ngắt bước xử lý ngắt giáo trình Xem xét số tiến trình vào xử lý CPU, thời gian chờ tiến trình Áp dụng xem ví dụ chiến lược FCFS, SJN,RR nói để giải Ở phần bế tắc điều khiện xảy bế tắc 83 CHƯƠNG 5: HỆ ĐIỀU HÀNH ĐA XỬ LÝ Mã chương: MH10-05 Mục tiêu: Sau học xong học này, sinh viên có khả năng: - Hiểu khái quát xu sử dụng hệ thống đa xử lý nay, hiểu nét hệ điều hành đa xử lý nhằm trang bị khả tự nghiên cứu tương lai Hệ điều hành đa xử lý tập trung Mục tiêu: Hiểu khái quát xu sử dụng hệ thống đa xử lý 1.1 Hệ thống đa xử lý a Hệ thống nhiều CPU Hiện nay, từ phát triển với tốc độ nhanh cơng nghệ, máy tính ngày phổ dụng xã hội Mức độ thâm nhập máy tính vào sống cao yêu cầu nâng cao lực máy tính lại ngày trở nên cấp thiết Bộ nhớ ngày rộng lớn; đĩa từ có dung lượng rộng, tốc độ truy nhập ngày cao; hệ thống thiết bị ngoại vi phong phú, hình thức giao tiếp người – máy ngày đa dạng Như nói, CPU tài nguyên thể chủ yếu lực hệ thống máy tính, vấn đề trọng tâm để tăng cường lực hệ thống tăng cường lực CPU Về vấn đề này, nảy sinh giải pháp theo hai hướng: Giải pháp tăng cường lực CPU riêng cho máy máy tính: cơng nghệ vi mạch ngày phát triển lực CPU ngày nâng cao, dự án vi mạch VLSI với hàng triệu, hàng chục triệu transitor Tuy nhiên giải pháp nảy sinh 84 hạn chế kĩ thuật: tốc độ truyền thông tin không vượt qua tốc độ ánh sáng; khoảng cách gần hai thành phần giảm thiểu nhỏ v.v… Song song với giải pháp tăng cường lực CPU giải pháp liên kết nhiều CPU để tạo hệ thống chung có lực đáng kể: việc đưa xử lý song song tạo nhiều lợi điểm Thứ nhất, chia phần nhỏ công việc cho CPU đảm nhận, suất tăng không theo tỷ lệ thuận với hệ số nhân mà cịn cao khơng thời gian phải thực công việc trung gian Giải pháp cịn có lợi điểm tích hợp hệ thống máy có để tạo hệ thống với sức mạnh tăng gấp bội Trong chương này, xem xét việc chọn giải pháp đa xử lý theo nghĩa hệ thống tính tốn tổ hợp khơng CPU mà nhiều CPU máy tính nhiều máy tính hệ thống thống Gọi chung hệ có nhiều CPU hệ đa xử lý b.Phân loại hệ đa xử lý Có số cách phân loại hệ đa xử lý: Ví dụ hệ đa xử lý tập trung tập xử lý siêu máy tính (supercomputer) Đặc trưng hệ thống CPU liên kết với máy tính nhất; Ví dụ hệ đa xử lý phân tán mạng máy tính: mạng gồm nhiều máy tính liên kết đặt vị trí khác nhau, với khoảng cách coi xa tùy ý Phân loại theo đặc tính CPU thành phần: hệ xử lý hệ đa xử lý khơng v.v… Một ví dụ dễ quen thuộc máy vi tính từ 80486 trở có hai CPU (80x86 80x87) hai CPU khơng Siêu máy tính ILLIAC-IV gồm nhiều CPU có đặc trưng giống ví dụ 85 Phân loại theo cách CPU thành phần tiếp nhận xử lý liệu Trong cách phân loại bao gồm máy tính đơn xử lý thơng thường: - Đơn câu lệnh, đơn liệu (SISD: single data single instruction) thể máy tính thơng thường; Mỗi lần làm việc, CPU xử lý “một liệu” có câu lệnh thực - Đơn câu lệnh, đa liệu (SIMD: single instruction multiple data): Các xử lý nhịp thời gian thực câu lệnh Có thể lấy ví dụ từ việc cộng hai vector cho trước: Các CPU thành phần thực phép cộng; đổi số tương ứng có CPU; sau đó, chọn tiếp lệnh (chỉ thị) để điều khiển công việc Thơng thường có hệ chọn câu lệnh chung CPU thành phần thực hiện: siêu máy tính ILLIAC-IV sử dụng cách thức này, có máy tính có tác dụng lưu giữ hệ điều hành để điều khiển ILLIAC.IV (bộ xử lý ma trận) - Đa câu lệnh, đơn liệu (MISD: multiple instruction single data) Trong máy tính thuộc loại này, hệ thống gồm nhiều CPU, CPU liên kết cách tuần tự: output xử lý input xử lý (ví dụ CRAY-1: Bộ xử lý vector) Các CPU kết nối theo kiểu gọi kết nối “dây chuyền” - Đa liệu, đa câu lệnh (MIMD) Mỗi xử lý có phân tích chương trình riêng; câu lệnh liệu CPU phải đảm nhận; hình dung CPU hoạt động hồn tồn “độc lập nhau” Các hệ điều hành mạng, hệ điều hành phân tán ví dụ đa liệu, đa câu lệnh Trong nội dung chương này, xem xét cách phân loại dạng tập trung/phân tán song thực chất quan tâm đến hệ đa xử lý tập trung với hệ đa xử lý phân tán, có chuyên đề riêng đáp ứng Chú ý, xu nghiên cứu triển khai hệ thống tính tốn đa xử lý thời nghiên cứu tính tốn cụm mơ hình SIMD, MISD MIMD tương ứng phát triển 86 1.2 Hệ điều hành đa xử lý tập trung Hệ đa xử lý tập trung hoạt động máy tính có nhiều CPU mà điển hình siêu máy tính: CRAY-1,ILLIAC-IV, Hitachi máy tính nhiều xử lý (máy tính khoa CNTT, trường ĐHKHTNĐHQGHN có hai xử lý) Các tài nguyên khác CPU phân chia cho CPU Trong hệ điều hành đa xử lý, hai toán lớn kể đến phân phối nhớ phân phối CPU a.Phân phối nhớ Các trình xuất nhớ chung Việc phân phối nhớ tiến hành cho trình theo chế độ điều khiển nhớ cài đặt: phân phối theo chế độ mẻ hay phân phối gián đoạn Để tăng tốc độ làm việc với nhớ (bài tốn xử lý trỏ ngồi v.v.) gắn với CPU cache nhớ Phân hai loại thâm nhập cache: tĩnh động Thâm nhập tĩnh: CPU thâm nhập cache tương ứng, không thâm nhập liệu vùng cache CPU khác Thâm nhập động cho phép CPU máy thâm nhập cache CPU khác b.Bài toán điều khiển CPU Có nhiều CPU, việc điều khiển CPU phân số cách sau: Toàn CPU dành cho trình : trình phân phối CPU, song tự q trình nói nảy sinh trình con; trình giải CPU Các trình coi tính tốn đơn giản đó: Máy tính đa xử lý vector chia cơng đoạn q trình CPU thực q trình (một cơng đoạn) q trình Máy tính đa xử lý ma trận cho phép CPU thực thao tác Về dịng xếp hàng xem xét theo hai mơ hình đây: Mơ hình tĩnh: Hoặc CPU có dịng xếp hàng riêng; tốn gắn với dòng xếp hàng, việc điều khiển dòng xếp hàng 87 độc lập với dòng xếp hàng khác, trình phát sinh gắn với dịng xếp hàng đó; Mơ hình động: tồn hệ thống gồm hay vài dịng xếp hàng, q trình xếp lên CPU rỗi (có thể sử dụng kiểu liệu semaphore nhiều giá trị để phân phối CPU cho trình này) Hệ điều hành đa xử lý phân tán Mục tiêu: hiểu nét hệ điều hành đa xử lý phân tán nhằm trang bị khả tự nghiên cứu tương lai 2.1 Giới thiệu hệ phân tán Trong phần phân loại hệ thống đa xử lý, ý cách phân loại theo vị trí đặt CPU (tập trung phân tán) hệ phân tán xây dựng từ “ máy tính” rời rạc nhau: vị trí máy tính ngun vẹn, có đầy đủ chức xử lý, lưu trữ truyền liệu Hệ tập trung cho phép xử lý song song theo thao tác theo trình, đó, hệ phân tán xử lý song song theo trình: trình xử lý máy tính khác Việc phân chia trình cho CPU thành phần theo chức CPU (server/client) theoo lịch phân công hệ thống chung Do phân tán nên vấn đề truyền dẫn liệu đóng vai trị quan trọng hệ phân tán Đây lí điển hình để cách thức xử lý song song hệ phân tán theo q trình mà khơng phải theo phép tốn 2.2 Đặc điểm hệ phân tán Hệ thống phân tán (kéo theo hình thành hệ điều hành phân tán) phát sinh nhu cầu tự nhiên việc nâng cao lực tài nguyên hệ thống (sức mạnh hệ thống tính tốn sở liệu chung v.v ) Giải pháp phân tán có tác dụng phát huy lực chung tồn hệ thống giải tốn với kích thước tốn tăng lên 88 đảm bảo hoạt động bình thường máy tính thành viên Hệ thống phân tán thiết lập hệ thống hoàn toàn thiết kế theo mơ hình phân tán xây dựng hệ phân tán dựa tài nguyên địa phương (máy tính, sở liệu) sẵn có Một trường hợp điển hình, hệ phân tán dùng để quản trị hệ thống sở liệu lớn Trong hệ sở liệu phân tán, tính dư thừa thông tin lại quan tâm ý khơng tới khía cạnh gây khó khăn tính đến tính qn liệu mà cịn tới khía cạnh thuận lợi vần đề an toàn: lưu trữ kép (ngồi cịn số sao) để phục hồi xảy cố hệ thống Để đảm bảo tính quán hệ thống định kỳ “làm tươi” thông tin hệ thống quản lý Như biết, toán lập lịch cho hệ thống chung phức tạp máy tính với CPU, hệ phân tán, tốn nói phức tạp (ngay hệ đồng nhất) người ta thường chọn phương án đơn giản Các nội dung kiến thức hệ thống phân tán trình bày chi tiết giáo trình chuyên đề” mạng hệ phân tán” Bản chất hệ điều hành mơ hình phân tán hệ điều hành đa chương trình Do tính chất khơng máy tính địa phương có liên quan chặt chẽ đến đường truyền thơng, tốn lập lịch hệ thống chương trình điều khiển phức tạp Các thuật toán điều khiển chọn lựa đủ đơn giản toán thời nghiên cứu CÂU HỎI VÀ BÀI TẬP Trình bày mục đích hệ nhiều CPU Hệ phân tán gì? Đặc điểm hệ phân tán HƯỚNG DẪN TRẢ LỜI Tăng cường lực CPU giải pháp liên kết nhiều CPU để tạo hệ thống chung có lực đáng kể: việc đưa xử lý song 89 song tạo nhiều lợi điểm Hệ phân tán tập hợp máy tính ghép nối với đường truyền theo tiêu chuẩn qui định trước Đặc điểm hệ phân tán: tạo khả làm việc phân tán, nâng cao việc khai thác xử lý liệu, tăng độ tin cậy hệ thống, chia sẻ tài nguyên 90 TÀI LIỆU THAM KHẢO [1] TS Hà Quang Thụy, Giáo trình Nguyên lý hệ điều hành , NXB KH & KT, 2005 [2] Trần Hồ Thủy Tiên, Nguyên lý hệ điều hành, Đại học Đà Nẵng, Năm 2007 [3] Đặng Vũ Tùng, Giáo trình Nguyên lý hệ điều hành,Nhà xuất Hà Nội, 2005 [4] James R.Pinkert, Operating systems, California State University ... chương trình ứng dụng, quản lý khai thác hiệu thiết bị phần cứng Chức hệ điều hành: quản lý tiến trình, quản lý nhớ, quản lý hệ thống vào-ra, quản lý hệ thống tập tin, hệ thông dịch lệnh MSDos hệ điều. .. loại này, kể đến hệ điều hành đơn chương trình, hệ điều hành đa chương trình hệ điều hành thời gian thực a Hệ điều hành đơn chương trình Trong hệ điều hành đơn chương trình, tồn hệ thống máy tính... tán Thế hệ Hệ điều hành tự trị phối hợp Thế hệ Hệ điều hành mạng Hình 1.3 Phân bố hệ điều hành CÂU HỎI VÀ BÀI TẬP Trình bày khái niệm tài nguyên hệ thống.Cho ví dụ Nêu khái niệm hệ điều hành Nêu

Ngày đăng: 27/10/2022, 17:30

w