1. Trang chủ
  2. » Cao đẳng - Đại học

Giáo trình Hệ điều hành phân tán: Phần 1 - Trường Đại Học Quốc Tế Hồng Bàng

20 12 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 20
Dung lượng 243,66 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Theo thời gian, năng lực của máy tính được nâng cao: về tốc độ xử lý của CPU, về dung lượng bộ nhớ, về hệ thống thiết bị ngoại vi, về phần mềm hệ thống cũng như số lượng và năng lực ngườ[r]

Trang 1

Giáo trình hệ điều hành phân tán

Biên tập bởi:

Hà Quang Thụy

Trang 2

Giáo trình hệ điều hành phân tán

Biên tập bởi:

Hà Quang Thụy

Các tác giả:

Hà Quang Thụy

Phiên bản trực tuyến:

http://voer.edu.vn/c/2e32f7cb

Trang 3

MỤC LỤC

1 Sự tiến hoá của hệ điều hành hiện đại

2 Tổng quan về hệ điều hành truyền thống

3 Cấu trúc hệ điều hành truyền thống

4 Sơ lược về hệ điều hành mạng

5 Sơ lược về hệ điều hành phân tán và hệ tự trị cộng tác

6 Khái niệm và kiến trúc hệ phân tán

7 Tính trong suốt trong hệ phân tán và các dịch vụ

8 Mô hình kiến trúc hệ điều hành phân tán

9 Các giao thức mạng truyền thông

10 Kết quả thiết kế chủ yếu

11 Môi trường tính toán phân tán

12 Khái niệm quá trình và luồng

13 Mô hình đồ thị thể hiện các quá trình và các dịch vụ thời gian

14 Cơ cấu ngôn ngữ cho đồng bộ

15 Lập trình phân tán và lập trình trên mạng

16 Truyền thông CTĐ

17 Mô hình đối tượng các phục vụ tài nguyên và ngôn ngữ lập trình đồng thời

18 Truyền thông hỏi-đáp

19 Truyền thông giao dịch

20 Dịch vụ tên và thư mục

21 Loại trừ ràng buộc phân tán

22 Bầu thủ lĩnh

23 Mô hình hiệu năng hệ thống

24 Lập lịch quá trình tĩnh

25 Chia sẻ và cân bằng động

26 Thi hành quá trình phân tán

27 Lập lịch thời gian thực

28 Đặc trưng của DFS

29 Thiết kế và thi hành DFS

30 Điều khiển đồng bộ và giao dịch

31 Nhân bản dữ liệu và file

Tham gia đóng góp

Trang 4

Sự tiến hoá của hệ điều hành hiện đại

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

Cấu trúc lớp của hệ thống máy tính

Trang 5

* 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 (phần cứng và phần mềm) đối với người dùng

* Theo cách nhìn của người quản trị hệ thống, dịch vụ hệ thống và nhân được coi là

người quản lý tài nguyên Quản lý hệ thống tài nguyên (CPU, bộ nhớ, hệ thống vào ra, file) không chỉ kiểm soát được tình trạng của các tài nguyên mà còn nhằm khai thác hiệu quả nhất Một số bài toán điển hình như điều khiển bộ nhớ, lập lịch QT, điều khiển liên

QT, điều khiển file, điều khiển vào ra

Máy tính mở rộng và quản lý tài nguyên là hai thuật ngữ chung nhất được dùng để xác định một HĐH Máy tính mở rộng (trừu tượng máy) là mục tiêu thiết kế nguyên thủy đối với HĐH và quản lý tài nguyên giải nghĩa cho việc thực hiện mục tiêu đó

Thiết kế HĐH truyền thống thường bắt đầu từ yếu tố quan trọng hơn là quản lý tài nguyên, trong khi đó thiết kế HĐH hiện đại lại tập trung nhiều hơn vào yếu tố trừu tượng máy Và một lẽ tất nhiên là yếu tố nào là quan trọng hơn lại phụ thuộc vào sự quan tâm

từ phía người dùng

Sơ bộ về sự tién hóa của hệ điều hành

Trong máy tính thuộc các thế hệ đầu tiên không có HĐH Các thao tác chọn công việc, phân công công việc đều do thao tác viên (và thậm chí ngay chính người lập trình) thực hiện Theo thời gian, năng lực của máy tính được nâng cao: về tốc độ xử lý của CPU,

về dung lượng bộ nhớ, về hệ thống thiết bị ngoại vi, về phần mềm hệ thống cũng như

số lượng và năng lực người sử dụng tăng trưởng và vì vậy cần có một hệ thống chương trình điều khiển tự động hệ thống máy tính Những yếu tố thực tế như vậy làm 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 trưng

