Mô hình đồ thị thể hiện các QT

Một phần của tài liệu Cơ bản về hệ điều hành (Trang 54 - 56)

Mô hình đồ thị

Đoạn 3.1 mô tả các khái niệm QT và luồng. Trong đoạn này, chúng ta quan tâm đến việc làm thế nào để chúng có thể đặt cùng với nhau. Các QT có quan hệ với nhau bởi điều đó cần thiết cho:

- tính đồng bộ: việc chạy một vài QT phải đ−ợc tiếp nối theo một trình tự nào đó. Một ví dụ về sự đồng bộ là mối quan hệ đi tr−ớc (tiền tố: predecence) giữa hai QT. Mối quan hệ đi tr−ớc giữa hai QT quy định rằng một QT chỉ đ−ợc thực hiện khi mà những QT "đi tr−ớc" nó đã đ−ợc thực hiện.

- hoặc/và vấn đề truyền thông: Trong nhiều tr−ờng hợp thì mối quan hệ đi tr−ớc hoặc thứ tự của các QT là không nhất thiết đối với việc các QT CTĐ cho nhau.

Hình 3.6 sử dụng mô hình đồ thị để biểu thị hai cái nhìn khác nhau về sự tác động giữa các QT. Đồ thị QT đồng bộ theo mô hình đồ thị có h−ớng không chu trình thể hiện trực tiếp mối quan hệ đi tr−ớc và thứ tự trong tập các QT. Những cạnh vô h−ớng trong đồ thị QT dị bộ thể hiện đ−ờng truyền thông và sự phụ thuộc giữa các QT.

Các đồ thị trong hình 3.6 ch−a cho biết cụ thể thực sự mô phỏng tác động trong một hệ phức tạp. Tuy nhiên, chúng vẫn đ−ợc sử dụng để xây dựng mô hình các QT và bộ xử lý trong hệ thống phân tán:

- Đồ thị QT đồng bộ đ−ợc sử dụng để đánh giá tổng thời gian của một tập hợp các QT,

- Đồ thị truyền thông dị bộ có thể đ−ợc sử dụng để nghiên cứu phân bố các bộ xử lí nhằm tối −u hoá tổng chi phí về thời gian truyền thông giữa bộ xử lí.

Kênh truyền thông Đồ thị QT đồng bộ Ngang hàng Clien/Server Một chiều Quan hệ đi tr−ớc Đồ thị QT dị bộ và mô hình truyền thông

Đồ thị quá chi tiết đối với hệ phân tán th−ờng làm cho việc phân tích khó khăn hơn và thậm chí gần nh−ng không thể giải quyết đ−ợc.

Trong hình 3.6, cạnh có h−ớng trong đồ thị đi tr−ớc đ−ợc giải thích qua truyền thông đồng bộ đối với QT gửi và nhận TĐ. Kết quả từ QT này đ−ợc chuyển đến QT liền sau nó nh− là một input. Sự chuyển thông tin xẩy ra và đ−ợc đồng bộ chỉ khi hoàn thành một QT và bắt đầu một QT tiếp theo.

Truyền thông đ−ợc xác định chính xác hơn trong đồ thị QT dị bộ, khi ch−a thể nói về việc làm thế nào và vào lúc nào thì việc truyền thông xẩy ra, ngoại trừ việc khẳng định tồn tại đ−ờng truyền thông giữa hai QT.

QT trong đồ thị vô h−ớng thực hiện vô hạn định, trái lại, QT trong đồ thị có h−ớng thì chỉ có thể thực hiện trong một khoảng thời gian nhất định và đ−ợc gọi là thời gian sống (lifetime). Có ba kiểu CTĐ cho mô hình đồ thị dị bộ: Một chiều (one-way), Client/Server và ngang hàng (peer to peer). Nếu sử dụng thuật ngữ về truyền tin thì chúng t−ơng đ−ơng với: truyền đơn (simple), Bán - hai chiều (Half - duplex) và hai chiều (full - duplex):

