Tắc nghẽn giao thụng:

Một phần của tài liệu Tài liệu hệ điều hành tiếng việt BKHN (Trang 33 - 36)

34/117

Hình 6.1

6.2.2 Vớ dụ deadlock trong phõn chia tài nguyờn

Trong HĐH, deadlock phần lớn xuất hiện do hậu quả của sự tranh chấp sử dụng (chiếm) cỏc tài nguyờn mà tại mỗi thời điểm chỉ cấp cho một user, do đú đụi khi được gọi là tài nguyờn sử dụng tuần tự. Trờn hỡnh 6.2 đưa ra một vớ dụ đơn giản deadlock dạng này. Trờn sơ đồ phõn chia tài nguyờn cú hai process và hai tài nguyờn. Mũi tờn đi ra từ tài nguyờn vào process chỉ ra rằng tài nguyờn đú đang thuộc quyền sử dụng của process đú. Cũn mũi tờn đi ra từ process vào tài nguyờn chỉ ra rằng process đang yờu cầu sử dụng tài nguyờn nhưng chưa được cấp phỏt tài nguyờn tương ứng.

Resource 1

Resource 2

Process A Process B

Hình 6.2

Sơ đồ này biểu diễn hệ thống đang ở trong tỡnh trạng deadlock: processA đang chiếm resource1 và để tiếp tục hoạt động nú cần resource2. Trong khi đú processB đang chiếm resource2 lại cần resource1 để tiếp tục.

Mỗi process đợi để process kia giải phúng resource mà nú đang cần, mặt khỏc mỗi process khụng giải phúng resource khi mà process kia chưa giải phúng tài nguyờn của mỡnh. Tỡnh huống đợi vũng quanh này đưa hệ thống vào tỡnh trạng deadlock.

35/117

6.2.3 Deadlock trong hệ thống dựng spooling

Hệ thống spooling thường xảy ra deadlock. Chế độ spooling (vào/ra với buffer) được ỏp dụng để nõng cao hiệu suất của hệ thống bằng cỏch phõn cỏch chương trỡnh khỏi cỏc liờn lạc trực tiếp với thiết bị ngoại vi tốc độ thấp như mỏy in, ... Nếu như chương trỡnh đưa một dũng text ra mỏy in mà phải đợi đến khi in xong dũng đú mới tiếp tục in dũng tiếp theo thỡ chương trỡnh hoạt động chậm đi nhiều do hạn chế tốc độ của mỏy in. Để tăng tốc độ thực hiện chương trỡnh, đầu tiờn cỏc dũng dữ liệu được ghi ra cỏc thiết bị cú tốc độ cao hơn như đĩa cứng và được lưu tạm thời ở đú trước khi được đưa ra mỏy in. Trong một số hệ thống spooling, chương trỡnh phải định dạng (format) toàn bộ thụng tin ra, chỉ sau đú mới bắt đầu thực sự in. Do đú khi một vài process đưa dữ liệu vào spooling file để in, hệ thống cú thể rơi vào tỡnh trạng deadlock, nếu như buffer định trước bị đầy khi chưa hoàn tất cụng việc. Để khụi phục, hay thoỏt khỏi tỡnh trạng đú cú thể phải restart system- dẫn đến mất toàn bộ kết quả cụng việc đó tiến hành, hoặc phải loại bỏ một số chương trỡnh để cỏc chương trỡnh cũn lại cú thể hoạt động tiếp tục.

Khi người điều hành bắt đầu cụng việc anh ta thiết lập kớch thước cho spooling file. Một trong những cỏch làm giảm khả năng xuất hiện deadlock khi spooling là thiết lập kớch thước ban đầu lớn hơn so với dự tớnh. Nhưng cỏch này khụng phải luụn thực hiện được (khả thi) khi bộ nhớ thiếu,... Giải phỏp thụng dụng hơn đối với process thiết lập ngưỡng để spooling khụng tiếp nhận thờm cụng việc từ cỏc chương trỡnh khỏc khi spooling file đó sử dụng vớ dụ tới 75% khụng gian. Giải phỏp này cú thể dẫn tới giảm hiệu suất của hệ thống nhưng đú là giỏ phải trả để giảm xỏc suất xảy ra deadlock.

Cỏc hệ thống ngày nay hoàn thiện hơn, nú cú thể cho phộp bắt đầu in trước khi kết tất cả dữ liệu được định dạng nhờ đú một phần hay toàn bộ spooling file được giải phúng (xoỏ) ngay trong quỏ trỡnh thực hiện cụng việc. Trong nhiều hệ thống cú khả năng cấp phỏt bộ đệm (buffer) động để khi spooling file sắp đầy thỡ nú được tăng kớch thước.

Dự sao đi nữa ưu thế của spooling vẫn lớn hơn rất nhiều những vấn đề deadlock cú thể nảy sinh.

6

6..33VVnnđđcchhvvttnn--hhooóónnkkhhnnggxxccđđnnhh((iinnddeeffiinniitteeppoossttppoonneemmeenntt))

Trong hệ thống, khi cỏc process phải chờ vớ dụ khi nú chờ được cấp phỏt tài nguyờn hay lập lịch trỡnh, cú thể xuất hiện tỡnh huống mà (quyền) được sử dụng BXL bị hoón khụng xỏc định. Tỡnh huống này gọi là hoón vụ thời hạn (khụng xỏc định) cú thể dẫn tới tỡnh huống khụng chấp nhận được cũng như tỡnh trạng deadlock.

Tỡnh trạng hoón vụ thời hạn cú thể xảy ra do cỏch điều khiển tài nguyờn của hệ thống. Khi tài nguyờn được phõn bố theo nguyờn tắc ưu tiờn thỡ cú thể xảy ra trường hợp một process sẽ chờ được cấp tài nguyờn lõu vụ hạn, bởi vỡ luụn cú cỏc process khỏc với độ ưu tiờn cao hơn.

36/117

Khi thiết kế HĐH cần xem xột cỏc chiến lược điều khiển cỏc process nằm trong trạng thỏi chờ. Trong nhiều hệ thống tỡnh trạng hoón vụ hạn được ngăn chặn do độ ưu tiờn của process tăng dần cựng với thời gian nú chờ được cấp tài nguyờn. Do đú cuối cựng thỡ process đú cú độ ưu tiờn cao nhất và nú sẽ được phục vụ.

6

Một phần của tài liệu Tài liệu hệ điều hành tiếng việt BKHN (Trang 33 - 36)

Tải bản đầy đủ (PDF)

(117 trang)