Trang 6

Phân bố của các thế hệ điều hành theo độ kết dính

* Độ 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

- HĐH phân tán (DOS): phần mềm kết dính chặt trên nền phần cứng kết dính lỏng,

- HĐH mạng (NOS): cả phần mềm lẫn phần cứng đều kết dính lỏng,

- Hệ tự trị cộng tác (CAS) làm giảm kết dính chặt phần mềm (cách nhìn lôgic tập trung của DOS) CAS nằm giữa NOS và DOS

*Phân biệt HĐH theo tổ hợp mục tiêu-đặc trưng

Bảng 1.1 trình bày sự phân biệt các thế hệ HĐH theo tổ hợp mục tiêu-đặc trưng

Thế

hệ

Hệ

1

HĐH tập trung

Quản trị quá trìnhQuản trị bộ nhớQuản trị vào-raQuản trị file

Quản trị tài nguyênMáy tính mở rộng (ảo)

2 HĐHmạng Truy nhập từ xaTrao đổi thôngtinDuyệt mạng Chia xẻ tài nguyên(liên thao tác) 3

HĐH phân tán

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)

Trang 7

Hệ tự trị cộng tác

Các ứng dụng phân tán là mở và

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 suốt là một mục tiêu quá cao Hơn nữa, không bắt buộc phải luôn cố đạt tới tính trong suốt vì nó bao gói một độ tập trung nào đó Điều chắc chắn phù hợp với người dùng là họ thích có được cái nhìn riêng về hệ thống Người dùng cần một môi trường

mở không đòi hỏi nhất thiết về tính trong suốt mà chỉ cần hệ thống cung cấp tính mở

để người dùng biến đổi, chuyển, di trú, mở rộng phần mềm ứng dụng của họ một cách độc lập đối với sự hỗn tạp của hệ thống Lý do là, như lẽ rất tự nhiên, người dùng biết được sự tồn tại của tài nguyên phức và sự hiện diện của các người dùng khác, và người dùng trở thành cộng tác hoàn toàn với hệ thống Từ đó, hệ thống phần mềm được xây dựng nhờ việc tích hợp các dịch vụ cộng tác, được cung cấp từ các đơn vị tự trị Kiểu hoạt động như vậy của hệ tự trị cộng tác rất giống xã hội loài người Hiện tại một số hệ thống phần mềm lớp giữa (middleware) được xây dựng như những phiên bản (version) ban đầu của hệ tự trị cộng tác

Liên thao tác, trong suốt, và tự trị là những tính chất rất đáng mong muốn Người dùng không phải (thường là không cần thiết) biết HĐH hiện tại có phải là mạng, DOS, CAS hay không Hầu hết các HĐH hiện đại là một hệ thống tích hợp Nó là việc tiến hóa từ HĐH tập trung tới HĐH mạng, HĐH phân tán và sau đó là hệ tự trị cộng tác, trong đó

Trang 8

người dùng tiếp xúc với việc xây dựng các ứng dụng cộng tác lớn dựa trên các khối đã được cấu trúc hoàn hảo

Trang 9

Tổng quan về hệ điều hành truyền thống

Như đó biết, HĐH truyền thống (cũn được gọi là HĐH tập trung với đơn/đa bộ xử lý) chạy trờn một mỏy tớnh là thế hệ HĐH đầu tiên, với độ kết dính chặt chẽ phần mềm -phần cứng trong đó mọi tài nguyên được chia xẻ một cách nội tại và truyền thông liên xử lý/liên QT được thực hiện qua hoặc chia xẻ bộ nhớ hoặc ngắt QT trực tiếp Trong HĐH tập trung, hệ thống máy tính là tập trung: CPU (một hoặc nhiều) và bộ nhớ trong thỏa món một số tớnh chất nguyờn thủy của chỳng (vớ dụ, tốc độ truy nhập của một CPU bất kỳ tới một địa chỉ bộ nhớ trong bất kỳ là đồng nhất ) Coi rằng chỉ có duy nhất

"một bộ CPU" cùng duy nhất "một bộ nhớ trong" và không hề quan tâm đến sự khác biệt thời gian truyền thông giữa các CPU hay giữa các bộ phận của bộ nhớ trong 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

Thế

hệ

Hệ

1

HĐH tập trung

Quản trị quá trìnhQuản trị bộ nhớQuản trị vào-raQuản trị file

Quản trị tài nguyênMáy tính mở rộng (ảo)

mạng

Truy nhập từ xaTrao đổi thông tinDuyệt mạng Chia xẻ tài nguyên(liên thao tác) 3

