BỘ NHỚ DÙNG CHUNG

Một phần của tài liệu bài tập lớn môn Kiến trúc máy tính Đề tài The Mach System (Trang 38)

♦ Mach sử dụng bộ nhớ dùng chung để giảm tính phức tạp của hệ thống khác nhau các tiện ích, cũng như để cung cấp tính năng này một cách hiệu quả. Bộ nhớ dùng chung nói chung cung cấp giao tiếp liên tiến trình vô cùng nhanh, giảm chi phí trong quản lí tập tin, và giúp hỗ trợ đa xử lý và quản lý cơ sở dữ liệu. Mach không sử dụng địa chỉ bộ nhớ cho tất cả cac địa chỉ bộ nhớ truyền thống này,tuy nhiên. Chẳng hạn như, tất cả luồng trong chia sẻ tác vụ bộ nhớ của tác vụ, cho nên phương tiện bộ nhớ dùng chung chính thức không được cần đến trong tác vụ.

♦ Tuy nhiên, Mach vẫn phải cung cấp bộ nhớ chia sẻ truyền thống hỗ trợ cho việc xây dựng hệ điều hành khác, như là cuộc gọi hệ thống rẽ nhánh UNIX.

♦ Nó là thực sự khó cho tác vụ trên nhiều máy để chia sẻ bộ nhớ và để duy trì nhất quán dữ liệu. Mach không thể cố gắng giải quyết vấn đề này trực tiếp ; mặt khác, nó cung cấp các tiện ích để vấn đề được giải quyết. Mach hỗ trợ nhất quán bộ nhớ dùng chung chỉ khi bộ nhớ là chia sẻ bằng tác vụ chạy trên bộ xử lý chia sẻ bộ nhớ. Tác vụ cha có thể tuyên bố mà vùng nhớ sẽ là thừa hưởng bằng con của nó và mà sẽ là dễ đọc - có thể ghi. Kế hoạch này khác với bản sao - trên – ghi kế thừa, trong đó mỗi tác vụ duy

chịu trách nhiệm về phối hợp thay đổi bộ nhớ sao cho chúng không can thiệp với một cái khác ( bằng viết thư cho vị trí tương tự đồng thời ). Phối hợp này có thể đã làm xong qua phương pháp đồng bộ hoá bình thường : phần quan trọng hoặc khóa loại trừ lẫn nhau.

♦ Cho trường hợp bộ nhớ chia sẻ giữa máy riêng biệt, Mach cho phép sử dụng trình quản lý bộ nhớ ngoài. Nếu tập hợp các tác vụ không liên quan nguyện vọng để chia sẻ phần của bộ nhớ, tác vụ có thể sử dụng trình quản lý bộ nhớ ngoài cùng và truy cập cùng thứ cấp - nhà kho qua nó. Người triển khai của hệ thống này sẽ cần ghi tác vụ và máy nhắn tin ngoài. Máy nhắn tin này có thể khi đơn giản hoặc khi làm phức tạp khi cần. Thi hành đơn giản sẽ không cho phép độc giả trong khi trang được ghi để. Bất kỳ ghi nỗ lực nào sẽ làm cho máy nhắn tin huỷ bỏ trang trong tất cả tác vụ hiện truy cập nó. Máy nhắn tin sẽ cho phép ghi và sẽ làm cho có giá trị lại độc giả với phiên bản mới của trang. Độc giả sẽ chỉ cần đợi lỗi trang cho đến trang lại trở thành sẵn có. Mach cung cấp trình quản lý bộ nhớ như vậy :

♦ Máy chủ Bộ nhớ mạng ( NetMemServer ). Đối với multicomputers, cấu hình NORMA của Mach 3.0 cung cấp hỗ trợ tương tự như bộ phận chuẩn của phần lõi. Phân hệ XMM này để hệ thống đa máy tính sử dụng trình quản lý bộ nhớ ngoài không lôgic kết hợp cho xử lý nhiều phần lõi ; phân hệ XMM chịu trách nhiệm về duy trì nhất quán dữ liệu giữa nhiều phần lõi chia sẻ bộ nhớ và làm phần lõi này trông có vẻ như phần lõi đơn đến trình quản lý bộ nhớ. Phân hệ XMM cũng triển khai lôgic bản sao ảo cho đối tượng mapped nó quản lý. Lôgic bản sao ảo này bao gồm cả bản sao - trên - tham chiếu giữa phần lõi đa máy tính tinh vi và bản sao - trên - ghi tối ưu hoá.

