Bài giảng Nguyên lý hiệu điều hành

Tóm tắt Bài giảng Nguyên lý hiệu điều hành: ...=1; kt2:=1; begin repeat k1:=1; While k2=1 do Ct2 if Tg=2 then begin k1:=0; While tg=2 do Ct2 k1:=1; end; k1:=0; tg:=2; - 15 - until kt1=0; repeat k2:=1; While k1=1 do Ct2 if Tg=2 then begin k2:=0; While tg=1 do Ct2 k2:=1; end; k2:=0; tg:... một nơi nào đó và thực hiện ngay không cần sửa đổi Với chƣơng trình .EXE: chƣơng trình đƣợc chuẩn bị gần dạng thực hiện nhƣng chƣa lắp ráp vì vậy khi đƣa vào bộ nhớ phải láp ráp theo chƣơng trình điều khiển (biên tập lại) Chế độ lập trình:  VLG: dung lƣợng bộ nhớ logic  VPH: dung lƣợn... và ghi theo cây các bản ghi theo trƣờng khoá. - Mọi thao tác phức tạp phải “trong suốt ” với ngƣời dùng đảm bảo công cụ truy nhập tới tay ngƣời dùng ở dạng đơn giản nhất Như vậy: - Tồn tại các câu lệnh: đọc, ghi, tạo, đổi tên, đóng, mở file... - Tổ chức thông tin trên phƣơng tiện mang t...

pdf54 trang | Chia sẻ: havih72 | Lượt xem: 269 | Lượt tải: 0download
Nội dung tài liệu Bài giảng Nguyên lý hiệu điều hành, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
8 
5 
FFF 
9 
4 
7 
3 
- 44 - 
 tg:=R_sector (drive,0,head,2+k,1); 
 j:=j mod 512; 
 l:=memw[seg (b[j]):ofs (b[j])]; 
 if odd (i) then l:=l shr 4 
 else l:=l and $0fff; 
 end 
 else 
 begin 
 j:=i*2;k:=j div 512; 
 tg:=R_sector (drive,0,head,2+k,1); 
 j:=j mod 512; 
 l:=memw[seg (b[j]):ofs (b[j])]; 
 l:=l and $0fff; 
 end; 
 k1:=l shr 8+1;k2:= (l shr 4)and $0f+1;k3:=l and $0f+1; 
 write (s16[k1],s16[k2],s16[k3],' '); 
 if (s16[k1]+s16[k2]+s16[k3]'fff')then R_fat:=l else 
 begin 
 writeln;writeln ('End of file press any case:'); 
 ch:=readkey; 
 if (ch='q')then halt (1); 
 end 
 end; 
 Begin clrscr; 
 write ('Ten odia:');readln (drv); 
 for start:=7 to 150 do i:=r_fat (start); 
 End. 
D/ Partition 
Bao gồm: 4 phần tử, mỗi phần tử 16byte chia thành 4 trƣờng, mỗi trƣờng 4byte. 
 Mỗi phần tử khác không xác định 1 phần tử đƣợc sử dụng nhƣ 1 đĩa từ độc lập 
 Nếu biết địa chỉ vật lý đầu có thể tính đƣợc địa chỉ logic đầu, các tham số còn lại 
Địa chỉ vật lý đầu: 4byte 
SYS: byte hệ thống 
 Bằng 00h nếu đĩa là đĩa làm việc 
 Bằng 80h nếu là đĩa hệ thống (phần chứa hệ thống đƣợc đặt tên là ổ đĩa C) 
 H: chứa số đầu đọc 
 S: chứa số sector 
 CYL: số cylinder 