HĐH phân tán

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ó một lưu ý 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

Trang 10

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 Nhưng 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à

ngoài những thành tố đó núi - tương ứng với thành phần điều kiển, HĐH cũn cú thành

phần ứng dụng và thành phần tiện ớch Lý do chính của việc mở rộng nội dung khái

niệm về HĐH như vậy liên quan đến sản phẩm kết quả cung cấp cho người sử dụng là một "bộ phần mềm hệ điều hành" Tuy nhiên, khi trỡnh bày bản chất của HĐH, cách quan niệm này cũng nhất quán với cách quan niệm đó núi và nội dung trong giỏo trỡnh này nhất quỏn theo cỏch quan niệm như vậy

Một cách nhân khác về kiến trúc mức hệ thống máy tính

Tiếp theo trong mục dưới đây, chúng ta mô tả sơ lược quá trỡnh tiến húa của HĐH truyền thống

Tiến hóa hệ điều hành truyền thống

Hệ điều hành đơn chương trình

HĐH đơn chương trỡnh (HĐH dóy: serial OS) xuất hiện đầu tiên: chương trỡnh của người dùng được xếp hàng để lần lượt được đưa vào bộ nhớ trong và chạy (thực hiện) Một chương trỡnh sau khi được nạp từ dũng xếp hàng vào bộ nhớ trong được hệ thống (cùng toàn bộ tài nguyên) phục vụ từ khi chương trỡnh bắt đầu chạy cho đến lúc chương trỡnh kết thỳc Một chương trỡnh được nạp vào bộ nhớ như vậy có thể được thực hiện với nhiều bộ dữ liệu Chỉ khi chương trỡnh này kết thỳc thỡ mới nạp tiếp chương trỡnh khỏc trong dũng đợi vào bộ nhớ trong Trong hệ thống đơn chương trỡnh thực chất khụng cần giải quyết bài toỏn điều khiển CPU (lập lich) vỡ CPU đó được dành riêng cho chương trỡnh hiện tại

Tuy nhiên, việc nạp chương trỡnh và dữ liệu vào bộ nhớ trong làm việc lại liờn quan đến thiết bị vào-ra đa dạng mà trong giai đoạn ban đầu phổ biến là vào bỡa đục lỗ (thiết

Trang 11

bị vào chuẩn) và ra máy in (thiết bị ra chuẩn) Và tới một thời điểm, ra đời CPU tốc độ cao, tốc độ nạp bỡa cũng như tốc độ in ra không theo kịp với tốc độ của CPU, vỡ thế làm tăng thời gian nghỉ vô ích của CPU mà gây ra lóng phớ Đũi hỏi cần cải tiến nhằm tăng hiệu quả hoạt động Một trong những cải tiến đối với HĐH đơn chương trỡnh là hoạt động theo chế độ SPOOLING (Simultaneous Peripheral Operation OnLine), mà theo đó tất cả việc vào - ra đối với HĐH là làm việc với đĩa cứng cũn vào - ra từ đĩa 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

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 lưu

ý 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

Khi so sánh với HĐH đơn chương trỡnh, cú thể nhận thấy ngay một điều là đối với một chương trỡnh cụ thể thỡ trong chế độ đơn chương trỡnh, chương trỡnh đó sẽ kết thúc nhanh hơn (thời gian chạy ngắn hơn) so với khi nó chạy trong chế độ đa chương trỡnh; nhưng bù lại, trong một khoảng thời gian xác định thỡ chế độ đa chương trỡnh sẽ hoàn thiện được nhiều chương trỡnh (giải được nhiều bài toán) hơn, do đó hiệu quả sử dụng máy tính cao hơn

Một trong những tài nguyên quan trọng nhất của hệ thống máy tính là CPU Việc chia

xẻ CPU là một trong những dạng điển hỡnh của việc chia xẻ tài nguyên Tính chất chia

xẻ CPU lại phân lớp các HĐH đa chương trỡnh thành cỏc lớp con: HĐH hoạt động theo

chế độ mẻ (batch) và HĐH hoạt động theo chế độ phân chia thời gian (time shared).

-Hệ điều hành hoạt động theo chế độ mẻ

Đây là loại HĐH định hướng tới mục tiêu làm cực đại số lượng các bài toán được giải

quyết trong một khoảng đơn vị thời gian (có nghĩa là trong một khoảng đơn vị thời gian

thỡ hướng mục tiêu vào việc hoàn thiện được càng nhiều chương trỡnh càng tốt) ở nước

Ngày đăng: 01/04/2021, 01:22

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm