NetBSD

**NetBSD** – laisvai platinama, atviro kodo UNIX tipo BSD operacinė sistema, pasižyminti itin geru perkeliamumu tarp įvairių aparatinių platformų, aukštos kokybės dizainu bei realizacija, sistema yra dažnai naudojama įterptinėse sistemose bei serveriuose.

NetBSD sistema palaiko virš 50 aparatinių platformų, naudojančių daugiau nei dešimt skirtingų procesoriaus architektūrų.

„NetBSD“ ir „pkgsrc“ yra registruoti „The NetBSD Foundation“ prekiniai ženklai.

## Istorija

NetBSD šaknys atsekamos nuo originalios UCB 4.3BSD-Reno per Networking/2 versiją ir 386BSD. Tai pirma iš nemokamai platintų atviro kodo BSD operacinių sistemų, atsišakojusių nuo 386BSD kodo bazės, formaliai išleista kaip NetBSD 0.8 versija 1993 m. gegužę. NetBSD tikslas buvo sukurti vieningą, daugiaplatformę ir produkcinei aplinkai tinkamą operacinę sistemą. Nuo to laiko, padedant projekto savanoriams, į NetBSD buvo importuota daug pataisymų iš kitų išeities kodų, tarp jų ir iš 4.4BSD Lite. Po nesutarimų, vienas iš NetBSD projekto įkūrėjų, Theo de Raadt, buvo pašalintas iš projekto ir vėliau sukūrė naują OpenBSD projektą iš NetBSD 1.0 išeities tekstų 1995 m. pabaigoje.

## Simetrinis daugiaprocesis apdorojimas

NetBSD palaiko simetrinį daugiaprocesį apdorojimą () nuo NetBSD 2.0 leidimo 2004 metais, kuris iš pradžių buvo realizuotas naudojant didžiojo užrakto () metodą. Esminiai SMP patobulinimai buvo atlikti vykstant NetBSD 5 kūrimo ciklui; dauguma branduolio posistemių buvo modifikuotos taip, kad būtų saugios atliekant daugiaprocesį apdorojimą () bei naudotų tinkamos granuliacijos rakinimą (). Taip pat 2007 metų sausį buvo realizuotos naujos sinchronizavimo primityvų priemonės () ir planuoklės aktyvacijos () modelis pakeistas nauju 1:1 gijų modeliu (). Realizuotas didelio našumo dispečeris () ir gijų planuoklė (). Virtualios atminties valdymo sistema, atminties skirstytuvas () bei pinklių gaudyklė () buvo modifikuotos taip, kad būtų saugios atliekant daugiaprocesį apdorojimą. Taip pat buvo modifikuota virtualios failų sistemos (VFS) sąsaja bei pagrindinės failų sistemos. Nuo 2008 m. balandžio didžiojo užrakto metodą naudoja tik tinklo protokolai ir dauguma įrenginių tvarkyklių.

## Saugumas

NetBSD teikia įvairius mechanizmus saugumo srityje. Branduolio autorizacijos infrastruktūra (arba tiesiog Kauth) yra posistemė tvarkanti visus autorizacijos užklausimus branduolio viduje ir naudojama kaip sisteminio lygio saugumo policija. Ji leidžia išoriniams moduliams prijungti autorizacijos procesą. NetBSD taip pat inkorporuoja išnaudojimų atgrasinimo () mechanizmus – ASLR, MPROTECT, Segvguard iš PaX projekto bei GCC steko pramušimo apsaugos () kompiliatoriaus išplėtimus (SSP, arba dar žinoma kaip ProPolice). Verifikuojami paleidžiamieji () arba tiesiog Veriexec yra branduolio lygio failų integralumo NetBSD posistemė. Jie leidžia administratoriui nustatyti skaitmenines failų maišas (), kurias stebėtų Veriexec ir esant pakitimams užkirstų kelią failų paleidimui. Pavyzdžiui, galima leisti Perl paleisti tik tuos skriptus, kurie atitinka skaitmenines maišas. Kriptografinė tvarkyklė () teikia funkcionalumą, kuris leidžia užkoduoti diskus bei particijas (įskaitant CD bei DVD diskus).

NetBSD paketų filtras (NPF) yra sukurtas lietuvio Mindaugo Rasiukevičiaus.

## Naudojimas

NetBSD sistemos švarus dizainas, didelis našumas ir plečiamumas, bei daugelio architektūrų palaikymas leidžia sistemą panaudoti įterptinių įrenginių ir serverių industrijoje, ypač tinklų nišoje.

Komercinė realaus laiko sistema QNX naudoja tinklo steką, kuris sukurtas NetBSD išeities tekstų pagrindu, ir teikia įvairias tvarkykles perimtas iš NetBSD. Force10 Networks naudoja NetBSD kaip pagrindą komercinėje FTOS (Force10 Operacinė Sistema), kuri yra naudojama didelio plečiamumo skirstytuvuose bei maršrutizatoriuose. Taip pat Force10 2007 metais paaukojo NetBSD Fondui siekiant paskatinti tolimesnius tyrimus bei vystymąsi bendruomenėje. NetBSD panaudota NASA SAMS-II projekte, kurio tikslas buvo stebėti mikrogravitacinę aplinką Tarptautinėje kosminėje stotyje, taip pat TCP panaudojimo palydoviniuose tinkluose tyrimams. 2004 metais SUNET naudojo NetBSD pasiekiant Internet2 antžeminio greičio rekordą. NetBSD buvo pasirinkta „dėl TCP kodo našumo“. Sumaniojo telefono T-Mobile Sidekick LX 2009 operacinė sistema yra sukurta NetBSD pagrindu.

