Kategorie:
27

Codezero 0.1

Codezero to nowa implementacja mikrojądra z rodziny L4, przeznaczona głównie dla urządzeń wbudowanych. Licencjonowana jest na GNU GPLv3.

Ta rodzina jąder zawiera już m.in. L4Ka::Pistachio, L4/MIPS i Fiasco. Twórcy Codezero chcą jednak stworzyć coś bardziej eleganckiego i prostszego niż te istniejące już implementacje.

Codezero 0.1 składa się z mikrojądra, biblioteki przestrzeni użytkownika libL4 oraz zestawu kilku usług POSIX (to tylko przykładowy zestaw — można będzie nawet zaimplementować wiele równoległych interfejsów). W wersji 0.2 ma się pojawić wirtualizacja i izolacja w kontenerach, rozszerzenie obsługi POSIX-a oraz wywołanie L4_PLATFORM_CONTROL (zarządzanie standardowymi parametrami kości typu SoC).

W dalszej perspektywie projekt ma obsłużyć architektury ARM11MPCore, ARM v6 i x86, a także dostosować Linuksa jako wirtualne jądro na bazie mikrojądra Codezero.

Więcej informacji: http://www.osnews.com/story/21659/Codeze...1_Released

«
»

Znalazłeś literówkę? Zgłoś ją używając formularza!


Jeśli uważasz, że ten nius jest nieobiektywny, przedstawia nieprawdziwe wydarzenie, jest spamem lub nie spełnia standardów serwisu, napisz raport.

Niusy na podobny temat:

Komentarze (RSS)

Komentarze są prywatnymi opiniami dodających je osób. Prosimy o zachowanie kultury wypowiedzi. Komentarze obraźliwe oraz obniżające poziom serwisu będą usuwane. Więcej w regulaminie komentowania.

41 komentarzy

zwiń wątek jellonek  17 czerwca 2009 o godz. 10:00 #
Gravatar

bardzo interesujaca informacja!

sam nieco wypadlem z obiegu w kwestii l4, tak wiec chetnie doczytam co sie zmienilo w przeciagu ostatniego rocku ;)

moze to kolejna szansa dla hurda? ;P

(Poniżej tego poziomu komentarze nie będą zagnieżdżane)
zwiń wątek trasz  17 czerwca 2009 o godz. 10:28 #
Gravatar

@jellonek: Pytanie, po co ktokolwiek mialby chciec uzywac Hurda, skoro sa inne, lepsze systemy – takze oparte o mikrojadro.

zwiń wątek jellonek  17 czerwca 2009 o godz. 13:02 #
Gravatar

to byl tylko taki zart ;)

btw. o ktorych systemach piszesz? bo mam nadzieje ze nie o macosx ;)

 
zwiń wątek ptecza  17 czerwca 2009 o godz. 13:15 #
Gravatar

@trasz: Pytanie na pytanie, po co ktokolwiek miałby chcieć używać Linuksa, skoro były inne, lepsze systemy – także odmiany Uniksa? Odpowiedź: widocznie były takie powody, skoro Linux zyskał przez te lata istnienia na popularności i wciąż się dynamicznie rozwija :)

Tak samo może, ale nie musi, być w przypadku Hurda. Sięgną po niego osoby, które lubią eksperymenty techniczne i chcą się nauczyć czegoś nowego, które nie lubią ani Linuksa ani *BSD albo którym po prostu się nudzi :) Powodów może być o wiele więcej.

zwiń wątek trasz  17 czerwca 2009 o godz. 14:11 #
Gravatar

@jellonek: OSX nie jest oparty o mikrojadro. Bazuje na Machu, ale wszystko chodzi w jednej przestrzeni adresowej.

 
zwiń wątek jellonek  17 czerwca 2009 o godz. 18:17 #
Gravatar

wlasnie dlatego mialem nadzieje ze nie miales go na mysli ;)

dobrze wiem jak wyglada wnetrze macosx ;)

ciekaw tylko jestem – ktore systemy (procz qnx) miales na mysli?

 
zwiń wątek trasz  17 czerwca 2009 o godz. 19:25 #
Gravatar

