Jadro monolityczne vs. mikrojadro 9 grudnia 2008
Jadro monolityczne vs. mikrojadro Jadro monolityczne vs. mikrojadro
Jadro monolityczne vs. mikrojadro Jadro monolityczne Aplikacje użytownika wywołania systemowe Jakie usługi świadczy? Jak aplikacja użytkownika komunikuje się z jadrem? Jądro monolityczne (moduły) zarządza: 1) niskopoziomową przestrzenią adresową 2) wątkami 3) komunikacją międzyprocesową (IPC) 4) sterowniki urządzeń 5) sieć 6) systemy plików 7) interfejs użytkownika Jądro Monolityczne
Jadro monolityczne vs. mikrojadro Serwery obsługują: 1) sterowniki urządzeń 2) sieć 3) systemy plików 4) interfejs użytkownika Aplikacje użytownika IPC Jakie usługi świadczy? Jak aplikacja użytkownika komunikuje się z jadrem? Mikrojądro zarządza: 1) niskopoziomową przestrzenią adresową 2) wątkami 3) komunikacją międzyprocesową (IPC) Mikrojądro
Jadro monolityczne vs. mikrojadro, IPC komunikacja: synchroniczna asynchroniczna
Jadro monolityczne vs. mikrojadro Quiz: Jadro monolityczne czy mikrojadro? Które zachowa się lepiej w poniższych sytuacjach? 1. Jako system czasu rzeczywistego? 2. Połaczenie sieciowe padło z powodu przepełnienia bufora wywołanego przez atak na system poprzez przegladarkę internetowa? 3. Żle współpracujacy IPC z CPU (komunikacja międzyprocesowa korzysta z procesora w sposób mało wydajny)? 4. Chcemy rozszerzyć zakres usług jadra? 5. Wiemy, że w jadrze jest bład i chcemy go znaleźć? 6. Chcemy uzyskać tania usługę dostępu do sterownika dla aplikacji użytkownika (w sensie liczby operacji wykonanych przez system)?
Jadro monolityczne vs. mikrojadro Jako system czasu rzeczywistego?
Jadro monolityczne vs. mikrojadro Jako system czasu rzeczywistego? mikrojadro -> łatwiej narzucić ograniczenia czasowe na małe jadro + serwer usługi jadro monlolityczne -> wiele modułów w jadrze, trudno kontrolować czasy wszystkich
Jadro monolityczne vs. mikrojadro Połaczenie sieciowe padło z powodu przepełnienia bufora?
Jadro monolityczne vs. mikrojadro Połaczenie sieciowe padło z powodu przepełnienia bufora? mikrojadro -> uszkodzona pamięć serwera odpowiedzialnego za połaczenia sieciowe jadro monlolityczne -> uszkodzone jadro
Jadro monolityczne vs. mikrojadro Żle współpracujacy IPC z CPU (komunikacja międzyprocesowa korzysta z procesora w sposób mało wydajny)?
Jadro monolityczne vs. mikrojadro Żle współpracujacy IPC z CPU (komunikacja międzyprocesowa korzysta z procesora w sposób mało wydajny)? jadro monlolityczne -> usługi systemowe w mikrojadrze oparte sa na komunikacji międzyprocesowej (IPC)
Jadro monolityczne vs. mikrojadro Chcemy rozszerzyć zakres usług jadra?
Jadro monolityczne vs. mikrojadro Chcemy rozszerzyć zakres usług jadra? mikrojadro -> wystarczy dodać nowy serwer jadro monolityczne -> trzeba dodać nowy moduł
Jadro monolityczne vs. mikrojadro Wiemy, że w jadrze jest bład i chcemy go znaleźć?
Jadro monolityczne vs. mikrojadro Wiemy, że w jadrze jest bład i chcemy go znaleźć? mikrojadro -> krótszy kod do przeczytania
Jadro monolityczne vs. mikrojadro Chcemy uzyskać tania usługę dostępu do sterownika dla aplikacji użytkownika (w sensie liczby operacji wykonanych przez system)?
Jadro monolityczne vs. mikrojadro Chcemy uzyskać tania usługę dostępu do sterownika dla aplikacji użytkownika (w sensie liczby operacji wykonanych przez system)? jadro monolityczne -> jadro ma bezpośredni dostęp do danych w buforze klienta mikrojadro -> pośredniczy w wymianie komunikatów między aplikacja użytkowanika, a serwerem udostępniajacym usługę dostępu do sterownika, co wymaga kopiowania komunikatu i zmiany kontekstu
Jadro monolityczne vs. mikrojadro vs. jadro monolityczne - zalety 1. Prostsza budowa jadra. 2. Prostsze do debugowania. 3. Prostsze do utrzymania. 4. Prostsze do dodawania/modyfikacji usług. 5. Wyższy poziom bezpieczeństwa. Jadro monolityczne 1. Ma lepsze czasy wykonywania usług. 2. Rzadziej zmienia tryb.