Các nguyên lý cơ bản của hệ điều hành - Pdf 62

Hà Quang Thụy Bài giảng Hệ điều hành phân tán (Phần 1)
- 1-
chơng I. Các nguyên lý cơ bản của hệ điều hành
1.1 Sự tiến hoá của hệ điều hành hiện đại
a. Khái niệm hệ điều hành

Hệ điều hành (Operating System - OS, dới đây viết tắt tiếng Việt là HĐH) là một hệ
thống các chơng trình (và dữ liệu - tham số hệ thống) đợc cài đặt sẵn (dới dạng các
file trên đĩa từ - băng từ) thực hiện hai chức năng cơ bản:
- Chức năng của một hệ thống quản trị tài nguyên: Quản trị, phân phối công
việc cho hệ thống thiết bị để hệ thống thiết bị hoạt động hiệu quả nhất,
- Chức năng của một máy tính mở rộng (máy tính ảo): Phục vụ nhu cầu đa dạng
của ngời dùng một cách tốt nhất.
Theo cách nói cụ thể hơn, HĐH là một bộ các môđun phần mềm hệ thống đóng vai trò
giao diện giữa chơng trình ứng dụng với phần cứng hệ thống, với mục tiêu đạt tới một
hệ thống máy tính hiệu quả, tin cậy và dễ sử dụng. Một cách đại thể, tồn tại các chức
năng riêng biệt của HĐH nh lập lịch làm việc của bộ xử lý (hoặc các bộ xử lý), phối
hợp thực hiện các quá trình (QT: process) tơng tác nhau, quản lý các tài nguyên hệ
thống (chẳng hạn nh các thiết bị vào/ra, bộ nhớ trong, File...) ... nhằm nâng cao năng
lực điều khiển và bảo vệ, duy trì tính toàn vẹn hệ thống, thi hành khôi phục lỗi và cung
cấp một giao diện ngời dùng. HĐH thờng cấu trúc hai yêu cầu này thành hai lớp:
dịch vụ hệ thống và nhân của HĐH.
Dịch vụ hệ thống là những chức năng mức cao đợc chơng trình ứng dụng nhận biết
còn nhân (thờng trực trong bộ nhớ trong) chỉ đảm bảo những chức năng mang tính cơ
bản nhất và phụ thuộc vào kiến trúc hạ tầng.
Hình 1.1. mô tả khung nhìn đơn giản về hệ thống máy tính theo cấu trúc lớp. Vị trí của
dịch vụ hệ thống trong hình cho thấy vai trò quan trọng của lớp này.
Với ý nghĩa đóng vai trò nh một máy tính ảo, theo cách nhìn của ngời dùng (từ lớp
chơng trình ứng dụng), HĐH là sự trừu tợng hóa của hệ thống máy tính đợc trình
diễn bằng các dịch vụ hệ thống: HĐH đợc chỉ dẫn nh là một máy mở rộng (máy tính
ảo). Mục đích của lớp dịch vụ hệ thống là nhằm che đậy đi những chi tiết của hệ thống