@jellonek: Z darmowych? Chociazby MINIX3. Z komercyjnych? Cala masa systemow zagniezdzonych – QNX, VxWorks, LynxOS.

 
zwiń wątek Przemek  18 czerwca 2009 o godz. 10:12 #
Gravatar

@trasz: a wiesz ile kosztują licencje na VxWorks? :]

QNX używałem jeszcze na studiach. ceny nie znam (ciekawe, czy podobnie jak VxWorks :]), ale system zrobił na mnie naprawdę dobre wrażenie…

 
zwiń wątek trasz  18 czerwca 2009 o godz. 14:36 #
Gravatar

@Przemek: Troche wiecej, niz na Montaviste.

 
zwiń wątek iniside  18 czerwca 2009 o godz. 22:11 #
Gravatar

To, ze cos dziala w jednej przestzeni adresowej nie znaczy, ze nie jest mikrojądrem. Chociazby Singularity. Tam kernel, i wszystko inne moze byc wrzucone w te sama przestrzen adresowa, mimo wszystko dalej jest to jak najbardziej micorkernel. Chyba czas przedefiniowac, czym jest microkernel.

 
zwiń wątek trasz  21 czerwca 2009 o godz. 20:44 #
Gravatar

@iniside: Singularity to insza inszosc, bo to chodzi w managed code. Cos jak w OS/400, mniej wiecej. I nie uwazam, zeby to byl mikrokernel.

 
zwiń wątek iniside  22 czerwca 2009 o godz. 10:21 #
Gravatar

Tylko, ze to jest mirkokernel. Wszystko, zgadza sie ogolna specyfika takowego, poza tym ze zrezygnowano ze sprzetowej izolacji procesorw (nie ma przelaczania kontekstu). No moze nie do konca. NAdal istnieje jako opacja, wiec jak ktos chce wprowadzic dodatkowa warstwe sprzetowa zeby izolowac proces to ma taka mozliwosc.

A tak pozatym ? jest jadro ktore wykonuje, tylko podstwowe czynnosci, sa sterowniki, ktore sa kompletnie odizolowane od jadra itd. Micokernel jak sie patrzy. To ze zbudowany na zuplenie innej zasadzie, niz tradycyjne systemy, nie jest w stanie temu zaprzeczyc ;p.

 
 
 
 
zwiń wątek PLum  17 czerwca 2009 o godz. 11:29 #
Gravatar

ja widze ze koligen @trasz wszedzie swoje 13 groszy musi wepchac.

(Poniżej tego poziomu komentarze nie będą zagnieżdżane)
zwiń wątek M  17 czerwca 2009 o godz. 12:27 #
Gravatar

A czy nie ma racji? Bo ja też uważam, że nie warto zawracać sobie głowy systemem, który tworzony jest 25 lat i jeszcze go nie ukończono, i jest powodem koszmarów pewnego biegającego boso brodatego hakera, który nie może przeboleć, że taki Torvalds dołożył do systemu GNU najważniejszą część.

zwiń wątek kocio  17 czerwca 2009 o godz. 12:33 #
Gravatar

Słusznie – więc po prostu nie zawracaj sobie nim głowy.

 
zwiń wątek jellonek  17 czerwca 2009 o godz. 13:04 #
Gravatar

nikt nie broni Ci tak uwazac ;)

 
zwiń wątek mby7930  17 czerwca 2009 o godz. 19:53 #
Gravatar

"A czy nie ma racji?"

Nie ma racji. Standardowo dla niego.

zwiń wątek norbert_ramzes  18 czerwca 2009 o godz. 21:08 #
Gravatar

> Nie ma racji. Standardowo dla niego.

Czasem ma rację, ale niezwykle rzadko.

 
 
 
 
zwiń wątek wojtekm  17 czerwca 2009 o godz. 13:08 #
Gravatar

Z niecierpliwością czekamy na implementację YAL4HI (Yet Another L4 Hyperimplementation). Ta implementacja w końcu zmiecie z powierzchi Ziemii niedorobione monolity – ot co!

Czy historia HURD-a i kolejnych jego mikrojąder nie jest najlepszym dowodem na to, że teoria z praktyką czasami jest nie do pogodziena, a Torvalds miał po prostu rację?