Địa chỉ vật lý cuối: 4byte 
Đ/c V/lý đầu Tổng số Sector Đ/c V/lý cuối Đ/c Logic cuối 
SYS H CYS S 
TYPE H SYS S 
- 45 - 
TYPE: 
 00h: cấm đọc ghi (không cho phép truy nhập) 
 01h: áp dụng cho đĩa có dung lƣợng nhỏ hơn 4MB (FAT 12) 
 04h: áp dụng cho đĩa có dung lƣợng nhỏ hơn 32MB (FAT 16) 
 06h: áp dụng cho đĩa có dung lƣợng lớn hơn 32MB (FAT 16) 
 0Ch: áp dụng cho đĩa có dung lƣợng lớn hơn FAT32 
SYS: 
 Bằng 80h nếu là đĩa hệ thống TYPE = 51 (DM: disk manager) 
 Bằng 05h: loại mở rộng (extended) cấu trúc logic nhƣ một đĩa cứng vật lý 
 vì vậy tồn tại master boot riêng, có partition riêng. 
Ví dụ: 
Với FAT16: địa chỉ bắt đầu của Partition là 1BEh 
 80 01 01 00 06 3F FF 4D 3F 00 00 00 41 00 34 00 
 00 00 00 00... 
 00 00 
 00 00 
 55 AA 
CÂU HỎI VÀ BÀI TẬP 
2.1. Trình bày việc phân cấp trong tổ chức và quản lý thiết bị ngoại vi. 
2.2. Trình bày vai trò của bộ đệm? Nêu các cách điều khiển bộ đệm vào ra dữ liệu. 
2.3. Trình bày các phƣơng pháp tổ chức dữ liệu trên hệ thống máy tính 
2.4. Anh, chị hãy trình bày các phƣơng pháp truy nhập dữ liệu đã đƣợc dùng phổ biến hiện nay. 
2.5. Vẽ sơ đồ thuật toán việc đọc và hiển thị giá trị của 05 chỉ mục đầu tiên trong bảng FAT32 
2.6. Xây dựng chƣơng trình đọc thông tin trên 1 đĩa cứng và hiển thị ra màn hình cho biết đĩa đó 
có bao nhiêu mặt, trên mỗi mặt có bao nhiêu rãnh, trên mỗi rãnh có bao nhiêu sector, số sector 
trên một liên cung và tổng số liên cung. 
2.7. Xây dựng chƣơng trình liệt kê và lƣu vào đĩa bảng phân vùng của đĩa cứng cụ thể 
2.8. Xây dựng chƣơng trình liệt kê và lƣu các thông số hệ thống đƣợc lƣu trữ trong Boot Record 
của 01 đĩa logic. 
2.9. Xây dựng chƣơng trình liệt kê các mục vào của Root trên 01 đĩa cứng cụ thể FAT16 hoặc 
FAT32) 
2.10. Xây dựng chƣơng trình liệt kê 01 sector bất kỳ trên đĩa. 
2.11. Xây dựng chƣơng trình liệt kê thông tin của 01 file text đã lƣu trữ trên đĩa 
2.12. Xây dựng chƣơng trình liệt kê thông tin của bảng MFT trong đĩa cứng sử dụng kỹ thuật 
quản lý file NTFS 
- 46 - 
Chƣơng V: HỆ ĐIỀU HÀNH NHIỀU PROCESSOR 
5.1. Hệ điều hành nhiều Processor 
Sự kết hợp của các Processor trong một hệ thống tính toán, sự kết hợp của các hệ thống 
tính toán đơn Processor. 
Mục đích: 
Sự chuyên môn hoá các Processor làm giảm gánh nặng xử lý 
 Hoạt động ổn định và năng suất cao 
 Độ tin cậy cao 
 Làm cho các tài nguyên có giá trị cao, mang tính khả dụng đối với bất kỳ ngƣời dùng 
ngƣời dùng nào trên mạng. 
 Tăng độ tin cậy của hệ thống nhờ khả năng thay thế khi xảy ra sự cố đối với một máy 
