NetBSD | |
---|---|
NetBSD darbalaukis su Xfce grafine aplinka | |
Kūrėjas | The NetBSD Project |
OS šeima | BSD, Unix-tipo |
Kodo modelis | Laisvoji programinė įranga |
Paskutinė versija | 10.0 / 2024 m. kovo 28 d. |
Branduolio tipas | |
Licencija | BSD licencija |
Svetainė | www.netbsd.org |
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 per Networking/2 versiją ir 386BSD. Tai pirma iš nemokamai platintų atviro kodo operacinių sistemų, formaliai išleista kaip NetBSD 0.8 versija 1993 m. gegužę. Suardydama pataisymų integravimą ir tolimesnes 386BSD versijas, gimė FreeBSD, kuri koncentravosi į i386 platformą, o NetBSD tuo metu jau vadovavosi idėja sukurti daugiaplatformę operacinę sistemą. OpenBSD buvo sukurta iš NetBSD išeities tekstų branduolio 1995 m. pabaigoje. Nuo to laiko, padedant projekto savanoriams, į NetBSD buvo importuota daug pataisymų iš kitų išeities kodų, tarp jų ir iš 4.4BSD Lite. NetBSD buvo panaudota kaip pagrindas kitiems šaltiniams, tokiems kaip Jutos universiteto (su Mach branduoliu), ir Apple kompanijos .
Simetrinis daugiaprocesis apdorojimas
NetBSD palaiko (angl. symmetric multiprocessing) nuo NetBSD 2.0 leidimo 2004 metais, kuris iš pradžių buvo realizuotas naudojant (angl. giant lock) 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ą (angl. MP safe) bei naudotų tinkamos granuliacijos rakinimą (angl. fine-grained locking). Taip pat 2007 metų sausį buvo realizuotos naujos pirmykštės sinchronizavimo priemonės (angl. synchronization primitives) ir planuoklės aktyvacijos (angl. scheduler activations) modelis pakeistas nauju 1:1 gijų modeliu (angl. threading model). Realizuotas didelio našumo dispečeris (angl. dispatcher) ir gijų planuoklė (angl. scheduler). Virtualios atminties valdymo sistema, atminties skirstytuvas (angl. memory allocator) bei pinklių gaudyklė (angl. trap handler) 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 (angl. exploit mitigation) mechanizmus – ASLR, MPROTECT, Segvguard iš projekto bei steko pramušimo apsaugos (angl. stack smashing protection) kompiliatoriaus išplėtimus (SSP, arba dar žinoma kaip ProPolice). Verifikuojami paleidžiamieji (angl. verified executables) arba tiesiog Veriexec yra branduolio lygio failų integralumo NetBSD posistemė. Jie leidžia administratoriui nustatyti skaitmenines failų maišas (angl. hashes), 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ė (angl. cryptographic device driver) 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. 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 , kurio tikslas buvo stebėti mikrogravitacinę aplinką Tarptautinėje kosminėje stotyje, taip pat TCP panaudojimo palydoviniuose tinkluose tyrimams. 2004 metais naudojo NetBSD pasiekiant antžeminio greičio rekordą. NetBSD buvo pasirinkta „dėl TCP kodo našumo“.Sumaniojo telefono LX 2009 operacinė sistema yra sukurta NetBSD pagrindu.
Licencijavimas
Visas NetBSD sistemos branduolys ir didžioji dalis vartotojo erdvės (angl. userland) 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 lygio binarinį suderinamumą tam tikrose architektūrose su įvairiomis UNIX-tipo sistemomis, įskaitant Linux, FreeBSD, Apple Darwin, Solaris bei 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 , FileCore/ADFS ir AmigaOS .
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.
Leidimas | Leidimo data | Žymūs pakeitimai |
---|---|---|
10.0 | 2024 kovo 28 d. |
|
9.0 | 2020 m. vasario 14 d. | (64 bitų ARMv8-A) architektūros palaikymas, įskaitant suderinamumą su 32 bitų aplikacijomis. Praplėstas ARMv7-A įrenginių palaikymas. Atnaujintas vaizdo plokščių palaikymas. Pagerintas virtualizacijos platformų palaikymas. Įdiegtas aparatinės įrangos pagreičio virtualizacijos (angl. hardware accelerated virtualization) palaikymas, naudojant NVMM (NetBSD Virtual Machine Monitor) sistemos prižiūryklės (angl. hypervisor) platformą. Daug NPF ugniasienės patobulinimų. Pagerintas failų sistemos palaikymas, įvairūs tvarkyklių patobulinimai ir naujos aparatinės įrangos palaikymas. Saugumo patobulinimai, įvedant įvairius branduolio ir vartotojo erdvės (angl. userland) kodo sanitarizatorius (angl. code sanitizer) ir branduolio adreso erdvės randomizaciją (angl. kernel ASLR), bei atlikus tinklo steko saugumo auditą. Taip pat buvo pašalinta daug senų ir nepalaikomų komponentų. Perrašyta posistemė, kuri dabar palaiko NCQ. Buvo išskirtas bendras usbnet karkasas (angl. framework) USB tinklo plokščių tvarkyklėms. |
8.0 | 2018 m. liepos 17 d. | USB 3.0 palaikymas, branduolyje integruotas garsų maišiklis, atminties ir tinklo saugumo patobulinimai, procesorių klaidų mitigacija x86 ir amd64 architektūroms (Meltdown, SpectreV2, SpectreV4, PopSS), (U)EFI įkrovos tvarkyklė, programų atnaujinimai ir daug kitų patobulinimų bei pataisymų. |
7.0 | 2015 m. spalio 8 d. | Modernesnių Intel ir Radeon įrenginių akceleracijos palaikymas x86 platformai, pasiektas perkėlus Linux 3.15 DRM/KMS kodą; interpretuojamos programavimo kalbos integracija su branduoliu; blacklistd demonas, kuris integruojasi su paketų filtrais dinaminei apsaugai nuo įsilaužimo; patobulinimai, tarp jų dinaminis kompiliavimas (angl. JIT) ir dinaminės taisyklės; daugelio procesorių palaikymas ; naujų ARM platformų palaikymas (, , ir kt.), nešiojamų kompiuterių palaikymas. |
6.0 | 2012 m. spalio 17 d. | Lokalios gijai atminties (thread-local storage) palaikymas, loginių tomų valdytojo (Logical Volume Manager) funkcionalumas, perrašyta disko kvotos posistemė, parašytos naujos flash atminties įrenginių ir NAND valdiklių posistemės, įdiegtas eksperimentinės CHFS failų sistemos, suprojektuotos flash atminties įrenginiams (ypač NAND), palaikymas, daugiaprotokolinio komutavimo pagal žymes protokolo palaikymas (Multiprotocol Label Switching protocol). Šis leidimas pristatė naują paketų filtrą – NetBSD Packet Filter (NPF), suprojektuotą atsižvelgiant į daugiaprocesorinių sistemų ir procesorių su keliais branduoliais išnaudojimą. Jis gali atlikti TCP/IP srauto filtravimą ir apskaitą, taip pat (NAT). Xen domU branduolyje atsirado simetrinio daugiaprocesio apdorojimo palaikymas (SMP), pradinis laukimo būsenos ir atstatymo iš jos palaikymas, „PCI pass-through“ palaikymas ir „balloon“ tipo atminties tvarkyklė Xen3 virtualių mašinų monitoriui. Pertvarkytas kodas, pridedant SMP, 64 bitų procesorių, DSP v2 ASE plėtinių, įvairių NetLogic/RMI procesorių modelių, Loongson šeimos procesorių ir naujų SoC (System-on-Chip) sistemų palaikymą. Pagerintas architektūros SMP palaikymas ir pridėtas Book E Freescale MPC85xx (e500 branduolio) procesorių palaikymas. ARM architektūroje atsirado Cortex-A8 procesorių, naujų SoC sistemų palaikymas ir pradinis Raspberry Pi sistemos palaikymas. Siekiant išspręsti 2038 metų problemą, visoms NetBSD platformoms time_t tipas buvo praplėstas iki 64 bitų. |
5.0 | 2009 m. balandžio 29 d. | Perrašyta gijų sistema, kuri paremta . Taip pat, perrašyta gijų planuoklės realizacija. Palaikymas branduolio lygio pertraukimams (angl. kernel preemption), POSIX realaus laiko planuoklės išplėtimai (angl. scheduling extensions), procesorių komplektai (angl. processor-sets), dinaminiai CPU komplektai (angl. affinity mask) gijų priklausomumui (angl. thread affinity) palaikyti. Pridėtas atminties skirstytojas. Metaduomenų žurnalo palaikymas (angl. journaling), dar žinomas kaip (angl. Write Ahead Physical Block Logging). Perrašytas branduolio modulių infrastruktūra, kuri pakeis senus LKM. |
4.0 | 2007 m. gruodžio 19 d. | Pridėtas atminties skirstytojas (angl. slab allocator), taikinys, , , 3. Branduolio Autorizacijos (kauth) infrastruktūra, Veriexec ir kiti saugumo išplėtimai. |
3.0 | 2005 m. gruodžio 23 d. | Pridėtas 2.0 palaikymas. Taip pat, failų sistemų su daugiau nei dviem terabaitais duomenų ir Prijungiamųjų Autentifikacijos Modulių (angl. Pluggable Authentication Modules) palaikymas. Integruota OpenBSD ugniasienė, kaip alternatyva . Pridėtas UFS direktorijų dėstymo lentelės (dar žinoma kaip dirhash) palaikymas, paspartinantis užklausas direktorijose su dideliais failų kiekiais. |
2.0 | 2004 m. gruodžio 9 d. | Vietinis (angl. native) ir simetrinio daugiaprocesio apdorojimo palaikymas i386 ir kitose architektūrose. architektūros palaikymas. ir palaikymas, pridėta sąsaja. |
1.6 | 2002 m. rugsėjo 14 d. | Įvestas suvienytas buferio kešas (angl. Unified Buffer Cache (UBC)), kuris sujungia failų sistemos ir virtualios atminties kešus į vieną. Nulinio kopijavimo (angl. zero-copy) palaikymas TCP ir UDP siuntimo keliuose. Dešimties naujų platformų palaikymas. Nauja kryžminio statymo (angl. cross building) t. y. build.sh infrastruktūra. Pridėtos keliabaitės LC_CTYPE . |
1.5 | 2000 m. gruodžio 6 d. | IPv6 ir pridėjimas į tinklo steką. Importuoti ir . Realizuotas naujas rc.d startavimo sistemos mechanizmas. Pradėta migracija į formato binarinius failus. Pridėtas įrankis leidžiantis sekti branduolio kvietimus. Šešių naujų platformų palaikymas, įskaitant . Pridėti minkštieji atnaujinimai (angl. soft updates) ir NTFS palaikymas. |
1.4 | 1999 m. gegužės 12 d. | Įvestas UVM – perrašyta virtualios atminties posistemė. Pridėtas RAIDframe – programinė RAID realizacija, importuotas . Pabaigta 4.4BSD Lite-2 išeities tekstų integracija. ir / platformų palaikymas. Pridėtas pilnas USB palaikymas. |
1.3 | 1998 m. kovo 9 d. | Pridėtas išeities tekstų medis kaip palaikoma distribucijos dalis. , , ATAPI ir palaikymas. Pridėtos ext2fs ir failų sistemos. Įvesta paketų kolekcijos sistema. |
1.2 | 1996 m. spalio 4 d. | Pridėtas NFSv3, skanavimo ir vidutinio įkrovimo įrenginių palaikymas. Pridėti reikalingi išplėtimai branduolyje. ir Sharp architektūrų palaikymas. |
1.1 | 1995 m. lapkričio 26 d. | , / ir platformų palaikymas. Pridėta binarinės emuliacijos galimybė. Įvesta bendrinė audio posistemė. |
1.0 | 1994 m. spalio 26 d. | Pirmas multi-platforminis leidimas, palaikantis PC, Series 300, Amiga, Macintosh, serijas ir . Taip pat, legaliai užginčytas iš Net/2 kilęs išeities tekstas buvo pakeistas ekvivalenčiu išeities tekstu, remiantis bylos sprendimu. Pridėtas pasidalinamųjų bibliotekų (angl. shared libraries) ir 5 palaikymas. |
0.9 | 1993 m. rugpjūčio 20 d. | Leidimas turėjo daugybę patobulinimų ir klaidų ištaisymų. Palaikymas vis dar buvo tik PC platformai, nors tuo metu jau buvo prasidėję darbai siekiant palaikyti kitas platformas. Pridėtas LKM (angl. loadable kernel modules), paleidžiamųjų branduolio modulių, palaikymas. |
0.8 | 1993 m. balandžio 20 d. | Pirmasis oficialus leidimas, kilęs iš 386BSD 0.1 bei neoficialų 0.2.2 modifikacijų komplekto, su keliomis perintegruotomis programomis iš Net/2 leidimo, kurių nebuvo 386BSD, taip pat keliais kitais patobulinimais. |
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 ne pelno siekiančios organizacijos statusą pagal JAV mokesčių sistemą. Fondo nariai yra NetBSD kūrėjai, kurie turi prieigą. NetBSD Fondas turi valdybos narius, kurie renkami organizacijos narių dvejiems metams.
Talpinimas
Talpinimo paslaugos daugiausiai teikiamos Interneto sistemų konsorciumo (angl. Internet Systems Consortium Inc), , Kolumbijos universiteto ir . Veidrodžiai projektui yra plačiai pasklidę po visą pasaulį. Jie teikiami savanorių ir kitų projektą palaikančių grupių.
Šaltiniai
- „NetBSD 2.0 release notes“.
- Significant changes from NetBSD 4.0 to 5.0
- „NetBSD security(7) manual page“.
- „NetBSD paxctl(8) manual page“.
- „Chapter 19. NetBSD Veriexec subsystem“.
- „Chapter 14. The cryptographic device driver (CGD)“.
- „„NetBSD“ operacinė sistema – su lietuviškais šarvais“.
- „npf(7) - NetBSD Manual Pages“.
- „Foundry27: Project Networking – Driver wiki page“. . Nuoroda tikrinta 27 December 2011.
- „Core Networking 6.4: Neutrino's Next Gen Networking Stack and Foundry27“.
- „Force10 Networks uses NetBSD to build software scalability into operating system“.
- „Force10 Networks introduces unified operating system across product portfolio to lower total cost of owning and operating networks“.
- „Re: NetBSD/i386 and single board computers“.
- (PDF). Suarchyvuotas originalas (PDF) 2009-07-20. Nuoroda tikrinta 2009-06-10.
- . Suarchyvuotas originalas 2006-01-01. Nuoroda tikrinta 2006-01-19.
- . www.hiptop3.com. 2009-01-30. Suarchyvuotas originalas 2009-03-17. Nuoroda tikrinta 2009-02-05.
- „NetBSD Licensing and Redistribution“. 2008 m. birželio mėn. Nuoroda tikrinta 2008-06-20.
- „Announcing NetBSD 10.0“.
- „Announcing NetBSD 9.0“.
- „Announcing NetBSD 8.0“.
- „Announcing NetBSD 7.0“.
- „Announcing NetBSD 6.0“.
- „Announcing NetBSD 5.0“.
- „Announcing NetBSD 4.0“.
- „Announcing NetBSD 3.0“.
- „Announcing NetBSD 2.0“.
- „Announcing NetBSD 1.6“.
- „Announcing NetBSD 1.5“.
- „NetBSD 1.4 Release Announcement“.
- „Information about NetBSD 1.3“.
- „Information about NetBSD 1.2“.
- „Information about NetBSD 1.1“.
- „NetBSD 1.0 release announcement“.
- „NetBSD 0.9 available for anon-ftp…“.
- „Installation notes for NetBSD 0.8“.
- „Changes to NetBSD release support policy“.
- „NetBSD logo design competition“.
Nuorodos
- The NetBSD Project
- Official NetBSD blog
- NetBSD wiki 2008-07-23 iš Wayback Machine projekto.
- 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 2006-01-01 iš Wayback Machine projekto.
vikipedija, wiki, lietuvos, knyga, knygos, biblioteka, straipsnis, skaityti, atsisiųsti, nemokamai atsisiųsti, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, pictu , mobilusis, telefonas, android, iOS, apple, mobile telefl, samsung, iPhone, xiomi, xiaomi, redmi, honor, oppo, Nokia, Sonya, mi, pc, web, kompiuteris