„NetBSD“ operacinė sistema – su lietuviškais šarvais  (10)

„NetBSD“ OS plėtojančios organizacijos „The NetBSD Foundation“ narys Mindaugas Rasiukevičius „nuo nulio“ sukūrė jai skirtą ugniasienę – naują paketų filtrą (NPF). Pasak Mindaugo, sutikusio papasakoti „Balsas.lt“ skaitytojams apie „NetBSD“ plėtros projektą, ši užduotis jam buvo tikras inžinerinis iššūkis.


Prisijunk prie technologijos.lt komandos!

Laisvas grafikas, uždarbis, daug įdomių veiklų. Patirtis nebūtina, reikia tik entuziazmo.

Sudomino? Užpildyk šią anketą!

Ar daug turi dirbti programuotojas, kad dėl savo darbo rezultatų patektų į anglišką „Wikipedia“ versiją? Pasakokite apie save – kur mokėtės, dirbote, ką programavote iki įsijungdamas į „NetBSD.org“ projektą?

Programuoju maždaug nuo dvylikos metų, mane įkvėpė motinos brolio, kuris tuo metu studijavo elektroniką KTU, eksperimentai. Vienas iš jų – žingsninio variklio valdymas kompiuteriu, parašius trumpą programą BASIC kalba. Nuo to laiko kilo susidomėjimas IT, kuris vėliau peraugo į profesinį interesą. Giminaičio paaiškinimai ir pagalba išmokstant BASIC kalbą svariai prisidėjo. Vėliau, žinoma, sekė kitos programavimo kalbos ir technologijos. Baigiau Elektrėnų „Versmės“ gimnaziją, dirbau sistemų administratoriumi ir programinės įrangos inžinieriumi Vilniuje, telemetrijos paslaugų įmonėje. Vėliau karjerą tęsiau kokybės užtikrinimo inžinieriaus pozicijoje vienoje IT paslaugas teikiančių bendrovių Londone. Šiuo metu esu nepriklausomas IT konsultantas, studijuoju Birbeke (Birkbeck), Londono universitete.

BSD šeimos operacinės sistemos ne vienam kompiuterių vartotojui atrodo kaip svetimos, nepažįstamos planetos. Gali klaidinti vien tik jų pavadinimų panašumas – „FreeBSD“, „NetBSD“, „OpenBSD“... Kokie pagrindiniai jų „gyvybės“ ypatumai ir skirtumai lyginant su daugeliui gerai pažįstamais „Windows“, „Linux“, „Mac OS X“ OS pasauliais?

BSD sistemos – tai UNIX šeimos sistemos, kurių šaknys – 4.3BSD sistema, sukurta Berklyje, Kalifornijos universitete. „NetBSD“ projektas susikūrė 1993 metais, kilus nepasitenkinimui dėl tuometiniame „Usenet“ klaidžiojančių 386BSD sistemos pataisų ir pakeitimų, kurie buvo abejotinos kokybės ar pritaikyti tik i386 („Intel“) architektūrai. Tad pirminis „NetBSD“ projekto tikslas buvo aukšta pataisų kokybė ir architektūrinis nepriklausomumas. „FreeBSD“ projektas susiformavo po kelių mėnesių – tai buvo grupė kūrėjų, kurie orientavosi į i386 PC platformą. Po kelerių metų „NetBSD“ kodo pagrindu susikūrė „OpenBSD“ projektas, kurio siekis – aukštas sistemos saugumas. Iš esmės šių projektų kryptys nėra fundamentaliai pakitusios ir šiandien.

BSD sistemos yra bendrosios paskirties sistemos, kurios pagal savo technines galimybes gali būti naudojamos tiek asmeniniuose kompiuteriuose, tiek serveriuose ar specializuotose įrenginiuose. Vis dėlto šios sistemos gerokai skiriasi nuo „Windows“ ar „Mac OS X“ – jos nėra pritaikytos paprastam vartotojui bei optimizuotos patogiam darbui grafine sąsaja. Galime teigti, jog BSD sistemos į šią rinką, bent jau kol kas, nesiorientuoja. Tačiau „Mac OS X“ (o taip pat ir „iOS“) naudoja įvairius „NetBSD“ ir „FreeBSD“ sistemų komponentus.

