3 CHƯƠNG
Processes
Thực hành bài tập
3.1 Palm OS không cung cấp phương tiện để xử lý đồng thời. Thảo luận về ba
biến chứng lớn mà xử lý đồng thời thêm vào một sự điều hành
hệ thống.
Trả lời:
a. Một phương pháp chia sẻ thời gian phải được thực hiện để cho phép mỗi
một số quy trình để có quyền truy cập vào hệ thống. Phương pháp này
liên quan đến việc đánh đòn phủ đầu của quá trình mà không tự nguyện cung cấp cho
CPU lên (bằng cách sử dụng một cuộc gọi hệ thống, ví dụ) và hạt nhân
là reentrant (somore hơn một processmay được thực hiện hạt nhân
mã đồng thời).
B. Quy trình và tài nguyên hệ thống phải có biện pháp bảo vệ và phải
được bảo vệ khỏi nhau. Bất kỳ quá trình nhất định phải được giới hạn
trong số tiền của bộ nhớ nó có thể sử dụng và các hoạt động nó có thể
thực hiện trên các thiết bị như ổ đĩa.
C. Chăm sóc phải được thực hiện trong các hạt nhân để ngăn chặn deadlocks giữa
các quá trình, vì vậy quá trình không chờ đợi được giao của nhau
nguồn lực.
3.2 Bộ xử lý Sun UltraSPARC có nhiều bộ đăng ký. Mô tả các
hành động của một bối cảnh chuyển đổi nếu tình hình mới đã được nạp vào
một trong những bộ đăng ký. Những gì người khác phải xảy ra nếu tình hình mới là trong
bộ nhớ hơn là trong một bộ đăng ký và tất cả các bộ đăng ký đang được sử dụng?
Trả lời: Các CPU trỏ-register-thiết lập hiện tại được thay đổi để trỏ đến các
bộ chứa các newcontext, trong đó có rất chút thời gian. Nếu bối cảnh
trong bộ nhớ, một trong những bối cảnh trong một bộ đăng ký phải được lựa chọn và được
chuyển đến bộ nhớ, và bối cảnh mới phải được nạp từ bộ nhớ
910 Chương 3 Processes
vào các thiết lập. Quá trình này mất nhiều thời gian hơn một chút so với trên hệ thống với
một tập các thanh ghi, tùy thuộc vào cách một nạn nhân thay thế được chọn.
3.3 Khi một quá trình tạo ra một tiến trình mới bằng cách sử dụng fork () hoạt động, trong đó
tình trạng sau đây được chia sẻ giữa cha mẹ quá trình và các con
quá trình?
a. Ngăn xếp
b. Heap
c. Phân đoạn bộ nhớ chia sẻ
trả lời: Chỉ có các phân đoạn bộ nhớ chia sẻ được chia sẻ giữa các
tiến trình cha và tiến trình con mới được chia hai. Bản sao của stack
và heap được thực hiện cho quá trình mới được tạo ra.
3.4 Một lần nữa xem xét các cơ chế RPC, hãy xem xét "đúng một lần" se-
mantic. Liệu các thuật toán để thực hiện điều này ngữ nghĩa thực nhũng
rectly ngay cả khi "ACK" nhắn lại cho khách hàng bị mất do một mạng
vấn đề Mô tả trình tự ofmessages andwhether "đúng một lần"?
Vẫn còn được bảo tồn.
Trả lời: "đúng một lần" ngữ nghĩa đảm bảo rằng một thủ tục remore
sẽ được thực hiện đúng một lần và chỉ một lần. Các thuật toán chung cho
đảm bảo điều này kết hợp một sự thừa nhận (ACK) schemecombined
với thời gian (hoặc một số truy cập khác gia tăng cho phép các
máy chủ để phân biệt giữa các tin nhắn trùng lặp).
Các chiến lược chung là đối với các khách hàng để gửi các RPC đến máy chủ cùng
với một dấu thời gian . Các khách hàng cũng sẽ bắt đầu một đồng hồ thời gian chờ. Các khách hàng
sau đó sẽ chờ đợi cho một trong hai lần xuất hiện: (1) nó sẽ nhận được một ACK từ
máy chủ chỉ ra rằng các thủ tục từ xa được thực hiện, hoặc (2) nó
sẽ hết. Nếu lần khách hàng ra, nó giả định các máy chủ đã không
thực hiện các thủ tục từ xa vì vậy khách hàng sẽ gọi RPC asecond
thời gian, gửi một dấu thời gian sau đó. Các khách hàng có thể không nhận được ACK cho
một trong hai lý do: (1) các RPC ban đầu không bao giờ được nhận bởi máy chủ,
hoặc (2) RPC đã được nhận và thực hiện một cách chính xác, bởi máy chủ
nhưng ACK bị mất. Trong tình hình (1), việc sử dụng ACK cho phép máy chủ
cuối cùng để tiếp nhận và performthe RPC. Trong tình hình (2), các serverwill
nhận một RPC trùng lặp và nó sẽ sử dụng dấu thời gian để xác định nó như là một
bản sao như vậy là không thực hiện RPC một lần thứ hai. Điều quan trọng là phải
lưu ý rằng các máy chủ phải gửi một ACK thứ hai lại cho khách hàng để thông báo cho
các khách hàng các RPC đã được thực hiện.
3.5 Giả sử rằng một hệ thống phân phối là dễ bị lỗi của máy chủ. Gì
cơ chế sẽ được yêu cầu để đảm bảo "đúng một lần" ngữ nghĩa
tics để thực hiện RPC?
Trả lời: Các máy chủ nên theo dõi trong lưu trữ ổn định (chẳng hạn như một
bản ghi đĩa) thông tin về những gì hoạt động RPC đã nhận được,
cho dù họ đã thực hiện thành công , và các kết quả liên quan
với operations.When một vụ tai nạn máy chủ diễn ra và một tin nhắn RPC
được nhận, các máy chủ có thể kiểm tra xem các RPC đã được trước đó
đã thực hiện và do đó đảm bảo "đúng một lần" semanctics cho
thực hiện RPC.
đang được dịch, vui lòng đợi..
