BÀI GIẢNG NGUYÊN LÝ HỆ ĐIỀU HÀNH - TRẦN ANH TUẤN pptx

80 1.1K 6
BÀI GIẢNG NGUYÊN LÝ HỆ ĐIỀU HÀNH - TRẦN ANH TUẤN pptx

Đ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

VIỆN ĐẠI HỌC MỞ KHOA CÔNG NGHỆ ĐIỆN TỬ-THÔNG TIN BÀI GIẢNG NGUYÊN LÝ HỆ ĐIỀU HÀNH TRẦN ANH TUẤN Hà Nội 2012 Chương 1 TỔNG QUAN VỀ HỆ ĐIỀU HÀNH Vai trò, mối quan hệ HĐH với người sử dụng thành phần máy tính Các khái niệm, chức năng, thành phần, cấu trúc tính chất, nguyên tắc xây dựng HĐH Các vấn đề đặt nghiên cứu HĐH 1.1 MỘT SỐ KHÁI NIỆM LIÊN QUAN 1.1.1 Một số khái niệm HĐH 1.1.1.1 HĐH môi trường trung gian - Người sử dụng MTĐT: + Chỉ quan tâm đến việc hệ thống có đáp ứng yêu cầu họ hay không: nhớ, thiết bị ngoại vi, chương trình phần mềm… + Nhu cầu người sử dụng lớn, đa dạng, thay đổi + Khai thác khơng triệt để tính MTĐT - MTĐT: + Khả thường khác xa với mong muốn người sử dụng + Tính MTĐT gần không thay đổi thời gian dài + Không phù hợp chi phí phục vụ cho MTĐT lợi ích mà MTĐT mang lại - Hệ điều hành môi trường trung gian người sử dụng với ứng dụng thông qua giao diện ảo chương trình ứng dụng với phần cứng MTĐT qua giao diện vật lý, để sử dụng hiệu phần cứng MTĐT - Giao diện ảo giao diện người sử dụng MTĐT thực thông qua hệ thống menu Các thành phần hệ thống phức tạp đa dạng chức Hệ thống menu dạng bảng chọn, giới thiệu cho người sử dụng khả phục vụ MTĐT, để người sử dụng khai thác tốt cơng cụ có tay + giới thiệu thành phần hệ thống + giới thiệu chế lệnh - thực hiện: danh mục cơng việc u cầu + cơng việc phân nhóm theo phạm trù, thuận tiện tìm kiếm + sau kích hoạt hệ thống, MTĐT hướng dẫn người sử dụng chi tiết công việc - Giao diện vật lý: câu lệnh chương trình ứng dụng chuyển thành lệnh điều khiển hoạt động BXL thành phần khác máy tính, cung cấp chức sử dụng theo yêu cầu người dùng 1.1.1.2 Một số khái niệm HĐH khái niệm ngành khoa học ứng dụng, liên quan đến nhiều lĩnh vực, nhiều lớp người sử dụng khác Có nhiều khái niệm HĐH quan điểm khác - Quan điểm người sử dụng: HĐH tập hợp chương trình, phục vụ khai thác hệ thống tính tốn cách dễ dàng thuận tiện - Quan điểm người làm công tác quản lý: HĐH tập chương trình, phục vụ quản lý chặt chẽ sử dụng tối ưu tài ngun hệ thống tính tốn - Quan điểm người làm công tác kỹ thuật: HĐH hệ thống chương trình, trang bị cho máy tính cụ thể để tạo máy logic mới, với tài nguyên khả - Quan điểm người làm lập trình hệ thống: HĐH hệ thống mơ hình hố, mô hoạt động máy, người sử dụng thao tác viên (người viết chương trình), hoạt động chế độ đối thoại, nhằm tạo môi trường khai thác thuận tiện quản lý tối ưu tài ngun hệ thống tính tốn + quan điểm từ bên HĐH (hệ thống) + xác định thành phần hệ thống, mối quan hệ thành phần với + HĐH hệ chuyên gia: mô thành phần, thành phần người (hệ chuyên gia sớm hoàn thiện nhất: hệ thống tự động hoá trợ giúp, nâng cao hiệu vận hành khai thác MTĐT) HĐH phần mềm hệ thống, môi trường thực thi triển khai (thực hiện) yêu cầu người sử dụng, chương trình (phần mềm) ứng dụng điều khiển phần cứng (các tài nguyên) để đáp ứng ứng yêu cầu người sử dụng Trong phạm vi môn học, hệ điều hành hệ thống chương trình với chức điều phối (chọn lựa) phân phối công việc cho thành phần chức MTĐT để sử dụng hiệu hệ thống máy tính thỏa mãn mức cao yêu cầu đa dạng người dùng 1.1.2 Các tài nguyên hệ thống (System Resources) - Tài nguyên vật chất phi vật chất, đáp ứng cho nhu cầu định Tài nguyên hệ thống thành phần (bộ phận) hệ thống tính tốn (máy tính), dùng để máy tính thực chương trình theo yêu cầu Tài nguyên hệ thống bao gồm tài nguyên phần cứng tài nguyên phần mềm (các chương trình, liệu) - Các thành phần chức cấu trúc logic máy tính tài nguyên hệ thống, HĐH cần thực quản lý khai thác sử dụng chúng HĐH cần nắm thuộc tính loại tài nguyên thuộc tính sử dụng để quản lý khai thác sử dụng (để chia sẻ) chúng Các tài ngun hệ thống có thuộc tính sau: - Thuộc tính khơng gian (dung lượng): kích thước, mức độ lưu trữ tài nguyên Thuộc tính khơng gian có tài ngun nhớ, đĩa nhớ, nhớ - Thuộc tính thời gian: thời gian sử dụng (hay thời gian chiếm giữ) tài ngun Thuộc tính thời gian có hầu hết tài nguyên hệ thống, thời gian sử dụng processor, thời gian truy xuất liệu nhớ, sử dụng kênh, thiết bị điều khiển 1.1.2.1 Bộ nhớ (chính): - BN thiết bị lưu trữ mà thơng qua BXL trực tiếp sử dụng liệu trao đổi thông tin BN - Các thuộc tính BN: + Thời gian truy nhập trực tiếp (thời gian trực tiếp để truy nhập đến địa ô nhớ BN) + Thời gian truy nhập liệu tổ chức lưu trữ liệu (liên tiếp) + Kích thước (dung lượng) BN: byte… + Đơn giá BN: tuỳ theo tốc độ truy nhập trực tiếp - BN gọi thực processor thực câu lệnh ghi Với BN thực hiện, thời gian truy nhập trực tiếp thời gian truy nhập gần - Các loại mức BN: + Mức BN trong: có mức nhớ cao nhất, thuộc quyền quản lý hệ thống BN - BN sở - BN thực + Mức BN thứ hai, linh hoạt hơn, có thời gian truy nhập gần loại thứ nhất: BN mở rộng + Mức BN - BN phụ: thời gian truy nhập trực tiếp thường lớn thời gian truy nhập (vài chục đến vài trăm lần) BN ngồi đĩa cứng, thiết bị nhớ, có khối lượng nhớ lớn, an toàn lưu trữ Để chương trình thực hiện, liệu (các thơng tin đầu vào, chương trình…) đưa từ BN ngồi vào BN - BN mà HĐH trực tiếp quản lý - sau BXL truy nhập đáp ứng theo yêu cầu chương trình HĐH quản lý vùng BN cấp phát cho chương trình thời điểm điểm thực cấp phát, vừa nhằm sử dụng BN hiệu (đáp ứng cho nhiều chương trình đồng thời), đảm bảo yêu cầu chương trình, vừa đảm bảo đồng với tốc độ hoạt động BXL 1.1.2.2 Bộ xử lý (thiết bị xử lý trung tâm) - Bộ xử lý tài nguyên quan trọng, truy nhập mức câu lệnh nơi thực câu lệnh Mỗi processor quản lý phân phối riêng biệt tài nguyên độc lập, phân phối cho tiến trình - Các thuộc tính (tốc độ xử lý, độ dài từ máy: từ máy lượng thông tin đồng thời mà BXL xử lý nhịp làm việc; độ dài từ máy số lượng bit nhị phân tốn hạng đối số phép tính BXL) Trong đó, tham số đặc trưng tài nguyên processor: thời gian thực câu lệnh 1.1.2.3 Thiết bị điều khiển vào/ra - Khái niệm: thiết bị kết nối BXL với thiết bị ngồi (chuyển đổi thơng tin mơi trường ngồi khu vực trung tâm; đồng hóa hoạt động thành phần nâng hiệu sử dụng BXL - Kênh (channel – xử lý vào-ra): điều khiển trao đổi thơng tin BN thiết bị ngồi; phân loại: kênh chậm (đa tuyến – nối với nhiều thiết bị tốc độ chậm, phục vụ sau byte vào-ra; kênh nhanh (kênh chọn – nối vào thiết bị, phục vụ trọn vẹn yêu cầu vào-ra) - Thiết bị điều khiển thiết bị ngoại vi: phân cấp chức hệ thống vào-ra điều khiển kênh thiết bị điều khiển thiết bị vào-ra - Thiết bị vào-ra: trực tiếp thực thao tác đưa thông tin vào-ra - Tham số đặc trưng tài nguyên thiết bị điều khiển: thời gian sử dụng, thời gian kết nối thiết bị điều khiển I/O với thiết bị ngoại vi 1.1.2.4 Nguyên tắc sử dụng (chia sẻ - dùng chung) tài nguyên hệ thống Việc phân chia tài nguyên để cấp phát cho tiến trình có u cầu, đặc biệt tiến trình hoạt động đồng thời với giải vấn đề tranh chấp tài nguyên tiến trình đồng thời yêu cầu phục vụ tiến trình vượt khả cấp phát tài nguyên kể tài nguyên phân chia Nguyên tắc sử dụng tài nguyên hệ thống cách thức phân chia tài nguyên hệ thống cho tiến trình nhằm đáp ứng cho nhiều tiến trình đồng thời khả có hạn tài nguyên hệ thống điều kiện định - Tài nguyên phân chia (tài nguyên có thuộc tính dung lượng - BN): phân chia tài nguyên cho nhiều đối tượng sử dụng đồng thời (chia sẻ theo không gian) - Tài nguyên phân chia (tài ngun có thuộc tính thời gian sử dụng phần lớn tài nguyên hệ thống thuộc loại – chia sẻ theo thời gian): + phân phối đáp ứng nhu cầu cho tiến trình + chọn tốc độ chuyển giao khoảng thời gian phục vụ cho tạo cảm giác tiến trình phục vụ đồng thời Đó q trình sử dụng song song: đĩa từ, modul thuộc loại sử dụng nhiều lần… + số loại tài nguyên sử dụng tuần tự: máy in, máy vẽ… HĐH phải tạo tài nguyên ảo - Tài nguyên ảo tài nguyên mà cung cấp cho người sử dụng, thuộc tính tài nguyên biến đổi cho phù hợp yêu cầu người sử dụng Nó xuất hệ thống cần tới hệ thống tạo tự động hệ thống kết thúc hay xác tiến trình gắn với kết thúc - Cách truy nhập sử dụng tài nguyên ảo thể thiết bị vật lý khác - Phạm vi áp dụng tài nguyên ảo: + Áp dụng rộng rãi cho tài nguyên hoạt động theo nguyên tắc (máy in ) + Đối với tài nguyên phân phối song song: tách tài nguyên vật lý thành nhiều tài nguyên logic, theo cách nhìn người sử dụng (căn vào dạng tài nguyên vật lý cụ thể, sử dụng kỹ thuật mơ chương trình kích hoạt cần thiết để tổ chức tài nguyên logic) 1.2 CHỨC NĂNG CỦA HỆ ĐIỀU HÀNH 1.2.1 Giả lập máy tính mở rộng Giả lập máy tính mở rộng tạo môi trường giao tiếp người sử dụng với máy tính mở rộng, để người sử dụng thông qua môi trường giao tiếp tác động đến máy tính mở rộng nhằm thực chương trình u cầu Máy tính mở rộng máy tính có đầy đủ chức máy tính thực đơn giản dễ sử dụng Khi người sử dụng tác động vào máy tính mở rộng, chuyển đổi thông tin điều khiển từ máy tính mở rộng sang máy tính thực ngược lại hệ điều hành thực Giả lập máy tính mở rộng giúp người sử dụng khai thác chức phần cứng máy tính dễ dàng hiệu 1.2.2 Quản lý, chia sẻ tài nguyên hệ thống Tài nguyên hệ thống, đặc biệt tài nguyên phần cứng thường giới hạn cần đáp ứng cho nhiều chương trình đồng thời Nhằm thỏa mãn nhiều yêu cầu với số lượng tài nguyên hữu hạn, nâng cao hiệu sử dụng tài nguyên, HĐH cần có chế chiến lược thích hợp để quản lý việc phân phối tài ngun Nhiều chương trình sử dụng có nhu cầu chia sẻ thông tin (tài nguyên phần mềm) HĐH cần đảm bảo phối hợp việc chia sẻ tài nguyên việc truy suất đến tài nguyên hợp lệ 1.2.3 Một số chức khác Trên hai chức tổng quát hệ điều hành, xem mục tiêu mà nhà thiết kế, cài đặt hệ điều hành phải hướng tới Các hệ điều hành có chức cụ thể sau đây: - Hệ điều hành cho phép thực nhiều chương trình đồng thời mơi trường đa tác vụ - Multitasking Environment Hệ điều hành phải xác định ứng dụng chạy ứng dụng chạy khoảng thời gian phải dừng lại ứng dụng khác chạy - Hệ điều hành tự nạp vào nhớ - It loads itself into memory: Quá trình nạp hệ điều hành vào nhớ gọi trình Booting Chỉ hệ điều hành nạp vào nhớ cho phép người sử dụng giao tiếp với phần cứng Trong hệ thống có nhiều ứng dụng đồng thời hoạt động nhớ hệ điều hành phải chịu trách nhiệm chia sẻ không gian nhớ RAM nhớ cache cho ứng dụng - Hệ điều hành API: Application Programming Interface: API tập hàm/thủ tục xây dựng sẵn bên hệ thống Hệ điều hành giúp cho chương trình người sử dụng giao tiếp với API hay thực lời gọi đến hàm/thủ tục API - Nạp liệu cần thiết vào nhớ - It loads the requied data into memory: Hệ điều hành phải theo dõi đồ cấp phát nhớ, gồm địa liệu chương trình lưu trữ BN để ghi đọc liệu, chương trình cần thiết - Hệ điều hành biên dịch thị chương trình - It interprets program instructions: Hệ điều hành chịu trách nhiệm sinh thông báo lỗi hệ thống gặp lỗi hoạt động 1.3 THÀNH PHẦN VÀ CẤU TRÚC CỦA HỆ ĐIỀU HÀNH 1.3.1 Thành phần HĐH 1.3.1.1 Thành phần HĐH theo quan điểm modul Hệ điều hành hệ thống chương trình lớn, thực nhiều nhiệm vụ khác nhau, nhà thiết kế thường chia hệ điều hành thành nhiều thành phần (modul chương trình), thành phần đảm nhận nhóm nhiệm vụ đó, nhiệm vụ có liên quan với Cách phân chia nhiệm vụ cho thành phần, cách kết nối thành phần lại với để thực nhiệm vụ lớn cần cách gọi thành phần cần thực nhiệm vụ Tất phương thức tạo nên cấu trúc hệ điều hành Modul chương trình điều khiển: quản lý tài nguyên; quản lý nhiệm vụ, tiến trình; quản lý liệu tổ chức truy nhập; thư ký điều phối nhiệm vụ Modul chương trình phục vụ hệ thống: biên tập; dịch; phục vụ (tạo môi trường mới, biên bản, thống kê…) Các chương trình hệ thống ln có mặt BN để điều khiển máy tính làm việc – chúng thuộc vào nhân hệ thống; chương trình điều khiển nạp vào BN cần thiết Các modul đưa vào nhân modul thường xuyên sử dụng nhiều Nhân HĐH thơng thường: - Modul chương trình tải (Loader): đưa chương trình vào BN địa để sau cho phép chương trình tải nhận điều khiển để chạy khơng; - Modul chương trình dẫn dắt (monitor): lựa chọn bước làm việc toàn hệ thống - Modul chương trình lập lịch (scheduler): lựa chọn chương trình để thực hiện; - Một số modul khác thông tin hệ thống tham số hệ thống 1.3.1.2 Thành phần hệ điều hành theo chức a- Thành phần quản lý tiến trình Tạo lập tiến trình đưa vào danh sách quản lý tiến trình hệ thống Khi tiến trình kết thúc, phải loại bỏ tiến trình khỏi danh sách quản lý tiến trình hệ thống Cung cấp đầy đủ tài nguyên để tiến trình vào hoạt động phải đảm bảo đủ tài nguyên để trì hoạt động tiến trình tiến trình kết thúc Khi tiến trình kết thúc, phải thu hồi tài nguyên mà hệ điều hành cấp cho tiến trình Khi tiến trình khơng thể tiếp tục hoạt động HĐH phải tạm dừng tiến trình, thu hồi tài nguyên mà tiến trình chiếm giữ, sau điều kiện thuận lợi HĐH phải tái kích hoạt tiến trình để tiến trình tiếp tục hoạt động kết thúc Trong hệ thống có nhiều tiến trình hoạt động song song hệ điều hành phải giải vấn đề tranh chấp tài nguyên tiến trình, điều phối processor cho tiến trình, giúp tiến trình trao đổi thơng tin hoạt động đồng với nhau, đảm bảo nguyên tắc tất tiến trình khởi tạo phải thực kết thúc Tóm lại, phận quản lý tiến trình HĐH phải thực nhiệm vụ sau đây: - Tạo lập, hủy bỏ tiến trình - Tạm dừng, tái kích hoạt tiến trình - Tạo chế thơng tin liên lạc tiến trình - Tạo chế đồng hóa tiến trình b- Thành phần quản lý nhớ Bộ nhớ tài nguyên quan trọng hệ thống, thiết bị lưu trữ mà BXL truy xuất trực tiếp Các chương trình người sử dụng muốn thực BXL trước hết phải hệ điều hành nạp vào nhớ chính, chuyển đổi địa sử dụng chương trình thành địa mà BXL truy xuất Khi chương trình, tiến trình có u cầu nạp vào nhớ hệ điều hành phải cấp phát khơng gian nhớ cho Khi chương trình, tiến trình kết thúc hệ điều hành phải thu hồi lại không gian nhớ cấp phát cho chương trình, tiến trình trước Trong hệ thống đa chương hay đa tiến trình, nhớ tồn nhiều chương trình/ nhiều tiến trình, hệ điều hành phải thực nhiệm vụ bảo vệ vùng nhớ cấp phát cho chương trình/ tiến trình, tránh vi phạm vùng nhớ Tóm lại, phận quản lý nhớ HĐH thực nhiệm vụ sau: - Cấp phát, thu hồi vùng nhớ - Ghi nhận trạng thái nhớ - Bảo vệ nhớ - Quyết định tiến trình nạp vào nhớ c- Thành phần quản lý vào-ra Một mục tiêu HĐH giúp người sử dụng khai thác hệ thống máy tính dễ dàng hiệu quả, thao tác trao đổi thông tin thiết bị xuất/ nhập phải suốt người sử dụng Hệ điều hành có phận điều khiển thiết bị I/O, phận phối hợp BXL để quản lý hoạt động trao đổi thông tin hệ thống, chương trình người sử dụng người sử dụng với thiết bị xuất/ nhập Bộ phận điều khiển thiết bị thực nhiệm vụ sau: - Gửi mã lệnh điều khiển đến thiết bị mã điều khiển trước bắt đầu trình trao đổi liệu với thiết bị - Tiếp nhận yêu cầu ngắt (Interrupt) từ thiết bị thiết bị cần trao đổi với hệ thống, hệ điều hành tiếp nhận yêu cầu ngắt, xem xét thực thủ tục để đáp ứng yêu cầu thiết bị - Phát xử lý lỗi: hệ điều hành phải tạo chế thích hợp để phát lỗi sớm khắc phục lỗi vừa xảy d- Thành phần quản lý nhớ phụ (đĩa) Sau thao tác cấp phát block BN, HĐH phải ghi nhận trạng thái block đĩa, đặc biệt block cịn tự để chuẩn bị cho q trình cấp block sau Trong trình sử dụng tập tin, nội dung tập tin thay đổi (tăng, giảm), hệ điều hành phải tổ chức cấp phát động block cho tập tin Lập lịch cho đĩa lựa chọn thứ tự đọc block đĩa nhằm nâng cao tốc độ đọc liệu đĩa Tóm lại, phận quản lý nhớ phụ thực nhiệm vụ sau: - Quản lý không gian trống đĩa - Định vị lưu trữ thông tin đĩa - Lập lịch cho vấn đề ghi/ đọc thông tin đĩa đầu từ e- Thành phần quản lý tập tin Tập tin đơn vị lưu trữ thiết bị lưu trữ vật lý, tập tin có tên riêng Hệ điều hành phải thiết lập mối quan hệ tương ứng tên tập tin thiết bị lưu trữ chứa tập tin Việc truy xuất đến thông tin lưu trữ thiết bị lưu trữ thực thơng qua tên nó, thao tác lại hệ điều hành thực Trong hệ thống có nhiều tiến trình đồng thời truy xuất tập tin hệ điều hành phải tạo chế thích hợp để bảo vệ tập tin tránh việc ghi/ đọc bất hợp lệ tập tin Tóm lại: phận quản lý tập tin hệ điều hành thực nhiệm vụ sau: - Tạo/ xoá tập tin/ thư mục - Bảo vệ tập tin có tượng truy xuất đồng thời - Cung cấp thao tác xử lý bảo vệ tập tin/ thư mục - Tạo mối quan hệ tập tin nhớ phụ chứa tập tin - Tạo chế truy xuất tập tin thông qua tên tập tin g- Thành phần thông dịch lệnh Đây phận quan trọng hệ điều hành, đóng vai trò giao tiếp hệ điều hành người sử dụng Các lệnh chuyển đến HĐH dạng thị điều khiển Chương trình shell – thơng dịch lệnh – làm nhiệm vụ đơn giản nhận lệnh thơng dịch lênh để HĐH có xử lý tương ứng h- Thành phần bảo vệ hệ thống Các tiến trình đồng thời bảo vệ lẫn (tránh xâm phạm lẫn làm sai lệch hệ thống) Do đó, HĐH cung cấp chế để đảm bảo tập tin, nhớ, BXL, tài nguyên khác truy xuất tiến trình có quyền Ví dụ, nhớ đảm bảo tiến trình thi hành phạm vi địa Bộ thời gian đảm bảo khơng có tiến trình độc chiếm BXL thiết bị ngoại vi bảo vệ Hệ thống bảo vệ chế kiểm soát trình truy xuất chương trình, tiến trình, người sử dụng với tài nguyên hệ thống Cơ chế cung cấp cách thức để mô tả lại mức độ kiểm soát Hệ thống bảo vệ làm tăng độ an toàn kiểm tra lỗi giao tiếp hệ thống nhỏ bên Ngoài hệ điều hành mạng, hệ điều hành phân tán cịn có thêm thành phần kết nối mạng truyền thông Để đáp ứng yêu cầu người sử dụng chương trình người sử dụng nhiệm vụ hệ điều hành thiết kế dạng dịch vụ: - Thi hành chương trình: nạp chương trình người sử dụng vào nhớ, chuẩn bị đầy đủ điều kiện tài nguyên để chương trình chạy kết thúc được, kết thúc bình thường kết thúc bị lỗi Khi chương trình kết thúc hệ điều hành phải thu hồi tài nguyên cấp cho chương trình ghi lại thơng tin mà chương trình thay đổi q trình chạy (nếu có) - Thực thao tác xuất nhập liệu: hệ điều hành hỗ trợ việc xuất nhập liệu cho chương trình, phải nạp liệu mà chương trình cần vào nhớ - Thực thao tác hệ thống tập tin: cung cấp công cụ để chương trình dễ dàng thực thao tác đọc ghi tập tin, thao tác phải thực an tồn, đặc biệt mơi trường đa nhiệm - Trao đổi thông tin tiến trình: cung cấp dịch vụ cần thiết để tiến trình trao đổi thơng tin với phối hợp để hoàn thành tác vụ - Phát xử lý lỗi: Hệ điều hành phải có cơng cụ để hệ điều hành để hệ điều hành giúp chương trình người sử dụng phát lỗi hệ thống phát sinh Hệ điều hành phải đưa dịch vụ để xử lý lỗi cho hiệu 1.3.2 Các cấu trúc hệ điều hành 1.3.2.1 Hệ thống đơn khối (monolithic systems) Trong hệ thống hệ điều hành tập hợp thủ tục, thủ tục gọi thực thủ tục khác lúc cần thiết Hệ thống đơn khối thường tổ chức theo nhiều dạng cấu trúc khác nhau: - Sau biên dịch tất thủ tục riêng file chứa thủ tục hệ điều hành liên kết lại với chứa vào file gọi file đối tượng, file đối tượng cịn chứa thơng tin liên kết thủ tục - Sau biên dịch thủ tục hệ điều hành không liên kết lại, mà hệ thống tạo file bảng mục để chứa thông tin thủ tục hệ điều hành, phần tử bảng mục chứa trỏ trỏ tới thủ tục tương ứng, trỏ dùng để gọi thủ tục cần thiết Ta xem cách gọi ngắt (Interrupt) ngơn ngữ lập trình cấp thấp cách thực đáp ứng ngắt dựa vào bảng vector ngắt 10 Trong sơ đồ ví dụ trên, có địa logic là: 0000010111011110, với số hiệu trang 1, offset 478, giả định trang thường trú nhớ khung trang = 000110 Thì địa vật lý khung trang số offset 478 = 0001100111011110 Chia sẻ BN kỹ thuật phân trang sử dụng nhằm sử dụng hiệu BN hỗ trợ cho nhiều người dùng (trình biên dịch, hệ thống cửa sổ, thư viện, CSDL…) BN chia sẻ cài đặt cho nhiều địa ảo (mỗi địa ảo cho trình chia sẻ BN) mà chúng ánh xạ đến địa vật lý Nhận xét kỹ thuật phân trang - Có thể thấy phân trang tương tự phân vùng cố định Sự khác với phân trang phân vùng có kích thước nhỏ hơn, chương trình chiếm giữ nhiều phân vùng, phân vùng khơng liền kề với - Kỹ thuật phân trang loại bỏ phân mảnh ngoại vi, xảy phân mảnh nội vi kích thước tiến trình khơng bội số kích thước trang, khung trang cuối khơng sử dụng hết - Khi cần truy xuất đến liệu hay thị BN hệ thống phải cần lần truy xuất đến bảng trang, điều làm giảm tốc độ truy xuất BN Để khắc phục HĐH sử dụng thêm bảng trang cache, để lưu trữ trang BN vừa truy cập gần Bảng trang cache sử dụng BXL phát địa cần truy xuất - Mỗi HĐH có chế tổ chức bảng trang riêng, đa số HĐH tạo cho tiến trình bảng trang riêng nạp vào BN Bảng trang lớn tốn BN để chứa 66 - Để bảo vệ khung trang HĐH đưa thêm bít bảo vệ vào bảng trang Theo tham khảo vào bảng trang để truy xuất BN hệ thống kiểm tra thao tác truy xuất khung trang tương ứng có hợp lệ với thuộc tính bảo vệ hay không - Sự phân trang không phản ánh cách mà người sử dụng nhìn nhận BN Với người sử dụng, BN tập đối tượng chương trình liệu segment, thư viện, biến, vùng nhớ chia sẻ, stack Vấn đề đặt tìm cách thức biểu diễn BN cho gần với cách nhìn nhận người sử dụng Kỹ thuật phân đoạn BN thực mục tiêu 3.2.4 Kỹ thuật phân đoạn đơn (Simple Segmentation) Không gian địa logic tiến trình kể liệu liên quan tập hợp đoạn khác khơng thiết có kích thước nhau, thơng thường thành phần chương trình/tiến trình như: code, data, stack, subprogram, đoạn Không gian địa nhớ vật lý chia thành phần cố định có kích thước khơng nhau, đánh số 0, gọi phân đoạn (segment) Mỗi phân đoạn bao gồm số hiệu phân đoạn kích thước Khi tiến trình nạp vào nhớ tất đoạn nạp vào phân đoạn trống khác nhớ Các phân đoạn khơng liên tiếp Để theo dõi đoạn tiến trình khác nhớ, HĐH sử dụng bảng phân đoạn (SCT: Segment control Table) cho tiến trình Mỗi phần tử bảng phân đoạn gồm tối thiểu trường: địa sở (base) phân đoạn độ dài/giới hạn (length/limit) phân đoạn Địa sở (base) đoạn xác định địa vật lý byte đoạn Giới hạn đoạn (limit) xác định kích thước đoạn, trường cịn có tác dụng dùng để kiểm soát truy xuất bất hợp lệ tiến trình Các bảng phân đoạn chứa ghi có kích thước nhỏ, kích thước bảng phân đoạn lớn chứa BN chính, HĐH dùng ghi để lưu trữ địa bắt đầu nơi lưu trữ bảng phân đoạn, ghi gọi ghi STBR: Segment table base register Ngồi số lượng đoạn chương trình/tiến trình thay đổi nên hệ điều hành dùng thêm ghi STLR: Segment table length register, để ghi kích thước bảng phân đoạn Hệ điều hành tổ chức danh sách riêng để theo dõi segment trống nhớ 67 Trong kỹ thuật địa logic mà BXL sử dụng gồm thành phần: Số hiệu đoạn (segment): cho biết số hiệu đoạn tương ứng cần truy xuất địa tương đối đoạn (Offset): giá trị kết hợp với địa bắt đầu đoạn để xác định địa vật lý ô nhớ cần truy xuất Việc chuyển đổi từ địa logic sang địa vật lý processor thực Nếu có địa logic gồm n + m bít, n bít bên trái số hiệu segment, m bít bên phải cịn lại offset Trong ví dụ minh hoạ sau n = m = 12, kích thước tối đa segment 12 = 4096 byte Sau bước cần thiết việc chuyển đổi địa chỉ: - Trích n bít bên trái địa logic để xác định số hiệu phân đoạn cần truy xuất - Sử dụng số hiệu phân đoạn để đến phần tử bảng phân đoạn tiến trình, để tìm địa vật lý bắt đầu phân đoạn - So sánh thành phần offset địa logic, trích từ m bít bên phải địa logic, với thành phần length phân đoạn Nếu offset > length địa truy xuất không hợp lệ - Địa vật lý mong muốn địa vật lý bắt đầu phân đoạn cộng với giá trị offset 68 Trong ví dụ sau đây, ta có địa logic là: 0001001011110000, với số hiệu segment 1, offset 752, giả định segment thường trú nhớ địa vật lý 0010000000100000, địa vật lý tương ứng với địa logic là: 0010000000100000 + 001011110000 = 0010001100010000 16 bít địa logic bít Seg 10 bít Offset 0001 001011110000 độ dài địa c¬ së 001011101110 0000010000000000 011110011110 0010000000100000 1000011000110 00010000100010000 16 bít địa vật lý + 0010001100010000 Bảng phân đoạn tiến trình Không gian nhớ vật lý Hình Sơ đồ chuyển đổi địa logic (segment) – vật lý Trong kỹ thuật phân đoạn, chia sẻ phân đoạn chương trình chia sẻ gói chương trình con, liệu Nhận xét kỹ thuật phân đoạn 69 - Vì segment có kích thước khơng nên phân đoạn tương tự phân vùng động Sự khác với phân đoạn chương trình chiếm giữ phân vùng, phân vùng khơng liền kề với Sự phân vùng loại trừ phân mảnh nội vi, phân vùng động xuất hiện tượng phân mảnh ngoại vi - Sự phân đoạn tường minh người lập trình, cung cấp thuận lợi để người lập trình tổ chức chương trình liệu Người lập trình trình biên dịch gán chương trình liệu đến đoạn nhớ khác - Tương tự kỹ thuật phân vùng động, kỹ thuật phải giải vấn đề cấp phát động, hệ điều hành thường dùng thuật toán best-fit hay first-fit - Kỹ thuật phân đoạn thể cấu trúc logic chương trình, phải cấp phát khối nhớ có kích thước khác cho phân đoạn chương trình nhớ vật lý, điều phức tạp nhiều so với việc cấp phát khung trang Để dung hòa vấn đề hệ điều hành kết hợp phân trang phân đoạn * Kỹ thuật phân đoạn kết hợp phân trang Không gian địa tập phân đoạn, phân đoạn chia thành trang Khi tiến trình đưa vào hệ thống, HĐH cấp phát cho tiến trình trang cần thiết để chứa đủ phân đoạn tiến trình Cơ chế MMU cần có bảng phân đoạn phân đoạn có bảng trang phân biệt Địa logic đơn vị nhớ có (s, p, d); s – số hiệu phân đoạn, để đến phần tử tương ứng bảng phân đoạn; p – số hiệu trang, đến phần tử tương ứng bảng trang phân đoạn; d – địa tương đối trang, kết hợp với địa đầu trang để tạo địa vật lý mà trình quản lý BN sử dụng Đặc điểm chung Các kỹ thuật có khuynh hướng cấp phát vùng nhớ cho tiến trình tồn trang u cầu trước thực xử lý Do kích thước BN bị giới hạn, nên kích thước tiến trình bị giới hạn Khó trì đồng thời nhiều tiến trình BN, khó nâng cao mức độ đa chương hệ thống 3.3 KỸ THUẬT BỘ NHỚ ẢO (Virtual Memory) 3.3.1 Bộ nhớ ảo Nếu đặt tồn khơng gian địa vào BN vật lý kích thước chương trình bị giới hạn kích thước BN vật lý Thực tế, nhiều trường hợp, khơng cần nạp tồn chương trình vào BN vật lý, thời điểm có thị tiến trình xử lý Để thực việc nạp phần chương trình vào BN vật lý, thời điểm lưu trữ BN vật lý thị liệu chương trình cần thiết cho việc thi hành thời điểm Khi cần đến thị khác, thị nạp vào BN vị trí trước bị chiếm giữ thị khơng cịn cần đến 70 Khi đó, chương trình lớn kích thước vùng nhớ cấp phát cho Kỹ thuật Overlay thuận tiện cho HĐH, địi hỏi người lập trình viên phải lập trình theo cấu trúc Overlay, mà điều phức tạp Bộ nhớ ảo cho phép khắc phục khó khăn Bộ nhớ ảo kỹ thuật cho phép xử lý tiến trình khơng nạp tồn vào BN Bộ nhớ ảo mơ hình hóa BN bảng lưu trữ lớn đồng nhất, tách biệt hẳn khái niệm không gian địa khơng gian vật lý Người sử dụng nhìn thấy làm việc không gian địa ảo, việc chuyển đổi sang không gian vật lý HĐH trợ giúp chế phần cứng thực Việc sử dụng nhớ ảo mang lại lợi ích sau đây: - Hệ điều hành nạp nhiều tiến trình vào nhớ, nhớ tồn trang/đoạn nhiều tiến trình khác - Với kỹ thuật nhớ ảo người lập trình khơng cần quan tâm đến kích thước chương trình kích thước nhớ thời điểm nạp chương trình, tất việc hệ điều hành phần cứng thực Để cài đặt nhớ ảo hệ HĐH cần phải có: - Một lượng không gian nhớ phụ (đĩa) cần thiết đủ để chứa trang/đoạn bị swap out, không gian đĩa gọi không gian swap - Có chế để theo dõi trang/đoạn tiến trình, tất tiến trình hoạt động nhớ chính, nhớ hay nhớ phụ Trong trường hợp HĐH thường đưa thêm bít trạng thái (bit present) vào phần tử PCT SCT - Dựa vào tiêu chuẩn cụ thể để chọn trang số trang BN để swap out trường hợp cần thiết Các HĐH đưa thuật toán cụ thể để phục vụ cho mục đích 3.3.2 Kỹ thuật nhớ ảo Hệ điều hành cài đặt nhớ ảo theo kỹ thuật: - Phân trang theo yêu cầu: phân trang kết hợp với swap - Phân đoạn theo yêu cầu: phân đoạn kết hợp với swap Cả hai kỹ thuật phải có hỗ trợ phần cứng máy tính, cụ thể processor Đa số HĐH chọn kỹ thuật phân trang theo u cầu, đơn giản, dễ cài đặt chi phí thấp 3.3.2.1 Sự phân trang theo yêu cầu (Demand paging) Trong kỹ thuật phân trang đơn, tiến trình sở hữu bảng trang riêng, tất trang tiến trình nạp vào BN bảng trang tiến trình tạo nạp vào BN (nếu lớn), phần tử bảng trang chứa số hiệu khung trang mà trang tương ứng nạp vào Trong kỹ thuật BN ảo vậy, phần tử bảng trang chứa nhiều thông tin phức tạp Bởi kỹ thuật BN ảo trang cần thiết thời điểm nạp vào BN Như vậy, trang nạp BN có u cầu Do cần phải có bít để 71 cho biết page tương ứng tiến trình có hay khơng BN bít cho biết page có bị thay đổi hay khơng so với lần nạp gần Cụ thể phải có thêm bít điều khiển: Virtual Address Page Number Offset Các bít điều khiển khác Frame Number Hình Một phần tử bảng trang - Bít P (Present): Cho biết trang tương ứng BN (1) hay nhớ phụ (0) - Bít M (Modify): Cho biết nội dung trang tương ứng có bị thay đổi hay không so với lần nạp gần Nếu khơng bị thay đổi việc phải ghi lại nội dung trang cần phải đưa trang lại BN ngồi khơng cần thiết, điều giúp tăng tốc độ thao tác thay trang khung trang - Các bít điều khiển khác: Các bít phục vụ cho mục đích bảo vệ trang chia sẻ khung trang Chuyển đổi địa hệ thống phân trang Chương trình người sử dụng sử dụng địa logic virtual gồm: page number offset để truy xuất liệu BN Bộ phận quản lý BN phải chuyển địa virtual thành địa vật lý tương ứng bao gồm: page number offset Để thực việc phận quản lý BN phải dựa vào bảng trang (PCT) Cấu trúc bảng trang cho phép phản ánh tình trạng trang nằm BN hay BN phụ BN phụ lưu trữ trang khơng nạp vào BN chính, thường đĩa nhớ Vùng không gian đĩa dùng để lưu trữ tạm trang kỹ thuật swapping gọi khơng gian swapping Vì kích thước PCT lớn thay đổi theo kích thước tiến trình kỹ thuật BN ảo HĐH thường chứa PCT nhớ dùng ghi để ghi địa bắt đầu nhớ nơi lưu trữ PCT tiến trình tiến trình nạp vào nhớ để chạy Đa số HĐH thiết kế bảng trang riêng cho tiến trình Nhưng tiến trình chiếm giữ không gian lớn BN ảo, trường hợp bảng trang lớn hệ thống phải tốn khơng gian BN để chứa Ví dụ, tiến trình có đến 31 = 2GB nhớ ảo, trang có kích thước = 512 byte, tiến trình phải cần đến 22 phần tử bảng trang Để khắc phục vấn đề này, kỹ thuật BN ảo hệ thống lưu trữ bảng trang BN ảo không lưu trữ BN thực, thân bảng trang phải phân trang Khi tiến trình thực hiện, có phần bảng trang nạp vào BN chính, phần chứa phần tử trang thực thời điểm Kích thước trang: Kích thước trang phần cứng quy định, định quan trọng việc thiết kế processor Nếu kích thước trang nhỏ phân mảnh bên nhỏ hơn, việc sử dụng BN hiệu Nhưng 72 kích thước trang nhỏ số lượng trang tiến trình lớn hơn, bảng trang tiến trình lớn, chiếm nhiều BN hơn, việc sử dụng BN hiệu Các vi xử lý họ Intel 486 họ Motorola 68040 chọn kích thước trang 4096 byte Ngồi kích thước trang ảnh hưởng đến tỉ lệ xảy lỗi trang Ví dụ: kích thước trang nhỏ có lượng lớn trang tiến trình BNchính, sau thời gian tất trang BN chứa tiến trình tham chiếu gần đây, tốc độ xảy lỗi trang giảm xuống Lỗi trang (page fault) Trong mơ hình BN ảo cần truy xuất đến page tiến trình trước hết hệ thống phải kiểm tra bít present phần tử tương ứng với page cần truy xuất PCT, để biết page cần truy xuất nạp vào BN hay chưa Trường hợp hệ thống cần truy xuất đến page tiến trình mà page nạp vào BN chính, gọi truy xuất hợp lệ (v: valid) Trường hợp hệ thống cần truy xuất đến page tiến trình mà page chưa nạp vào BN chính, gọi truy xuất bất hợp lệ (i: invalid) Khi hệ thống truy xuất đến trang tiến trình mà trang khơng thuộc phạm vi khơng gian địa tiến trình gọi truy xuất bất hợp lệ Khi hệ thống truy xuất đến page đánh dấu bất hợp lệ phát sinh lỗi trang Như lỗi trang tượng hệ thống cần truy xuất đến page tiến trình mà trang chưa nạp vào BN, hay không thuộc không gian địa tiến trình Ở ta xét lỗi trang trường hợp: Page cần truy xuất chưa nạp vào BN Khi nhận tín hiệu lỗi trang, HĐH phải tạm dừng tiến trình để tiến hành việc xử lý lỗi trang Khi xử lý lỗi trang HĐH gặp hai tình sau: a- Hệ thống cịn frame trống: Hệ điều hành thực bước sau: Tìm vị trí page cần truy xuất đĩa Nạp page vừa tìm thấy vào BN Cập nhật lại bảng trang (PCT) tiến trình Tái kích hoạt tiến trình để tiến trình tiếp tục hoạt động b- Hệ thống khơng cịn frame trống: Tìm vị trí page cần truy xuất đĩa Tìm page khơng hoạt động khơng thực cần thiết thời điểm để swap out đĩa, lấy frame trống để nạp page mà hệ thống vừa cần truy xuất Page bị swap out HĐH swap in trở lại BN thời điểm thích hợp sau Cập nhật PCT tiến trình có page vừa bị swap out Nạp trang vừa tìm thấy (bước 1) vào frame trống (bước 2) Cập nhật lại bảng trang (PCT) tiến trình Tái kích hoạt tiến trình để tiến trình tiếp tục hoạt động Xử lý lỗi trang nhiệm vụ quan trọng phức tạp hệ thống HĐH Để xử lý lỗi trang hệ thống phải tạm dừng thao tác tại, trường 73 hợp hệ thống phải lưu lại thông tin cần thiết như: trỏ lệnh, nội dung ghi, không gian địa nhớ…, thông tin sở để hệ thống tái kích hoạt tiến trình bị tạm dừng trước hoàn thành việc xử lý lỗi trang Khi xử lý lỗi trang, trường hợp hệ thống khơng cịn frame trống HĐH phải ý đến vấn đề sau: Nên chọn page số page nhớ để swap out: chọn page tiến trình xảy lỗi trang để thay (thay cục bộ), chọn page tiến trình khác để thay (thay toàn cục) Nếu chọn page tiến trình xảy lỗi trang đơn giản với HĐH không ảnh hưởng đến tiến trình khác, cách làm cho tiến trình lại tiếp tục xảy lỗi trang sau HĐH vừa xử lý lỗi trang cho nó, page mà HĐH vừa chọn để đưa (swap out) lại page cần truy xuất thời điểm Nếu chọn page tiến trình khác tiến trình có nguy xảy lỗi trang sau hơn, cách phức tạp cho HĐH, HĐH phải kiểm sốt lỗi trang nhiều tiến trình khác hệ thống, HĐH khó dự đốn nguy xảy lỗi trang tiến trình hệ thống Trong trường hợp lỗi trang lan truyền đến nhiều tiến trình khác hệ thống, việc xử lý lỗi trang HĐH phức tạp nhiều Đa số HĐH chọn cách thứ đơn giản khơng ảnh hưởng đến tiến trình khác hệ thống “Neo” số page: Trên BN tồn page tiến trình đặc biệt quan trọng hệ thống, tiến trình bị tạm dừng ảnh hưởng lớn đến hệ thống làm cho hệ thống ngừng hoạt động, nên HĐH không đưa page đĩa trường hợp Để tránh thuật toán thay trang chọn page HĐH tổ chức đánh dấu page này, cách đưa thêm bít vào phần tử PCT, bít gọi bít neo Như thuật tốn thay trang khơng xem xét đến page đánh dấu neo cần phải đưa trang đĩa Phải tránh trường hợp hệ thống xảy tượng “trì trệ hệ thống”: Trì trệ hệ thống tượng mà hệ thống ln tình trạng xử lý lỗi trang, tức đa phần thời gian xử lý processor dành cho việc xử lý lỗi trang HĐH Hiện tượng mơ tả sau: xử lý lỗi trang trường hợp BN khơng cịn frame trống, HĐH phải chọn page đó, ví dụ P 3, để swap out nó, để lấy frame trống đó, để nạp page vừa có yêu cầu nạp, để khắc phục lỗi trang Nhưng vừa khắc phục lỗi trang hệ thống lại xảy lỗi trang hệ thống cần truy xuất liệu trang P3, HĐH lại phải khắc phục lỗi trang này, HĐH phải swap out page đó, ví dụ P5 Nhưng sau hệ thống lại xảy lỗi trang khơng tìm thấy page P5 BN HĐH lại phải xử lý lỗi trang, HĐH phải kéo dài việc xử lý lỗi trang mà kết thúc Trong trường hợp ta nói rằng: hệ thống rơi vào tình trạng “trì trệ hệ thống” Như hệ thống xảy tượng “trì trệ hệ thống” khi: BN khơng cịn frame trống, page mà thuật tốn thay trang chọn để swap out page không “tốt”, xét khía cạnh dự báo lỗi trang hệ điều hành 74 Đánh dấu trang bị thay đổi: Khi xử lý lỗi trang, HĐH thường phải thực thao tác swap out, mang page tiến trình khung trang lưu tạm đĩa cứng, không gian swap Hệ điều hành phải tốn thời gian cho thao tác swap out, điều làm giảm tốc độ hệ thống gây lãng phí thời gian xử lý processor Hệ điều hành hạn chế điều cách: lúc hệ điều hành thực swap out page để lấy khung trang trống mà hệ điều hành thực swap out page page bị thay đổi kể từ lần nạp vào nhớ gần Khi định swap out page để lấy khung trang trống để nạp page vào BN, mà page cần swap không bị thay đổi kể từ lần nạp gần nhất, HĐH khơng swap out mà HĐH nạp page vào BN ghi đè lên nó, điều có nghĩa HĐH tiết kiện thời gian swap out page tiến trình đĩa Để làm điều HĐH phải giải hai vấn đề sau: Thứ nhất, làm để xác định page bị thay đổi hay chưa kể từ lần nạp vào BN gần Thứ hai, khơng swap out page cần HĐH swap in từ đâu Đối với vấn đề thứ nhất: HĐH cần thêm bít, bít modify chẳng hạn, vào phần tử bảng trang Khi page vừa nạp vào BN bit modify 0, sau nội dung page bị thay đổi bít modify đổi thành Hệ điều hành dựa vào bít modify để biết page có bị thay đổi hay khơng kể từ lần nạp vào nhớ gần Đối với vấn đề thứ hai: HĐH swap in page ví trí ban đầu đĩa, khơng gian swap Trong số HĐH tiến trình tạo HĐH cấp cho khơng gian swap đĩa, tiến trình bị swap out swap đến khơng gian swap nó, tiến trình kết thúc khơng gian swap giải phóng Như để chuẩn bị cho việc swap in sau này, nạp page tiến trình vào nhớ HĐH ghi nội dung page vào không gian swap Các thuật tốn thay trang Như biết, để xử lý lỗi trang, trường hợp nhớ khơng cịn frame trống, HĐH phải tìm page BN để đưa đĩa, để lấy frame trống để phục vụ cho việc xử lý lỗi trang Khi định chọn page để đưa đĩa HĐH phải đảm bảo việc chọn là: không ảnh hưởng đến tiến trình khác, có nguy xảy lỗi trang sau đặc biệt hệ thống khó rơi vào tình trạng “trì trệ hệ thống” Trong trường hợp HĐH đưa vào sử dụng thuật toán thay trang cụ thể như: Optimal, LRU, FIFO, Clock Các thuật toán thay trang khác có tiêu chí để chọn trang swap out khác nhau, tất hướng tới mục tiêu là: đơn giản xảy lỗi trang Nó không quan tâm đến việc page chọn để swap out trang tiến trình gây lỗi trang hay trang tiến trình hệ thống Các thuật tốn thay trang khơng xem xét đến trang bị đánh dấu “neo” Để so sánh hiệu suất xử lý lỗi trang thuật toán thay trang, phải áp 75 dụng thuật toán điều kiện: có số lượng frame trống ban đầu cần phải nạp danh sách trang vào BN Thuật toán gọi có hiệu suất cao xảy lỗi trang Trong thuật tốn sau chúng xem xét trường hợp: ban đầu hệ thống có frame cịn trống HĐH cần phải nạp danh sách trang sau vào BN: 2, 3, 2, 1, 5, 2, 4, 5, 3, 2, 5, Trong thuật toán sau xét đến trường hợp b lỗi trang, HĐH phải xử lý lỗi trang BN khơng cịn khung trang trống Thuật tốn FIFO (First In First Out) Thuật toán FIFO thuật toán đơn giản dễ cài đặt Với thuật toán trang mà HĐH chọn để swap out trang đưa vào BN sớm nhất, hay BN lâu 5 Frame 2 2 5 5 3 3 Frame Frame 3 3 2 2 5 1 4 4 F F F F F F Theo bảng trường hợp xảy lỗi trang Thuật tốn khơng phải lúc mang lại hiệu tốt Thứ nhất, trang đưa vào nhớ lâu lại trang cần sử dụng sau đó, tức HĐH vừa swap out phải swap in trở lại BN rõ ràng trường hợp HĐH lại phải tiếp tục việc xử lý lỗi trang, trường hợp trang ví dụ Thứ hai, lỗi trang tăng lên số lượng khung trang sử dụng tăng lên, trường hợp gọi nghịch lý Belady Khi HĐH cần nạp trang sau theo thứ tự vào BN: 1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, xảy lỗi trang sử dụng khung trang, xảy 10 lỗi trang sử dụng khung trang Với thuật tốn HĐH cần phải có chế thích hợp để ghi nhận thời điểm trang nạp vào BN để làm sở thay sau Trong trường hợp HĐH thường sử dụng danh sách liên kết để ghi nhận trang nạp vào BN, trang nạp vào sớm ghi nhận đầu danh sách, trang nạp vào muộn ghi nhận cuối danh sách trang chọn để thay trang đầu danh sách Hệ điều hành xóa phần tử đầu danh sách sau trang thay Thuật toán LRU (Least Recenty Used) Theo thuật tốn trang HĐH chọn để thay trang có khoảng thời gian từ lúc truy xuất gần đến thời điểm dài nhất, so với trang BN Như trường hợp HĐH phải ghi nhận thời điểm cuối trang truy xuất Bảng sau minh hoạ cho việc chọn trang để swap out thay thuật toán LRU: 5 Frame 2 2 2 2 3 3 76 Frame Frame 3 3 5 5 5 5 1 4 2 F F F F Theo bảng trường hợp xảy lỗi trang Thuật tốn cần phải có hỗ trợ phần cứng để xác định thời điểm gần trang truy xuất tất trang BN Có hai cách áp dụng: - Sử dụng đếm: cách này, processor thêm vào cấu trúc phần tử bảng trang trường mới, tạm gọi trường LRU, trường ghi nhận thời điểm trang tương ứng truy xuất gần Và thêm vào cấu trúc BXL đếm (Counter) Mỗi có truy xuất BN Counter tăng lên đơn vị Mỗi trang BN truy xuất giá trị Counter ghi vào trường LRU phần tử bảng trang tương ứng với trang Như trang chọn để thay trang có LRU nhỏ - Sử dụng Stack: cách HĐH sử dụng Stack để lưu trữ số hiệu trang nạp vào BN Khi trang truy xuất số hiệu trang xóa khỏi Stack vị trí đưa lên lại đỉnh Stack Như trang có số hiệu nằm đỉnh stack trang sử dụng gần nhất, trang có số hiệu nằm đáy stack trang lâu sử dụng Và trang chọn để thay trang có số hiệu nằm đáy stack Thuật tốn Optimal (tối ưu) Theo thuật tốn trang HĐH chọn để thay trang lâu sử dụng tương lai Bảng sau minh hoạ cho việc chọn trang để swap out thay thuật toán Optinal: 5 Frame 2 2 2 4 2 Frame 3 3 3 3 3 Frame 1 5 5 5 5 F F F Theo bảng trường hợp xảy lỗi trang Mặc dầu thuật tốn xảy lỗi trang hơn, thực tế khó cài đặt HĐH khó đốn trước trang truy xuất trở lại Thuật tốn khơng chiu tác động nghịch lý Belady Cấp phát khung trang Với kỹ thuật BN ảo phân trang HĐH khơng cần khơng thể mang tất page tiến trình nạp vào BN để chuẩn bị thực Vì HĐH cần phải định nạp page, tiến trình vào BN Hay xác nạp tiến trình tiến trình nạp page vào BN (được cấp khung trang) Hệ điều hành định vấn đề theo chọn lựa sau đây: - Chỉ có lượng nhỏ, tối thiểu, page tiến trình nạp vào BN Như HĐH nạp nhiều tiến trình vào BN thời điểm Điều 77 làm tăng khả đa chương HĐH khả tìm thấy tiến trình Ready HĐH lớn nhờ mà hiệu điều phối HĐH tăng lên Nhưng trường hợp HĐH phải ý đến việc nạp thêm page tiến trình vào BN HĐH khó xác định số lượng khung trang tối thiểu mà tiến trình cần khởi tạo - Nếu có lượng vừa phải page tiến trình BN có số tiến trình nạp vào nhớ Như đa chương giảm xuống tốc độ thực tiến trình cải thiện thị page BN cần truy xuất đến page khác nhiều khả page có BN Nhưng lý thuyết HĐH chứng minh trường hợp tỉ lệ xảy lỗi trang lớn - Nếu có lượng lớn page tiến trình BN chính, đa chương giảm xuống đáng kể Nhưng lý thuyết HĐH chứng minh trường hợp tỉ lệ xảy lỗi trang thấp Mặt khác điều gây lãng phí BN có page tiến trình sử dụng BN Theo chọn lựa có điểm thuận lợi điểm chưa thuận lợi riêng, tùy trường hợp cụ thể mà HĐH thực cấp phát khung trang cho tiến trình theo chọn lựa đó, để đảm bảo có nhiều tiến trình nạp vào BN chính, khả tỉ lệ lỗi trang thấp lãng phí BN thấp Để đáp ứng điều HĐH thường thực việc cấp phát khung trang cho tiến trình theo hai sách: Cấp phát tĩnh Cấp phát động - Chính sách cấp phát tĩnh (fixed – allocation): Với sách HĐH cấp cho tiến trình số lượng khung trang cố định, để nạp đủ page tiến trình vào nhớ để hoạt động Số lượng khung trang định thời điểm khởi tạo tiến trình Hệ điều hành định số lượng khung trang tối thiểu cho tiến trình dựa vào loại tiến trình, tiến trình tương tác, tiến trình xử lý theo lơ hay tiến trình theo hướng ứng dụng Với cấp phát tĩnh, có lỗi trang xảy trình thực tiến trình hệ điều hành phải swap out page tiến trình để thực việc xử lý lỗi trang - Chính sách cấp phát động (variable - allocation): Với sách HĐH cấp lượng vừa đủ khung trang, để nạp đủ trang cần thiết tiến trình, để tiến trình khởi tạo hoạt động được, sau tuỳ theo u cầu tiến trình mà HĐH cấp phát thêm khung trang cho nó, để nạp thêm trang cần thiết khác Hệ điều hành thường cấp thêm khung trang cho tiến trình tiến trình bị rơi vào tình trạng lỗi trang, với tiến trình có tần suất xảy lỗi trang lớn HĐH phải cung cấp lượng khung trang lớn, cách vượt bật, đủ để tiến trình khỏi lỗi trang nguy lỗi trang thấp Hiệu suất phân trang theo yêu cầu Hiệu suất phân trang theo yêu cầu thông số trực tiếp tác động đến hiệu suất hệ thống Hiệu suất phân trang theo yêu cầu đánh giá thơng qua thời gian truy cập 78 có ích Khi phân trang theo u cầu, khơng có lỗi trang, thời gian truy cập có ích thời gian truy cập BN trong, tBN khoảng 10 đến 200ns Khi có lỗi trang, hệ thống phải tải trang từ ổ đĩa cứng, sau truy nhập đến trang nhớ mong muốn Gọi tci thời gian truy cập có ích; txl thời gian xử lý lỗi trang; tBN thời gian truy cập BN trong; p xác suất lỗi trang Khi đó, thời gian truy cập có ích xác định: tci = (1 – p) tBN + p.txl Khi xử lý lỗi trang, HĐH thường phải thực công việc sau đây: chuyển quyền điều khiển cho HĐ; lưu lại ngữ cảnh tiến trình; xác nhận ngắt lỗi trang gây ra; kiểm tra việc tham chiếu đến trang hợp lệ xác định vị trí trang ổ đĩa; lệnh tải trang từ ổ đĩa cứng vào frame trống (đợi hàng đợi thiết bị, chờ đầu đọc dịch chuyển ổ đĩa, bắt đầu chuyển trang vào frame trống); lúc chờ đợi, chuyển CPU cho tiến trình khác (khơn bắt buộc); xuất ngắt từ ổ đĩa cứng (hoàn tất thao tác đọc); lưu ngữ cảnh tiến trình chiếm dụng CPU (nếu có bước 6); xác nhận ngắt ngắt từ ổ đĩa cứng; cập nhật lại bảng phân trang để trang cần truy cập nằm BN; chờ CPU cấp phát lại cho tiến trình này; khơi phục ngữ cảnh tiến trình bị phong tỏa ban đầu, sau tiếp tục thi hành thị bị ngắt Thời gian thực công việc từ đến 100ms Thời gian hoán chuyển trang khoảng 24ms (độ trễ ổ đĩa cứng 8ms, dịch chuyển đầu đọc 15ms, truyền liệu 1ms) Như vậy, tổng thời gian phân trang khoảng 25ms (chỉ xét thời gian phục vụ thiết bị) Khi xét thời gian xử lý lỗi trang trung bình 25ms, thời gian truy cập BN 100ns, thời gian truy cập có ích (tính theo ns) là: tci = (1 – p) 100 + p.25000000 = 100 + 24999900.p Nếu xác suất lỗi trang p = 10-3, tci khoảng 25ms tốc độ máy giảm 250 lần Với p = 4.10-7, tci khoảng 110ns hiệu suất máy tính giảm 10% 3.3.2.2 Phân đoạn theo yêu cầu Phân trang theo yêu cầu cho phép BN ảo có hiệu nhất, cần nhiều phần cứng hỗ trợ Phân đoạn theo yêu cầu khắc phục nhược điểm Phân đoạn theo yêu cầu hoàn toàn tương tự phân trang theo yêu cầu Trong mơ tả đoạn, ngồi thơng tin kích thước, mức bảo vệ, vị trí đoạn, cịn có trường bít hợp lệ, nhằm xác định đoạn có có nằm BN hay khơng Q trình truy cập vào đoạn BN, trường hợp giống phân trang theo yêu cầu 79 ... hồn thành tác vụ - Phát xử lý lỗi: Hệ điều hành phải có cơng cụ để hệ điều hành để hệ điều hành giúp chương trình người sử dụng phát lỗi hệ thống phát sinh Hệ điều hành phải đưa dịch vụ để xử lý. .. kể Vấn đề đồng vi xử lý đặt lên hàng đầu thiết kế hệ điều hành cho hệ thống SMP Hệ điều hành Windows NT, hệ điều hành Windows 2000 hệ điều hành đa xử lý đối xứng - Đa xử lý bất đối xứng (ASMP:... hoạt động Hệ điều hành mạng: Là hệ điều hành dùng để điều khiển hoạt động mạng máy tính Ngồi chức hệ điều hành, hệ điều hành mạng phải thực việc chia sẻ bảo vệ tài nguyên mạng Hệ điều hành Windows

Ngày đăng: 28/06/2014, 06:20

Từ khóa liên quan

Mục lục

  • VIỆN ĐẠI HỌC MỞ

    • KHOA CÔNG NGHỆ ĐIỆN TỬ-THÔNG TIN

      • BÀI GIẢNG

      • NGUYÊN LÝ HỆ ĐIỀU HÀNH

        • TRẦN ANH TUẤN

          • Hà Nội 2012

          • 1.1. MỘT SỐ KHÁI NIỆM LIÊN QUAN

          • 1.3. THÀNH PHẦN VÀ CẤU TRÚC CỦA HỆ ĐIỀU HÀNH

          • 1.4. PHÂN LOẠI HỆ ĐIỀU HÀNH

            • Hệ điều hành đa vi xử lý: Là các hệ điều hành dùng để điều khiển sự hoạt động của các hệ thống máy tính có nhiều vi xử lý. Các hệ điều hành đa vi xử lý (multiprocessor) gồm có 2 loại:

            • 1.8.3. Hệ điều hành Windows 2000

            • 1.8.4. Hệ điều hành Linux

            • 2.1. TỔNG QUAN VỀ TIẾN TRÌNH

            • 2.1.1. Tiến trình và phân loại tiến trình

            • 2.1.1.1. Tiến trình (process)

            • 2.2. ĐIỀU PHỐI TIẾN TRÌNH

              • Trong chiến lược này, vấn đề đặt ra đối với công tác thiết kế là: nên chọn quantum bằng bao nhiêu là thích hợp, nếu quantum nhỏ thì hệ thống phải tốn nhiều thời gian cho việc cập nhật ready list và chuyển trạng thái tiến trình, dẫn đến vi phạm mục tiêu: khai thác tối đa thời gian xử lý của processor. Nếu quantum lớn thì thời gian chờ đợi trung bình và thời gian hồi đáp sẽ tăng lên, dẫn đến tính tương tác của hệ thống bị giảm xuống.

              • 2.3. TƯƠNG TRANH VÀ ĐỒNG BỘ

              • 2.3.1. Tương tranh

              • 2.3.1.1. Nhu cầu liên lạc giữa các tiến trình

              • 2.3.1.2. Các cơ chế thông tin liên lạc

              • 2.3.2.3. Các giải pháp

              • * Dùng cặp chỉ thị STI & CLI

              • * Dùng chỉ thị TSL (Test and Set)

              • S

              • S

                • 2.4. BẾ TẮC VÀ PHÒNG CHỐNG BẾ TẮC

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

Tài liệu liên quan