tính nào đó 
5.1.1. Cấu hình nhiều Processor 
Tồn tại nhiều phƣơng thực kết nối hai hay nhiều Processor. 
Sự kết hợp của máy tính với các hệ thống truyền thông, đặc biệt là mạng viễn thông đã tạo 
lên mô hình tập trung các máy tính đơn lẻ đƣợc kết nối với nhau để cùng thực hiện công việc. 
Môi trƣờng làm việc nhiều ngƣời dùng, cho phép nâng cao hiệu quả khai thác tài nguyên chung 
từ những vị trí địa lý khác nhau (bộ nhớ, chƣơng trình, nhiệm vụ...) 
Cấu hình phân cấp: Client/ Server: một Processor ngoại vi và có thể hoạt động độc lập 
trong khi giải quyết nhiệm vụ của mình. 
Đặc điểm: 
- Chƣơng trình dễ tổ chức 
- Chƣơng trình điều khiển không phải sao chép nhiều lần. 
- Không phải tổ chức kiểu module vào/ra nhiều lần 
- Thực hiện ngắt tăng. 
Sơ đồ liên kết mềm linh hoạt: Các processor có quan hệ bán phụ thuộc 
- Mỗi processor xử lý tiến trình của mình từ khi hình thành tới khi kết thúc. 
- Các processor có thể liên hệ, trao đổi thông tin và chuyển giao tiến trình trƣớc khi nó 
đƣợc bắt đầu thực hiện. 
Đặc điểm: 
- Giảm gánh nặng xử lý tại một processor 
- Các processor có thể trao đổi tiến trình, cơ chế điều độ đơn giản 
Sơ đồ liên kết bình quyền: Các processor đƣợc coi nhƣ tập các tài nguyên cùng loại 
Thay cho việc thực hiện từng chƣơng trình trên từng processor, phân chia công việc điều 
khiển cho tất cả các processor. Nhƣ vậy một tiến trình có thể bắt đầu ở processor này nhƣng có 
thể kết thúc ở processor khác. 
Đặc điểm: 
- Giảm gánh nặng xử lý tại một processor 
- Các processor có thể trao đổi tiến trình, cơ chế điều độ đơn giản 
- Khó đánh giá kết quả thực hiện tiến trình 
5.1.2. Hệ điều hành nhiều processor: 
Tồn tại một hệ điều hành có chức năng quản ly dữ liệu, tính toán và xử lý một cách thống 
nhất: Hệ thống nhƣ vậy gọi là hệ điều hành nhiều processor. 
- 47 - 
Với các tiếp cận: 
- Tập trung: Tôn trọng hệ điều hành cục bộ đã có trên các hệ thống tính toán, hệ điều 
hành nhiều processor đƣợc cài đặt nhƣ một tập các chƣơng trình tiện ích chạy trên hệ 
thống. 
- Phân tán: Bỏ qua hệ điều hành cục bộ đã có trên các hệ thống, cài đặt một hệ điều hành 
thuần nhất trên toàn mạng 
Với mô hình tập trung: 
- Cung cấp cho mỗi ngƣời dùng một tiến trình đồng nhất làm nhiệm vụ cung cấp một 
giao diện đồng nhất với tất cả các hệ thống cục bộ đã có 
- Tiến trình này quản lý cơ sở dữ liệu chứa thông tin về hệ thống cục bộ và về các 
chƣơng trình và dữ liệu của ngƣời dùng thuần tuý: 
 Bộ xử lệnh 
 Dựng các lệnh của ngƣời dùng  ngôn ngữ lệnh của hệ thống  gửi tới P để 
thực hiện 
- Đặc điểm: 
 Đơn giản, không làm ảnh hƣởng tới các hệ thông cục bộ đã có 
 Khó thực hiện I/O 
