Giáo trình Hệ điều hành - Chương 6: Các dịch vụ mạng máy tính

CHƯƠNG 6: Các dịch vụ mạng máy tính  
6.0. Những quan niệm về dịch vụ mạng máy tính (computer network)  
Ngày nay, có những máy tính cở lớn thể phục vụ đến vài ngàn người và  
cũng những máy tính chỉ phục vụ cho một vài người sử dụng. Nhưng, để thể  
sử dụng dịch vụ hệ thống rộng rãi và để thể dùng chung các nguồn tài nguyên  
do nhu cầu của các công ty, các trường học, các xí nghiệp và nói chung do những  
nhu cầu trao đổi thông tin rộng rãi của toàn xã hội, các máy tính nói trên được kết  
nối thành mạng.  
Đến nay, kiểu phân bổ chức năng khách-chủ tiện lợi nhất: Những máy tính  
chuyên dụng chứa đựng nguồn tài nguyên phong phí được gọi là các máy chủ (file  
server) tạo nên các chức năng bổ sung cho các thành viên của nhóm công tác  
(Working group). Với các mạng máy tính hiện hành, máy chủ đã tạo cho người sử  
dụng những chức năng dưới sau đây:  
Chia sẽ tệp tin (file sharingo): Mọi người sử dụng (chủ và khách) có thể  
cùng nhau tạo lập và cùng nhau sử dụng các tài liệu và các dữ liệu.  
Thư điện từ (elctronic mail): các thông tin điện tử gọi thư điện tử được  
dịch vụ như phương tiện thong tin, cụ thể đó là các phiếu cập nhập thanh toán  
hoặc ghi chép giữa các người dụng trên mạng vi tính  
Chia sẽ máy in (printerscharing): Cả nhóm công tác có thể dùng chung một  
máy in, do đó, việc in ấn các bản vẽ hay các tài liệu được thực hiện trên một loại  
máy in nào đó ở trong mạng, phương pháp này gọi là cách quảng (remote priting),  
đã tạo điều kiện giảm thiểu đáng kể phí tổn nếu phải trang bị nhiều máy in.  
Điều hành công việc (job management): Qua việc phân bổ các nhiệm vụ  
riêng lẻ trên các máy tính, những thành viên khác nhau của nhóm có thể xử lý  
công việc nhanh hơn, rút ngắn thời gian tính toán và thời gian thực hiện chương  
trình.  
Sự khác nhay giữa các máy tính riêng lẻ mạng máy tính đối với người sử  
dụng thì khó nhìn thấy, khi chúng ta nói về hệ thống máy tính phân bổ. Các chức  
năng được kể ở trên đạt được nhờ một sự trình diễn mục đích của nhiều thành  
phần hệ điều hành trên các máy tính khác nhau. Do đó, việc mở rộng mạng máy  
tính có thể coi như việc mở rộng hệ điều hành.  
Những ưu điểm được tả ở trên là có thể thực hiện trên mạng máy tính; mặc  
vậy, chúng tồn tại nhiều khó khă trở ngại bởi nhiều kiể máy tính được lắp đặt  
vào mạng, nhiều loại hệ điều hành và nhiều loại ngôn ngữ lập trình: sự hợp tác của  
máy tính cho phép những tiêu chuẩn mạng khác nhau; những tiêu chuẩn này tồn  
tại trong cả phần cứng và trong cả phần mềm. vậy, chúng ta mong muốn đón  
nhận trong chương này vai trò quan trọng của hệ điều hành; đồng thời, chúng ta  
tiếp tục nghiên cứu các nhiệm vụ , các kiểu chức năng cà các giải pháp một cách  
đầy đủ hơn, một sự kết nối mạng smang chúng lại cho hệ điều hành.  
Để thống nhất hoá một phạm vi rộng lớn, liên hiệp các nhà sản xuất máy tính  
đã giới thiệu một thử nghiêmh quan trọng về môi trường máy tính phân bổ  
(distributed compting environment: DCE;) nó là cơ sở các phần mềm mở (open  
software fundation:OSF) chứa đựng các giải pháp khác nhau về quản lý công việc  
vủa hệ thống client/server (khách/ chủ) về quản tệp tin cũng như các cơ chế  
bảo vệ.  
6.1 Kết nối mạng máy tính  
Với phương hướng thưa nhất để các máy tính làm việc độc lập với nhau trong  
mạng, một bộ điều khiển được dẫn vào cho việc nối mạng, giống như một bộ  
móc thiết bị phải được lắp vào nhờ bộ kích tạo ở trong nhân hệ điều hành.  
Đối vớikiểu kết nối logic của các thông tin, chúng ta có thể áp dụng trở lại các  
sơ đồ được nêu ra trong mục 2.4.1 ở đầu chương 2: Đầu tiên, chúng ta tạo ra một  
sự kết nối; hoặc là, chúng ta sử dụng địa chỉ người nhận để gởi thông tin, và do đó,  
chúng ta đạt được một sự trao đổi thông tin không kết nối. Đối với việc thực hiện  
trao đổi hướng kết nối logic, ngưới ta có thể áp dụng hai ý kiến: Một cách vật lý,  
chúng ta có thể tạo ra một sưk liên kết cố đinh; sau đó, chúng ta có thể gởi thông  
tin qua đường dây điện thoại cố định;hay chúng ta có thể bắt đầu cách nối tiếp vật  
nhờ các thông tin đặc biệt qua mạng máy tính, tiếp đến, gởi các thông tin trên  
con đường vừa chuẩn bị. Việc kết nốicác máy tính tới vavs máy tính riêng lẻ thì  
không chỉ tồn tại một dạng vật lý; thực ra, nhiều kết nối như thế thể sử dụng  
đường dây dẫn, mà không hề trở ngại gì. Đối với việc thực hiện hai ý kiến trên  
ở mạng máy tính thì có thể đạt được do việc phân xẻ thông tin thành các gói tin  
(daten package) và do việc chuyển liên tục các gói tin tới các địa chỉ người nhận ở  
trong mạng  
Một cách bình thường, ở kết nối mạng máy tính, thì không tồn tại kiểu kết nối  
vật điểm tới điểm, nhiều máy tính được kết nối với nhau bằng cáp đồng trục.  
Để thích hợp cho một máy xác định, trên cáp này, không phải chỉ có các dữ liệu,  
cả những thông tin địa chỉ cũng truyền tải. Những thông tin quản lý này (chẳng  
hạn chiều dài thông tin, tổng ngang để kiểm tra lỗi truyền đat...) được liên kết với  
các dữ liệu trong một gói tin. Nhiệm vụ của bộ điều khiển địên tử thực hiện việc  
chuyển đổi giữa các tín hiệu điện tử trong cá và khuôn khổ logic của các gói tin  
đối với việc đọc khi nhận, đối với việc viết khi gởi. Với kiểu dịch vụ này,  
những chức năng tiếp theo như việc điều khiển gơie thông tin, tạo lập môtn kết nối  
thông tin logic với các máy tính khác phải được tạo lập trong sự trợ giúp của một  
dãy tuần tự các gói tin. Kết quả các bước trao đổi thông tin để đạt được một mục  
đích định trước gọi một giao thức (protocol), cũng chính là sơ lược các quy  
tắc trao đổi thông tin (communicatin).  
6.1.1. Các lớp công việc  
Việc thiết lập các dịch vụ cao hơn phù hợp với cấu trúc hiện hữu nhờ các cơ  
cấu ảo nối ở chương 1 và nó được tiêu chuển hoá kiểu các lớp OSI, gọi hệ thống  
mở kết nối với nhau (Open Sytem Interconnect) của tổ chức tiêu chuẩn hoá quốc tế  
ISO (Internetional Standards Oganization), xem hình 6.1 ở dưới đây.  
hçnh 6.1 trang 215  
Các lớp khác nhau được đánh số từ 7 tới 1, có các nhiệm vụ sau đây:  
7. Tại lớp áp dụng, các dịch vụ do người sử dụng được chỉ dẫn như các ứng  
dụng đồ hoạ, kiểm tra an toàn, trao đổi thông tin (như E-mail)...  
6. Tại lớp trình báo, các dữ liệu được tạo dạng khẳng định việc mã hóa hay  
khuôn dạng nén cũng như việc phân nhóm các dữ liệu, thí dụ ở kiểu tạo dạng bản  
ghi thù phụ thuộc người sử dụng  
5. trên lớp toạ đàm, được khẳng định: ai là người gởi và ai là người nhận;  
các lỗi được xem xét như thế nào khi trao đổi thông tin... Nói chung, lớp này  
thường được bỏ qua  
4. Lớp chuyển vận làm thay đổi các dong dữ liệu ở các gói tin, nó lưu ý khi  
đánh số và khi nhận thì nhận đúng gói tin. Ở đây, lần đầu tiên, một sự lưu ý đã  
được chấp nhận trên phần cứng thuộc cái đó. Các yêu cầu khác nhau của sai số lỗi  
được lựa chọn ngay ở đó. Một đại diện kiểu giao thức này là giao thức TCP.  
3. Trên lớp mạng, tất cẩ các câu hỏi và các vấn đề còn tồn tại được trao đổi có  
lưu ý tới các quan hệ về địa hình và khoảng cách của mạng máy tính. Sự chuyển  
hướng của thông tin ở trạng thái chuyển vận trên đoạn đường xác định, cấu hình  
thiết bị giới hạn bởi bề rộng băng từ chiều dài cáp đồng trục, tóm lại, tất cả các  
điều kiện luật của mạng máy tính được xem xét kỹ càng ở đây. đối với việc trao  
đổi thông tin không có kết nối, hầu như giao thức IP (internet protocol) hay một  
ấn bản khác của loại đó UDP (uniform datagram protocol) được sử dụng; tuy  
nhiên, với cái đó, dãy tuần tự các gói tin trên đường đến người nhận thể tự  
mình tu chỉnh. Ngược lại với cái đó, giao thức nổi tiếng X.25 đã đảm bảo dãy tuần  
tự, vì giao thức định hướng kết nối này sử dụng một kiểu kết nối được tạo lập  
trước đó cho tất cả các gói tin một cách chặt chẽ.  
2. Lớp liên kết dữ liệu đã làm phân đoạn các tập dữ liệu thông tin (có đọ lớn  
không đều đặn) thành các gói tin nhỏ riêng lẻ độ lớn xác định, gởi chúng đi và  
lặp lại việc gởi, nếu không có thông báo trở lại hay nếu việc tổng kiểm tra lỗi ở  
bên nhận không có vấn đề gì. Bởi lẻ, được làm đầy chức năng bảo vệ dữ liệu.  
1. Các gói dữ liệu sẽ được biến đổi khi dẫn tới việc gởi trên lớp kết nối vật lý  
thành các Bit nhị phân, mà những Bit nhị phân này được mang theo như các xung  
điện hay các xung quang trên môi trường chuyển vận.  
Việc thực hiện và áp dụng kiểu phân lớp này vẫn còn có sự khác nhau giữa các  
nhad chuyên môn, và do đó, vấn đề này vẫn còn tiếp tục trãi qua thực nghiệm...  
Trong trường hợp đơn giản, người ta có thể tạo lập một sự kết nối kiểu điểm  
tới điểm giữa hai máy tính; trong đó, người ta kết nối chúng bằng dây cáp đồng  
trục; sự kết nối này thích hợp với thiết bị tốc độ chậm như máy in. Khi đó, các  
chíp vi mạch với các giao diện nối tiếp sẽ thực hiện các chức năng của lớp kết nối  
dữ liệu; bộ kích tạo lối ra thì đang ở bước thứ nhất. Đối với một sự trao đổi thông  
tin, người ta có thể áp dụng một chương trính KERMIT thông thường. Chương  
trình này do trường Đại học Columbia đề xướng, chứa đựng nội dung các lệnh  
để gởi dữ liệu (lớp 7) như cơ chế mã hoá thành các gói tin thông tin (lớp 6). Ở  
đây, các lớp 5,4 và 3 được bỏ qua một bên, vì nó là kiểu kết nối tận hiến điểm tới  
điểm.  
các mạng máy tính với các yêu cầu cao hơn như E-mail và cùng nhau sử  
dụng các tệp tin, các lớp còn phức tạp hơn nhiều. Do vậy, điều đó đã đảm bảo  
rằng, bộ điều khiển không chỉ chứa các chíp, mà chúng thiên luận các lớp 1 và lớp  
2; đặc biệt, một hệ thống vi xử lý riêng lẻ với bộ nhớ một chương trình cố định  
trong ROM sẽ làm giảm tải với một môi trường truyền tải đặc biệt (thí dụ Ethenet)  
hay với một giao thức đặc biệt (thí dụ một sự kết hợp đặc biệt các giao thức  
TCP/IP). Những bộ điều khiển thông minh này có thể cùng làm việc với các bộ  
kích tạo của hệ điều hành trên mức đọ cao hơn.  
Đối với hệ điều hành, điều quan trọng cần phải hiểu là, những lớp nào và  
những dịch vụ nào sẽ tồn tại trong bộ điều khiển cần được xem xét tốt hơn.  
Các lớp trao đổi thông tin trong Unix:  
trong hệ điều hành Unix, các lớp riêng lẻ thay thế nhau thì rất khác nhau.  
Thực ra, lúc đầu Unix không phải thiết kế cho mạng. Vì ngày từ đầu, nguồn  
của hệ điều hành này được dụng không mất tiền ở các trường đại học, cho nên, nó  
đã nhận được sự tham gia rộng rãi và đem lại các ấn bản phát triển cũng như các  
ấn bản thiết kế quan trọng đối với mạng máy tính và đã được thực nghiêmh thành  
công mỹ mãn trên hệ điều hành Uinx.  
Một bản thiết kế mong mỏi với Unix System V đã được dẫn tới việc sắp xếp  
các bộ kích tạo thiết bị các lớp. Ý tưởng cơ bản của bản thiết kế này là tạo ra dòng  
thông (stream) các dữ liệu xuất-nhập của một kết nối nhờ các bậc xủ lý khác  
nhau của bộ kích tạo, xem hình 5.2 trên. Hệ thông sdòng lưu thông này tạo ra  
trên một giao diện đã được chuẩn hoá, để di dịch các bậc xử bất kỳ hay để đón  
nhận dòng lưu thông. Do đó, nó có thể giảm nhẹ việc trao đổi các lớp của giao  
thức việc lựa chọn liên hiệp các giao thức TCP/IP. Hình 6.2 chỉ ra một lớp chứa  
đựng các dịch vụ được nhắc đến ở trong mục 6.2.2 ở dưới đây.  
7 Ap dụng  
6. Trình báo  
Named pipes, rlogin,...  
XDS  
Giao diện HĐH: socket  
Ports, IP address  
5. Toạ đàm  
4. Chuyển vận  
3. Mạng  
2. Liên kết dữ liệu  
TCP/IP  
Ethnet  
1. Kết nối vật lý  
Hình 6.2. Các lớp của các giao thức thường hay sử dụng ở trong Unix  
Gọi hệ thống các dịch vụ vận chuyển ở trong nhân hệ điều hành xảy ra nhờ các  
gọi hệ thống đặc biệt. Một áp dụng thể hoặc sử dụng trên lớp cao hơn như  
named pipes; hoặc là nó có thể thiết đặt trên các dịch vụ hệ điều hành socket() một  
cách sâu sắc, do đó đạt được một strao đổi thông tin trên mạng.  
Các lớp trao đổi thông tin trong Windows NT:  
Ở hệ điều hành Windows NT, nhiều dịch vụ mạng khác nhau được đem lại.  
Những dịch vụ này cho phép tương thích với nhiều giao thức mạng riêng biệt  
thuộc hệ điều hành MS-DOS; thí dụ giao thức khối thông điệp máy chủ SMB  
(server message block), giao thức hệ thống mạng xuất-nhập cơ bản NetBIOS  
(Network Báic Inpit-Output System) đều tương thích với các giao thức dịch vụ của  
các nhà sản xuất hệ thống khác. Cấu trúc này được sơ đồ hoá trong hình 6.3 chỉ  
cho chúng ta thấy rằng, việc phân lớp theo kiểu IOS-OSI được dẫn ra tương đối  
đầy đủ.  
7
Ap dụng  
File, Named pipes, mail slots  
Hệ thống con  
6. Đề xuất  
Dịch vụ lặp  
NetBIOS  
NBT Windows-socket  
5. Toạ đàm  
4. Chuyển vận  
Net  
BEUI  
IPX/  
SPX  
3. Mạng  
TCP/IP  
2. Liên kết dữ liệu  
Giao thức NDIS  
Bộ kích tạo NDIS  
1. Kết nối vật lý  
Hình 6.3. Mô hình OSI và các thành phần mạng của Windows NT  
Lớp chuyển vận được che phủ bởi gia thức đầy quyết định NetBEUI, gọi là  
giao thức liên hiệp của giao diện người sử dụng nânng cao kiểu hệ thống xuất-  
nhập trên mạng (NetBIOS extended user interface) hau liên hiệp các giao thức  
IPX/SPX của công ty Novell hay bởi giao thức thông dụng TCP/IP. Ngoài ra, các  
lớp này còn mang trên mình giao diện chuẩn cho bộ điều khiển mạng NDIS  
(Network driver interface specification) của hãng Microsoft  
Các lớp cao hơn 5,6,7 cũng đã được che phủ bởi lớp SMB, mà lớp này tạo ra  
một cách trực tiếp vào các trạng thái sockets theo giao thức NBT và NetBIOS, do  
đó đạt được sự trao đổi thông tin.  
6.1.2  
Các hệ điều hành phân bổ  
Một hệ điều hành được kết nối mạng được tồn tại một cách toàn vẹn thì  
được biểu thị hệ điều hành mạng máy tính. Bây giờ, người ta có thể phân bổ  
nhiêmh vụ, chẳng hạn dẫn các tệp tin tới các máy tính trong mạng. Liên quan tới  
nhiệm vụ này, người ta nói về một hệ phân bổ, cụ thể đó hệ thống tệp tin phân  
bổ. Các chức năng của hệ thống phân bổ bị giới hạn trong trường hợp của một hệ  
điều hành mạng máy tính trên các dịch vụ cao và trên các hệ thống chương trình  
được chuyên môn hoá cao của người sử dụng.  
hçnh 6.4 trang 218  
Ngược lại, mỗi thành phần của một hệ điều hành phân bổ tồn tại chỉ một lần  
riêng lẻ trên một máy tính. Do đó, tất cả các thành phssn cũng như máy tính phải  
làm việc cùng nhau; tất nhiên, chỉ hệ điều hành là chung cho toàn mạng.  
Một hệ điều hành như vậy chỉ sử dụng những lớp thấp nhất của giao thức  
chuyển vận, do đó, nó có thể thích ứng với các máy tính khác nhau với dịch vụ  
phân bổ nhanh nhạy. Hình 6.4 chỉ ra việc phân lớp đối với nhân của một hệ thống.  
Phần nhân của hệ điều hành tồn tại trên mỗi máy là phần nhân tối thiểu  
(microkernel). Phần nhân tối thiếu này chỉ chứa đựng những dịch vụ cần thiết để  
thực hiện việc trao đối thông tin và các dịch vụ cơ bản cho việc quản bộ nhớ và  
chuyển đổi tiến trình. Tất cả các dịch vụ khác như quản hệ thống tệp tin (file  
server), quản lý in ấn (printer server), xây dựng cây thư mục (director server),  
điều hành công việc (process server)...được định vị trên các máy tính chuyên môn  
hoá. Kiểu hệ điều hành này có những ưu điểm sau đây:  
Tính linh hoạt:  
Các dịch vụ tiếp theo (như dịch vụ tính toán...) có thể được lấy đi hay được đưa  
ra thêm vào yêu cầu khi máy tính hoạt động; hệ thông smáy tính có thể được mở  
rộng tăng dần.  
Tính biểu trưng:  
Với tính biểu trưng của hệ điều hành, các dịch vụ ở trong mạng được mang lại  
mà không cần người sử dụng biết điều đó xảy ra ở đâu.  
Độ sai số lỗi:  
Một cách nguyên tắc, sai số lỗi điều thể; do đó, hệ thống máy tính có thể  
tái tạo dạng ở bên trong mà không cần người sử dụng biết điều đó.  
Việc gia tăng hiệu suất:  
tất cả các dịch vụ thể được dẫn tới sang hành; do đó, nhờ các máy tính bổ  
sung, người ta có thể đạt được việc thực thi cao hơn.  
Tuy nhiên, nói đúng ra, người ta cũng nhận thấy rằng, các hệ điều hành phân  
bổ cũng nhược điểm vì chi phí phần cứng lớn, thí dụ, nếu một dịch vụ chỉ tồn  
tại một lần và ngay sau đó, loại khỏi máy tính nay. Tóm lại thể nói rằng,  
hoạt động của toàn mạng thì quan hệ với hiệu suất của dịch vụ.  
Vẫn đề cơ bản của nhân hệ điều hành phân bổ sự tổn hao thời lượng đối với  
một số dịch vụ qua trao đổi thông tin. Đối với hệ thống hiệu suất, nó thì có lợi để  
xử những gói tin lớn ngoài khả năng; đa số các hoạt động nhỏ tồn tại trong nhân  
hệ điều hành sẽ được thực hiện nhanh hơn trên hệ thống vi xử tương ứng.  
Đối với các dịch vụ mạng, người ta còn lưu ý một vấn đề, khi các nhân hệ điều  
hành được sắp đoạn hay được tái tạo, mà chúng có thể nhận được các chức năng  
hệ điều hành một cách tự chủ, khi đó sẽ đem lại những dịch vụ chuyên dụng cao  
hơn (thí dụ việc điều khiển truy cập mạng), chức năng của chúng được phân  
bổ. Vì các dịch vụ cơ bản này được tính toán một phần thuộc hệ điều hành và nó  
được chứa đựng trong phạm vi cung cấp của hệ điều hành; do đó, được nói về  
các hệ điều hành phân bổ nhiều hơn hay ít hơn mà không cần phải làm chủ một  
nhân tối thiểu.  
Trên cơ sở này, điều cần thiết phải xem xét sự hoài nghi, liệu, một hệ điều  
hành tập trung (main frame) hay một hệ điều hành phân bổ (client server) thì tốt  
hơn: Hầu hết các hệ điều hành là một sự pha trộn từ một hệ điều hành mạng thuần  
khiết, hệ điều hành này tự làm tất cả hay được kết nối một cách rời rạc với một  
hệ thống các máy tính khác nhau, chẳng hạn với một hệ điều hành phân bổ thuần  
khiết, dẫn tới tất cả các dịch vụ trên máy tính được chuyên môn hoá. Phạm vi  
của nhân chỉ ra trạng thái quá độ giữa hai điểm cực trị.  
Ở mục 6.4.2, chủ đề này được nhắc tới một lần nữa trong thì dụ về máy trên  
mạng.  
6.2. Trao đổi thông tin trên mạng  
Nếu chúng ta mở một kết nối trao đổi thống tin điểm tới điểm nếu mỗi máy  
tính quan hệ với một máy tính khác; do đó, đối với một kết nối mục đích tới  
một máy riêng lẻ, người ta phải làm thích hợp máy tính này với một cái tên hay  
một địa chỉ.  
6.2.1. Tên mở rộng trọng mạng  
những quy ước tên mở rộng khác nhau trong mạng; các quy ước này  
được thay đổi thêm mỗi khi sử dụng. Do đó, chúng ta có thể phân biệt một cách  
thô thiển giữa tên được sử dụng rộng rãi trong mạng lớn (đặc biệt trọng mạng  
Internet) và các tên trong các mạng cục bộ diện hẹp.  
Các tên trong mạng diện rộng:  
Trong sự lưu thông giữa máy tính diện rộng của mạng Internet, một quy ước  
tên được công nhận; được phát triển theo lịch sử. Do đó, tất cả các cách tổ chức  
Hoa Kỳ được phân chia thành các nhóm khác nhau:  
Com  
Edu  
cho các công ty  
cho các trường đại học trường phổ thông;  
Gov và mit cho chính phủ và quân đội;  
Net  
cho người công tác trên mạng;  
Ong  
cho tất cả các tổ chức cùng sử dụng  
Trong một nhóm (top level domain), mỗi thành viên của nhóm (domain) được  
phân bổ một cái tên; thí dụ đối với trường đại học Berkeley với nhóm top lever  
domain thì tên edu được bổ túc thêm berkeley. Tên đầy đủ cho một mảy tính của  
trường đại học được cấu thành tên vùng (domain name) và tên máy tính  
(computername), các tên được tách biệt nhau bằng dấu chấm.  
Thí dụ về tên máy tính:  
Tên đầy đủ của một máy tính Okeeffe của trường đại học Bekeley gọi là:  
okeeffe.berkeley.de  
Ở đây, việc viết chữ lớn hay chữ nhỏ không cần lưu ý. Đối với phần mở rộng,  
một sự thoả thuận khác được đưa ra. Thay vì viết tên nhóm, có thể dẫn ra tên  
viết tắt của quốc gia. Thí dụ một máy tính của bộ môn có tên là diokles, nó được  
xác định bởi địa chỉ: diokles.informatic.uni-danang.vn  
Một địa chỉ tượng trưng như vậy thì quá dài. Do đó, tồn tại đối với mỡi máy  
tính một số logic; con số này bao gồm 4 con số đứng liền kề nhau (địa chỉ Internet  
là 32 Bit).  
Thí dụ về địa chỉ trên mạng Internet:  
Một máy tính như nói trên có địa chỉ số: 141.2.1.2.  
Hai số đầu (141.2) phù hợp với nhóm vùng (domain), đó là uni-danang.vn; và  
được một cơ quan (ở Mỹ do trung tâm thông tin mạng NIC) trao cho chính xác  
như tên vùng (domain name); ở đây, các con số khác cho thấy: con số thứ 3 (.1.)  
chỉ mạng con (subnet) và con số thứ 4 (.2.) chỉ máy tính riêng lẻ của một tổ chức  
vùng nào đó kết nối vào mạng Internet.  
Từ các số logic, người ta chọn ở trong mỗi bộ điều khiển của giao thức TCP/IP  
một con số cố định tương ứng, đó là con số duy nhất đối vơi sbộ điều khiển  
này, nó được tạo lập một cách cố định và không thể được thay đổi (khác với các số  
logic của địa chỉ IP). Khi tạo lập một sự kết nối; đầu tiên, con số vật lú này được  
thạm chiếu, tiếp đến tham chiếu các đặcđiểm logic.  
Sự sắp xếp địa chỉ logic tới địc chỉ ảo bẳng các chữ cái phải được giữ lại với sự  
trợ giúp của một bảng. Trong các hệ thống Unix, chúng được tìm thấy dưới đường  
dẫn /ect/hosts; các hệ thống khác nó là một ngân hàng dữ liệu thực thụ.  
Một cái tên trong mạg Internet như vậy thể được sử dụng để yêu cầu một  
dịch vụ trên một máy tính  
Thí dụ về các dịch vụ trên mạng Internet:  
Trên trang WEB (worrd wide web:WWW), để một dịch vụ trình diễn text  
(hypertext presentserive), một giao thức URL (uniform resource locator) được cấu  
thành như một địa chỉ bởi ba thành phần :tên của giao thức dịch vụ (thí  
dụ:http://), tên nối mạng của máy tính và tên tệp tin cục bộ. Đối với dịch vụ sao  
chép tệp tin, giao thức URL dẫn tới cho máy tính vùng với uni-danang.vn và cho tệp  
tin với /public/Text.dat. Như vậy, ta có đường dẫn đầy đủ:  
Người ta lưu ý rằng, việc tả tên bằng chữ cái boá hay chữ cái thường ở  
trong mạng Internet thì không quan trọn; nhưng ở tên tệp tin hay đường dẫn trong  
mạng cục bộ thì điều đò không thể được. Máy tính vùng uni-danang.vn cũng thể  
được tìm thấy theo cách viết Uni-Danang.VN , nhưng tệp tin public/Text.dat thì không  
thể viết Public/ext.dat.  
Việc sắp xếp tên theo địa chỉ IP logic thì không thực hiện tự động, mà nó phải  
được cho phép theo một danh sách tên. Ở mạng cục bộ, điều này được hoàn thiện  
bởi máy tính chủ quản lý cây thư mục; máy tính này dừng lại ở địa chỉ mong  
muốn trực tiếp trong một danh sách tất cả các máy tính nó quản lý; hoặc phải  
hỏi lại một máy tính khác. Tên máy tính và các dịch vụ toàn cùng của chúng (all  
domain) được dẫn ra trong một máy chủ (domain name server) quản hệ thống  
tệp tin toàn vùng; khiđó, máy tính quản lý vùng này sẽ nhận biết các máy tính kết  
nối trực tiếp cũng như các máy tính kết nối trực tiếp cũng như các máy tính quản  
lý vùng tiếp theo; tại đây, dẫn tiếp các thăm tới các máy tình còn chưa biết  
rõ.  
Cây thư mục trong mạng cục bộ:  
Ơ trong mạng Internet, chúng ta đã biết cách tìm tên một máy tính. Ở mạng cục  
bộ Lan (local area network), thí dụ với rất nhiều máy tính tồn tai trong một phòng  
lớn hay được phân bổ thành nhiều phòng theo từng nhóm công tác; việc quy ứoc  
tên rõ ràng thì thật khó khăn. Để chuyển vận một tệp tin từ một máy tính tới một  
máy tính khác, người ta phải chỉ ra hai tên máy tính cũng như đường dẫn của hệ  
thống tệp tin cục bộ. Tính mềm dẻo này thực ra không cần người sử dụng quan  
tâm; vì nhóm công tác của anh ta luôn luôn tồn tại như nhau.  
Do đó, mục đích là, để thiết đặt các cơ chế cho hệ điều hành. Mà với cơ chế  
này, có thể cho phép truy cập lên một hệ thống tệp tin của một máy tính khác một  
cách thông suốt. Nếu nhiều máy tính cùng làm việc đồng thời trong mạng cục  
bộ; do đó, người ta có thể liên kết với nhau các hệ thống tệp tin của các máy tính  
(thí dụ trong hình 6.5, đó là các máy tính vùng Hera và Cronos) thành một cây thư  
mục. Người ta ký hiệu dấu hhai sọc chéo “//” cho thư mục gốc nối ảo của hệ thống  
tệp tin; nó phục vụ như một khoá cho việc hỏi tệp tin.  
hçnh 6.5 trang 223  
Một phương pháp như vậy đã dấn tới một hệ thống tệp tin trên hai máy tính  
tương tự nhau; tất cả các người sử dụng của các máy tính có thể được tham chiếu  
cây thư mục như nhau.  
Tuy nhiên, còn có những phương pháp khác nữa; thật vậy, chúng ta nhận thấy  
rằng, việc tạo ra chỉ kết nối một phía; do đó, ở dụ của chúng ta, máy tình  
Cronos đã được kết nối với thư mục NewDepartment. Tất cả việc hỏi trên máy  
tính Hera được dẫn tới máy tính Cronos, được xử ở đó hay được đưa trở lại máy  
tính Hera. Đối với người sử dụng của máy tính chủ Hera thì được dâng hiến toàn  
cảnh hệ thống tệp tin, như đã chỉ trong hình 6.6 dưới đây.  
hçnh 6.6 trang 223  
Đối với người sử dụng của máy chủ Cronos thì cũng không có gì thay đổi; anh  
ta không cần ghi nhớ dịch vụ bổ sung hoặc việc máy tính Cronos thình cầu đối với  
máy chủ Hera; anh ta chỉ cần lưu ý tới hệ thống tệp tin được giới hạn; do kiểu kết  
nối không đồng đều các hệ thống tệp tin trong mạng cục bộ.  
Thí dụ về hệ thống tệp tin phân bổ trong Unix:  
Hệ thống tệp tin kiểu AFS (anderew file system), do trường đại học Acrnegie-  
Mellon đề xướng, đã trợ giúp một hình dạng tệp tin đồng đều toàn cục được bổ  
trợ bởi hệ thống tệp tin phan bổ DFFS (distribute gile system) cho ccs gói tin  
DCE. Đối với mỗi tệp tin, điều được quyết định là; liệu tồn tại một cách cục bộ  
hay khoảng cách (?) và sau đó, được tổ chức truy cập như thế nào (?). Do vậy,  
các cờ hiệu thay thế được sử dụng để trao đổi dữ liệu và trao đổi giao thức giữa  
các máy tính (xem hình 6.17).  
Thí dụ về hệ thống tệp tin mạng ở Unix:  
Hệ thống tệp tin mạng NFT (network file system) được công ty máy tính SUN  
phát triển cho hệ điều hành Unix và được phổ biến rộng rãi các ấn bản khác  
nhay của Unix, phần mở rộng của được khẳng định hướng theo kiểu không  
đồng nhất. Xuất phát điểm là, một hay nhiều máy tính chủ dịch vụ tệp tin tồn tại  
trong mạng, chúng sẽ dùng chung một hệ thống tệp tin. Nếu một máy tính muốn  
sử dụng một lệnh đặc biệt muont() để phân tán cây thư mục của máy chủ cới một  
thư mục xác định.  
điều đó thể xẩy ra tại mỗi máy tính,do đó, cây thư mục thì có thể khác  
nhau trên mỗi máy. Cách phô diễn này của hệ thống NFS thì rất cần thiết cho việc  
bố trí cây thư mục.  
Thí dụ về cây thư mục trong mạng ở Windows NT:  
Ở hệ điều hành Windows NT,có hai cơ chế khác nhau để truy cập các tệp tin  
của các máy tính khác nhau. Cơ chế thứ nhất dùng dịch vụ kết nối ảo (symbilic  
links), điều này đã được trình bày trong mục 4.2.2 trên. Trong cây thư mục  
có các thiết bị đường dẫn \Device, một bộ kích tạo đặc biệt được treo vào cho  
mỗi loại tệp tin mạng (thí dụ: hệ thống tệp tin kiểu giao thức lặp tại MS, hệ thống  
tệp tin mạng Novell...); mà phương pháp phân tích của chúng (parse methode) dẫn  
tới việc tạo lập một kết nối mạng hay dẫn tới việc đọc chọn hệ thống tệp tin mạng.  
Nếu bây giờ, người ta tạo lập một tên gọi cho thiết bị (chảng hạn V: ) trên bộ  
kích tạo mạng này; do đó, sẽ được làm thích ứng một cách tự động khi mở một  
tệp tin. Ơ hình 6.7, người ta nhìn thấy kết quả của tên tệp tin được chuyển hướng  
kiểu như thế.  
hçnh 6.7 trang 224  
Cơ chế thứ hau sử dụng khuôn khổ cây thư mục của Microsoft UNC  
(Universal naming convention); trong đó, tất cả các tên thư mục của mạng được  
bắt đầu bằng tự hai dấu gạch xiên phải “\\”. Nếu hệ thống con Windows32 nhận  
biết rằng, một cái tên như vậy được sử dụng; do đó, nhờ thiết bị DOS, thư mục  
“\\” đã được thay thế bởi thư mục “UNC:” một cách tự động. Do đó, một kết nối  
ảo /9symbolic link) được dẫn tới cho bộ kích tạo tên MUP, gọi bộ đa lo liệu  
(multi provide). Bây giờ bộ này dò hỏi với một giao thức IRP tại bộ quản đăng  
tệp tin mạng, tiệu tên đường dẫn phù hợp đã nhận biết chưa(?). Nếu đó là  
trường hợp được nhận thấy ở khắp nơi, thì do đó, dãy tuần tự quyết định cho việc  
đăng của bộ quản tệp tin trong ngân hàng dữ liệu được đăng ký.  
Giải pháp tên tệp tin với thư mục UNC:  
Đầu tiên, chúng ta muốn mở tên tệp tin \textserver\public\text.doc. Sau đó, việc  
hỏi này được chuyển tới UNC:\textserver\public\text.doc. Bây giờ, từ bộ kích  
tạo thiết bị MUP, chuỗi tự tin textserver\public\text.doc sẽ được chuyển tiếp tục  
tới bộ kích tạo vầ gởi lặp (redirector) hệ thống tệp tin mạng... cũng như  
phương pháp phân tích giao dịch thông điệp được gọi tới. Mỗi bộ kích tạo sẽ dò  
hỏi về việc kết nối mạng của tại máy chủ quản tệp tin, liệu tệp tin này có còn  
tồn tại không? Nếu có nó xẽ mở cho cái đó một sự kết nối.  
cây thư mục của Windows NT cũng như ở tại hệ thống tệp tin NFS, không  
có hình dạng thống nhất được đảm bảo ở các hệ thống tệp tin. Đầu tiên, các việc  
kết nối mạng được tạo lập giống như ở hệ thống NFS và chúng mới bảo đảm mối  
quan hệ giữa máy chủ và máy khách.  
6.2.2 Kết nối trao đổi thông tin  
Để thực thi việc trao đổi thông tin trong mạng, các kiểu quy ước tên trong  
mạng phải sử dụng tới nhiều cơ chế khác nhau. Sau đây chúng ta sẽ lần lượt khảo  
sát các cơ chế đó.  
Trao đổi thông tin kiểu nối cổng (ports)  
Ở đây ý tưởng về các điểm trao đổi thông tin đã chấp nhận: mỗi máy tính  
chiếm một điểm cuối của trao đổi thông tin mạng tại hệ thống nhiều kết nối trao  
đổi thông tin. giao diện tới lớp TCP/IP, đó những cổng (ports) kết nối; những  
cổng này đã được đáng số, gọi địa chỉ số. Vài trong các số cổng 16 Bit được sắp  
xếp cho một kết nối một dịch vụ đặc biệt, gọi là Well known oprt number, mà  
người ta có thể chuyển thông tin tới đó. Hình 6.8 chỉ ra danh sách số cổng của các  
dịch vụ, với sự sắp xếp này, người ta tìm thấy ở trong Unix các dịch vụ tệp tin  
/ect/services.  
Người ta có thể so sánh một điểm trao đổi thông tin như vậy với một hộp thư  
(mailbox), cũng giống như việc trao đổi thông tin được dẫn ra trong mục  
2.4.1 trên. Đối với dịch vụ hộp thư, hệ điều hành phải tạo nên hai hàng đợi: một  
cho các thông tin kết nối một cho các thông tin gởi tới. Ngoài ra, mỗi hàng đợi  
phải được đảm bảo với một cờ hiệu.  
Sự tổng hợp các thư mục này và các cấu trúc dữ liệu tạo thành một lớp, lớp  
này được ghi lại trên các cổng và nó có thể xem xét như điểm cuối của việc trao  
đổi thông tin giữa các tiến trình. Một sự kết nối trao đổi thông tin giữa tiến trình A  
tiến trình B được tả như sau:  
hình 6.8 trang 226  
Thí dụ về trao đổi thông tin kiểu kết nối TLI:  
Với hệ điều hành Unix System V, ấn bản số 3 dẫn ra một giao diện TLI  
(transport layer interface). Giao diện này bao gồm một tệp tin thư viện (libnsl.a),  
gọi thư viện dịch vụ mạng (network service library:libnsl); đồng thời, cũng  
phủ lên cả lớp vận chuyển. Một kiểu dễ dàng và tốt hơn được một uỷe ban tiêu  
chuẩn hoá X/Open chấp nhận như một giao diện chuyển vận nâng cao ETI  
(extended transport interface). Hình 6.9 mô tả một sự trao đổi thông tin kiểu này.  
Trong giao diện TLI, một tiến trình có thể trao đổi thông tin đồng bộ hay không  
đồng bộ tuỳ theo cách chọn; ở giao diện này, việc trao đổi thông tin chỉ thể là  
đồng bộ. lớp chuyển vận xảy ra thật rõ ràng, cho nên, người ta có thể không cần  
gây ảnh hưởng lên các tham số khác nhau, thí dụ lên giao thức TCP/IP. Điều này  
thể gây nên những bất lợi mà sau này người ta cần phải xem xét tới.  
hình 6.9 trang 226  
Trao đổi thông tin kiểu hốc (socket’s communication):  
Một kiểu trao đổi thông tin dạng logic tiếp theo được gọi trao đổi thông tin  
kiểu hốc (socket model). Kiểu này được tổ chức như một kiểu trao đổi thông tin  
định hướng điểm theo hàng đợi. Nó có sự khác nhau giữa máy chủ (server) và  
máy khác (client): máy chủ thính cầu sự trao đổi thông tin với khả năng của mình  
chờ đợi khách hàng; còn khách hàng muốn tạo một sự trao đổi thông tin vơí  
máy chủ. Đầu tiên, cả hai muốn tạo ra sự trao đổi socket với gọi hệ thống socket().  
Các thủ tục tiếp theo cho phép kết nối trao đổi thông tin tới một cổng. Tên của tiến  
trình gọi được ghi với một gọi hệ thống bind() vào trong hệ thống. Khi đó, tiến  
trình server chờ đợi với gọi hệ thống listen(), cho tới khi, với gọi hệ thống  
connet(), một tiến trình client yêu cầu một kết nối tới nó. Nếu client được đáp ứng,  
do đó, tiến trình server sẽ làm việc kết nối với gọi hệ thống accep() và sự trao đổi  
thông tin thực sự bắt đầu. Hình 6.10 lad diễn biến của giao thức trao đổi thông tin  
kiểu socket.  
hçnh 6.10 trang 227  
Kết thúc trao đổi thông tin kiểu socket với gọi hệ thống thông dụng close(),  
điều thể dẫn tới là, liệu các sữ liệu được gới theo hàng đợi hay được dập tắt(?).  
Những kết nối trao đổi thông tin kiểu socket giữa các tiến trình trên các máy  
tính mạng cục bộ là có thể, và do đó, chúng đem lại một khả năng trao đổi thông  
tin giữa các tiến trình; quá trình trao đổi này thì độc lập vơi slai lịch tạo lập của  
tiến trình.  
Trao đổi thông tin kiểu định tên đường ống (named pipe):  
Một kiểu trao đổi thông tin quan trọng nữa được dẫn tới; đó kiểu định tên  
đường ống (named pipe), cũng còn gọi kiểu đường ống (pipesline): Trong Unix,  
MS-DOS và các hệ điều hành tương ứng, mọt đường ống kiểu xây hai hay nhiều  
tệp tin có thể đọc viế lại với nhau, mà trên đó, một nhóm các tiến trình có thể truy  
cập đựơc. Thật vậy, nếu một tệp tin kiểu như thế được tạo nên một máy tính kết  
nối mạng, do đó, người ta có thể truy cập hệ thống tệp tin mạng, và vì vậy, một sự  
trao đổi thông tin giữa các tiến trình của các máy trong mạng được thực hiện.  
Thí dụ về trao đổi thông tin kiểu định tên đường ống ở Unix:  
Khả năng trao đỏi thông tin kiểu pipesline trong mạng máy tính thì không  
dẫn tới với tệp tin NFS (network file system), vì các xâu tệp tin kiểu pipesline ở  
trong Unix được tạo nên như những thiết bị đặc biệt bởi gọi hệ thống mknode().  
Thuộc vào các tệp tin kiểu pipesline có một bộ kích tạo, mà thay vì sử dụng bộ  
nhớ đĩa cứng, sử dụng bộ đệm của hệ điều hành để lưu trữ trung gian và tạo lập  
các hàng đợi dữ liệu kiểu FIFO.  
Hầu hết các xâu tệp tin liêut pipesline được sử dụng để trao đổi thông tin giữa  
các tiến trình, khi đó, tất cả các tiến trình được tham gia thì đều ở trên cùng một  
máy tính. khác với điều này, Unix system V, dòng lưu trữ thông tin của các xâu  
tệp tin kiểu pipesline cho phép một kết nối trao đổi thông tin tới một tiến trình trên  
một máy tính khác.  
Thí dụ về trao đổi thông tin kiểu đường ống (pipeslien) Windows NT)  
Ở hệ điều hành Windows NT, gọi hệ thống CrêâtNmePipe() được dùng để tạo  
lập một kết nối trao đổi thông tin kiểu pipesline nhờ một bộ kích tạo đặc biệt.  
Khác với hệ thống tệp tin NFS, việc truy cập trên đối tượng được phân bổ theo cây  
thư mục toàn cục ở trên mạng thì có thể được, rằng, các tiến trình có thể được  
trao đổi trên các máy tình khác nhau nhờ các tệp tin kiểu pipesline với các gọi hệ  
thống Readfile () và WriteFile(). Nếu xâu tệp tin kiểu pipesline được tạo ra trên  
máy chủ, do đó, tất cả các khách hàng có thể sử dụng nó cho một dịch vụ nào đó.  
Một xâu các tệp tin pipéline được mở như một tệp tin bình thường; tuy nhiên,  
khi đó, một đường dẫn kiểu UNC phải sử dụng dạng:  
Các pipes cục bộ sử dụng tự một dấu chấm “.” Thay cho tên của máy tính  
(Computer name)  
Cấu trúc xâu pipes ở hệ điều hành Windows NT thì phụ thuộc vào giao thức  
chuyển vận cụ thể được áp dụng. Tuy nhiên, điều này chỉ đúng trong điều kiện các  
máy tính với hệ điều hành Windows NT hay OS/2; khác với cấu trúc socket, cấu  
trúc này chỉ tương thích với kiểu socket Unix. Đối với kiểu kết nốipipes thuộc hệ  
điều hành Unix, ở đó, một tiến trình đặc biệt (thí dụ: bộ điều hành Unix cho mạng  
LAN) được tạo lập.  
Các dịch vụ hộp thư (mailbox):  
Khác với kiểu trao đổi thông tin hai chiều điểm tới điểm đã đươc nghiên cứu  
cho tới nay, các dịch vụ hộp thư nói chung cho phép gởi thông tin của một tiến  
trình tới nhiều tiến trình khác, gọi phương pháp đa tung (mutlicast), hay phương  
pháp tung rộng (brroadcast). Kiểu trao đổi thông tin này phù hợp cho việc gởi thư  
tín (kể cả các tệp tin âm thanh và hình ảnh cũng được chuyển đi) tới người nhận:  
vấn đề cơ bản của việc nhận sự tồn tại một hộp thư ở bên nhận; nếu bên gởi  
không nhân được đáp thư nào gởi tới thì điều đó chứng tỏ, bức thư đã được  
chuyển tới hộp thư của người nhận. Tuy nhiên, việc nhận những thông tin của máy  
chủ vẫn bị trói buộc bởi nhiều giới hạn, mà các giới hạn này thì phụ thuộc mạnh  
mẽ vào giao thức chuyển vận (tranaport protocol), bởi các lẻ sau đây:  
Dãy tuần tự các tông tin bên gởi thì không giống như bên nhận  
Việc nhận một thông tin thì chưa hoàn toàn được đảm bảo.  
Thí dụ về các lô thư (mails lots) trong Winsdows NT:  
Ở đây, hộp thư thích hợp cho một thư ở tại máy chủ, khi máy chủ được tạo  
một gọi hệ thống CreateMailslot(). Việc gởi các thông tin sẽ được chuyển đi khi  
tại các máy khách có gọi hệ thống Writèile() và việc trao đổi thông tin sẽ được kết  
thúc bởi gọi hệ thống CloseFlie(). Do đó, tên của một thư tín với gọi hệ thống  
Crềatile() đường dẫn: \\ComputerName\mailslot\MailboxName  
Nếu tự dấu chấm được dùng cho tên máy tính (ComputerName), do đó, một  
thư tín cục bộ ở trên máy tính được thích hợp với tên MailboxName; còn nếu,  
tên máy tính được thay thế bằng một cái tên khác, do đó, máy tính này sẽ được  
viết tên trực tiếp. Nếu tên máy tính là tên máy tỉnh vùng (domâinNme), do đó, các  
thông tin được gởi đến tất cả các máy tính trong vùng, khi dùng ký tự ” cho tên  
máy tính, thì có một trao đỏi thông tin kiểu broadcast (tung rộng) được thực hiện  
trên mạng; ở đó, tất ccác máy tính được cảm ứng, chúng đều có lô thư tín với tên  
MailboxName. Còn lại, đó là tên của một dịch vụ; dịch vụ trống đầu tiên sẽ được  
thông báo tiếp đó.  
Windows NT, chỉ các dịch vụ biểu đồ lưu thông dữ liệu (data flow  
diagram) không đích xác được sử dụng cho trao đổi thông tin kiểu thư, do đó,  
các giới hạn nói trên của hộp thư có giá trị.  
Ngoài ra, trong Windows NT, chiều dài lớn nhất của thông tin thì phụ thuộc  
mạnh mã vào giao thức chuyển vận được sử dụng. Chiều dài này được xác định  
bởi các gọi hệ thống SendFile() và ReadFile(). giao thức NetDEUI, chiều dài  
của thông tin trao đổi kiểu điểm tới điểm đạt giá trị lớn nhất 64 kByte, còn kiểu  
brroadcast đạt giá trị max khoảng 400 Byte.  
Nói chung, kiểu mailbox khó đạt được việc trao đổi thông tin như thiết kể. Dĩ  
nhiê, nếu người ta giả định một lớp chuỷên vận định hướng kết nối bền vững và  
có các dịch vụ kiểu biểu đồ lưu thông dữ liệu (data flow diagram) đảm bảo cho  
giao thức chuyển vận; do đó, người ta phải dẫn tới các quy tắc bổ sung, cũng gọi  
là các giao thức bổ sung: Thông tin có ý nghĩa gì? Lúc nào có một hộp thư thể  
được xoá? Và, với các thông tin chưa được trả lời cần giải quyết như thế nào? Từ  
lý do này, người ta có thể xem các dịch vụ hộp thư như một trung gian đối với  
các dịch vụ cao hơn.  
Các gọi thủ tục cách quảng (remote procedure calls: RPC)  
Trong mạng máy tính, có các dịch vụ mạng diện rộng khác nhau như thư điện  
tử hoặc in ấn các tệp tin trong mạng... Một trong các dịch vụ quan trọng được  
nhiều chương trình trợ giúp, đó dịch vụ gọi thủ tục từ máy chủ qua máy khách.  
Kiểu gọi tủ tục cách quảng hay kiểu gọi hàm cách quảng (remote procedure calls:  
RPC) hoạt động như một gọi thủ tục cục bộ đơn giản đối với tiến trình gọi; việc  
thực thi một nhiệm vụ được thực hiện tại đó, nhiệm vụ này đi qua mạng tới một  
máy tính khác và các kết qủa của trở lại qua mạng tới tiến trình gọi tiếp tục  
quay vòng.  
Việc thiết kế một gọi thủ tục rất quan trọng; nhờ mức độ tư duy cao, kiểu này  
thể được bổ sung một cách độc lập với cấu trúc và thiết bị, đảm bảo như là  
một cơ ché vạn năng cho những ứng dụng của hệ thống client/server; cơ chế này  
cũng hoạt động trong các mạng không đều.  
Việc thực thi một gọi hệ thống RPC được sử dụng những thủ tục có tên giống  
như tên gốc, gọi thủ tục gốc (stubprocedure), và vì vậy, các thông tin được bó  
lại gởi tới máy chủ qua một lớp chuyển vận. Ngoài ra, đối với việc thực thi này,  
bằng con đường gọi một RPC thì tên của một thủ tục mong muốn được sử dụng  
cho nó sẽ giống như một tham số.  
Tại server, các thông tin được gộp lại được chuyển cho các thủ tục với một  
gọi thủ tục bình thường. Các kết quả sẽ di chuyển qua các trạm theo hướng ngược  
lại. Hình 6.11 chỉ ra một sơ đồ cơ bản cho một gọi RPC.  
hçnh 6.11 trang 230  
Cũng như các thủ tục gọi thông thường, gọi RPC có hai ấn bản: các gọi RPC  
bộ ngăn hãm tiến trình gọi, cho tới khi kết quả mong muốn được đem lại; còn các  
gọi RPC không đồng bộ thông báo tiến trình gọi khi các kết quả RPC dược bày ra.  
Hình 6.12 mô tả quá trình gọi một RPC đồng bộ.  
hçnh 6.12 trang 231  
Tại một thủ tục, các khuôn dnạg của số liệu phần mềm và phàn cứng khác nhau  
cũng tạo ra một vấn đề cần quan tâm; những khuôn dạng này được sử dụng ở các  
hệ thống máy tính khác nhau. Nếu chúng ta bắt đầu với phần cứng, giả sử một  
số nguyên 32 Bit (bao gồm 4 Byte), chúng ta sẽ thực hiện kiểu 1 với các Byte giá  
trị cao thì bố trí địa chỉ Byte thấp, còn kiểu 2 với các Byte giá trị thấp thì bố trí địa  
chỉ Byte cao. Hình 6.13 chỉ ra dãy các Byte trên cấu trúc 2 bộ vi xử lý khác nhau.  
hçnh 6.13 trang 231  
Kích cỡ các số dấu phẩy trôi (theo chuẩn IEEE 1985: phần định trị 23 Bit, số  
8 Bit, ký hiệu 1 Bit) rất khác nhau, nó giống như việc mã hoá các chữ cái (mã  
ASCII và mã EBCDIC).  
Lớp để dẫn tới ccs gói tin xuất/nhập kết quả phải trù tính các nghivấn và  
phải biến há ccs dữ liệu giữa hình thái lệ thuộc hình dạng ổ đĩa đại diện của nó  
khi trao đổi thông tin qua lại.  
Một nhiệm vụ tiếp theo là làm thích hợp các dữ liệu khi xếp hàng để tạo trình  
biên dịch ở trên địa chỉ bộ nhớ, các bộ vi xử như thế sẽ từ chối việc truy cập lên  
một số, nếu con số này không bắt đầu bởi một địa chỉ đúng hay không bắt đàu  
bằng các chu trình cần thiết. Từ lý do này, các trình biên dịch được xử lý, nếu  
chúng muốn lưu trữ một số ở một bản ghi theo một chữ cái trước một tự trống.  
Thí dụ về gọi thủ tục cách quảng ở Unix:  
Kiểu gọi RPC trong Unix được thực hiện với sự trợ giúo của các thư viện đặc  
biệt và nó bao gồm 2 lớp: lớp thứ nhất những cơ chế gọi RPC đối với các thủ  
tục gốc (stubprrocedure), lớp thứ hai bao gồm việc đóng gói/tháo gói các thông tin  
với sự trợ giúp của lớp đại diện dữ liệu nâng cao (extended data representive  
layer)  
Các thủ tục RPC được gởi trở lại các gọi hệ thống cao hơn hay thấp hơn. Lớp  
cao nhất thì bao gồm gọi hệ thống registerrpc(), mà với gọi hệ thống này, tại  
server, một dịch vụ (chẳng hạn một thủ tục) được thông báo: cho thủ tục svr_run(),  
với thủ tục này, tiến trình của server bị hãm và chờ đợi gọi hệ thống RPC; cho  
thủ tục callrpe(), mà với thủ tục này, tiến trình client gọi một thủ tục mong muốn ở  
server.  
Lớp giữa được tạo lập bởi các thủ tục đối với client và server, nhằm điều chỉnh  
các thông số của giao thức chuyển vận hay điều chỉnh các quyền hạn cho phép.  
Gọi hệ thống RPC được thực hiện ở Unix nhờ hệ thống tệp tin mạng; nhiều  
dịch vụ về NFC sử dụng gọi RPC cho việc thực thi các dịch vụ này.  
Trong các gói phần mềm DCE, hệ thống gọi RPC đã đen lại một phương  
hướng giải quyết khác; các gói tin này, các dịch vụ ở trong ngông ngữ giao diện  
(interface defintion language: IDL) được tả một cách trừu tượng. Một trình  
biên dịch chuyển đổi các gọi thủ tục thành các gọi thủ tục gốc và cùng nhau điều  
chỉnh nhiệm vụ tại một dịch vụ bổ sung của tất cả các server đưa vào sử dụng; do  
đó, khách hàng hay người lập trình không phải biết trước đó ở máy tính nào, các  
dịch vụ cần thiết được sử dụng trong mạng (dịch vụ các tệp tin hay dịch vụ  
toán...).  
Thí dụ về gọi thủ thủ tục ở Windows NT:  
A.Sinha cho nhận xét (1996): hệ điều hành Windows NT, luôn luôn cần tới  
mọt công cụ rộng rãi các gọi đồng bộ và không đồng bộ RPCs. Bởi lẻ, các gọi  
RPCs có thể truy cập tới một tiến trình trên một máy tramh hay trên một máy chủ  
xác định; lúc đó, hệ thống này được gọi hệ thống định hướng thiết bị; ngời ra,  
chúng cũng thể truy cập tới một thiết bịi xác định trên một máy chủ nào đó; lúc  
đó, hệ thống này được gọi hệ thống không có kết nối. Do đó, các cơ chế mức  
thấp và các giao thức chuyển vận khác nhau sẽ được sử dụng (xem hình 6.41)  
hình 6.14 trang 233  
Việc tạo dạng cũng như việc đóng gói thông tin đối với gọi RPC được đảm bảo  
bởi các thủ tục gốc; các thủ tục này sẽ chuyển vận dữ liệu theo kiểu đại diện dữ  
liệu mạng (network data representation). Các thủ tục gốc không phải do người lập  
trình tự tạo nên; một trình biên dịch MIDL (Microsoft RPC IDL computer) tạo ra  
bổ sung từ cấu hình các tệp tin; mã này được biên dịch được kết nối với  
chương trình của máy chủ cũng như máy khách; và thích ứng với các thư viện  
chuyên dụng trong thời gian xảy ra. Nhờ đó, việc kết nối mạng đối với người lập  
trình được thông suốt đầy đủ. Những giao thức đặc biệt thể được lựa chọn qua  
tiền tố ở trước tên đường dẫn của các dịch vụ mong muốn. Thí dụ để yêu cầu một  
dịch vụ tại máy tính Myerver ở cổng (port) 2004, giao thức TPC/IP được sử dụng  
với dòng lệnh: ncacn_ip_cp: Myerver[2004]  
6.3. Hệ thống các tệp tin trên mạng : (Network Files System: NFS)  
Việc truy cập lên các tệp tin dùng chung với sự trợ giúp của mạng cơ sở  
quan trọng đối với nhóm công tác và do vậy, đó một trong các chức năng thiết  
yếu của kết nối mạng. Do đó, các phần tiếp theo sẽ đem lại một cáci nhìn tổng  
quát về các vấn đề của hệ thống các tệp tin phân bổ kể cả các quan hệ của  
chúng sẽ được nghiên cứu ở trong hệ điều hành Unix và Windows NT. Các hệ  
thống tệp tin khác không trình bày ở đây.  
6.3.1. Ngữ cảnh truy cập (access sematic)  
Nếu chúng ta khảo sát một tiến trình đơn lẻ ở trong mạng, chúng ta thấy hệ  
thống tệp tin mạng tương đối đơn giản: để đọc/viết hay để đặt một tệp tin trên một  
hệ thống tệp tin cục bộ; do đó, điều này sẽ đặt được cả trong dạng các nhiêmh vụ ở  
một hệ thống khác, khi đó thực hiện các nhiệm vụ nay. Và cứ thế tiếp tục tiếp  
diễn tốt đẹp.  
Mặt khác, điều này cho thấy, nếu chúng ta cho phép nhiều tiến trình trong hệ  
thống làm việc trên cùng một tệp tin: sau đó, cái gì sẽ xảy ra? Với trường hợp này  
nhiều phương cách để thực thi trong các hệ thống tệp tin mạng khác nhau và  
được biểu thị ngữ cảnh truy cập/ chúng ta có thể phân biệt các trường hợp sau  
đây:  
Tệp tin chỉ đọc:  
Tệp tin có thể chỉ đọc trong mạng. Trường hợp, tất cả các tiến trình chứa đựng  
các bản sao tệp tin; các bản sao này có thể được nạp vào bộ đệm hay được lưu trữ  
vào bộ nhớ một cách tuỳ ý, mà không có vấn đề gì.  
Ngữ cảnh tác vụ (operation sematic)  
Các tác vụ để thực hiện các tiến trình ở tệp tin sẽ làm thay đổi dãy các tác vụ  
đã được thực hiện một cách tuần tự. Nếu gọi hệ thống read() của tiến trình A là gọi  
hệ thống Write() của tiến trình B; và đồng thời, gọi hệ thống read() của tiến trình  
A bắt đầu, do đó, tiến trình A sẽ trải qua sự thay đổi ở gọi hệ thống thứ hai, mà sự  
thay đổi này đã được tiến trình tiếp nhận trên tệp tin. Vì vậy, ở trong hệ điều hành  
Unix, điều này đã được thực thi, tức là chúng đã tham chiếu như ngữ cảnh của  
Unix.  
Ngữ cảnh hội đàm (session sematic):  
Nhiều tiến trình làm việc trên tệp tin, do đó, đầu tiên, tất cả các tiến trình nhận  
một bản copy của tệp tin, mà bản sao này có thể được các tiến trùnh làm thay đổi.  
Đầu tiên, nếu một tiến trình đóng lại một tệp tin, do đó, các bản sao được viết trở  
lại. Điều này có ý nghĩa rằng, ấn bản của tiến trình sau cùng (tức tiến trình đóng  
tệp tin lại) sẽ xoá và đè lên tất cả những ấn bản khác  
Ngữ cảnh biến động (trấnction sematic):  
Bán phát thảo về hoạt động (mà không thể phân nhỏ được nữa) được sử dụng ở  
đây, nó có thể tồn tại một cách đầy đủ ở trong dãy tuần tự được chuyên dungnjn  
hoặc hoàn tàon không tồn tại (xem biến cố nhân tử ở mục 2.4). Nếu chúng ta mở  
và tu chỉnh một tệp tin, do đó, hệ thống tệp tin mạng sẽ đảm bảo rằng, điều đó sẽ  
xảy ra một cách độc lập với tất cả các tiến trình khác trong quá trình làm việc  
riêng lẻ. Trong các quá trình này, tệp tin được ngăn hãm việc truy cập nhờ một  
tiến trình khác.  
Quá trình làm việc cụ thể ở một nhóm ngữ cảnh thì phụ thuộc mạnh mẽ vào  
kiểu nào được đem thực thi. Do đó, dẫn tới vẫn đề, những tác dụng cụ thể của một  
kiểu nào đó còn phụ thuộc vào các bộ đệm và giao thức thực thi.  
Nếu chúng ta khảo sát thí dụ ngữ cảnh tác vụ; chúng ta thấy rằng, tiến trình B  
viết một cái gì đó lên tệp tin, còn tiến trình A đọc tệp tin. Tại thời điểm cả hai  
nhiệm vụ đạt được máy chủ (quản lý files) theo một dãy tuần tự, mà dãy tuần tự  
này phụ thuộc vào kiểu mạng được sử dụng,vào giao thức mạng và vào sự chịu tải  
của ca máy tínhâthm gia. Giả sử, tiến trình A đọc các dữ liệu hiện hành được viết  
bởi tiến trình B hay phụ thuộc vào việc thực thi, mà không phụ thuộc vào ngữ  
cảnh hội đàm này.  
Vấn đề còn lại là, nếu một ngữ cảnh này được thực thi một cách cục bộ trong  
một hệ điều hành, thì một ngữ cảnh khác được thực thi trong mạng. Nếu ccs tiến  
trình tham gia được khoanh vùng một phần lên các máy tính này và một phần lên  
các máy tính khác trong mạng và chúng đều làm việc trên các tệp tin, do đó,  
người ta phải đặt kế hoạch liên hợp các tiến trình của một hệ thống một cách thận  
trọng để loại trừ được các chức năng lỗi.  
6.3.2. Máy chủ trạng thái và không có trạng thái  
Nói một cách rộng ra, tại các kết nối trao đổi thông tin, chúng ta phải phân biệt,  
chúng được dẫn tới nhờ một giao thức kết nối (gọi là trao đổi thông tin không có  
kết nối). Chúng ta có thể tạo ra một sự phân biệt như thế khi truy cập lên hệ thống  
tệp tin trong mạng. Nếu một têph tin được mở, nhằm truy cập lên nó, thì do đó,  
các cấu trúc tệp tin đặt biệt sẽ được tạo ra khi trao đổi thông tin được định hướng  
kết nối ở trong máy chủ, các quyền truy cập sẽ được kiểm tra và việc truy cập sẽ  
được đăng ký. Đối với khách hàng, sự nhận biết này sẽ được chuyển giao, do vậy,  
tất cả các tác vụ tiếp theo read() và write() với sự nhậnbiết này có thể được xử lý  
ngay.  
Qua đó, máy chủ đã tạo nên một trạng thái xác định; đầu tiên, một sự kết thúc  
việc truy cập với close() có tác dụng xoá thông tin quản lý và có tác dụng trả lại tự  
do cho bộ nhớ đã bị chiếm chỗ. Một sự diến biến chứa đựng trạng thái như thế có  
các ưu điểm sau đây:  
Truy cập nhanh hơn:  
Việc truy cập tiếp theo lên các tệp tin xảy ra nhanh, vì không có các sự chỉ dẫn  
của địa chỉ người sử dụng tới một trong các nhiệm vụ để đọc/viết, cho nên, chúng  
sảy ra ngắn hơn và nhanh hơn để chuyển vận qua mạng, cũng cần thiết phải  
kiểm tra các chỉ dẫn tới các nhiệm vụ khác, trước khi có thể tiến hành truy cập tệp  
tin.  
Bộ đệm Cache hiệu nghiệm hơn:  
tất cả các chỉ dẫn về trạng thái truy cập lên máy chủ được dẫn ra, cho nên,  
các chiến lược về bộ nhớ đệm Cache hiệu nghiệm đối với tệp tin nhằm tăng tốc độ  
việc truy cập.  
Tránh được các bản sao nhiệm vụ:  
Nhờ việc dẫn tới một số thống tin đối với một tệp tin, các bản sao một nhiệm  
vụ như thế thể được thu xếp, mà các bản sao này được tạo trong các náy tính  
trung gian  
Tải về để xem bản đầy đủ
doc 49 trang Thùy Anh 27/04/2022 6900
Bạn đang xem 20 trang mẫu của tài liệu "Giáo trình Hệ điều hành - Chương 6: Các dịch vụ mạng máy tính", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • docgiao_trinh_he_dieu_hanh_chuong_6_cac_dich_vu_mang_may_tinh.doc
  • htmbtc6.htm
  • xmlfilelist.xml
  • gifimage001.gif
  • gifimage002.gif
  • gifimage003.gif
  • jpgimage004.jpg