No ale po pravdě, právě mikrojádro na Mac OS X neoplývá bůh ví jakou rychlostí - ve srovnání s Linuxem nebo Windows. A proč se mikrojádro vyplatí a proč ho Apple zvolil? Přesouváme od jednoprocesorových počítačů k víceprocesorovým a vícejádrovým. Mikrojádro má mnohem lepší vyhlídky a nadějnější budoucnost při použití na víceprocesorových systémech. V monolytických jádrech bude s paralelním zpracováním dat vždy problém - to už je vidět nyní na jádře Linuxu.
Ja bych to chapal tak, ze moniliticke jadro klidne muze bezet paralelne na vice CPU(nejspis to bude i rychlejsi) kdyz to ale spadne tak se bude tezko dohledavat proc to spadlo. Mozna, ale ze to s mikrojadrem bude stejny, delat troubleshooting neceho co je zalozeny na zpravach je peklo, stacktrace je preci jenom citelnejsi.
>> V monolytických jádrech bude s paralelním
>> zpracováním dat vždy problém
>Muzete to trosku obsahleji vysvetlit?
Kdyz budu cynik, tak bude problem zpracovat je paralelne aniz by to zaroven bylo tak pomale jako na mikrojadru :-) . Ale ono to tak vlastne je - pokud je to na mikrojadru snazsi, tak proto, ze ty data jsou rozkopirovany, vtip je v tom to udelat bez kopii.
Mikrojádro ale právě často je bez kopií a bezpečné díky tomu, že paměť mezi procesy se sdílí a hlídá hardwarově pomocí stránkování, zatímco monolitické jádro musí vytvářet softwarové ochrany, které jsou stále pomalejší a pomalejší, protože vyžadují memory barriery, tedy serializaci, i v místech, kde by přístup k paměti mohl zkolidovat, ale v daný okamžik nezkoliduje.
Predpokladam ze pri monolitickom jadre sa niektore systemove sturktury zdielaju a kdeze vsetko bezi v jedom kernel space nieje problem aby ich omylom prepisal nejaky zly ovladac ktory neji dobre napisany ohladom smp a multithreadingu.To je dan za potencionalne vyssiu vykonnost monolitickeho jadra a riesi sa to zamkami a asi aj kadejakymi necistymi hackmi.Oproti tomu pri mikrojadre uz zo samotneho navrhu kazdy modul je samostatny a vlastne moze bezat ako thread na samostatnom jadre.
V podstate asi aj vdaka tomu mozu zacat byt mikrojadrove kernely atraktivnejsie.V casoch jednojadrovych procesorov nizsi vykon bol asi vyraznejsi (rezia kontext switchu atd.) ale dnes ked je jasny smer viacjadrovych procesorov to moze byt bez problemov.
On může mít mikrojádrový systém i vyšší výkon.
Lidský mozek nedokáže prostě udržet v hlavě všechny detaily nad určitou velikost. Takže jakmile to přesáhne určitý rozsah, tak se řada kódu i striuktur duplikuje. Vytvářejí se virtuální rozhraní a vnitřní volání kernelu. Obojí řeže výkon dolů.
Prostě unix byl postaven na pár desítkách tisíc zdrojových řádkách v kernelu a tam koncepty fungovaly báječně. Včetně konceptu výkonu a včetně konceptu spolehlivosti.
Mikrokernel není nic jiného, než tento koncept vrátit. Udělat opět maličký kernel.
Nad obrovským monolitem zvíci miliónů či desítek miliónů řádků prostě spolehlivost neuděláte a výkon také není takový jaký by mohl být, protože se prostě věci v jádře budou duplikovat (nikdo nemá přehled nad celým jádrem do detailů) a občas se budou věci propasírovávat vnitřními voláními jádra,které jsou tam také proto, aby lidský mozek byl schopen vývoj jádra vůbec ukočírovat.
Jinak pro tuto debatu je hlavní: Hurd a mikrojádrové os nejsou totožnou množinou, což tu řada diskutujících zcela zjevně nechápe.