Sự khác biệt giữa hypanneror và exokernel


7

Một trình ảo hóa (loại 1) là một phần mềm tạo và chạy các máy ảo, quản lý các yêu cầu của hệ thống khách hàng đối với phần cứng.
Một exokernel là một kernel hệ thống hoạt động, cho phép các chương trình truy cập trực tiếp vào phần cứng hoặc, với sự hỗ trợ của các thư viện cụ thể thực hiện các abst, chạy các loại thực thi khác nhau cho kiến ​​trúc đó .

Cả hai đều là một lớp trừu tượng giữa phần cứng và phần mềm ứng dụng.
Cả hai đều cho phép bạn chạy trên cùng một máy thực thi / phần mềm / hệ thống hoạt động khác nhau / bất cứ thứ gì

Vậy sự khác biệt giữa hai là gì?


Tôi không biết nếu đây là ontopic; khái niệm "hypanneror" dường như nằm ngoài phạm vi ở đây, trong khi "kernel" có lẽ là không.
Raphael

2
Tại sao nó không phải là ontopic? Câu hỏi này, sau khi được trợ giúp , không phải về lập trình, không phải về một phần sw / hw cụ thể, không phải về tính toán số và tôi đang hỏi về khái niệm khoa học đằng sau hai phần mềm được mô tả
bao gồm

Câu trả lời:


7

Thứ chạy trên đỉnh của một trình ảo hóa là một hoặc nhiều hệ điều hành đầy đủ. Một trình ảo hóa ảo hóa phần cứng, để mỗi hệ điều hành bị "lừa" tin rằng nó có toàn bộ máy. Thiên tài kỹ thuật đi vào các siêu giám sát là làm thế nào để cung cấp ảo hóa này với chi phí thấp hoặc miễn phí (so với việc chạy một hệ điều hành trực tiếp trên phần cứng vật lý.)

Thứ chạy trên exokernel là một loạt các quy trình ở cấp độ người dùng. Mỗi quy trình gắn liền với một thư viện (có thể cùng một thư viện có thể là các thư viện khác nhau) cung cấp các dịch vụ và chính sách khác nhau. Mục tiêu của exokernel là chỉ cung cấp sự bảo vệ (ngăn không cho một quá trình sử dụng các tài nguyên dành cho một quy trình khác) và để các chương trình cấp người dùng chọn các chính sách hiệu quả nhất cho chúng. Exokernel thực sự là một dự án nghiên cứu với đầu ra chính là một loạt các nghiên cứu về các loại dịch vụ hệ điều hành khác nhau và các rào cản để triển khai các dịch vụ đó một cách hiệu quả. Một cách khác để xem dự án Exokernel là đó là một dự án để điều tra cách tạo ra một hạt nhân Điều đó không hiệu quả và chậm chạp.

Một trong những vấn đề lớn với microkernels là chúng liên tục "vượt qua ranh giới quá trình" và / hoặc chuyển đổi qua lại giữa chế độ người dùng và chế độ kernel thường xuyên hơn so với hạt nhân nguyên khối (như Linux.) Chi phí chuyển đổi từ chế độ người dùng sang chế độ kernel hoặc từ chế độ kernel sang chế độ người dùng cao đáng ngạc nhiên (trong 1000 chu kỳ máy trên mỗi công tắc).

Tôi không rõ dự án Exokernel ở mức độ nào đã thành công hay thất bại. Chắc chắn có một số trường hợp họ đã đưa ra những cách mới đáng ngạc nhiên để cung cấp bảo vệ tài nguyên (như mô hình đĩa của họ trong đó hệ điều hành quản lý quyền cho các khối đĩa và toàn bộ hệ thống tệp được quản lý ở cấp độ người dùng). Họ cũng có thể tận dụng một số ý tưởng hay trong khoảng thời gian đó, ví dụ, các kỹ thuật Lập kế hoạch Xổ số của Carl Waldsburg. Và có một số trường hợp trong đó bảo vệ dựa trên khả năng hóa ra khá hiệu quả.

Có những trường hợp khác trong đó việc cung cấp sự linh hoạt chính sách đã làm tăng đáng kể số lượng giao cắt ranh giới hạt nhân và họ phải sử dụng các kỹ thuật khác. Ví dụ, trong lọc gói mạng thay vì thực hiện lọc ở cấp độ người dùng, họ đã thực hiện trong kernel, nhưng cung cấp cho chương trình người dùng khả năng gửi một chương trình nhỏ (bằng ngôn ngữ lập trình hạn chế (và do đó an toàn) sẽ chạy trong hạt nhân. Những ý tưởng tương tự trong lĩnh vực này đã được điều tra cùng lúc bởi dự án hệ điều hành SPIN của Đại học Washington .


1
Nghe có vẻ như sự khác biệt giữa paravirtualization (trong đó HĐH nhận thức được rằng nó không chạy trực tiếp trên phần cứng và có thể khai thác giao diện giao tiếp với bộ ảo hóa) và mô hình exokernel có thể hơi mờ.
Paul A. Clayton
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.