DragonFly BSD

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare
DragonFly BSD
sistem de operare
DragonFly BSD 5.2.0 screenshot.png
Dezvoltator Matt Dillon
Familie BSD
Eliberarea inițială 1.0 (12 iulie 2004 ; acum 17 ani [1] )
Lansare curentă 5.8.3 (24 septembrie 2020 ; acum 10 luni [2] )
Tipul de nucleu Kernel hibrid
Platforme acceptate x86-64
Manager de pachete DPorts, pkgng
Tipul licenței Software gratuit
Licență BSD
Etapă de dezvoltare in productie
Site-ul web www.dragonflybsd.org/

Dragonfly BSD este un sistem de operare asemănător Unix pentru mașini multiprocesor derivat din versiunea 4.8 a FreeBSD . În prezent, acceptă doar arhitectura x86-64 . Arhitectura pe 32 de biți a fost scoasă din funcțiune pe 15 noiembrie 2014.

Istorie

Proiectul s-a născut din ideea lui Matthew Dillon , un dezvoltator Amiga , deoarece nu era mulțumit de metoda prin care FreeBSD gestiona sistemele multiprocesor, prin SMPng (derivat din codul BSD / OS 5).

Dezvoltarea Dragonfly BSD a început în iunie 2003 și a fost anunțată în iulie a aceluiași an. [3] Baza de cod a fost preluată din versiunea FreeBSD 4.8, care oferea cele mai bune performanțe și cele mai complete caracteristici. S-a decis să se utilizeze o arhitectură care să țină seama de viteza de acces diferită la amintirile prezente într-un sistem, precum cache și RAM (Random Access Memory), care este de o importanță fundamentală în crearea sistemelor multiprocesor.

Această arhitectură se numește NUMA (Non Uniform Memory Access) și permite utilizarea unui sistem cu un număr mare de canale, accelerând tranzitul de date între CPU și memorie. Filosofia Dragonfly este împărțirea explicită a muncii între procesoare, ceea ce înseamnă că un proces nu va fi transferat niciodată către un alt procesor, permițându-vă astfel să faceți cea mai bună utilizare a datelor conținute în cache și fără a fi nevoie să îl blocați.

Dragonfly BSD este dezvoltat de mulți programatori din întreaga lume. Nu există un proces de calificare; oricine își poate trimite codul, documentația sau desenele pentru a fi utilizate în proiect.

Caracteristici

Nucleul

Dragonfly BSD este primul sistem de operare de tip BSD care adoptă o arhitectură kernel hibridă, adică nucleul împărtășește conceptele și mecanismele arhitecturale atât ale nucleelor ​​monolitice, cât și ale celor de tip micro. Modelul Light Threading Kernel ( LWKT ) funcționează prin asocierea fiecărui proces cu un thread. Fiecare procesor are propriul programator LWKT . În acest fel, firele sunt atribuite unui anumit CPU , permițând astfel gestionarea fără a fi nevoie să utilizați o blocare MP .

De asemenea, datorită protecției memoriei, un fir de execuție nu poate fi mutat pe un alt procesor de un fir de prioritate mai mare, iar aplicațiile nu vor interfera niciodată unul cu celălalt.
Gestionarea firelor de utilizator este realizată de un programator dedicat, numit Userland și executarea acestuia este reglementată, chiar și în cazul unei întreruperi, de datele conținute în cache.

Comunicarea subsistemelor

Comunicarea implementată în majoritatea subsistemelor de comunicații Dragonfly are loc prin Inter-Process Interrupt . Acest sistem este folosit pentru a împărți firele și a elibera memoria pe alte procesoare . Mesajele generate de acesta din urmă constau dintr-un apel având un pointer funcțional și date conexe pe care CPU-ul receptor le va executa asincron. În acest fel, veți avea avantaje mari din punct de vedere al performanței, deoarece CPU apelant nu va aștepta executarea procesorului țintă. Primirea unui mesaj IP de la un CPU suspendă firul care rulează în prezent, făcându-l deblocabil.

Gestionarea firelor din kernel

Gestionarea thread-urilor din nucleu are loc prin distribuitorul de slab , un subsistem care permite accesul la porțiuni de cod critic fără a refuza altor procesoare utilizarea nucleului rămas. Cu alte cuvinte, atunci când un procesor trebuie să utilizeze o parte a nucleului, acesta blochează global accesul la nucleu pentru timpul necesar pentru a exclude acea secțiune particulară de la execuția de către celălalt procesor.
Acest proces necesită ca alocatorul de plăci al fiecărui procesor să se ocupe de 128k de nuclee care vor fi apoi distribuite și împărțite în zone mai mici în funcție de cererea firelor.

Notă

Elemente conexe

linkuri externe

Site-ul oficial

Informatică Portal IT : accesați intrările Wikipedia care se ocupă cu IT