Programavimas „Linux“ yra lengvas – išsamus vadovas pradedantiesiems

Atskleidimas: Jūsų palaikymas padeda išlaikyti svetainę! Mes uždirbame siuntimo mokestį už kai kurias paslaugas, kurias rekomenduojame šiame puslapyje.


„Linux“ yra operacinė sistema, platforma, ekosistema ir kultūra. Nors nuolatinis „Windows“ ir „Mac OS“ dominavimas stalinių kompiuterių srityje verčia netyčinį vartotoją manyti, kad „Linux“ yra savotiškas variantas ekstremaliems žmonėms ir tiems, kurie nenori mokėti už operacinę sistemą, tiesa yra ta, kad „Linux“ yra labiausiai naudojama ir svarbiausia operacinė sistema planetoje. Ji naudoja internetą, valdo mūsų infrastruktūrą, valdo didžiausius superkompiuterius pasaulyje.

Kūrimasis „Linux“ gali būti sudėtingas iššūkis, tačiau jis taip pat gali būti nepaprastai naudingas. Šis trumpas vadovas pateiks jums informacijos ir išteklių, reikalingų norint pradėti naudotis „Linux“ programavimu, įvadą. Jis apima keturias „Linux“ plėtros sritis: indėlis į branduolį, naujų modulių kūrimas, „Linux“ programų kūrimas ir „Shell“ scenarijų kūrimas.

„Linux“ branduolio kūrimas

„Linux“ branduolys yra, ko gero, pats ambicingiausias programinės įrangos plėtros projektas planetoje. Nauji stabilūs leidimai išleidžiami maždaug kas tris mėnesius, o kiekvienoje laidoje dalyvauja tūkstančiai kūrėjų, dirbančių dešimtyse šalių.

Paradoksalu, kad įsitraukti į branduolio kūrimą yra lengviau, nei atrodo, kaip turėtų būti, ir juokingai sunku. Tai paprasčiau, nei atrodo, kaip turėtų būti, nes nėra įdarbinimo proceso, nėra pokalbių ir nėra biurokratijos. Kiekvienas, kuris žino, ką daro, kviečiamas kurti pagrindinius dalykus ir pateikti pataisas. Kita vertus, tai taip pat nepaprastai sunku, nes branduolys yra nepaprastai sudėtingas. Be to, branduolio kūrimo bendruomenė, nors ir tam tikra prasme sveikinanti, nelabai toleruoja mėgėjų šenaniganus. Nors tai padeda turėti storą odą, niekas iš tikrųjų nepakeičia fakto, ką darai. Kuriant pagrindą yra gana rimtas verslas, apimantis gana rimtus informatikos mokslus. Jei dar tik pradedate kurti operacinę sistemą, tai tikrai nėra tinkama vieta pradėti.

Ką tu turi žinoti

Plėtros įgūdžiai

„Linux“ branduolio programavimas atliekamas C. Ne C ++, ne Objective-C, ne C #. Taigi pirmas dalykas, kurį turite padaryti, yra labai gerai išmokti C programavimo kalbą.

Jūs taip pat turite gerai išmanyti operacinės sistemos teoriją, ypač susijusią su „Linux“ sistema. Daugiau apie tai kitame skyriuje.

  • C programavimo kalba: galutinis kalbos vadovas. Taip pat prieinamas kaip nemokamas PDF.
  • Operacinės sistemos sąvokos: išsamus supažindinimas su operacinės sistemos kūrimo teorija ir praktika.

Supratimas apie Linux

Natūralu, kad jūs turite suprasti „Linux“ ir kaip vartotojas, ir kaip kūrėjas. Tai apima gana gilų supratimą apie „Linux“ branduolio struktūrą ir kaip įvairūs paprojekčiai dera tarpusavyje.

  • „Linux“ programavimo sąsaja
  • „Linux Kernel Newbies“

Procesas ir kultūra

