Bài giảng Hệ điều hành - Chương 1: Tổng quan về hệ điều hành
Phần cứng:
Chương trình vi điều khiển – điều khiển trực tiếp
các 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 của máy
tính
Chương trình ứng dụng: giải quyết các bài toán của
người dùng.
hồ hoặc số phép tính cơ bản trong một giây) và độ dài từ máy (là số lượng bit nhị phân của toán hạng trong phép tính cơ bản của CPU: 8, 16, 32, 64 bit) Trong thực tế khi xem xét về Bộ xử lý (processor) người ta chỉ chú ý đến thời gian xử lý của processor. 22 Tài nguyên ảo Là loại tài nguyên cung cấp cho chương trình người sử dụng dưới dạng đã được biến đổi, nó chỉ xuất hiện khi hệ thống cần tới nó hoặc khi hệ thống tạo ra nó và nó sẽ tự động mất đi khi hệ thống kết thúc hay chính xác hơn là khi tiến trình gắn với nó đã kết thúc. Đĩa ảo trong môi trường MS_DOS. 23 4. Các khái niệm cơ bản Tiến trình. Shell. Tài nguyên hệ thống. Lời gọi hệ thống. 24 Tiến trình Tiến trình: Là một bộ phận của chương trình đang thực hiện. Tiến trình hệ điều hành. Tiến trình chương trình. Hoạt động song song. Tiến trình khác với chương trình: Chương trình là tập tin thụ động. Tiến trình là trạng thái động của chương trình. Tiểu trình: Là các luồng xử lý của tiến trình cùng chia sẻ không gian bộ nhớ. 25 Bộ xử lý shell Là một tiến trình đặc biệt, có nhiệm vụ nhận lệnh, phân tích lệnh và phát sinh tiến trình mới để thực hiện lệnh. Trong hệ điều hành đơn nhiệm, khi tiến trình đáp ứng yêu cầu hoạt động thì Shell sẽ chuyển sang trạng thái chờ đến khi tiến trình đó kết thúc, sau đó mới trở lại trạng thái sẵn sàng nhận lệnh mới. Trong hệ điều hành đa nhiệm, sau khi phát sinh tiến trình đáp ứng yêu cầu và đưa nó vào trạng thái hoạt động thì shell sẽ chuyển sang trạng thái sẵn sàng nhận lệnh mới, nhờ vậy Shell có khả năng khởi tạo nhiều tiến trình đáp ứng yêu cầu để nó hoạt động song song với nhau. 26 Lời gọi hệ thống (System calls) Để tạo môi trường giao tiếp giữa chương trình của người sử dụng và hệ điều hành, hệ điều hành đưa ra các lời gọi hệ thống. Chương trình của người sử dụng dùng các lời gọi hệ thống để liên lạc với hệ điều hành và yêu cầu các dịch vụ từ hệ điều hành. Một số hệ thống cho phép lời gọi hệ thống được thực hiện từ cấp lập trình ngôn ngữ cấp cao, như các hàm và lời gọi hàm. Nó có thể phát sinh lời gọi từ các thủ tục hay gọi trực tiếp inline 27 DUØNG LÔØI GOÏI HEÄ THOÁNG ÑEÅ THÖÏC HIEÄN I/O (Chöông trình ngöôøi duøng) (Heä ñieàu haønh) (Chuyeån ñieàu khieån veà HÑH) (Thöïc hieän I/O) (Veà chöông trình ngöôøi duøng) 5. Cấu trúc của hệ điều hành Các thành phần của hệ điều hành Thành phần quản lý tiến trình. Thành phần quản lý bộ nhớ chính. Thành phần quản lý xuất/nhập. Thành phần quản lý bộ nhớ phụ. Thành phần quản lý tập tin. Thành phần thông dịch. Thành phần bảo vệ hệ thống. 29 Thành phần quản lý tiến trình Bộ phận quản lý tiến trình của hệ điều hành phải thực hiện những 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 cơ chế thông tin liên lạc giữa các tiến trình. Tạo cơ chế đồng bộ hóa giữa các tiến trình. 30 Thành phần quản lý bộ nhớ Bộ phận quản lý bộ nhớ chính của hệ điều hành thực hiện những nhiệm vụ sau: Cấp phát, thu hồi vùng nhớ. Ghi nhận trạng thái bộ nhớ chính. Bảo vệ bộ nhớ. Quyết định tiến trình nào được nạp vào bộ nhớ. 31 Thành phần quản lý xuất nhập Bộ phận quản lý xuất nhập của hệ điều hành thực hiện những nhiệm vụ sau: Gởi mã lệnh điều khiển đến thiết bị. Tiếp nhận yêu cầu ngắt (Interrupt) từ các thiết bị. Phát hiện và xử lý lỗi: quá trình trao đổi dữ liệu thường xảy ra các lỗi. 32 Thành phần quản lý tệp tin Bộ phận quản lý tập tin của hệ điều hành thực hiện những nhiệm vụ sau: Tạo/ xoá một tập tin/ thư mục. Bảo vệ tập tin khi có hiện tượng truy xuất đồng thời. Cung cấp các thao tác xử lý và bảo vệ tập tin. Tạo mối quan hệ giữa tập tin và bộ nhớ phụ chứa tập tin. Tạo cơ chế truy xuất tập tin thông qua tên tập tin. 33 Thành phần thông dịch Đóng vai trò giao tiếp giữa hệ điều hành và người sử dụng. Thành phần này chính là shell 34 Thành phần bảo vệ hệ thống Hệ điều hành cần phải có các cơ chế để luôn đảm bảo các tài nguyên mà hệ điều hành đã cấp cho một tiến trình thì chỉ có tiến trình đó được quyền tác động đến các thành phần này. Thành phần này điều khiển việc sử dụng tài nguyên, đặc biệt là các tài nguyên dùng chung, đặc biệt là các tiến trình hoạt động đồng thời với nhau, sao cho không xảy ra sự tranh chấp tài nguyên giữa các tiến trình hoạt đồng đồng thời và không cho phép các tiến trình truy xuất bất hợp lệ lên các vùng nhớ của nhau. 35 Cấu trúc của hệ điều hành Hệ thống được chia thành một số lớp, mỗi lớp được xây dựng dựa vào lớp bên trong. Lớp trong cùng thường là phần cứng, lớp ngoài cùng là giao diện với người sử dụng. Mỗi lớp là một đối tượng trừu tượng, chứa dựng bên trong nó các dữ liệu và thao tác xử lý dữ liệu đó. Lớp n chứa dựng một cấu trúc dữ liệu và các thủ tục có thể được gọi bởi lớp n+1 hoặc ngược lại có thể gọi các thủ tục ở lớp n-1. 36 Cấu trúc của hệ điều hành 37 6. Các tính chất của hệ điều hành Tin cậy và chuẩn xác An toàn cao Kế thừa và thích nghi Hiệu quả Thuận tiện 38 39 Tin cậy và chuẩn xác Mọi công việc trong hệ thống đều phải có kiểm tra: Kiểm tra môi trường điều kiện thực hiện, Kiểm tra kết quả thực hiện, Nhiều chức năng KT: chuyển giao cho phần cứng. Ví dụ: Lệnh COPY A:F1.TXT B: Sau khi KT cú pháp, bắt đầu thực hiện lệnh. Lần lượt hệ thống sẽ KT gì và có thể có thông báo nào? 40 Kt CARD I/O, Tồn tại ổ đĩa? Thiết bị điện tử ổ đĩa? Động cơ ổ đĩa? Khả năng truy nhập của ổ đĩa? Khả năng truy nhập đĩa? Tồn tại file F1.TXT? Khả năng truy nhập file? . . . . . . . . 41 An toàn cao Hạn chế truy nhập không hợp thức Hạn chế ảnh hưởng sai sót vô tình hay cố ý Bảo vệ: Nhiều mức, Nhiều công cụ, Nhiều thời điểm và giai đoạn khác nhau. 42 Kế thừa và thích nghi (Tổng quát theo thời gian) t Thời điểm tạo OS Kế thừa Thích nghi 43 Hệ điều hành cần phải có tính thừa kế, đồng thời có khả năng thích nghi với những thay đổi có thể có trong tương lai. Đối với việc nâng cấp, tính kế thừa là bắt buộc Các thao tác, thông báo phải không được thay đổi, nếu có thì không đáng kể và phải được hướng dẫn cụ thể. Đảm bảo tính thừa kế sẽ duy trì và phát triển đội ngũ người sử dụng 44 Hiệu quả cao Các tài nguyên của hệ thống phải được khai thác triệt để sao cho ngay cả trong điều kiện tài nguyên hạn chế vẫn có thể giải quyết được những yêu cầu phức tạp. Hệ thống cần phải duy trì được tính đồng bộ, không để các thiết bị tốc độ chậm trì hoãn họat động của toàn hệ thống. 45 Thuận tiện Hệ thống phải dễ dàng sử dụng Có nhiều mức hiệu quả khác nhau Hệ thống trợ giúp phong phú để người sử dụng có thể tự học ngay trong quá trình thao tác. Hệ thống trợ giúp phải phong phú, đa dạng: Tra cứu, hướng dẫn, tooltip… 7. Phân loại hệ điều hành Dựa vào cách mà hệ điều hành thực hiện các công việc, các tác vụ, các tiến trình của người sử dụng để phân loại hệ điều hành. Hệ điều hành xử lý theo lô đơn giản. Hệ điều hành xử lý theo lô đa chương. Hệ điều hành chia sẻ thời gian. Hệ điều hành đa vi xử lý. Hệ điều hành xử lý thời gian thực. Hệ điều hành mạng. 46 Hệ điều hành xử lý theo lô đơn giản Các tác vụ được đưa vào hàng đợi Thực hiện các tác vụ lần lượt theo những chỉ thị đã được xác định trước Tác vụ tiếp theo tự động được thực hiện khi tác vụ trước kết thúc 1 cách tự động Có bộ giám sát thường trực để giám sát việc thực hiện của các tác vụ trong hệ thống Processor rơi vào trạng thái chờ khi hệ thống truy xuất thiết bị vào ra 47 Hệ điều hành xử lý theo lô đa chương Có khả năng thực hiện nhiều tác vụ, nhiều chương trình đồng thời Hệ điều hành sẽ nạp một phần code và data của các tác vụ vào bộ nhớ (các phần còn lại sẽ được nạp sau tại thời điểm thích hợp). Sau đó hệ điều hành bắt đầu thực hiện một tác vụ. Tác vụ đang thực hiện cần truy xuất thiết bị vào/ra thì processor sẽ được chuyển sang thực hiện các tác vụ khác. Cần có cơ chế lập lịch cho Processor 48 Hệ điều hành xử lý theo lô đa chương Ưu điểm: Tiết kiệm bộ nhớ. Hạn chế thời gian rỗi của CPU. Nhược điểm: Chi phí cao cho công việc lập lịch. Chia sẻ bộ nhớ chính cho các tác vụ. 49 Hệ điều hành chia sẻ thời gian Chia sẻ thời gian xử lý CPU cho các tác vụ là chia sẻ thời gian xử lý của processor cho các tác vụ, các tiến trình đang ở trong trạng thái sẵn sàng thực hiện. Việc chuyển processor từ tác vụ khác không phụ thuộc vào việc tác vụ hiện tại có truy xuất đến thiết bị vào/ra hay không mà chỉ phụ thuộc vào sự điều phối processor của hệ điều hành. Trong hệ điều hành này thời gian chuyển đổi processor giữa các tác vụ là rất nhỏ nên ta có cảm giác các tác vụ thực hiện song song với nhau. Còn gọi là hệ điều hành đa nhiệm. 50 Hệ điều hành xử lý thời gian thực HÖ ®iÒu hµnh thêi gian thùc : ë c¸c thêi ®iÓm liªn tôc trong hÖ thèng ch-¬ng tr×nh lu«n ®-îc phôc vô bëi mét CPU vµ cã thÓ lµ ë nh÷ng thêi ®iÓm kh¸c nhau, mét ch-¬ng tr×nh sÏ ®-îc phôc vô bëi c¸c bé xö lý kh¸c nhau. Trong hệ điều hành này các tác vụ cầu thực hiện không được đưa vào hàng đợi mà được xử lý tức thời và trả lại ngay kết quả hoặc thông báo lỗi cho người sử dụng có yêu cầu. Hệ điều hành này hoạt động đòi hỏi sự phối hợp cao giữa phần mềm và phần cứng. 51 52 HÖ ®iÒu hµnh tËp trung vµ ph©n t¸n H§H tËp trung : trong hÖ thèng m¸y tÝnh chØ cã mét hÖ ®iÒu hµnh duy nhÊt cµi ®Æt vµo m¸y chñ, hÖ ®iÒu hµnh nµy cã chøc n¨ng khëi ®éng vµ cung cÊp dÞch vô cho c¸c m¸y tÝnh kh¸c. C¸c m¸y nµy chñ yÕu vµo ra c¸c d÷ liÖu. ViÖc xö lý tËp trung vµo m¸y chñ. H§H ph©n t¸n: Trong hÖ thèng m¸y tÝnh, mçi m¸y cã hÖ ®iÒu hµnh riªng khëi ®éng ®éc lËp vµ cã chøc n¨ng kh¸c nhau. HÖ ®iÒu hµnh t¹i m¸y chñ ®-îc gäi lµ hÖ ®iÒu hµnh ph©n t¸n v×: Qu¶n lý c¸c tµi nguyªn hÖ thèng kh«ng chØ t¹i m¸y chñ mµ cßn c¶ c¸c m¸y tr¹m trong hÖ thèng. ChÝa sÎ tµi nguyªn ®ång thêi cho nhiÒu m¸y kh¸c nhau.
File đính kèm:
- Bài giảng Hệ điều hành - Chương 1 Tổng quan về hệ điều hành.pdf