Kuo Jus patraukė būtent „NetBSD?“ Kokie pagrindiniai jos pranašumai lyginant su kitomis BSD šeimos OS? Ar yra priežasčių, dėl kurių ji galėtų priversti „Windows“ ar „Linux“ vartotojus „pakeisti religiją“?

„NetBSD“ mane patraukė savo kokybe bei profesionalia bendruomene. Šiuo metu „The NetBSD Foundation“ turi daugiau nei 200 aktyvių narių, kurie yra pasirašę narystės sutartis. Dauguma jų yra aukšto lygio IT specialistai – didelę dalį sudaro profesionalai, dirbantys Silicio slėnio kompanijose, nemaža dalis atėję iš akademinės bendruomenės. Tokia aplinka – tai puiki galimybė dalintis žiniomis bei tobulėti mokantis vieniems iš kitų.

Nesu tikras dėl „Windows“ vartotojų, tačiau „NetBSD“ neabejotinai galėtų patraukti „Linux“ vartotojų dėmesį. Pagrindinės „NetBSD“ nišos yra serveriai bei įterptinės sistemos (angl. embedded systems). „NetBSD“ yra gerai suprojektuota, stabili, saugi bei efektyvi sistema. Maksimalus našumas yra prioritetas – stengiamės nenusileisti „Linux“ ar komercinėms UNIX sistemoms bei lenkti kitas BSD sistemas. „NetBSD“ taip pat žinoma dėl daugybės procesorių architektūrų ir platformų palaikymo. Kompaktiška bazinė sistema, minimalizmas, patogi infrastruktūra, skirta sistemos išplėtimams, ir liberali BSD licenzija – tai savybės, kurios daro „NetBSD“ patrauklią įterptinių sistemų industrijoje. Stengiamės dirbti šia linkme ir konkuruoti su komercinėmis realaus laiko „VxWorks“ ir QNX sistemomis, kurios naudojamos automatikos, kontrolės ar stebėjimo sistemose tokiose svarbiose srityse kaip aviacija, energetika, karinės technologijos ir t.t.

Jei neklystu, sausio mėnesį pasirodys nauja stabili „NetBSD“ OS 6.0 versija su Jūsų sukurtu nauju paketų filtru NPF. Kodėl ėmėtės jį kurti „nuo nulio?“ Kiek truko šis darbas, ar jis buvo kaip nors atlygintas, su kokiomis didžiausiomis problemomis susidūrėte jo ėmęsis ir kaip jas pavyko įveikti?

Sausio mėnesį „NetBSD 6.0“ versija dar nepasirodys, be NPF turime daugybę kitų naujovių, kurias norėtųsi pilnai integruoti ir išbaigti. Viena iš jų – geresnis „NAND Flash“ atminties palaikymas ir jai specializuota, nauja failų sistema, kurią sukūrė Szegedo universitetas Vengrijoje, o projektą iš dalies finansavo viena stambi IT kompanija Europoje. Manau, kad tai puikus bendradarbiavimo tarp verslo, akademinio pasaulio ir atviro kodo projektų pavyzdys, gerai įsiliejantis į Silicio slėnių atmosferą.

Kalbant apie NPF – tai paketų filtras, pritaikytas TCP/IP tinklams, taip pat galintis atlikti tinklo adresų transliavimą (NAT), vykdyti srautų apskaitą ir t.t. Paprastai tariant, NPF yra specializuota „ugniasienė“, atliekanti įvairias funkcijas su tinklo paketais ar srautais.

