CHƯƠNG 1 NHẬP MễN MẠNG MÁY TÍNH
1.4. HỆ ĐIỀU HÀNH MẠNG
1.4.2. Cỏc tiếp cận thiết kế và cài đặt
Để thiết kế và cài đặt một hệ điều hành mạng cú hai cỏch tiếp cận khỏc nhau:
(1) Tụn trọng tớnh độc lập của cỏc hệ điều hành cục bộ đó cú trờn cỏc mỏy tớnh của mạng. Khi đú hệ điều hành mạng được cài đặt như một tập cỏc chương trỡnh tiện ớch chạy trờn cỏc mỏy khỏc nhau của mạng. Giải phỏp này tuy khụng được “đẹp” nhưng dễ cài đặt và khụng vụ hiệu húa được cỏc phần mềm đó cú.
(2) Bỏ qua cỏc hệ điều hành đó cú trờn cỏc mỏy và cài đặt mới hoàn toàn một hệ điều hành thuần nhất trờn toàn mạng, gọi là hệ điều hành phõn tỏn. Giải phỏp này đẹp hơn về phương diện hệ thống so với giải phỏp trờn, nhưng bự lại độ phức tạp trong cụng việc thỡ lớn hơn rất nhiều. Mặt khỏc, việc tụn trọng tớnh độc lập và chấp nhận sự tồn tại của cỏc sản phẩm hệ thống đó cú là một điểm hấp dẫn của cỏc tiếp cận thứ nhất. Bởi vậy tựy theo điều kiện cụ thể mà ta ỏp dụng giải phỏp nào cho phự hợp. Sau đõy ta xem xột cụ thể hơn về từng giải phỏp núi trờn
Hệ điều hành theo giải phỏp (1)
Tư tưởng chủ đạo của giải phỏp này là cung cấp cho mỗi người tư tưởng chủ đạo của giải phỏp này là cung cấp cho mỗi người sử dụng mọi tiến trỡnh đồng nhất mà ta gọi là Agent làm nhiệm vụ cung cấp một giao diện đồng nhất và tất cả cỏc hệ thống cục bộ đó cú Agent quản lý một cơ sở dữ liệu chứa cỏc thụng tin về cỏc hệ thống cục bộ và chương trỡnh dữ liệu của người sử dụng trong trường hợp đơn giản nhất Agent chỉ hoạt động như một bộ xử lý lệnh, dịch cỏc lệnh của người sử dụng thành ngụn ngữ lệnh của hệ thống cục bộ rồi gửi chỳng để thực hiện trước khi mỗi chương trỡnh thực hiện, Agent phải đảm bảo rằng tất cả cỏc tệp cần thiết đề sử dụng. Việc cài đặt mạng như vậy sẽ chống lại hai cụng việc chớnh: thiết kế ngụn ngữ lệnh của mạng và cài đặt Agent.
Cỏch tiếp nhận này đơn giản và khụng gõy ảnh hưởng đến hệ thống cục bộ đó cú sẵn. Thậm chớ cỏc hệ thống cục bộ khụng cần thiết đến sự tồn tại của mạng. Nhưng giải phỏp này chỉ cú thể khả thi khi mà tất cả cỏc tệp tin cần thiết đều biết trước để Agent cú thể gửi chỳng tới một hệ thống cục bộ trước khi chương trỡnh bắt đầu hoạt động. Ngoài ra rất khú thực hiện cỏc tương tỏc vào ra mà chương trỡnh lại khụng biết tới sự tồn tại của mạng. Một giải phỏp tổng quỏt hơn nhằm bỏ tiến trỡnh đang chạy lại bằng cỏch túm tắt tất cả cỏc lời gọi hệ thống System Call của nú để chỳng cú thể thực hiện trong bối cảnh của hệ thống quản lý tệp của mạng (NetWork file System).
Trong trường hợp này người ta gọi là hệ điều hành phõn tỏn và cú thể được thiết kế một trong hai mụ hỡnh: Mụ hỡnh tiến trỡnh hoặc mụ hỡnh đối tượng.
Trong mụ hỡnh tiến trỡnh mỗi tài nguyờn (tệp, đĩa, thiết bị ngoại vi, …) được quản lý theo một tiến trỡnh nào đú và hệ điều hành mạng điều khiển sự tương tỏc giữa cỏc tiến trỡnh đú. Cỏc dịch vụ của hệ điều hành mạng tập trung truyền thụng như quản lý tệp, lờn lịch cho bộ xử lý, điều khiển terminal,... được quản lý bởi cỏc Server đặc biệt cú khả năng tiếp nhận cỏc yờu cầu thực hiện dịch vụ tương ứng trong nhiều trường hợp cỏc Server cú thể chạy như tiến trỡnh của người sử dụng thụng thường.
Trong mụ hỡnh đối tượng, thế giới bao gồm cỏc đối tượng khỏc nhau, mỗi đối tượng cú một kiểu (type), một biểu diễn, và một tập cỏc thao tỏc cú thể thực hiện trờn nú. Để thực hiện một thao tỏc trờn một đối tượng, chẳng hạn đọc một tệp tin trờn một tiến trỡnh người sử dụng phải cú “giấy phộp” đối với đối tượng. Nhiệm vụ cơ bản của hệ điều hành đõy là quản lý cỏc giấy phộp và cấp phỏt cỏc “giấy phộp” đú cho cỏc tiến trỡnh để thực hiện cho cỏc thao tỏc cần thiết. Trong một hệ tập trung, bản thõn hệ điều hành nằm giữ cỏc “giấy phộp” bờn trong để ngăn ngừa những người sử dụng cố ý giả mạo chỳng. Trong một hệ phõn tỏn cỏc “giấy phộp” được luõn chuyển theo một cỏch nào đú để mỗi tiến trỡnh đều cú cơ hội nhận được “giấy phộp” và sao cho người sử dụng khụng thể tự tạo ra được chỳng.
Việc thiết kế hệ điều hành phõn tỏn theo mụi hỡnh đối tượng là một hướng đi rất triển vọng và tồn tại nhiều vấn đề cần giải quyết trọn vẹn hơn. Cũn đối với tiến trỡnh thỡ chỳng ta cú thể thấy rừ nhiệm vụ then chốt chớnh là xõy dựng cơ chế liờn lạc giữa cỏc tiến trỡnh (Interprocess Communication - IPC). Để làm điều đú người ta sử dụng một trong hai cỏch: dựng lời gọi hàm (Function/procedure Calls) hoặc chuyển thụng bỏo (message passing).
Khi cỏc lời gọi hàm hoặc thủ tục được dựng làm cơ chế IPC, hệ thống đầy đủ bao gồm tệp và cỏc hàm (hoặc thủ tục) được viết tắt theo ngụn ngữ nào đú. Mó của cỏc hàm nào được phõn tỏn cho cỏc bộ vi xử lý. Để thực hiện việc truyền thụng giữa cỏc mỏy, một hàm trờn mỏy này cú thể gọi một hàm trờn mỏy khỏc. Ngữ nghĩa của cỏc lời gọi hàm đõy cũng giống như đối với cỏc lời gọi hàm thụng thường: hàm gọi bị treo cho đến khi hàm
gọi được kết thỳc, tham số được truyền từ hàm gọi cho đến hàm được gọi, cũn kết quả
được chuyển theo chiều ngược lại. Cỏch tiếp cận này dẫn đến một hệ điều hành được viết như một chương trỡnh lớn, ưu điểm là chặt chẽ và nhất quỏn, tuy nhiờn thiếu mềm dẻo.
Nếu dựng phương phỏp chuyển thụng bỏo của cơ chế IPC thỡ cỏc tiến trỡnh sẽ liờn tục với nhau bằng cỏch chuyển thụng bỏo. Mó của cỏc tiến trỡnh được tỏch biệt và cú thể viết bằng cỏc ngụn ngữ khỏc. Cỏch tiếp cận này đũi hỏi nhiều vấn đề hơn cỏch tiếp cận gọi hàm, chẳng hạn vấn đề địa chỉ húa thiết lập cỏc liờn kết ảo, cắt, hợp thụng bỏo, kiểm soỏt luồng dữ liệu truyền thụng bỏo (broad casting).