Internet Info, s.r.o. Lupa Měšec Podnikatel Root Zdroják DigiZone Slunečnice Vitalia TopDrive KupDnes Navrcholu NovýTarif Dobrý web Weblogy Woko Jagg Computer.cz SK: MojeLinky

Hlavní navigace

Lákadla FreeBSD 6.0

V krátké době vyjde nová verze unixového operačního systému FreeBSD 6.0. Ani ne po roce od uvedení první produkční verze FreeBSD 5.x je zde nová major verze. Toto je důsledkem nového systému vývoje FreeBSD. Co se tedy změnilo a jaká jsou lákadla nového FreeBSD?

Tweetni to Twitter Jaggni to! Jagg Del.icio.us Delicious
FreeBSD

FreeBSD 6.x je evolučním vylepšením oproti předchozí řadě 5.x, jsou zde mnohá menší vylepšení (at už bugfixy, či velmi četné performance tweaky). Nicméně i v této verzi najdeme mnoho zajímavých novinek. Ty, které považuji za zajímavé, vám lehce představím, zbytek si můžete přečíst v release-notes, popř. na mailing listech či v cvs logách. Nekladu si za cíl kompletní seznam změn. Doufám, že můj článek doplníte v diskusi …

V létě 2005 byl zaplacen z komunitních peněz Poul-Henning Kamp, aby pracoval na přepsání částí IO subsystému (podobně jako je nyní placen Andre Oppermann za optimalizaci síťového stacku). V rámci této práce Poul zoptimalizoval používání zařízení v /dev, kdy napsal takzvaný device vnode bypass, což vyústilo v 2× rychlejší dd if=/dev/zero of=/dev/null. V novém FreeBSD už není možné používat zařízení mimo devfs, což zjednodušilo kód FS (není nutné se o to starat v UFS/FFS a zjednodušila se obsluha device vnode aliasingu). Další věcí, kterou udělal, bylo, že přepsal UFS/FFS, aby mluvilo přímo s GEOMem (io framework ve FreeBSD), a další věci. Celkově by mělo být IO ve FreeBSD 6 lepší (bezpečnější, škálovatelnější a rychlější). Poslední věcí, které se Poul věnoval, bylo přepsání tty subsystému. Tento pokus měl vést k Giant-free tty, nicméně není ještě hotovo. Zatím byl tty subsystém zjednodušen. Viditelnou změnou je přejmenování tty/cua zařízení v /dev.

V tichosti a podporován firmou Isilon Systems, Inc. se na podobnou oblast zaměřil Jeff Roberson, který přepsal VFS tak, aby nepoužívalo Giant mutex, a umožnilo tak několika procesům na různých CPU pracovat v jádře zároveň. Během této práce bylo nalezeno a odstraněno mnoho chyb, ať už závažnějších, které mohly vést k problémům, tak výkonostních. Celkově by měl být kernel na SMP rychlejší díky menšímu zatížení Giant mutexu.

FreeBSD se od Linuxu liší zejména vývojovým modelem. Pokud vás zajímá, jak probíhá vývoj FreeBSD, přečtěte si starší článek Způsob vývoje operačního systému FreeBSD.

Poslední závažnou změnou, která se týká IO, je nový ATA subsystém, který byl výrazně zmodernizován (podpora nových chipsetů, výrazná modularizace atd.). Mimochodem – nyní můžete kontrolovat, kdo vám zatěžuje disky, přímo v top, jen stiskněte písmenko m a je to.

Výše zmíněný zázračný hacker Jeff Roberson (kolují o něm neuvěřitelné historky) svého času napsal nový scheduler pro FreeBSD, takzvaný SCHED_ULE, který je ovšem ve všech řadách 5.x vypnutý kvůli své chybovosti. Všechny známé chyby byly nyní odstraněny, a to jak v UP, tak SMP konfiguracích, a tak nic nebrání tomu tento nový scheduler vyzkoušet.

FreeBSD používá poměrně sofistikovaný systém zamykání, zčásti je to z historických důvodů, zčásti kvůli tomu, že FreeBSD vývojáři jsou velmi vzdělaní. Každopádně první nástřel zamykání, tak jak byl představen v řadě 5.x, byl docela pomalý. V podstatě na všechno se používaly ty nejtěžší blokující mutexy. V řadě 6 je toto změněno. Všechny mutexy jsou teď adaptivní, tj. spinnují, pokud je předpoklad, že mutex bude brzy uvolněn, jinak pořád blokují.

Dalších změn se dočkaly konkrétní subsystémy. John Baldwin předělal kritické sekce, tak aby se u nich nemusela vypínat přerušení. Tím se staly kritické sekce velmi rychlým nástrojem na synchronizaci. Toho bylo hned využito v UMA (memory allocator) i na dalších místech. Výsledkem je poměrně výrazné zrychlení zamykání a tím celého kernelu. V řadě 7 jsou další optimalizace (reference counting), které dále zrychlují některé části kernelu (credentials atp.).

Z dalších zajímavých věcí je třeba zmínit změny v síťování. Byl kompletně nahrazen bridging implementací z NetBSD, isc-dhcp klient byl nahrazen dhcp z OpenBSD atd. FreeBSD 6.0R je také první verzí, kde je zcela bezpečné používat netisr dispatch, tj. že se packet zpracuje přímo v netisr threadu a není frontován pro pozdější zpracování. Dle benchmarku to má zajímavé (veskrze positivní) efekty na výkon. Hodně driverů také bylo přepsáno do MPSAFE podoby, kdy nepoužívají Giant mutex. Docela velkou změnou prošly wifi drivery, hlavně ty od atherosu (vývojář Sam Leffler pro firmu atheros přímo pracuje a je to znát), byl také integrován WPA.