Galiausiai turite suprasti, kaip iš tikrųjų veikia „Linux“ kūrimo procesas. Tai apima jausmą visai bendruomenei, jos kultūrai ir tai, kaip įvairūs vystymosi bendruomenės nariai santykiauja vienas su kitu. Tai taip pat reiškia supratimą apie paskirstytos versijos valdymą ir kūrimo išleidimo ciklą.

  • Kaip dalyvauti „Linux“ bendruomenėje: būtina perskaityti. Pradėti čia.
  • Trys būdai pradedantiesiems prisidėti prie „Linux“ branduolio: trumpas, draugiškas vadovas, kaip įsitraukti.
  • Oficialūs dalykai:
    • „Linux“ branduolio archyvas
    • „Linux“ branduolio adresų sąrašas
    • Branduolio klaidų stebėjimo priemonė
  • Būti moronu linux branduolyje: vadovas, kaip nesielgti „Linux Kernel“ (ar bet kuriame kitame) adresų sąraše. (Mūsų rekomendacija: paslėpkite bent šešis mėnesius prieš ką nors paskelbdami.)

Branduolio modulių kūrimas

Prieš pereinant prie pagrindinio „Linux“ branduolio kūrimo, geras būdas padidinti savo žinias ir kompetenciją naudojant „Linux“ programavimą yra dirbti su branduolio moduliu. Tai yra savarankiškai sukurtos programinės įrangos dalys, veikiančios su branduoliu, kad veiktų kaip visa operacinė sistema. Branduolio modulius sudaro tokie dalykai kaip įvairių aparatūros periferijų įrenginių tvarkyklės, taip pat failų tvarkyklės ir kitos žemo lygio operacinės sistemos funkcijos.

Paprastai kliūtys patekti į darbą su branduolio moduliu yra daug mažesnės nei jos yra dirbant su „Linux“ branduoliu. Yra šimtai modulių, kuriuos sukūrė daugybė skirtingų komandų ir asmenų, taigi nėra nei vieno vartininkų rinkinio, nustatančio vystymosi toną. Be to, plėtojant modulį, statymai yra šiek tiek mažesni.

Ką tu turi žinoti

Branduolio moduliai, kaip ir pats branduolys, paprastai rašomi C. (Yra šiek tiek diskusijų dėl branduolio modulių kūrimo C ++ ir yra keletas išorinių būdų tai įgyvendinti, tačiau tai tikrai nėra įprastas būdas ir nėra ar tai rekomenduojama.)

Akivaizdu, kad rašydami įrenginio tvarkyklę aparatūros daliai, turėsite nemažai žinoti apie aparatūros tipą ir joje įdėtą programinę-aparatinę įrangą. Jums taip pat reikia gerai suprasti „Linux“ pagrindu sukurtą branduolį ir jo sąveiką su branduolio moduliais. Galiausiai, jei jūs prisidedate prie esamo branduolio modulio, turėsite sužinoti apie jų procedūras ir kūrimo ciklą.

  • „Linux Kernel Module“ programavimo vadovas: nepaprastai išsamus vadovas.
  • Kaip parašyti savo „Linux“ branduolio modulį, pateikiant paprastą pavyzdį: puikus pamoka „peržiūra“.
  • Failų sistemos rašymas „Linux“ branduolyje: dar viena gana lengva sekti žingsnis po žingsnio instrukcija.

Taip pat žr. Aukščiau esantį išteklių sąrašą skyriuje „Branduolio kūrimas“.

„Linux“ operacinės sistemos programų kūrimas

Kai atsikratysime operacinės sistemos plėtros piktžolių ir pradėsime kalbėti apie realių „Linux“ operacinės sistemos programų kūrimą, darbas šiek tiek palengvės ir turime daug daugiau galimybių, kaip tęsti. „Linux“ platformai yra prieinami beveik kiekvienos programavimo kalbos kompiliatoriai ir vertėjai, dažnai tam tikrai kalbai naudojama daugiau nei viena.

Ką tu turi žinoti

Jei esate įpratę kurti „Windows“ ar „Mac OS“, didžiausias šokas, kai kuriate „Linux“, yra tikriausiai labai įvairi „Linux“ aplinka. „Linux“ distros yra dešimtys, ir kiekvienas „Linux“ vartotojas turi galimybę nemažai pakeisti, kaip veikia jo konkreti aplinka. Tai, be kita ko, reiškia, kad jūs turite atkreipti dėmesį į priklausomybės valdymą daug daugiau, nei jums gali prireikti kitaip.