nảy sinh những điều kiện cần thiết cho việc xuất hiện các HĐH đơn giản.
Lịch sử tiến hóa của HĐH trình diễn một quá trình chuyển hóa từng bớc trong việc
thiết kế, từ nhấn mạnh chức năng quản trị tài nguyên sang nhấn mạnh chức năng máy
tính mở rộng. Theo mô hình trong hình 1.1. thì điều đó đợc thể hiện việc chuyển hóa
từ nhấn mạnh nhân sang nhấn mạnh các dịch vụ hệ thống.
Theo lịch sử tiến hóa, HĐH hiện đại đợc phân ra thành 4 thế hệ: HĐH truyền thống
(tập trung), hệ điều mạng, HĐH phân tán và hệ tự trị cộng tác. Thế hệ gần đây nhất (hệ
tự trị cộng tác) chú trọng thiết kế các ứng dụng phân tán trong môi trờng hệ thống mở
(bao gồm các thành phần hệ thống hỗn tạp đợc tích hợp mềm dẻo và có tính khả
chuyển nhằm hỗ trợ việc cộng tác thực hiện theo quy mô lớn ở mức ứng dụng).
Dới đây mô tả sơ bộ về cách thức phân biệt các HĐH này theo (1) độ kết dính phần
cứng-phần mềm và (2) tổ hợp mục tiêu-đặc trng.
Độ kết dính phần cứng-phần mềm cho biết hệ thống là "tập trung đến mức độ nào",
đợc đo bằng tổ hợp kết dính phần cứng và kết dính phần mềm. Theo đó, phân bố các
thế hệ HĐH đợc sắp xếp nh hình 1.2. Tỷ số giữa tổng phí truyền thông liên bộ xử lý
so với thời gian truyền thông nột tại bộ xử lý càng thấp thì kết dính phần cứng càng
chặt. Kết dính phần mềm chặt nếu phần mềm điều khiển tập trung và sử dụng thông tin
toàn cục.
- HĐH tập trung kết dính phần cứng - phần mềm chặt.
Thế hệ 3 Thế hệ 2 Thế hệ 1
Hệ điều
hành phân
tán
Hệ điều
hành tự trị
cộng tác
Hệ điều
hành mạng
Hệ điều
hành tập

Khung cảnh toàn cục
của: Hệ thống file,
Không gian tên,
Thời gian, an toàn,
Năng lực tính toán
Cách nhìn của một máy
tính duy nhất của một hệ
thống phức hợp các máy
tính (tính trong suốt)
4 Hệ tự trị cộng tác
Các ứng dụng phân tán
là mở và cộng tác
Làm việc cộng tác (tự
trị)
Mục tiêu nguyên thủy của HĐH là máy tính ảo (virtual computer). Ba mục tiêu bổ
sung là liên thao tác, trong suốt và tự trị hiện vẫn đang là những nội dung nghiên cứu,
phát triển.
- Mục tiêu liên thao tác hớng tới năng lực tạo ra điều kiện thuận tiện cho việc
trao đổi thông tin giữa các thành phần hỗn tạp trong hệ thống. Đây là mục tiêu gợi mở
nguyên thuỷ dẫn tới việc thiết kế HĐH mạng trong một môi trờng hỗn tạp.
- Khái niệm trong suốt (transparency) và khái niệm ảo tơng tự nhau ở chỗ
cung cấp tính trừu tợng cao cho hệ thống. Điều khác biệt giữa hai khái niệm này là
theo tính ảo, ngời dùng có thể nhìn thấy cái họ muốn, trong khi đó tính trong suốt
đảm bảo rằng ngời dùng không nhìn thấy những cái họ không muốn. ảo là mục tiêu
quan trọng của HĐH tập trung còn trong suốt là mục tiêu quan trọng của DOS. Khái
niệm trong suốt cho phép mô tả DOS nh một hệ thống cung cấp một khung cảnh
lôgic của hệ thống cho ngời dùng, độc lập với hạ tầng vật lý. Ngời dùng có đợc
cách nhìn của máy tính đơn cho một hệ thống máy tính phức hợp: sự tồn tại của hạ
tầng mạng và hoạt động của hệ thống là trong suốt với ngời dùng. Từ "trong suốt" ở
đây đợc hiểu theo nghĩa 'thuần khiết" của một môi trờng thuần nhất.