VẤN ĐỀ 7:

VẤN ĐỀ 7: PROGRAMMER INTERFACE (GIAO THỨC PROGRAMMER INTERFACE (GIAO THỨCLẬP TRÌNH CỦA HỆ ĐIỀU HÀNH MACH) LẬP TRÌNH CỦA HỆ ĐIỀU HÀNH MACH)

LẬP TRÌNH CỦA HỆ ĐIỀU HÀNH MACH)

Một lập trình viên có thể làm việc ở nhiều cấp độ trong vòng Mach. Giao diện hiện tại có mức độ gọi hệ thống trong Mach 2.5 tương đương với lời gọi hệ thống BSD 4.3. phiên bản 2.5 bao gồm hầu hết là BSD 4.3 như một sợi hạt nhân. Hệ thống BSD là cái bẫy gọi đến hạt nhân và là dịch vụ của thành viên này thay cho chủ đề của người gọi, như là tiêu chuẩn BSD sẽ xử lý nó. Mô phỏng là không đa mạch, vì vậy nó có hiệu quả hạn chế.

Mach 3.0 đã chuyển từ mô hình máy chủ nhiều các máy chủ. Do đó, nó đã trở thành một vi nhân thực sự mà không có các tính năng đầy đủ thường được tìm thấy trong hạt nhân. Thay vào đó, chức năng hoàn toàn có thể được cung cấp thông qua mô phỏng của các thư viện, máy chủ, hoặc kết hợp cả hai. Để phù hợp với định nghĩa của phần lõi các thư viện mô phỏng và các máy chủ chạy ra ngoài hạt nhân ở cấp độ người dùng. Bằng cách này, có thể chạy nhiều hệ điều hành trên một vi Mach 3.0.

Một thư viện mô phỏng là tập hợp các thủ tục trong bộ phận chỉ- đọc của một khoảng không gian địa chỉ của chương trình. Bất kì hệ điều hành gọi chương trình làm được dịch sang gọi chương trình con đến thư viện. Người sử dụng hệ điều hành, chẳng hạn như MS- DOS và hệ điều hành Macintosh, đã được tiến hành như một thử viện mô phỏng. vì lý do hiệu quả sử dụng, thư viện mô phỏng trong không gian địa chỉ của chương trình cần tính năng của nó, nhưng trong lý thuyết, nó có thể là một công việc tách biệt.

Hệ thống điều hành phức tạp được mô phỏng thông qua việc sử dụng các thư viện và một hoặc nhiều máy chủ. Các cuộc trong hệ thống mà không thể thực hiện được trong

thống có thể được chia ra thành nhiều máy chủ cho các modul lớn.

Chức năng, một cuộc gọi hệ thống bắt đầu từ một nhiệm vụ và đi qua các hạt nhân trước khi được chuyển, nếu thích hợp, nó chuyển đến thư viện trong địa chỉ của nhiệm vụ không gian hoặc đến một máy chủ. Mặc dù chuyển giao kiểm soát thêm này sẽ làm giảm hiệu quả của Mach, hiệu quả này phần nào đã được cải thiện tốt khả năng cho nhiều chủ đề để thực hiện mã BSD giống như đồng thời.

Ở cấp độ lập trình cao hơn kế tiếp là chủ đề gói C. Gói này là một thư viện cung cấp giao diện ngôn ngữ C cơ bản. Nó cung cấp truy cập thuận lợi để các nguyên thủy bao gồm cả thói quen cho các thường trình rẽ nhánh và tham gia các chủ đề, loại trừ lẫn nhau, thông qua các biến mutex, và đồng bộ hóa thông qua sử dụng các biến điều kiện. Đáng tiếc là nó không thích hợp cho các chủ đề gói C được sử dụng giữa các hệ thống chia sẻ không có bộ nhớ (Norma hệ thống) vì nó phụ thuộc vào bộ nhớ chia sẻ để thực hiện các cấu trúc của nó. Hiện tại nó không tương đương với chủ đề C cho hệ thống Norma. Khác đó là thời gian chạy thư viện đã được viết cho Mach, bao gồm các chủ đề hỗ trọ cho các ngôn ngữ.