Kitas skirtumas, ypač lyginant su „Windows“ sistema, yra tas, kad daugelis „Linux“ vartotojų renkasi savo programas iš šaltinio kodo. Tai atsitinka ir „Mac OS“, bet rečiau. „Linux“ pasaulyje daug vartotojų visada renkasi kompiliuoti programas iš šaltinio, o ne naudoti diegimo paketą. Tai gali turėti įtakos jūsų galvojimui apie programinės įrangos kūrimą ir platinimą.

Daugiausia į „Linux“ orientuota plėtra vyksta C, C ++, Perl ar Python. Gerai mokytis tų kalbų ir pasinerti į minėtus išteklius (branduolį ir modulius) ir žemiau (scenarijus) bus labai naudinga..

  • C programavimas „Linux“ sistemoje: išsamus įvadas ir instrukcija apie „Linux“ programų programavimą C kalba.
  • „Linux Developer Training“: mokami „Linux“ plėtros kursai, kuriuos teikia „Linux Foundation“.

Scenarijavimas „Linux“

Turbūt „žemiausio lygio“ programavimas „Linux“ yra apvalkalo scenarijus. Tačiau tai ne mažiau „programavimas“ nei kas nors kitas. „Shell“ scenarijų rašymas „Linux“ yra puikus būdas automatizuoti įprastas užduotis ir atlikti daugiau darbų per trumpesnį laiką. Be to, įsigilinę į patobulintą apvalkalo scenarijų gausite gilesnių žinių ir supratimą apie „Linux“ operacinę sistemą. „Shell“ scenarijai iš tikrųjų skiria naujokus „Linux“ vartotojus nuo pažangių „Linux“ vartotojų.

Ką tu turi žinoti

Nors yra ir kitų variantų, dažniausia scenarijų kalba yra basas. Net jei planuojate pereiti prie sudėtingesnių scenarijų kalbų, gavę rankeną „Bash“, jūs pradėsite eiti dešine koja dėl visų tipų operacinės sistemos scenarijavimo. Dauguma žmonių, kurie iš tikrųjų įsitraukia į scenarijų kūrimą kaip būdą padidinti našumą, didžiąją dalį savo darbo naudoja „Python“ arba „Perl“. Pataikę į sieną su tuo, ką galite lengvai pasiekti „Bash“, greičiausiai norėsite pereiti į vieną iš tų kalbų.

Bash ištekliai

  • „Bash“ vadovas pradedantiesiems
  • Išplėstinis „bash-scripting“ vadovas
  • „Linux“ apvalkalo scenarijų mokymo programa

Python ištekliai

  • Sužinokite „Python the Hard Way“: viena populiariausių „Python“ plėtros įžangų.
  • Automatizuokite nuobodų dalyką su „Python“: Praktinis programavimas visiems pradedantiesiems: puikus įvadas į scenarijų scenarijų (o ne „plėtrą“) „Python“. Taip pat galima nemokamai naudotis internetu kaip vaizdo kursą.

„Perl“ ištekliai

  • Pradedančiojo „Perl“ įvadas
  • Kaip parašyti apvalkalo scenarijus Perle
  • UNIX, „Shell Scripting“ ir „Perl“ įvadas

Bendrieji „Linux“ ištekliai

„Linux“ fondas

Linux.org: centrinis forumas viskam „Linux“.

„Linux“ dokumentacijos projektas: milžiniška „Linux“ biblioteka, apimanti visus aukščiau išvardintus dalykus, ir daugybė kitų dalykų. Tai yra viena iš svarbiausių vietų, kur reikia išsamios informacijos apie „Linux“.

Santrauka

Tai buvo laukinis važiavimas! Nuo „Linux“ branduolio programavimo iki pat apvalkalo scenarijų. Yra begaliniai „Linux“ operacinės sistemos programavimo būdų. Naudodamiesi šiuo vadovu turėtumėte gerai eiti į priekį.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map