Trong các HĐH truyền thống, chức năng hệ quản trị tài nguyên đợc nhấn mạnh hơn
cho nên việc thiết kế chúng định hớng vào khai thác hiệu quả các tài nguyên phần
cứng của hệ thống. Các bài toán điều khiển CPU (lập lịch), điều khiển bộ nhớ trong,
điều khiển dữ liệu đợc đặc biệt chú ý. HĐH truyền thống đợc tiến hóa từ một
ch
ơng trình đơn giản (cung cấp một giao diện ngời dùng và điều khiển vào - ra) tới
một hệ đa ngời dùng/đa bài toán hoàn hảo với các yêu cầu về quản trị rất phức tạp đối
với QT, bộ nhớ, file và thiết bị. Sự tiến hóa này đợc thể hiện trong bảng 1.2 mà các
chức năng quản lý đợc đặt ra nhằm đáp ứng mỗi yêu cầu bổ sung.
Bảng 1.2. Chức năng chính của hệ điều hành tập trung
Yêu cầu hệ thống Chức năng quản lý
Ngời dùng cá nhân Giao diện ngời dùng, Điều khiển vào - ra,
ngắt, điều khiển thiết bị
Vào - ra hiệu quả Thiết bị vào - ra ảo, spooling
Chơng trình lớn Bộ nhớ ảo, phân trang hay phân segment
Đa ngời dùng
Đa chơng trình và phân chia thời gian
Lập lịch quá trình
Điều khiển truy nhập và bảo vệ
Chia xẻ file và điều khiển đồng thời
Đa bài toán (đa nhiệm) Xử lý đồng thời
Đồng bộ hóa quá trình, bế tắc
Truyền thông liên quá trình
Hà Quang Thụy Bài giảng Hệ điều hành phân tán (Phần 1)
- 5-
Có một lu ý nhỏ về chính khái niệm hệ điều hành trong thời kỳ đánh dấu sự phát triển
mạnh của HĐH truyền thống (vào khoảng những năm 1980). Trong nhiều tài liệu, đặc
biệt là tài liệu về thiết kế HĐH, "hệ điều hành" đợc hiểu theo những nội dung đã đợc
trình bày trên đây. Nhng trong không ít các tài liệu khác, "hệ điều hành" đợc hiểu
nh bộ các chơng trình hệ thống (xem hình 1.3) đợc cung cấp cho ngời sử dụng và

phần cứng
chơng trình
hệ thống
Thiết bị vật lý
Vi chơng trình tại ROM
Ngôn ngữ máy
Hệ điều hành (Lời gọi hệ thống, nhân)
Trình biên dịch Trình soạn thảo Trình thông dịch
Các chơng trình ứng dụng
Hình 1.3. Một cách nhìn khác về kiến trúc mức hệ thống máy tính
Ngời dùng
Hà Quang Thụy Bài giảng Hệ điều hành phân tán (Phần 1)
- 6-
cứng với các vật mang tin khác đợc đảm bảo bằng những cơ chế riêng. Tốc độ của
toàn bộ hệ thống đợc tăng lên đáng kể. Chế độ SPOOLING còn đợc sử dụng trong
những HĐH đa chơng trình xuất hiện sau này.
b. Hệ điều hành đa chơng trình

Sự tiến bộ nhanh chóng của công nghệ máy tính dẫn tới dung lợng bộ nhớ tăng lên
đáng kể (vợt xa dung lợng trung bình của các chơng trình ngời dùng) và tốc độ
CPU cũng tăng nhanh, chế độ hoạt động đa chơng trình xuất hiện. Chế độ đa chơng
trình (multiprogramming) đợc phân loại theo hớng độc lập ngời dùng (chế độ mẻ)
và hớng thân thiện ngời dùng (chế độ đa ngời dùng).
Đối với HĐH đa chơng trình, tại mỗi thời điểm có thể có nhiều chơng trình đồng
thời có mặt ở bộ nhớ trong. Các chơng trình này đều có nhu cầu đợc phân phối bộ
nhớ và CPU để thực hiện. Nh vậy, bộ nhớ, CPU, các thiết bị ngoại vi v.v. là các tài
nguyên của hệ thống đợc chia xẻ cho các chơng trình. Đặc điểm quan trọng cần lu
ý là các chơng trình này phải đợc bình đẳng khi giải quyết các yêu cầu tài nguyên.
Khái niệm chơng trình nói trong chế độ đa chơng trình đợc dùng để chỉ cả chơng
trình ngời dùng lẫn chơng trình HĐH.