(Poniżej tego poziomu komentarze nie będą zagnieżdżane)
zwiń wątek Swift Geek  17 czerwca 2009 o godz. 13:46 #
Gravatar

Fajna nazwa ;]

 
zwiń wątek kocio  17 czerwca 2009 o godz. 13:57 #
Gravatar

Nie zastanawiam się, czy rację miał Torvalds czy Tannenbaum. Ważne, że obaj zrobili coś sensownego.

Jeden zrobił popularną implementację modularną (bo to nie jest czyste jądro monolityczne!), a drugi na MINIX 3 pokazał, jak dobrze mieć system, który nie tylko się nie przewróci, jak mu np. sterownik sieciowy nabruździ i na koniec przestanie działać, ale jeszcze w ułamku sekundy, nie przerywając reszty swoich funkcji, podniesie sieć na nowo.

I to nie znaczy, że nie da się łączyć tych pomysłów — jest koncepcja podobnego odseparowania całej warstwy sterowników od jądra Linux, żeby uzyskać podobny efekt. W tym sensie monolity chyłkiem się wycofują i powoli modularyzują.

zwiń wątek trasz  17 czerwca 2009 o godz. 14:15 #
Gravatar

@kocio:

1. To, ze Linux obsluguje moduly, tak naprawde nic juz dzis nie znaczy. Chyba kazdy system "monolityczny" je obsluguje. A modularyzacja Linuksa nie jest posunieta tak daleko, jak modularyzacja Windows czy Solarisa, gdzie w modulach masz niemal wszystko.

2. Historia o sterowniku sieciowym jest urocza, ale pomija jeden, kluczowy element – w typowej maszynie zgodnej z x86 kazde urzadzenie PCI moze robic, co mu sie zywnie podoba. Wiec jesli sterownik karty sieciowej zle zaprogramuje silnik DMA sieciowki, to cala mikrokernelowatosc nic na to nie poradzi.

zwiń wątek kocio  17 czerwca 2009 o godz. 14:43 #
Gravatar

1. I czego to dowodzi?

2. Skąd pomysł, że mikrojądra załatwiają wszystkie problemy informatyczne?

 
zwiń wątek wojtekm  17 czerwca 2009 o godz. 16:25 #
Gravatar

@kocio:

Moduł w Linuksie jest integralną częścia przestrzeni jądra, modularyzacja polega tylko na tym, że nie musi być załadowany jeśli nie jest używany jego kod. Jest to ten sam monolit, tylko efektywniej wykorzystujący pamięć – nota bene – dzisiaj przydaje się to głównie w zastosoanich embedded, bo co mi z dodatkowych 200kb przestrezni adesowej jeśli mam 2-4GB?

Owszem, jest FUSE i mechanizmy do wspierania sterowników w przestrezni użytkownika, ale to tym dobitniej pokazuje, że monolity są pod tym względem po prostu bardziej elastyczne.

Wracając do kwestii "stabilności" mikrojąder, powiedz co mi z tego, że mikrojądro będzie działać stabilnie jeśli wykrzaczy się demon z systemem plików albo, jeszcze lepiej, obsługa konsoli? Będę sobie mógł tak samo gwizdnąć, jak w *BSD gdy wyskoczy mi kernel debugger i wysłać grzecznie raport deweloperom, że mają zrąbany system, a potem zapuścić po bożemu fsck (no chyba że jest coś lepszego z journalingiem – w HURD-zie, od dłuższego czasu, cała para idzie w tak wydawało by się z definicji niewielki komponent jak mikrojądro…)

Z punktu widzenia użytkowego nie widzę specjalnej różnicy w stosunku do kernel panic – tam też można sobie wysłać raport…

Po początkowych zachwytach, jeszcze 10 lat temu, patrzę na tego HURD-a z coraz większym zażenowaniem, jest to dla mnie powoli klasyczny przykład tego jak praktyka weryfikuje różne pomysły, z pozoru wyglądające sensownie, ale w dalszej perspektywie nieco utopijne. Owszem są niszowe zastosowania dla tych systemów, ale zapowiadanej rewolucji jak nie było tak wciąż nie widać na horyzoncie, czy to był Mach (tu jeszcze MacOS X coś pokazał, ale też jak przyszło co do czego to wyszło marnie w zastosowaniach serwerowych), czy L4…

 
zwiń wątek jarek  17 czerwca 2009 o godz. 17:30 #
Gravatar