Buvo kelios priežastys, kodėl nusprendžiau NPF kurti „nuo nulio“. Pirma – šio paketų filtro tikslas – pilnai išnaudoti daugiaprocesorinių sistemų ar procesorių su keliais branduoliais galimybes. Didelė dalis programinės įrangos yra pritaikyta dirbti su vienu loginiu procesoriumi, o šiandieniniai serveriai ar netgi asmeniniai kompiuteriai su „Intel“ ar AMD procesoriais turi 2, 4 ar daugiau branduolių. Norint tokią programinę įrangą pritaikyti šiems procesoriams, kartais tenka daryti fundamentalius dizaino pakeitimus. Esamos programinės įrangos perprojektavimas gali pareikalauti ne mažesnių žmogiškųjų resursų, nei suprojektuoti ir sukurti programinę įrangą „nuo nulio“. Kita priežastis – siekis sukurti aukštesnės kokybės produktą, negu esami. Tai savotiškas inžinerinis iššūkis.

NPF yra komercinis projektas, vykęs keliais etapais ir užtrukęs vienerius metus. Projektas formaliai turėtų būti baigtas sausio pabaigoje.

Kokie svarbiausi naujojo NPF ypatumai, kokias naujas galimybes jis suteikia „NetBSD“ vartotojams?

Kaip minėjau, NPF buvo projektuotas atsižvelgiant į šiandieninius procesorius. Taigi, vienas iš pagrindinių tikslų ir privalumų – didelis našumas. Kitas privalumas – moduliškumas (modularity), palengvinantis įvairių plėtinių kūrimą, pavyzdžiui, papildomą funkcionalumą galima „prijungti“ nekeičiant NPF šerdies. Būtent dėl šių savybių kelios kompanijos jau yra susidomėjusios NPF ir galimybe pakeisti jų naudojamus paketų filtrus.

Kaip, Jūsų manymu, NPF atsilieps visai „NetBSD“ OS raidai? Ar planuojate tolimesnį jo plėtojimą? Kokiomis dar nerealizuotomis galimybėmis norėtumėte jį papildyti?

„NetBSD“ pavadinimas, tiksliau žodelis „Net“ (angl. „network“ – tinklas), atsirado dėl dešimtajame dešimtmetyje populiarėjančių kompiuterių tinklų, t.y. interneto. Tikiuosi, kad NPF tai primins ir paskatins daugiau vartotojų išbandyti „NetBSD“ sistemą įvairioms tinklų operacijoms.

Toliau plėtoti NPF, žinoma, ketinu. Tikiuosi, prie to prisidės ir daugiau inžinierių. Tarp kelių industrijoje pageidaujamų ir šiuo metu trūkstamų funkcijų yra tinklo srautų balansavimas ir greitojo atkūrimo palaikymas bei srautų ribojimas ir paketų prioritetizavimas. Šios funkcijos yra svarbios interneto paslaugų teikėjams ar stambesnius tinklus turinčioms IT kompanijoms.

Ką patartumėte tiems mūsų portalo skaitytojams, kurie susidomėtų „NetBSD“ operacine sistema ir norėtų patys ją išbandyti? Su kokiomis svarbiausiomis techninėmis kliūtimis jie gali susidurti ir kaip galėtų jas įveikti?

Paprastam vartotojui įsidiegti „NetBSD“ greičiausiai būtų sudėtinga. Tačiau „Linux“ sistemų vartotojams ar tiesiog technologijų mėgėjams – malonus iššūkis. Susikonfigūruoti pagrindinius nustatymus, prisijungimą prie interneto, atsisiųsti ir įsidiegti paketų sistemą, grafinę aplinką bei programas tektų rankiniu būdu. Tai puiki galimybė išmokti UNIX sistemų pagrindus bei apskritai gilintis į operacinių sistemų veikimo principus. Be to, gera praktika mąstantiems apie sistemų administratoriaus karjerą.

Be oficialios dokumentacijos tinklapyje ir kartu su sistema įdiegiamų vadovų, pagalbos galima ieškoti ir klausiant elektroninio pašto konferencijose ar kituose diskusijų forumuose. Tiesa, didžioji dalis informacijos yra anglų kalba.

Dėkoju už pokalbį.

 

Pasidalinkite su draugais
Aut. teisės: TV3
TV3
Autoriai: Arvydas Praninskas
(0)
(0)
(0)

Komentarai (10)