## Licencijavimas

Visas NetBSD sistemos branduolys ir didžioji dalis vartotojo erdvės () pagrindo yra išleista pagal BSD licenciją (dviejų, trijų ir keturių punktų variacijos). Tai iš esmės leidžia kiekvienam naudoti, modifikuoti ir platinti ar parduoti sistemą taip kaip norima (įskaitant ir naudojimą komerciniais tikslais) tol, kol išlaikomas autorinis įrašas ir licencijos tekstas. Esant tokioms sąlygoms, galima kurti produktus NetBSD pagrindu neviešinant išeities tekstų ar jų modifikacijų. Palyginus, GPL licencija reikalauja paviešinti visus išeities teksto pakeitimus.

2008 m. birželio 20 d. NetBSD Fondas paskelbė perėjimą į dviejų punktų BSD licenciją, remiantis UCB (University of California, Berkeley) 3 punkto nepalaikymu bei geresniu pritaikymu industrijoje.

NetBSD taip pat įtraukia GNU kūrimo įrankius ir kitus paketus, kurie yra išleisti pagal GPL ir kitas atvirojo kodo licencijas.

## Suderinamumas su kitomis sistemomis

Išeities tekstų bei sąsajų lygyje, NetBSD yra labai arti visiško POSIX.1 (IEEE 1003.1-1990) standarto palaikymo ir beveik visiškai palaiko POSIX.2 (IEEE 1003.2-1992) standartą.

NetBSD taip pat teikia sistemų kvietimų lygio binarinį suderinamumą tam tikrose architektūrose su įvairiomis UNIX-tipo sistemomis, įskaitant Linux, FreeBSD, Apple Darwin, Solaris bei SunOS 4. Tai leidžia NetBSD vartotojams naudoti daugybę programų, kurios platinamos tik binarine forma kitoms operacinėms sistemoms, dažniausiai be jokio didelio efekto greičiui.

Daugybė „kitų“ failų sistemos formatų yra palaikoma NetBSD, įskaitant FAT, NTFS, Linux ext2fs, Mac OS X UFS, RISC OS FileCore/ADFS ir AmigaOS Fast File System.

## Leidimai

Tolimesnė lentelė atvirkštine chronologine tvarka pateikia pagrindinių NetBSD leidimų sąrašą su žymiais pakeitimais. Mažesni leidimai bei pataisymai sąraše neįtraukti.

Iki 2004 metų NetBSD 1.x leidimai buvo vykdomi apytiksliai metų intervalu, su mažesniais „pataisos“ leidimais tarpe. Nuo 2.0 leidimo, kiekvienas pagrindinis NetBSD leidimas atitinka padidintą pagrindinį versijos skaičių, t. y. pagrindiniai leidimai sekantys po 2.0 yra 3.0, 4.0 ir t. t. Ankstesni mažesnieji leidimai buvo padalinti į dvi kategorijas: *x.y* „stabilūs“ palaikymo leidimai ir *x.y.z* leidimai įtraukiantys tik saugumo ir kritinius pakeitimus. Pradedant 8.0 versija, atsisakyta *x.y.z* leidimų, bus leidžiami tik *x.y* palaikymo leidimai, kurie įtrauks tiek klaidų pataisymus, tiek naujus pakeitimus ir patobulinimus, kuriuos komanda laikys saugiais pagrindinio leidimo atšakai.

## Logotipas

NetBSD „vėliavos“ logotipas, sukurtas Grant Bissett, buvo pristatytas 2004 metais. Tai senojo logotipo, sukurto Shawn Mueller 1994 metais, abstrakcija. Senasis logotipas buvo paremtas garsiąja Antrojo pasaulinio karo fotografija „Vėliavos kėlimas Ivo Džimoje“, kuri kai kurių buvo priimta kaip kultūriškai nejautri bei netinkama tarptautiniam projektui.

## Organizacinė struktūra

NetBSD Fondas (orig. *The NetBSD Foundation*) yra organizacija (juridinis asmuo), turinti intelektinės nuosavybės bei prekinių ženklų, susijusių su NetBSD, ir yra gavusi 501(c)3 ne pelno siekiančios organizacijos statusą pagal JAV mokesčių sistemą. Fondo nariai yra NetBSD kūrėjai, kurie turi CVS prieigą. NetBSD Fondas turi valdybos narius, kurie renkami organizacijos narių dvejiems metams.

## Talpinimas

Talpinimo paslaugos daugiausiai teikiamos Interneto sistemų konsorciumo (), Luleå technologijų universiteto, Kolumbijos universiteto ir Vakarinio Vašingtono universiteto. Veidrodžiai projektui yra plačiai pasklidę po visą pasaulį. Jie teikiami savanorių ir kitų projektą palaikančių grupių.

## Šaltiniai

## Nuorodos
* The NetBSD Project
* Official NetBSD blog
* NetBSD wiki 
* NetBSD release engineering status
* Nuolatos atnaujinami pkgsrc paketų kolekcijos pakeitimai
* The pkgsrc – wip (Work-In-Progress) Project
* Web interface for the pkgsrc repository
* Internet2 SUNET Internet2 Land Speed Record