thời gian nó đợc thực hiện trong máy tính, kể từ lúc bắt đầu cho tới lúc kết thúc.

Hà Quang Thụy Bài giảng Hệ điều hành phân tán (Phần 1)
- 7-
MVT: Multiprogramming with Variable number of Tasks
Khác với chế độ MFT, trong chế độ MVT, bộ nhớ trong không bị chia sẵn thành các
vùng, việc nạp chơng trình mới vào bộ nhớ trong còn đợc tiếp diễn khi mà bộ nhớ
trong còn đủ để chứa thêm chơng trình.
Có thể quan niệm rằng trong chế độ MFT bộ nhớ trong đợc phân thành các vùng có
vách ngăn cố định, còn trong chế độ MVT, không có vách ngăn sẵn, mỗi khi chơng
trình đợc nạp vào mới hình thành một vách ngăn tạm thời. Nếu chỉ gặp các chơng
trình đòi hỏi ít bộ nhớ thì theo chế độ MVT, số lợng chơng trình đồng thời có mặt
trong bộ nhớ nhiều lên.

Chế độ phân chia thời gian (Time Shared System: TSS)
Chế độ phân chia thời gian là chế độ hoạt động điển hình của các HĐH đa ngời dùng
(multi-users). HĐH hoạt động theo chế độ này định hớng phục vụ trực tiếp ngời
dùng khi chơng trình của ngời dùng đó đang thực hiện, làm cho giao tiếp của ngời
dùng với máy tính là hết sức thân thiện. Liên quan đến HĐH hoạt động theo chế độ
này là các khái niệm lợng tử thời gian, bộ nhớ ảo v.v.
Trong hệ TSS, tại cùng thời điểm có nhiều ngời dùng đồng thời làm việc với máy
tính: Mỗi ngời làm việc với máy tính thông qua một trạm cuối (terminal) và vì vậy, hệ
thống đã cho phép máy tính thân thiện với ngời dùng.
Khác với cách thức điều khiển CPU trong chế độ mẻ, HĐH phân phối CPU lần lợt
cho từng chơng trình ngời dùng, mỗi chơng trình đợc chiếm giữ CPU trong một
khoảng thời gian nh nhau (khoảng thời gian đó đợc gọi là lợng tử thời gian: time
quantum): có thể thấy phổ biến về lợng tử thời gian điển hình là khoảng 0,05s. Máy
tính làm việc với tốc độ cao, chu kỳ quay lại phục vụ cho từng chơng trình ngời
dùng là rất nhanh so với giác quan của ngời dùng, và vì vậy, mỗi ngời dùng đều có
cảm giác rằng mình đang chiếm hữu toàn bộ tài nguyên hệ thống.

e. Hệ thống đa xử lý