> demon z systemem plików albo, jeszcze lepiej, obsługa konsoli?

Oh to proste, reszta kernela (czyt. caly system) nie leci na pysk.

Czyli jak posypie Ci sie driver do konsoli, nadal Twoj serwer www

serwuje kontent czy router/firewall przerzuca pakiety. Jesli poleci

Ci system plikow moze byc gorzej, ale nadal jest szansa, ze

polecial system plikow nie krytyczny i reszta systemu, Twoje www

na przyklad dziala, a juz na pewno przewalanie pakietow bedzie dzialac.

W obu przypadkach masz szanse zalogowac sie przez SSH i cos

z tym zrobic, albo nawet automat w kernelu moze probowac

podniesc dany serwis / driver.

 
zwiń wątek trasz  17 czerwca 2009 o godz. 19:28 #
Gravatar

@kocio:

1. Dowodzi tego, ze Linux to jak najbardziej _jest_ czyste jadro monolityczne.

2. Demonstruje ci po prostu, ze na rzeczywistym sprzecie zalety mikrokerneli wcale nie sa specjalnie zauwazalne.

@wojtekm: Jest restarter. Przynajmniej w niektorych systemach. ;-)

@jarek: Jak czesto system wywala ci sie przez blad w czyms, czego nie uzywasz? ;->

 
zwiń wątek Ponton  17 czerwca 2009 o godz. 19:35 #
Gravatar

> serwuje kontent

Aż taki zadowolony jest? ;)

 
zwiń wątek jellonek  17 czerwca 2009 o godz. 20:32 #
Gravatar

wojtekm: problemem hurda bylo to, ze oparli sie o bardzo malo wydajny microkernel (mach3 – ten sam z ktorego bazy wyrosl macosx). l4 to calkiem inna klasa. podobnie jak komercyjne jadra qnx.

 
zwiń wątek wojtekm  18 czerwca 2009 o godz. 9:27 #
Gravatar

@jarek: Jest też coś takiego jak watchdog i nie trzeba do tego mikrokernela.

@jellonek: Tylko wciąż nie widać wyraźnego progresu, przecież na L4 nie zdecydowali się wczoraj.

 
zwiń wątek jarek  18 czerwca 2009 o godz. 11:41 #
Gravatar

> @jarek: Jest też coś takiego jak watchdog i nie trzeba do tego mikrokernela.

Tak i jesli przekreci sie monolityczny kernel, zgadnij

co sie stanie z tym watchdogiem?

No chyba, ze mowisz o sprzetowym, ale to chamskie rozwiazanie

i wprowadza niekotrolowany downtime.

 
zwiń wątek jellonek  18 czerwca 2009 o godz. 11:46 #
Gravatar

wojtekm: bo na l4 nie zdecydowali sie w ogole… niby byla przymiarka, ale l4hurd umarl chyba z 2 lata temu (jak nie wiecej)

 
zwiń wątek wojtekm  18 czerwca 2009 o godz. 15:25 #
Gravatar

@jarek:

Jakby kernel byl jednowatkowy to bys mogl tak pisac, ale tak sie sklada, ze sa jeszcze przerwania i zwiazane z nimi niezalezne sciezki wykonania.

Prezentujesz typową ignorancje przejawiajaca sie myśleniem o kernelu monolitycznym jak o zwyklym programie "hello world" – jak sie przekreci to pewnie zrzuci jeszcze pamiec na dysk i umrze. Tymczasem kernel monolityczny różni się od mikrojadra nie tym, że się przekręca zawsze w całości, tylko tym, że ma wspólną przestrzeń adresową dla swoich wątków, co pozwala mu działać w sposób najbardziej efektywny bez ograniczeń pośrednich interfejsów i dodatkowego, większego często o rząd wielkości narzutu związanego ze zwiększoną ilością przełączeń kontekstu. Oczywiście to zwieksza ryzyko ew. "powikłań", ale nie implikuje w prosty sposób błędnego działania całego systemu w razie awarii, któregoś z podsystemów. O "Ooops-ach" słyszałeś? To właśnie takie awarie wewnątrz systemu, nie powodujące jego zwisu.

 
zwiń wątek kocio  19 czerwca 2009 o godz. 9:34 #
Gravatar

