Giáo trình Hệ điều hành - Chương 1: Các khái niệm cơ bản
Một máy tính ( computer) đ-ợc cấu tạo từ hai thành phần
-Phần cứng :
- CPU
- Bộ nhớ
- Các thiết bị ngoại vi
- Hệ thống bus
Phần mềm của máy tính đ-ợc chia làm hai loại :
- Phần mềm hệ thống : thực thi nhiệm vụ cần thiết đối với một hệ thống máy
tính nói chung. Đ-ợc chia làm hai loại :
+ Hệ điều hành (OS) :
+ Ch-ơng trình tiện ích (Utilities) : mở rộng khả năng của hệ điều hành. Vd :
Quản lý password, phân chia ổ đĩa,
- Phần mềm ứng dụng : giảiquyết những nhiệm vụ hoặc yêu cầu cụ thể của
ng-ời sử dụng.
hần nhỏ, mỗi phần chỉ kiểm soát một mặt của hệ thống nh− các dịch vụ về tập tin, tiến trình, terminal, bộ nhớ, mỗi phần sẽ gọn hơn và dể quản lý hơn. Hơn nữa, tất cả server thực hiện nh− những tiến trình ở mức độ ng−ời dùng (user-mode) không phải ở mức độ hạt nhân (kernel-mode), nên nó không truy xuất trực tiếp phần cứng. Do đó, nếu server tập tin bị lỗi, các dịch vụ về tập tin có thể bị hỏng nh−ng nó th−ờng không gây ảnh h−ởng đến toàn bộ hệ thống. Một −u điểm khác của mô hình client-server là nó có thể t−ơng thích dể dàng với mô hình hệ thống phân tán. Nếu một client giao tiếp với một server bằng cách gửi những thông điệp, họ không biết là khi nào thông điệp đó đang đ−ợc xử lý cục bộ tại máy hay đ−ợc gửi vào mạng đến server trên một máy từ xa. Khi client quan tâm đến, một yêu cầu đ−ợc gửi đi và một trả lời đáp ứng diễn ra nh− nhau. I.5. Phân loại hệ điều hành Có nhiều cách phân loại hệ điều hành, nh−ng trong phần này ta phân loại hệ điều hành theo tính chất của thành phần điều khiển: Đó là cách đ−a ch−ơng trình hệ điều hành vào bộ nhớ trong và chọn ch−ơng trình đã có để thực hiện: đơn ch−ơng trình, đa ch−ơng trình, hệ điều hành chia sẻ thời gian … 1. Hệ điều hành đơn ch−ơng trình Phục vụ một ch−ơng trình từ lúc bắt đầu cho đến lúc kết thúc. Trong bộ nhớ trong tại một thời điểm chỉ có một ch−ơng trình ng−ời dùng. Ch−ơng trình đó chiếm giữ mọi tài nguyên hệ thống. 24 Để tăng hiệu suất làm việc hệ điều hành sử dụng cách thức Spooling( Simultaneous Peripheral Operations Online - Tất cả việc vào ra đ−ợc chuẩn bị trên đĩa cứng, do đó tốc độ của toàn bộ hệ thống tăng lên đáng kể). 2. Hệ điều hành đa ch−ơng trình Đối với hệ điều hành đa ch−ơng thì tại mỗi thời điểm có nhiều ch−ơng trình đồng thời trong bộ nhớ. Các ch−ơng trình này đều đ−ợc phân phối bộ nhớ và CPU để thực hiện, tài nguyên đ−ợc chia sẻ cho tất cả các ch−ơng trình này hay nói cách khác, các ch−ơng trình này bình đẳng khi đòi hỏi các tài nguyên. Hệ điều hành làm việc theo chế độ này còn đ−ợc gọi là hệ xử lý theo lô đa ch−ơng. Khi đó sẽ xuất hiện các vấn đề mới nh− phân chia bộ nhớ đồng thời cho nhiều ch−ơng trình, lập lịch cho CPU để xử lý công việc tiếp theo. Khi cú nhiều cụng việc cựng truy xuất lờn thiết bị, vấn đề lập lịch cho cỏc cụng việc là cần thiết. Khớa cạnh quan trọng nhất trong việc lập lịch là khả năng đa chương. Đa chương (multiprogram) gia tăng khai thỏc CPU bằng cỏch tổ chức cỏc cụng việc sao cho CPU luụn luụn phải trong tỡnh trạng làm việc . 25 26 í tưởng như sau : hệ điều hành lưu giữ một phần của cỏc cụng việc ở nơi lưu trữ trong bộ nhớ. CPU sẽ lần lượt thực hiện cỏc phần cụng việc này. Khi đang thực hiện, nếu cú yờu cầu truy xuất thiết bị thỡ CPU khụng nghỉ mà thực hiện tiếp cụng việc thứ hai… Nh− vậy, trong chế độ đơn ch−ơng trình thì ch−ơng trình kết thúc nhanh hơn còn trong chế độ đa ch−ơng trình hoàn thiện đ−ợc nhiều bài toán hơn và hiệu quả sử dụng máy tính cao hơn. Có thể chia thành các lớp: - Hệ điều hành hoạt động theo chế độ mẻ MFT (Multiprogammimg with Fixed number of Task) và MVT (Multiprogramming with Variable number of Task). - Hệ điều hành hoạt động theo chế độ phân chia thời gian TSS (Time Shared System) hay còn gọi là multi-user (ng−ời dùng làm việc với máy tính thông qua một terminal, hệ điều hành phân phối CPU lần l−ợt cho từng ng−ời trong một l−ợng tử thời gian). Trong chế độ này phát sinh một vấn đề là bộ nhớ trong luôn phải chứa ch−ơng trình của mọi ng−ời dùng nên không đủ chỗ nên phải dùng bộ nhớ ảo. Trong máy tính tại mỗi thời điểm có nhiều ch−ơng trình ng−ời dùng ở bộ nhớ trong và ở bộ nhớ ngoài (th−ờng là ổ cứng) - sử dụng đĩa từ nh− vùng nhớ mở rộng của bộ nhớ trong. Hệ điều hành chia sẻ là kiểu của cỏc hệ điều hành hiện đại ngày nay. 3. Hệ điều hành thời gian thực Hệ điều hành thời gian thực ( real-time system ) nhằm giải quyết những bài toán tr−ớc một thời điểm cho tr−ớc. Hệ thống xử lý thời gian thực được sử dụng khi cú những đũi hỏi khắt khe về thời gian trờn cỏc thao tỏc của bộ xử lý hoặc dũng dữ liệu, nú thường được dựng điều khiển cỏc thiết bị trong cỏc ứng dụng tận hiến 27 (dedicated). Mỏy tớnh phõn tớch dữ liệu và cú thể chỉnh cỏc điều khiển giải quyết cho dữ liệu nhập. Một hệ điều hành xử lý thời gian thực phải được định nghĩa tốt, thời gian xử lý nhanh. Hệ thống phải cho kết quả chớnh xỏc trong khoảng thời gian bị thỳc ộp nhanh nhất. Cú hai hệ thống xử lý thời gian thực là hệ thống thời gian thực cứng và hệ thống thời gian thực mềm.. Hệ thống thời gian thực cứng là cụng việc được hoàn tất đỳng lỳc. Lỳc đú dữ liệu thường được lưu trong bộ nhớ ngắn hạn hay trong ROM. Việc xử lý theo thời gian thực sẽ xung đột với tất cả hệ thống liệt kờ ở trờn. Dạng thứ hai là hệ thống thời gian thực mềm, mỗi cụng việc cú một độ ưu tiờn riờng và sẽ được thi hành theo độ ưu tiờn đú. Cú một số lĩnh vực ỏp dụng hữu hiệu phương phỏp này là multimedia hay thực tại ảo. 4. Hệ điều hành song song Hệ điều hành song song (parallel systems) có khả năng hoạt động với hệ thống có nhiều CPU. Ngoài cỏc hệ thống chỉ cú một bộ xử lý cũn cú cỏc hệ thống cú nhiều bộ xử lý cựng chia xẻ hệ thống đường truyền dữ liệu, đồng hồ, bộ nhớ và cỏc thiết bị ngoại vi. Cỏc bộ xử lý này liờn lạc bờn trong với nhau . Hệ điều hành song song có các −u điểm : + Tăng độ tin cậy của hệ thống + Tăng tốc độ xử lý + Kinh tế Cú nhiều nguyờn nhõn xõy dựng dạng hệ thống này. Với sự gia tăng số lượng bộ xử lý, cụng việc được thực hiện nhanh chúng hơn, Nhưng khụng phải theo đỳng tỉ lệ thời gian, nghĩa là cú n bộ xử lý khụng cú nghĩa là sẽ thực hiện nhanh hơn n lần. Hệ thống với mỏy nhiều bộ xử lý sẽ tối ưu hơn hệ thống cú nhiều mỏy cú một bộ xử lý vỡ cỏc bộ xử lý chia xẻ cỏc thiết bị ngoại vi, hệ thống lưu trữ, nguồn … và rất thuận tiện cho nhiều chương trỡnh cựng làm việc trờn cựng một tập hợp dữ liệu. Một lý do nữa là độ tin cậy. Cỏc chức năng được xử lý trờn nhiều bộ xử lý và sự hỏng húc của một bộ xử lý sẽ khụng ảnh hưởng đến toàn bộ hệ thống. Gồm hai loại : - Đa vi xử lý đối xứng ( SMP - Symetric Multi Processor) - Đa vi xử lý bất đối xứng (Asymmetric multiprocessing) Hệ thống đa xử lý thụng thường sử dụng cỏch đa xử lý đối xứng, trong cỏch này mỗi bộ xử lý chạy với một bản sao của hệ điều hành, những bản sao này liờn lạc với nhau khi cần thiết. Một số hệ thống sử dụng đa xử lý bất đối xứng, trong đú mỗi bộ xử lý được giao một cụng việc riờng biệt.. Một bộ xử lý chớnh kiểm soỏt toàn bộ hệ thống, cỏc bộ xử lý khỏc thực hiện theo lệnh của bộ xử lý chớnh hoặc theo những chỉ thị đó được định nghĩa trước. Mụ hỡnh này theo dạng quan hệ chủ tớ. Bộ xử lý chớnh sẽ lập lịch cho cỏc bộ xử lý khỏc. Một vớ dụ về hệ thống xử lý đối xứng là version Encore của UNIX cho mỏy tớnh Multimax. Hệ thống này cú hàng tỏ bộ xử lý. Ưu điểm của nú là nhiều tiến trỡnh cú thể thực hiện cựng lỳc . Một hệ thống đa xử lý cho phộp nhiều cụng việc và tài nguyờn được chia xẻ tự động trong những bộ xử lý khỏc nhau. Hệ thống đa xử lý không đồng bộ th−ờng xuất hiện trong những hệ thống lớn, trong đó hầu hết thời gian hoạt động đều dành cho xử lý nhập xuất. 28 5. Hệ phân tán Hệ phân tán (Distributed System) cũng tương tự như hệ thống chia xẻ thời gian nhưng cỏc bộ xử lý khụng chia xẻ bộ nhớ và đồng hồ, thay vào đú mỗi bộ xử lý cú bộ nhớ cục bộ riờng. Cỏc bộ xử lý thụng tin với nhau thụng qua cỏc đường truyền thụng như những bus tốc độ cao hay đường dõy điện thoại. Cỏc bộ xử lý trong hệ phõn tỏn thường khỏc nhau về kớch thước và chức năng. Nú cú thể bao gồm mỏy vi tớnh, trạm làm việc, mỏy mini, và những hệ thống mỏy lớn. Cỏc bộ xử lý thường được tham khảo với nhiều tờn khỏc nhau như site, node, computer v.v.... tựy thuộc vào trạng thỏi làm việc của chỳng. Cỏc nguyờn nhõn phải xõy dựng hệ thống phõn tỏn là: Chia sẻ tài nguyờn : Một người sử dụng A cú thể sử dụng mỏy in laser của người sử dụng B và người sử dụng B cú thể truy xuất những tập tin của A. Tổng quỏt, chia xẻ tài nguyờn trong hệ thống phõn tỏn cung cấp một cơ chế để chia xẻ tập tin ở vị trớ xa, xử lý thụng tin trong một cơ sở dữ liệu phõn tỏn, in ấn tại một vị trớ xa, sử dụng những thiết bị ở xa đểừ thực hiện cỏc thao tỏc. Tăng tốc độ tớnh toỏn : Một thao tỏc tớnh toỏn được chia làm nhiều phần nhỏ cựng thực hiện một lỳc. Hệ thống phõn tỏn cho phộp phõn chia việc tớnh toỏn trờn nhiều vị trớ khỏc nhau để tớnh toỏn song song. An toàn : Nếu một vị trớ trong hệ thống phõn tỏn bị hỏng, cỏc vị trớ khỏc vẫn tiếp tục làm việc. Thụng tin liờn lạc với nhau : Cú nhiều lỳc , chương trỡnh cần chuyển đổi dữ liệu từ vị trớ này sang vị trớ khỏc. Vớ dụ trong hệ thống Windows, thường cú sự chia 29 xẻ và chuyển dữ liệu giữa cỏc cửa sổ. Khi cỏc vị trớ được nối kết với nhau trong một hệ thống mạng, việc trao đổi dữ liệu diễn ra rất dễ. Người sử dụng cú thể chuyển tập tin hay cỏc E_mail cho nhau từ cựng vị trớ hay những vị trớ khỏc. 6. Hệ thống cầm tay Hệ thống cầm tay (Handheld system) là các hệ điều hành chạy trên các máy trợ giúp cá nhân kỹ thuật số (PDA. hoặc các thiết bị di động. Các hệ điều hành này phải thỏa mãn điều kiện chạy trên nền phần cứng bị hạn chế : tốc độ vi xử lý chậm,dung l−ợng bộ nhỏ, kích th−ớc màn hình bé… I.6. Nguyên tắc xây dựng và tổ chức hoạt động của của các thành phần HĐH 1. Nguyên tắc module Tính module thể hiện ở hai dạng : - dạng chức năng - dạng ch−ơng trình 2. Nguyên tắc t−ơng đối trong định vị -Các module ch−ơng trình đ−ợc viết theo địa chỉ t−ơng đối kể từ đầu bộ nhớ. Khi thực hiện chúng đ−ợc tải vào vùng bộ nhớ cụ thể. - Cách xác định địa chỉ ch−ơng trình khi thực hiện ? - Nguyên tắc này đảm bảo cho HĐH không bị phụ thuộc vào cấu hình bộ nhớ cụ thể. 3. Nguyên tắc Macroprocessor 4. Nguyên tắc khởi tạo trong cài đặt 5. Nguyên tắc lặp chức năng 6, Nguyên tắc giá trị chuẩn 7. Nguyên tắc bảo vệ nhiều mức. 30
File đính kèm:
- Giáo trình Hệ điều hành - Chương 1 Các khái niệm cơ bản.pdf