- Một QT ứng dụng CTĐ một chiều thì gửi một TĐ nh−ng không có yêu cầu về sự trả lời. Ví dụ về truyền tin loại này là thông tin quảng bá (broadcast) cho mọi ng−ời mà không có sự kiểm tra từ mọi ng−ời về kết quả nhận TĐ.

- Trong mô hình Client/Server, truyền thông hai chiều: Một QT gửi yêu cầu và nhận sự trả lời đối với yêu cầu đó. Rất nhiều ứng dụng thực hiện theo quan hệ hai chiều master/slave.

- Thông tin ngang hàng là một cách trao đổi thông tin đối xứng, nó đ−ợc sử dụng cho việc chuyển thông tin giữa những qúa trình cộng tác.

Mô hình không gian - thời gian

Mô hình đồ thị QT đồng bộ và dị bộ thích hợp cho việc đánh giá hệ thống nh−ng lại thiếu chi tiết và đầy đủ để thể hiện đ−ợc sự t−ơng tác giữa các QT. Hình 3.7 trình bày mô hình không gian - thời gian là cách thể hiện tốt hơn việc truyền thông và quan hệ đi tr−ớc. Sự tồn tại của đ−ờng truyền thông và quan hệ đi tr−ớc giữa các sự kiện và việc truyền thông thực sự đ−ợc thể hiện t−ờng minh trong mô hình. Quan hệ đi tr−ớc hoặc là đ−ờng truyền thông tin đ−ợc nhận biết dễ dàng trong mô hình không gian - thời gian. Mô hình QT này có nhiều thông tin để đánh giá sự t−ơng tác giữa các QT hơn là thông tin để đánh giá về sự hoạt động chung toàn hệ thống.

P1 P2 P3 P Sự kiện Không gian Các QT Truyền thông

Nh− vậy, mỗi mô hình (đồ thị, không gian - thời gian) có tác dụng riêng và tùy thuộc vào mục đích đánh giá để chọn mô hình.

Khi các QT đ−ợc thể hiện bằng đồ thị đi tr−ớc hoặc đồ thị truyền thông, sự t−ơng tác giữa các QT phải đ−ợc phát biểu trong một ngôn ngữ hoặc theo các kiểu kĩ thuật khác nhau. Giải pháp hoặc đặt ra một ngôn ngữ đồng thời (concurrent language)cho QT đồng thời hoặc là sẽ dễ dàng hơn khi mở rộng một ngôn ngữ tuần tự đã có bằng cách bổ sung những cấu trúc hoặc thêm một HĐH cung cấp cho việc tạo QT, truyền thông, và đồng bộ QT. Ví dụ, chúng ta đ−a ra một cấu trúc điều khiển Cobegin/Coend hoặc sử dụng những lời fork/join để tạo và đồng bộ những QT đồng thời. Những QT đ−ợc tạo ra bằng cách này thì đ−ợc ghép chặt chẽ khi chúng có mối quan hệ chủ tớ (master/slave) hoặc là cha con (parent/child) và chia sẻ cùng một thuộc tính chung. Chúng có thể phối hợp làm việc vì một mục tiêu chung và th−ờng đ−ợc thực hiện bởi một cá thể riêng hoặc là một tổ chức nào đó.

Giải pháp đó thích hợp cho việc thực hiện mô hình đồ thị đi tr−ớc. Nh−ng về lâu dài, giả sử mối quan hệ giữa các QT là ngang hàng. QT chỉ tác động cùng với QT khác thông qua truyền thông liên QT. Không có mối quan hệ đi tr−ớc giữa các QT. Trong thực tế, các QT đ−ợc tạo lập một cách độc lập, chạy dị bộ và có khoảng thời gian sống khác nhau. Mô hình tốt nhất là đồ thị QT truyền thông. Trong tr−ờng hợp này, sự xác định và t−ơng tác giữa các QT phát triển thành một HĐH thay vì thành một ngôn ngữ lớn.

Một phần của tài liệu Cơ bản về hệ điều hành (Trang 54 - 56)