Với mô hình Phân tán: 
- Mô hình tiến trình: Mỗi tài nguyên đƣợc quản lý bởi một tiến trình nào đó và hệ điều 
hành điều khiển sự tƣơng tác giữa các tiến trình đó 
- Mô hình đối tƣợng: Coi các tiến trình và các đối tƣợng, mỗi đối tƣợng có một kiểu, 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ó 
o Nhƣ vậy: 
o Tiến trình của uses phải đƣợc phép thao tác trên đối tƣợng 
o Hệ điều hành quản lý việc thao tác của tiến trình trên đối tƣợng. 
5.2. Hệ điều hành phân tán (Distribute Operating System) 
5.2.1. Khái niệm: 
Tập các chƣơng trình phục vụ tập trung nhƣ một giao diện quá trình ứng dụng và hệ thống 
tính toán nhằm đạt đƣợc tính hiệu quả an toàn, dễ sử dụng hệ thống tính toán. 
Chức năng của hệ điều hành : 
- Điều độ Processor 
- Đồng bộ giữa các quá trình tƣơng tác 
- Quản lý tài nguyên hệ thống 
- Đảm bảo điều khiển truy nhập và bảo vệ tính toàn vẹn hệ thống, phục hồi và cung cấp 
giao diện ngƣời dùng 
Quan niệm về hệ điều hành: 
- Máy ảo: Trừu tƣợng hoá hệ thống máy tính (mục tiêu thiết kế cơ bản) 
- Quản trị tài nguyên : Phƣơng tiện để đạt đƣợc mục đích 
Nhƣ vậy: 
- Hệ điều hành tập trung: Quan tâm tới việc quản trị tài nguyên hệ thống 
- Hệ điều hành phân tán: Trừu tƣợng hoá máy tính 
Vào thời điểm mới ra đời: Các hệ điều hành đƣợc thiết kế tập trung để chạy trên các hệ 
thống có một hay nhiều bộ xử lý (Processor) 
- 48 - 
Với tiếp cận mạng máy tính ngày nay: Các hệ thống làm trên phạm vi rộng, phân tán ở 
nhiều địa điểm khác nhau đòi hỏi cơ chế quản lý phân tán. 
5.2.2. Đặc trưng của hệ điều hành phân tán 
a. So với PC 
Khả năng dùng chung dữ liệu: 
- Nhiều PC dùng trên nhiều bản sao của dữ liệu tại nhiều nơi, vì vậy chi phí cho việc 
đồng bộ quản lý truy nhập và bảo mật tốn kém 
- MSDOS: Dùng trên một số ít các bản dữ liệu, chi phí giảm 
Khả năng dùng chung thiết bị: 
- Mỗi PC phải trang bị đầy đủ các thiết bị ngoại vi song nếu đƣợc kết nối trong môi 
trƣờng MSDOS các thiết bị ngoại vi có thể đƣợc sử dụng chung bởi nhiều ngƣời dùng 
trong hệ thống, nhờ vậy tiết kiệm và hiệu quả 
Khả năng truyền thông: 
- Kết nối của PC nhờ dịch vụ mạng viễn thông, thời gian chờ đợi để đƣợc phục vụ là 
không an toàn. 
- Với MSDOS: môi trƣờng phân tán 
Tính linh hoạt: 
- Việc phân chia lại tài nguyên gây ra chi phí tốn kém: lƣu chuyển tài liệu, thiết bị, dữ 
liệu... 
- MSDOS: Sử dụng các chức năng chuyên biệt của hệ thống 
b. So với hệ điều hành tập trung 
Tốc độ: Năng lực kế toán cao khi tập trung một số bộ vi xử lý trên một máy tính 
Tính kinh tế: Tỷ suất giá cả hiệu nâng cao 
Tính phân bố: Liên kết các ứng dụng trên các máy riêng biệt 
Tính ổn định và tin cậy: Hệ thống vẫn làm việc khi một máy gặp sự cố 
Tính mở: Có thể từng bƣớc mở rộng quy mô hệ thống 
c. Hạn chế của hệ điều hành phân tán 
- Phần mềm: đòi hỏi hệ điều hành, các ngôn ngữ hình thức, các chƣơng trình ứng dụng 
phù hợp: thiết kế, cài đặt khó, phức tạp 
- Vấn đề mạng: Thay thế toàn bộ hệ thống cũ 
- Vấn đề truyền thông: an toàn dữ liệu, lƣu lƣợng đƣờng truyền, quá trình thay thế khi có 
sự cố. 
- Vấn đề bảo mật: Giá thành cao, khó sử dụng chung dữ liệu, chƣơng trình 
d. Yêu cầu thiết kế hệ điều hành phân tán 
Tính trong suốt 
- Tính trong suốt với ngƣời dùng: ngƣời dùng nghĩ rằng hệ thống phân tán chỉ là một tập 
máy tính hoạt động ở chế độ phân chia thời gian 
- Tính trong suốt hệ thống: hệ thống trong suốt đối với chƣơng trình, lời gọi hệ thống 
phải đƣợc thiết kế sao cho sự có mặt của nhiều processor là không thể thấy đƣợc từ 
chƣơng trình 
Thể hiện: 
- Trong suốt về định vị: ngƣời dùng không thể nói chính xác các tài nguyên nằm ở đâu 
(tài nguyên đƣợc mã hoá vị trí) 
- Trong suốt về ánh xạ: tên tài nguyên không thay đổi khi di chuyển từ máy này sang 
máy khác 
- 49 - 
o Trong suốt về lặp lại: hệ thống có thể (và cần thiết) lƣu một số bản sao của cùng 
một tài nguyên mà ngƣời dùng không biết 
o Trong suốt đồng thời: nhiều tiến trình có thể cùng truy nhập một tài nguyên, các 
tiến trình có thể không cần biết tới sự có mặt của tiến trình khác 
o Trong suốt song song: nhiều hoạt động song song đƣợc che đối với ngƣời dùng 
o Trong suốt lỗi: cơ chế phục hồi lỗi trong hệ thống đƣợc che đối với ngƣời dùng 
o Trong suốt kích thước: cho phép hệ hống mở rộng qui mô dần dần ma không tác 
động tới ngƣời dùng 
o Trong suốt về quan sát: điểm nhìn phần mềm không thể thấy đƣợc đối với ngƣời 
dùng. 
Tính modul hoá: Hệ thống đƣợc phân chia làm nhiều modul nhƣ cho phép bổ sung, thay 
đổi dễ dàng 
Tính khả mở: qui mô hệ thống thƣờng xuyên thay đổi do các yêu cầu nâng cấp 
Tính độc lập, quy mô: Mở rộng quy mô mà năng lực hệ thống không thay đổi 
Tính chịu lỗi: Thƣờng xuyên sao lƣu để phục hồi lỗi 
5.3. Quản lý tài nguyên trong hệ điều hành phân tán 
5.3.1. Quản lý thiết bị, quản lý File 
Khái niệm File: đơn vị thông tin nhỏ nhất của ngƣời dùng, đƣợc quản lý thông qua tên file. 
- Ngƣời dùng phải lƣƣ trữ thông tin ở bộ nhớ ngoài vì vậy hệ điều hành phải có vai trò 
sao cho ngƣời dùng truy nhập thuận tiện 
- Nhu cầu dùng chung (chia sẻ) các file dữ liệu. 
- Vấn đề đặt ra đối với hệ thống quản lý file: ngoài các tính chất và yêu nhƣ đối với hệ 
quản lý file trong hệ điều hành tập trung, hệ quản lý file trong hệ điều hành phân tán 
phải đảm bảo: 
- Tính trong suốt của hệ thống 
- Dịch vụ thƣ mục 
- Hiệu năng hệ thống, độ tin cậy 
- Độ an toàn. 
Tính trong suốt 
- Tính trong suốt đăng nhập: ngƣời dùng có thể đăng nhập vào các trạm trong hệ thống 
với cùng một thủ tục đăng nhập 
- Trong suốt truy cập: Các tiến trình chạy trên hệ thống có cùng cơ chế truy nhập vào các 
tệp tin mà không cần để ý xem tệp đó là cục bộ hay từ xa 
- Sự độc lập về định vị tệp tin: Các tệp tin có thể đƣợc chuyển từ vị trí này tới vị trí khác 
mà không làm thay đổi tên: trong suốt đối với ngƣời dùng 
- Tính trong suốt tƣơng tranh: các file đƣợc chia sẻ bởi nhiều ngƣời dùng, việc truy cập 
tới một tệp từ một tiến trình không ảnh hƣởng tới sự thành lập của tiến trình khác 
- Trong suốt lặp: Các tệp đƣợc sao lƣu để dự phòng cho phép truy nhập đồng bộ (ngƣời 
dùng không biết các bản sao). 
Thiết kế và thực hiện hệ thống tệp tin phân tán 
Đối với ngƣời dùng, một tệp tin bao gồm ba thành phần logic: 
- Tên tệp và hệ thống tệp 
- Các thuộc tính 
- Các đơn vị dữ liệu 
Các tệp và hệ thống tệp 
- 50 - 
Các tệp đƣợc tạo ra bởi ngƣời dùng đi kèm với tên, khi truy nhập tệp, tên tệp sẽ xác định 
giá trị ID của tệp và giá trị này cũng là giá trị duy nhất xác định vị trí vật lý của tệp 
Các thuộc tính: Các thông tin về quyền sở hữu, quyền truy nhập, dạng tệp, kích thƣớc, dấu 
hiệu thời gian 
Các đơn vị dữ liệu 
Đơn vị dữ liệu : Byte, khối 
Cơ chế truy nhập: 
- Tuần tự: Con trỏ định vị tệp đƣợc duy trì bởi hệ thống cho phép xác định vị trí đơn vị 
dữ liệu kế tiếp đƣợc truy nhập giữa các tiến trình 
- Trực tiếp (truyền thông không liên kết): Vị trí đơn vị dữ liệu cho việc đọc, ghi là rõ 
ràng. Cơ chế này liên quan tới kích thƣớc của đơn vị dữ liệu, các thao tác đọc ghi phải 
bao hàm các thông tin điều khiển. 
- Chỉ số: Đơn vị dữ liệu đƣợc địa chỉ hoá bởi chỉ số hay khoá đi kèm mỗi khối dữ liệu. 
Vấn đề bảo mật 
Bảo vệ dữ liệu: không để mất thông tin khi có sự cố kỹ thuật hoặc chƣơng trình thậm chí 
truy nhập bất hợp lệ 
Kĩ thuật bảo vệ dữ liệu cho hệ phân tán: 
Phƣơng pháp mã hoá dữ liệu với thuật toán DBS 
- Khoá bí mật: Thuật toán giải mã 
- Khoá công khai: sinh mã: 
Kerberos: Sự xác nhận là đúng của các thành phần dựa trên cơ sở tin tƣởng vào thành phần 
thứ 3 (mật khẩu) 
Chữ ký điện tử: Xác nhận tính nguyên bản mà các văn bản (Digital Signature) 
5.2.2. Quản lý bộ nhớ 
Ngoài các phƣơng pháp quản lý bộ nhớ nhƣ trong hệ điều hành tập trung, vấn đề quan tâm 
trong việc quản lý bộ nhớ ở hệ điều hành phân tán đó là việc đảm bảo tính chia sẻ bộ nhớ. 
Chia sẻ bộ nhớ: Truy nhập bộ nhớ từ xa: 
Việc truy nhập đƣợc thực hiện tại một nút xa 
- Khối dữ liệu xa đƣợc di chuyển tới nút cục bộ: truy nhập cục bộ 
- Khối dữ liệu xa đƣợc sao lƣu lại tại nút cục bộ: truy nhập đồng bộ 
Các phương thức 
- Đọc từ xa (Read remote): Khối dữ liệu dùng chung không đƣợc di chuyển hay sao lƣu, 
máy trạm gửi yêu cầu tới máy chủ, máy chủ gửi trả lời về dữ liệu cho việc đọc, và báo 
nhận cho việc ghi. 
- Đọc/ghi ánh xạ (Read/write migrate): Nhờ việc truy cập tới một khối dữ liệu từ xa mà 
khối dữ liệu đƣợc di chuyển tới tiến trình yêu cầu. Tiến trình sẽ cập nhập tới bảng ánh 
xạ khối vật lý - trang ảo của dữ liệu 
5.2.3. Quản lý tiến trình 
Khái niệm về tiến trình: Đơn vị thực hiện đƣợc nhỏ nhất thấy bởi ngƣời dùng 
Luồng (Thread): đơn vị thực hiện đƣợc nhỏ nhất thấy bởi hệ điều hành, đƣợc hệ điều hành 
cấp phát thời gian Processor. 
Quan hệ giữa tiến trình và luồng: 
Tiến trình là không gian địa chỉ trong đó luồng đƣợc thực hiện. Hai tiến trình cùng không 
gian địa chỉ - hai luồng thuộc một tiến trình. 
Quản lý tiến trình: việc quản lý các tiến trình thông qua các khối điều khiển tiến trình. 
- 51 - 
Khối điều khiển: Bản ghi chứa các khối điều khiển các luồng, các cổng thông tin , các tài 
nguyên hệ thống mà tiến trình đang sử dụng, các thông tin trạng thái tiến trình: Sẵn sàng, thực 
hiện và ngắt 
Quản lý luồng: Khối điều khiển luồng: 
Bộ đếm lệnh: PC 
- Con trỏ ngăn xếp: SP 
- Tập các thanh ghi: Rs 
- Trạng thái: Flag 
Các chức năng quản lý tiến trình và luồng thông tin chia làm ba loại 
- Truyền thông: Đảm bảo sự liên kết giữa các tiến trình 
- Đồng bộ: Đảm bảo thực hiện các tiến trình tối ƣu 
- Điều độ : Đảm bảo các tiến trình sử dụng tài nguyên chia sẻ đúng đắn 
Cài đặt luồng: 
Trong không gian ngƣời dùng: Khi luồng gọi một thủ tục hệ thống nó thực hiện liên kết 
vào thƣ viện động. Thủ tục thƣ viện động kiểm tra xem có cần treo luồng đó không, nếu cần nó 
treo luồng này và chuyển điều khiển cho luồng khác. 
Trong nhân hệ thống: Khi luồng gọi một thủ tục hệ thống, nó sẽ đƣợc gắn vào nhân hệ 
thống. 
Truyền thông giữa các tiến trình 
Mô hình truyền thống OSI: mỗi tầng có một chức năng riêng, thông điệp truyền giữa hai 
ứng dụng dựa trên giao thức, khi qua mỗi tầng nó đƣợc gắn thêm vùng header. 
Mô hình Cilent/ Server 
- Client truyền thông điệp cho server yêu cầu dịch vụ 
- Server thực hiện dịch vụ tƣơng ứng và gửi thông điệp trả lời 
Các vấn đề: 
- Định vị yêu cầu từ Clinet nào: 
- Gắn cho mỗi Client một địa chỉ ID 
- Client chọn địa chỉ ngẫu nhiên, thông báo đƣợc gửi cho taat cả các Server 
Đƣa tên Server vào Client khi chạy chƣơng trình. 
- Chế độ chuyển thông điệp: khoá, không khoá: 
o Khoá: khi có một thông điệp đƣợc chuyển, tiến trình của Client bị treo và chờ 
cho tới khi có trả lời hoặc báo lỗi 
o Không khoá: tiến trình vẫn tiếp tục thực hiện các công việc khác 
- Chế độ có bảo đảm và không bảo đảm: 
o Có bảo đảm: Server nhận đƣợc thông điệp từ Client nó sẽ phúc đáp lại để Client 
biết. 
o Không bảo đảm: khi tiến trình gửi thông điệp, nó không đƣợc bảo đảm là thông 
điệp đã đến đích 
Mô hình truyền thông nhóm: 
Nhóm: tập các tiến trình, vì vậy khi một thành viên nhận đƣợc thông điệp tất cả các tiến 
trình trong nhóm đều có thể đƣợc chia sẻ. 
Đồng bộ các tiến trình 
Đồng bộ: Đảm bảo thứ tự thực hiện đúng đắn của các luồng, các tiến trình 
Đồng bộ đồng hồ thời gian thực: 
Giả sử có tệp .OBJ trên một máy đƣợc biên dịch từ tệp A.ASM trên một máy khác. Từ một 
máy thứ ba, ngƣời dùng gọi trình LINK để tạo A.EXE từ A.OBJ. Trình liên kết so sánh thời gian 
- 52 - 
cập nhập cuối cùng của A.OBJ và A.ASM để quyết định có biên dịch lại A.ASM hay không. 
Nếu đồng hồ của máy chứa tệp .OBJ nhanh hơn đồng hồ của máy chứa .ASM thì có thể .ASM đã 
cập nhật mà .OBJ vẫn mới hơn, kết quả là LINK không liên kết lại .ASM và dùng .OBJ cũ dẫn 
đến sai mà không biết vì sao. 
Khắc phục: đồng bộ thời gian thực: 
- Mô hình chuẩn tập trung: các máy trạm đều đặn gửi thông điệp hỏi giờ tới máy chủ 
chuẩn để thƣờng xuyên hiệu chỉnh gìơ của mình. 
- Mô hình chuẩn trung bình: máy chủ đều đặn hỏi các máy trạm giwof của chúng, tính 
trung bình rồi gửi phản hồi lại thời gian chung. 
- Mô hình trung bình phân tán: chia thời gian thành các khoảng đồng bộ lại ti= T0 + i*R, 
cứ mỗi thời điểm ti mỗi máy gửi thời gian trỏ bởi đồng hồ của mình cho mọi máy khác 
và cũng nhận thời gian từ mọi máy khác gửi tới, tính trung bình và hiệu chỉnh đồng hồ 
của mình. 
Đồng bộ thời gian logic 
Giả sử tiến trình A gửi thông điệp cho B, thời điểm thông điệp xuất phát là t1, thời điểm 
nhận thông điệp là t2. Vì xung nhịp của hai máy khác nhau nên có thể t2 < t1 khi đó B sẽ huỷ 
thông điệp 
Khắc phục: Trong thông điệp bao hàm cả thời gian xuất phát. 
Đồng bộ thứ tự sử dụng đoạn Găng 
Thuật toán tập trung: Tiến trình định sử dụng tài nguyên Găng nó sẽ gửi thông điệp tới 
server xem có quyến sử dụng không? 
Thuật toán phân tán: Tiến trình sử dụng tài nguyên Găng nó sẽ gửi thông điệp tới các tiến 
trình khác. Các tiến trình khi nhận đƣợc thông điệp xin phép: 
- Nếu nó không ở trong đoạn găng, không có nhu cầu sử dụng tài nguyên găng, nó sẽ 
cho phép. 
- Nếu nó đang trong đoạn găng, nó không trả lời và xếp hàng thông điệp mới đến để trả 
lời sau. 
Nếu nó đang định sử dụng đoạn găng, so sánh thời gian gửi thông điệp của nó trƣớc đây 
với thời gian gửi của thông điệp mới đến, nếu thấy thông điệp này xuất phát trƣớc nó sẽ tự động 
đi vào trạng thái chờ và trả lời cho phép. 
CÂU HỎI VÀ BÀI TẬP 
5.1. Xây dựng chƣơng trình truyền 1 ký tự giữa 2 máy tính 
5.2. Xây dựng chƣơng trình khởi động 1 chƣơng trình từ xa trên hệ thống mạng máy tính 

File đính kèm:

  • pdfbai_giang_nguyen_ly_hieu_dieu_hanh.pdf