V neposlední řadě bych zmínil integraci portsnap-u do base. Portsnap je sw pro aktualizaci portů, který je rychlejší, bezpečnější a celkově výrazně lepší než cvsup. FreeBSD má tedy poprvé přímo v base nástroj pro aktualizaci portů. K dispozici je mimochodem i testovací běh takzvaného docsnapu.

davame_internetu_obsah
       

V celém kernelu bylo provedeno dalších aspoň milion šestset tisíc dvacet optimalizací (fd alokace, některé operace se stringy v libc, malé optimalizace ve vm atd.) a minimálně třicetdva tisíc osmdesát šest malých oprav všude možně. Vzhledem k tomu, že testovací období FreeBSD 6.0 bylo jedním z nejproduktiv­nějších v celé historii projektu (objevovaly se chyby z dob 3.x), tak se nebojím říct, že přestože je to x.0, tak není třeba mít strach tuto verzi nasadit.

Celkově se dá říci, že FreeBSD 6.0R bude velmi podařená verze, která navazuje na řadu 5 a dále ji vylepšuje. Finální verze bude doufejme vydána během několika málo týdnů, a tak neváhejte a nainstalujte si ji!

Anketa

Máte zkušenosti s FreeBSD?

       

Školení: Hackujeme operační systém Android

 

Školení vám ukáže, jak se dostat k Linuxu (tzv. "rootování"), který se pod hezkou tváří Androida skrývá a jak ho naplno využít. Pomůže vám to při záloze dat, zvětšování prostoru pro aplikace nebo sdílení připojení k internetu a pokud chcete z telefonu dostat opravdové maximum, ukážeme vám, jak v něm vyměnit kompletní systém za lepší.

Podrobnější informace a přihláška

Ohodnoťte jako ve škole:
Průměrná známka 2,89

Přehled názorů

Wi driver
Brnak 24. 10. 2005 02:26
Nový
├ 
Re: Wi driver
mv 24. 10. 2005 07:28
Nový
├ 
Re: Wi driver
lucky 24. 10. 2005 21:11
Nový
└ 
Re: Wi driver
Rezza 24. 10. 2005 21:41
Nový
číslovky
Whale 24. 10. 2005 08:03
Nový
└ 
Re: číslovky
neologism 24. 10. 2005 10:03
Nový
Naštěstí tomu nemusím rozumět
Jan Angelovič 24. 10. 2005 08:49
Nový
└ 
Re: Naštěstí tomu nemusím rozumět
dejf 28. 10. 2005 12:12
Nový
HW support
skada 24. 10. 2005 09:35
Nový
├ 
Re: HW support
anonymní uživatel 24. 10. 2005 10:56
Nový
├ 
Re: HW support
Luboš Doležel 24. 10. 2005 22:11
Nový
│
├ 
Re: HW support
mv 25. 10. 2005 21:50
Nový
│
└ 
Re: HW support
Páv Lučištník 27. 10. 2005 18:26
Nový
└ 
Re: HW support
anonymní uživatel 25. 10. 2005 12:21
Nový
da se pozit 6.0RC1 na notes P300/64MB RAM
petrp 24. 10. 2005 12:28
Nový
├ 
Re: da se pozit 6.0RC1 na notes P300/64MB RAM
KarelH 24. 10. 2005 13:03
Nový
└ 
Re: da se pozit 6.0RC1 na notes P300/64MB RAM
junix 24. 10. 2005 18:37
Nový
 
├ 
Re: da se pozit 6.0RC1 na notes P300/64MB RAM
next 24. 10. 2005 19:13
Nový
 
├ 
Re: da se pozit 6.0RC1 na notes P300/64MB RAM
anonymní uživatel 28. 10. 2005 11:27
Nový
 
└ 
Re: da se pozit 6.0RC1 na notes P300/64MB RAM
ma to 3. 11. 2005 08:50
Nový
 
 
└ 
Re: da se pozit 6.0RC1 na notes P300/64MB RAM
blackman 9. 1. 2007 10:27
Nový
sranda
lump 24. 10. 2005 21:09
Nový
└ 
Re: sranda
dejf 28. 10. 2005 12:11
Nový
 
└ 
Re: sranda
Dan 7. 11. 2005 13:26
Nový
nic moc
Vladimir 25. 10. 2005 02:16
Nový
├ 
Re: nic moc
lucky 25. 10. 2005 21:59
Nový
└ 
Re: nic moc
PiFtiK 7. 11. 2005 22:20
Nový
device only in devfs
HKMaly 26. 10. 2005 08:13
Nový
└ 
Re: device only in devfs
Frantisek Rysanek 26. 10. 2005 11:30
Nový
 
├ 
Re: device only in devfs
neologism 26. 10. 2005 16:20
Nový
 
└ 
Re: device only in devfs
Páv Lučištník 27. 10. 2005 18:35
Nový
       

Tento text je již více než dva měsíce starý. Chcete-li na něj reagovat v diskusi, pravděpodobně vám již nikdo neodpoví. Pro řešení aktuálních problémů doporučujeme využít naše diskusní fórum.

Zasílat nově přidané příspěvky e-mailem