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.

webmaster@pcmagazine.ro

LG - Life´s Good

www.agora.ro

deltafri

www.agora.ro

www.agora.ro

www.agora.ro