Nie bardzo mam czas się włączyć do tego wątku, ale znalazłem ten tekst a propos izolowania sterowników:

http://lwn.net/Articles/217366/

Nie żeby to dodawało argumenty z jednej albo drugiej strony sporu, po prostu wydaje mi się to bardzo sensowna idea.

 
zwiń wątek jarek  19 czerwca 2009 o godz. 23:34 #
Gravatar

@wojtekm

Prezentujesz typowa ignorancje pomijajaca fakt, ze monolit

po prostu obsluguje wszytko w kernelspace, czyli to, ze masz

niezalezne sciezki wykonania dla przerwan nie chroni Cie przed

rozwalka przestrzeni adresowej kernela przez skopany driver.

> Oczywiście to zwieksza ryzyko ew. “powikłań”, ale nie implikuje w

> prosty sposób błędnego działania całego systemu w razie awarii,

> któregoś z podsystemów.

Odkrywcze, zupelnie jak to, ze nie kazdy blad konczy sie segfault.

 
 
zwiń wątek janc  17 czerwca 2009 o godz. 14:33 #
Gravatar

@kocio

Ładowanie modułów nijak ma się do monolityczności kernela.

 
 
zwiń wątek LV  17 czerwca 2009 o godz. 14:10 #
Gravatar

A implementację zakończy YASD.

 
 
zwiń wątek Moro  17 czerwca 2009 o godz. 17:45 #
Gravatar

"W dalszej perspektywie projekt ma obsłużyć architektury ARM11MPCore, ARM v6 i x86"

a na jaką architekturę jest obecnie to jądro?

(Poniżej tego poziomu komentarze nie będą zagnieżdżane)
zwiń wątek jellonek  17 czerwca 2009 o godz. 20:33 #
Gravatar

wystarczy zajrzec do systemu kontroli wersji by sie przekonac ze obecnie jedynie armv5 jest zakodowany w stopniu podstawowym.

 
 
zwiń wątek kocio  17 czerwca 2009 o godz. 23:05 #
Gravatar

Nie ma sensu pisać osobnego niusa, ale jeśli kogoś interesują mikrojądra na wolnych licencjach to polecam:

http://www.osnews.com/story/21685/Jari_OS_0_0_1_A

(Poniżej tego poziomu komentarze nie będą zagnieżdżane)
 
zwiń wątek krzabr  18 czerwca 2009 o godz. 16:15 #
Gravatar

Najlepsza opcją by byłsystem który umożliwiłby bezproblemowe kompilowanie i uruchamianie programów z linuxa , bsd , Osolarisa czy mac os :)

(Poniżej tego poziomu komentarze nie będą zagnieżdżane)
zwiń wątek wojtekm  18 czerwca 2009 o godz. 16:49 #
Gravatar

Jest taki, nazywa się wirtualizacja ;) . Hint: nie wystarczy móc uruchomić binarkę, trzeba jeszcze mieć często całe środowisko uruchomieniowe.

 
 

Uwaga! Niektóre komentarze, m.in. te dodane przez niezalogowanych i nowych użytkowników, są ręcznie moderowane. Jeśli Twój komentarz nie ukaże się od razu, nie dodawaj go ponownie, tylko cierpliwie poczekaj na akceptację.

W komentarzach możesz używać prostych znaczników HTML. Przykłady:
  • Link: <a href="http://osnews.pl">OSnews: niusy IT</a>,
  • Wytłuszczenie: <strong>tekst pogrubiony</strong>,
  • Kursywa: <em>tekst pochylony</em>,
  • Przekreślenie: <strike>tekst przekreślony</strike>,
  • Kod: <code>printf("blok kodu");</code>,
  • Cytat: <blockquote>cytat</blockquote>
Uwaga: jeśli dodasz nieznany znacznik, będzie on niewidoczny, gdyż system filtruje takie znaczniki.

Wszystkie autorskie niusy w serwisie publikowane są na licencji Creative Commons Uznanie autorstwa 2.5 Polska.

Twoja sugestia