CHƯƠNG 3Quy trìnhBài tập thực hành3.1 palm OS cung cấp không có phương tiện xử lý đồng thời. Thảo luận về baCác biến chứng là xử lý đồng thời cho biết thêm một hoạt độngHệ thống.Trả lời:một phương pháp thời gian chia sẻ phải được thực hiện để cho phép mỗitrong một số quá trình để có quyền truy cập vào hệ thống. Phương pháp nàyliên quan đến preemption của các quá trình không tự nguyện cung cấp choCPU (bằng cách sử dụng một hệ thống gọi, ví dụ) và hạt nhânlà reentrant (somore hơn một processmay thực hiện hạt nhânMã đồng thời).b. quy trình và tài nguyên hệ thống phải có 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 hạn chếsố lượng bộ nhớ nó có thể sử dụng và các hoạt động đó có thểthực hiện trên thiết bị như đĩa.c. chăm sóc phải được thực hiện trong hạt nhân để ngăn chặn deadlocks giữaquy trình, do đó, quá trình không chờ đợi cho nhau được cấp pháttài nguyên.The Sun UltraSPARC 3.2 bộ vi xử lý có nhiều bộ đăng ký. Mô tả cácCác hành động của một chuyển đổi bối cảnh nếu bối cảnh mới đã được nạp vàomột trong bộ đăng ký. Tất cả những gì khác phải xảy ra nếu bối cảnh mới trongbộ nhớ thay vì bộ đăng ký và tất cả đăng ký bộ sử dụng?Trả lời: Con trỏ hiện tại-đăng ký thiết lập CPU được thay đổi để trỏ đến cácthiết lập chứa newcontext, mà mất rất ít thời gian. Nếu bối cảnhlà trong bộ nhớ, một trong các bối cảnh trong một bộ đăng ký phải được lựa chọn vàchuyển đến bộ nhớ, và bối cảnh mới phải được nạp từ bộ nhớ910 chương 3 quy trìnhvào các thiết lập. Quá trình này mất rất nhiều thời gian hơn trên hệ thống bằngmột tập hợp các đăng ký, 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 quy trình mới bằng cách sử dụng các hoạt động fork(), màcủa tiểu bang sau đây được chia sẻ giữa quá trình phụ huynh và đứa trẻquá trình?a. ngăn xếpsinh đốngc. bộ nhớ dùng chung phân đoạnTrả lời: Chỉ là các phân đoạn được chia sẻ bộ nhớ được chia sẻ giữa cácquá trình phụ huynh và quá trình con mới được xẻ thùy. Bản sao của ngăn xếpvà heap được tạo cho quá trình mới được tạo ra.3.4 lại xem xét cơ chế RPC, xem xét các "đúng một lần" se-mantic. Hiện các thuật toán cho việc thực hiện này thực hiện ngữ nghĩa cor-rectly ngay cả khi tin nhắn "ACK" trở lại cho khách hàng bị mất do một mạng lướivấn đề? Mô tả trình tự ofmessages andwhether "đúng một lần"vẫn được bảo tồn.Trả lời: "Chính xác khi" ngữ nghĩa đảm bảo rằng một thủ tục remoresẽ được thực hiện đúng một lần và chỉ một lần. Các thuật toán tổng quát chođảm bảo điều này kết hợp một schemecombined thừa nhận (ACK)với timestamps (hoặc một số truy cập gia tăng khác cho phép cácHệ phục vụ để phân biệt giữa các tin nhắn trùng lặp).Các chiến lược chung là cho khách hàng để gửi RPC cho máy chủ cùngvới một dấu thời gian. Khách hàng cũng sẽ bắt đầu một đồng hồ thời gian chờ. Khách hàngsau đó sẽ chờ đợi cho một trong hai sự kiện: (1) nó sẽ nhận được một ACK từHệ phục vụ chỉ ra rằng các thủ tục từ xa được thực hiện, hoặc CNTT (2)will time out. If the client times out, it assumes the server was unableto perform the remote procedure so the client invokes the RPC asecondtime, sending a later timestamp. The client may not receive the ACK forone of two reasons: (1) the original RPC was never received by the server,or (2) the RPC was correctly received—and performed—by the serverbut the ACK was lost. In situation (1), the use of ACKs allows the serverultimately to receive and performthe RPC. In situation (2), the serverwillreceive a duplicate RPC and it will use the timestamp to identify it as aduplicate so as not to perform the RPC a second time. It is important tonote that the server must send a second ACK back to the client to informthe client the RPC has been performed.3.5 Assume that a distributed system is susceptible to server failure. Whatmechanisms would be required to guarantee the “exactly once” seman-tics for execution of RPCs?Answer: The server should keep track in stable storage (such as adisk log) information regarding what RPC operations were received,whether they were successfully performed, and the results associatedwith the operations.When a server crash takes place and a RPC messageis received, the server can check whether the RPC had been previouslyperformed and therefore guarantee “exactly once” semanctics for theexecution of RPCs.
đang được dịch, vui lòng đợi..