Mặc dù sử dụng kiểu nguyên thủy làm cho Mach linh hoạt, nó cũng làm cho nhiều lập trình viên làm nhiệm vụ lặp đi lặp lại. VD: một lượng đáng kể của mã kết hợp với việc gửi và nhận thông báo trong mỗi nhiệm vụ sử dụng thông báo(Mach, hầu hết các nhiệm vụ). Do đó, các nhà thiết kế Mach đã cung cấp một bộ sinh giao diện(máy phát điện sơ khai) được gọi là MIG. MIG bản chất là một trình biên dịch lấy như đầu vào một định nghĩa của giao diện được sử dụng (khai báo biến, laoij bỏ thủ tục) và tạo ra mã giao diện RPC cần thiết, để gửi và nhận thông báo phù hợp với định nghĩa này và thông báo để gửi và nhận được chủ đề này.

VẤN ĐỀ 8:

VẤN ĐỀ 8: CONCLUSION (TÓM TẮT VỀ HỆ ĐIỀU HÀNH CONCLUSION (TÓM TẮT VỀ HỆ ĐIỀU HÀNHMACH) MACH)

MACH)

- Hệ điều hành Mach được thiết kế với nhiều đổi mới để liên kết chặt chẽ trong nghiên cứu để tạo ra hệ điều hành thiết thực, đầy đủ, tiên tiến về mặt kỹ thuật.

- Hệ điều hành Mach được thiết kế với ba mục tiêu quan trọng sau :

1. Mô phỏng BSD 4.3 UNIX sao cho tập tin có thể thực hiện từ hệ UNIX có thể chạyđúng theo Mach.

2. Có hệ điều hành hiện đại hỗ trợ nhiều mô hình bộ nhớ, song song và phân phối máy tính.

3. Thiết kế phần lõi là đơn giản và dễ sửa đổi hơn là BSD 4.3

- Như chúng ta đã thấy, hệ điều hành Mach sắp đạt được mục tiêu này.

- Hệ điều hành Mach 2.5 bao gồm BSD 4.3 trong phần lõi của nó, cung cấp các mô phỏng cần thiết nhưng tăng kích thước phần lõi. Mã BSD 4.3 đã được viết lại để cung cấp cùng 4.3 chức năng, nhưng để sử dụng Mach truyền thống. Thay đổi này để BSD 4.3 hỗ trợ chạy trong không gian người dùng trên hệ thống Mach 3.0 .

- Mach sử dụng quy trình thấp, dưới dạng nhiều luồng được thực hiện trong một tác vụ (hoặc khoảng không gian địa chỉ) để hỗ trợ đa xử lý và song song tính toán. Sử dụng rộng rãi các thông báo như các thông tin liên lạc duy nhất bảo đảm rằng cơ chế bảo vệ an toàn và hiệu quả. Do tích hợp thông báo với hệ thống bộ nhớ ảo, Mach cũng bảo đảm rằng thông báo có thể xử lý hữu hiệu. Cuối cùng, bởi có hệ thống bộ nhớ ảo dùng thông báo để

trong việc thiết kế và thực hiện các bộ nhớ đối tượng quản lý tác vụ.

- Bằng cách cung cấp ở mức độ thấp, hoặc truyền thống, cuộc gọi hệ thống từ đó phức tạp hơn, các chức năng có thể được xây dựng, Mach làm giảm kích thước của phần lõi trong khi cho phép hoạt động hệ điều hành ở mức độ người dùng, giống như hệ thống bộ nhớ ảo của IBM.

 Trên đây là tổng hợp tất cả các vấn đề do cả nhóm cùng thảo luận và tìm hiểu. Bài báo cáo của nhóm còn nhiều thiếu xót, chúng em rất mong nhận được lời đóng góp và nhận xét của cô cùng toàn thể các bạn! Chúng em cảm ơn cô và các bạn đã lắng nghe bài báo cáo này! (adsbygoogle = window.adsbygoogle || []).push({});

Chỉnh sửa: Lâm Thị Minh Nguyệt và Vũ Hoài Thương Chỉnh sửa: Lâm Thị Minh Nguyệt và Vũ Hoài Thương

Một phần của tài liệu bài tập lớn môn Kiến trúc máy tính Đề tài The Mach System (Trang 38)