Hệ thống nhiều CPU
Hiện nay, từ tốc độ phát triển nhanh của công nghệ, máy tính ngày càng đợc phổ
dụng trong xã hội. Mức độ thâm nhập của máy tính vào cuộc sống càng cao thì yêu
cầu nâng cao năng lực của máy tính lại ngày càng trở nên cấp thiết. Bộ nhớ chính ngày
càng rộng lớn; đĩa từ có dung lợng càng rộng, tốc độ truy nhập ngày càng cao; hệ
thống thiết bị ngoại vi càng phong phú, hình thức giao tiếp ngời-máy ngày càng đa
dạng. Nh đã nói, CPU là một tài nguyên thể hiện chủ yếu nhất năng lực của hệ thống
máy tính, vì vậy một trong những vấn đề trọng tâm nhất để tăng cờng năng lực của hệ
thống là tăng cờng năng lực của CPU. Đối với vấn đề này, nảy sinh các giải pháp theo
hai hớng:
Giải pháp tăng cờng năng lực của một CPU riêng cho từng máy tính: công nghệ vi
mạch ngày càng phát triển vì vậy năng lực của từng CPU cũng ngày nâng cao, các dự
án vi mạch VLSI với hàng triệu, hàng chục tiệu transitor đợc triển khai. Tuy nhiên
giải pháp này cũng nảy sinh những hạn chế về 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 nhất giữa hai thành phần không thể giảm
thiểu quá nhỏ v.v.
Song song với giải pháp tăng cờng năng lực từng CPU là giải pháp liên kết nhiều CPU
để tạo ra một hệ thống chung có năng lực đáng kể: việc xử lý song song tạo ra nhiều
lợi điểm. Thứ nhất, chia các phần nhỏ công việc cho mỗi CPU đảm nhận, năng suất
tăng không chỉ theo tỷ lệ thuận với một hệ số nhân mà còn cao hơn do không mất thời
gian phải thực hiện những công việc trung gian.
Thứ hai, giải pháp này còn có lợi điểm tích hợp các hệ thống máy đã có để tạo ra một
hệ thống mới với sức mạnh tăng gấp bội.
Chúng ta khảo sát một số nội dung chọn giải pháp đa xử lý theo nghĩa một hệ thống
tính toán đợc tổ hợp không chỉ một CPU mà nhiều CPU trong một máy tính (hệ đa xử
lý tập trung) hoặc nhiều máy tính trong một hệ thống thống nhất. Gọi chung các hệ có
nhiều CPU nh vậy là hệ đa xử lý.
Phân loại các hệ đa xử lý

hoạt động của các CPU này hoàn toàn độc lập nhau.
1.2.1. Cấu trúc hệ điều hành truyền thống
HĐH là bộ phần mềm lớn có kích thớc từ hàng nghìn tới hàng triệu dòng mã lệnh,
cho nên khi thi hành cần thiết phải kiến trúc phần mềm HĐH từ các môđun dễ dàng
quản lý (phù hợp với phơng pháp chung phát triển phần mềm). Kỳ vọng một kết quả
thiết kế là cung cấp các giao diện đợc xác định tờng minh giữa các môđun và cách
đặt các ràng buộc cho tơng tác môđun. Hai cách tiếp cận truyền thống thông dụng
phân hoạch các môđun là phân hoạch ngang và phân hoạch dọc. Phân hoạch dọc dựa
trên khái niệm mức, theo đó phân chia các môđun thành nhóm theo các mức khác nhau
với ràng buộc là chỉ cho phép tơng tác giữa các môđun thuộc hai mức liền kề. Đây là
giao diện một vào - một ra giữa các mức. Các môđun trong từng mức (phân hoạch
ngang) lại đợc tổ chức thành các thành phần lớn rời rạc nhau, mỗi thành phần nh thế
lại có thể đợc tinh chế tiếp theo tổ hợp phân hoạch ngang hoặc dọc (hình 1.4). Kiểu
điển hình của môđun là tập dòng lệnh thi hành một dịch vụ hệ thống riêng biệt. Trong
một hệ thống hớng đối tợng, các môđun cần đợc thi hành nh một đối tợng với
các thao tác (hoàn toàn xác định) trên mỗi đối tợng dịch vụ thành phần. Môđun hóa
dựa trên đối tợng là tốt hơn so với mã hóa. Mọi tài nguyên, bao gồm cả file và QT,
cần đợc tiếp cận nh đối tợng dữ liệu mà thể hiện vật lý của chúng phải đợc che
giấu bằng các cấu trúc dữ liệu trừu tợng. Hoạt động (thực hiện) của môđun đợc giới
Các ứng dụng
Kế toán ... Văn phòng Sản xuất
Các hệ thống
con
Môi trờng lập trình Hệ thống cơ sở dữ liệu
Các tiện ích
Bộ biên dịch Thông dịch lệnh Th viện
Các dịch vụ hệ
thống
Hệ thống File Quản lý bộ nhớ Bộ lập lịch
Nhân


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status