Agora
Media
Libraria Byblos



AgoraNews  





PC Magazine Ro  




NET Report   




Ginfo   




agora ON line   





PC Concrete   





Liste de discuții   




Cartea de oaspeți   




Mesaje   





Agora   








Clic aici
PC Report - ultimul numar aparut


Software - PC Magazine Romania, Mai  2003

FreeBSD 5.0 - Noua Generație

KSE - Kernel Scheduler Entities
În mod tradițional, FreeBSD nu a avut un suport ideal pentru programarea multi-thread (fire de execuție); la momentul actual sunt folosite librării in modul utilizator pentru fire de execuție (notabil pthreads). Recent însă s-a hotărât introducerea KSE, un sistem de fire de execuție cu suport din partea nucleului, cu un design similar cu tehnologia Scheduler Activations din NetBSD. Aceasta ofera suport pentru un model de fire de execuție aflat între modelul la nivelul nucleu (1:1) și modelul nivelul utilizator (1:N), în literatura de specialitate fiind recunoscut drept un model hibrid (N:M).

Implementarea firelor de execuție pentru acest model presupune suport atât la nivelul nucleului, cât și nivelul utilizator. La nivelul nucleului au apărut modificări în planificatorul de procese pentru a lucra cu noile entități, iar la nivelul utilizator a apărut o implementare POSIX pentru fire de execuție sub forma unei librării (libpthread) care folosește noile facilități nucleu pentru a controla firele de execuție.

Practic, se migrează de la conceptul de proces la cel de entitate KSE (de aici și traducerea alternativă "Kernel-Scheduled Entities"); noul concept permite planificarea atât a proceselor cât și a firelor de execuție asociate lor printr-un mecanism de virtualizare a procesorului. Librăria de la nivelul utilizator are rolul de a planifica individual firele de execuție în interiorul unui proces. Acest mecanism este transparent pentru procesele care se execută în mod clasic, fără fire de execuție.

La compilarea programelor cu fire de execuție, în locul clasicei librării libc_r trebuie folosită noua librărie libpthread. Deoarece ea nu este compilată/instalată implicit în sistem, va fi nevoie să o compilați dvs. manual din surse - rulați make all install în directorul /usr/src/lib/libpthread. Legarea aplicațiilor cu noua librărie este simplă: la compilare în loc de opțiunea -pthread folosiți -lpthread.
Datorită acestui model, în sistemele multi-procesor, un proces utilizator poate rula simultan mai multe fire de execuție; practic ele se pot executa concurent pe CPU-urile reale. De asemenea, toate operațiile care se blochează în nucleu devin asincrone, așa încât la blocarea unui fir de execuție procesul poate planifica un alt fir de execuție. Nu în ultimul rând, este posibilă existența mai multor planificatoare de fire de execuție în interiorul aceluiași proces și pot opera independent unul de altul. Pentru mai multe detalii puteți consulta pagina de manual kse(2).

Prima pagină
Noua generație (5.0)
SMP "Next Generation"
KSE - Kernel Scheduler Entities
ACPI - controlul avansat al sistemului
DEVfs - Device filesystem
Extensii de securitate
IPFW2 - nouL motor de firewall
ALTQ - Alternate Queueing
Localizarea pentru România
Planuri de viitor


PC Magazine Ro | CD ROM | Redactia | Abonamente | CautareArhive

Copyright © 1999-2002 Agora Media.

[email protected]

LG - LifeŽs Good

www.agora.ro

deltafri

www.agora.ro

www.agora.ro

www.agora.ro