A Linux programozás egyszerűvé vált – Teljes útmutató forrásokkal kezdőknek

Közzététel: Támogatása segít fenntartani a webhely működését! Az ezen az oldalon javasolt szolgáltatások némelyikén referenciadíjat keresünk.


A Linux egy operációs rendszer, platform, ökoszisztéma és kultúra. Míg a Windows és a Mac OS folyamatos dominanciája az asztali számítógépeknél arra készteti a nem kezelt fogyasztót, hogy azt gondolja, hogy a Linux egyfajta szélsőséges lehetőség a szélsőséges emberek számára és azok számára, akik nem akarnak fizetni az operációs rendszerért, az igazság az, hogy A bolygó leginkább használt és legfontosabb operációs rendszere a Linux. Felhatalmazza az internetet, infrastruktúránkat, a világ legnagyobb szuperszámítógépeit.

A Linuxra való fejlesztés egy kicsit nagy kihívást jelent, de rendkívül kifizetődő is lehet. Ez a rövid útmutató bevezetést nyújt a Linux programozás megkezdéséhez szükséges információkhoz és forrásokhoz. Lefedi a Linux fejlesztés négy területét: hozzájárul a kernelhez, új modulokat épít fel, alkalmazásokat fejleszt Linuxra és a Shell parancsfájlokat.

Linux kernel fejlesztés

A Linux kernel talán a legambiciózusabb szoftverfejlesztési projekt a bolygón. Új stabil kiadások jönnek ki kb. Háromhavonta, és minden kiadás több tucat országban dolgozó fejlesztők ezreit vonja be.

Paradox módon részt venni a kernel fejlesztésében egyszerûbb, mint amilyennek látszik, és nevetségesen bonyolult is. Sokkal könnyebb, mint amilyennek látszik, mert nincs felvételi eljárás, nincs interjú és nincs bürokrácia. Bárki, aki tudja, mit csinál, szívesen fejleszti a magot, és javításokat nyújt be. Másrészt rendkívül nehéz is, mivel a kernel rendkívül bonyolult. Sőt, a kernelfejlesztő közösség, noha bizonyos értelemben nagyon barátságos, nem tolerálja az amatőr szhenánganokat. Noha segít a vastag bőr kialakulásában, semmi sem helyettesíti a tényleges tudást, amit csinál. A mag fejlesztése nagyon komoly üzlet, amelybe beletartozik a nagyon komoly informatika. Ha csak most kezdődik az operációs rendszer fejlesztésével, ez nem igazán a megfelelő hely a kezdéshez.

Amit tudnod kell

Fejlesztési készségek

A Linux kernel programozása C-ben történik. Nem C ++, nem Objective-C, nem C #. Tehát az első dolog, amit meg kell tennie, a rendkívül jól tanulja meg a C programozási nyelvet.

Mélyen meg kell ismernie az operációs rendszer elméletét is, különös tekintettel a Linux rendszerre. Erről bővebben a következő szakaszban.

  • A C programozási nyelv: a nyelv végleges útmutatója. Ingyenes PDF formátumban is elérhető.
  • Operációs rendszer fogalmak: alapos bevezetés az operációs rendszer fejlesztésének elméletébe és gyakorlatába.

A Linux megértése

Természetesen meg kell értenie a Linuxot mind felhasználóként, mind fejlesztőként. Ez magában foglalja azt is, hogy meglehetősen mélyen megértsük a Linux kernel felépítését, és hogy a különféle alprojektek hogyan illeszkednek egymáshoz.

  • A Linux programozási felület
  • Linux Kernel Newbies

Folyamat és kultúra

Végül meg kell értenie, hogy a Linux fejlesztési folyamata valójában hogyan működik. Ez magában foglalja a közösség egészének, kultúrájának és a fejlesztési közösség különféle tagjainak egymáshoz való érzésének megismerését. Ez azt is jelenti, hogy megértjük az elosztott verzióvezérlést és a fejlesztési kiadási ciklust.

  • Hogyan lehet részt venni a Linux közösségben: kötelező olvasmány. Kezdd itt.
  • Három út a kezdőknek a Linux kernelhez való hozzájáruláshoz: rövid, barátságos útmutató a részvételhez.
  • Hivatalos dolgok:
    • A Linux Kernel Archives
    • A Linux Kernel levelezőlista
    • A Kernel Bug Tracker
  • Moron lenni a Linux-kernelben: útmutató a Linux Kernel (vagy bármely más) levelezőlistájának viselkedésének elkerülésére. (Javaslatunk: legalább hat hónapig lekérdeznek, mielőtt bármit elküldnének.)

Kernelmodulok fejlesztése

Mielőtt a Linux kernel alapvető fejlesztésébe kezdenénk, jó módszer a Linux programozással kapcsolatos ismereteink és szakértelmük növelésére, ha dolgozunk egy kernel modulon. Ezek függetlenül kifejlesztett szoftverek, amelyek a rendszermaggal működnek annak érdekében, hogy teljes operációs rendszerként működjenek. A kernelmodulok olyan dolgokat tartalmaznak, mint a különféle hardverperifériák eszközillesztői, valamint a fájlkezelők és az alacsony szintű operációs rendszer funkciói.

A belépési korlátok a kernelmodulon történő munkavégzéshez általában sokkal alacsonyabbak, mint a Linux kernelnél való munkavégzéskor. Több száz modul létezik, amelyeket sok különböző csoport és egyén fejlesztett ki, tehát egyetlen kapuőrök sem állítják fel a fejlesztés hangját. Sőt, a tét egy kicsit alacsonyabb a modul fejlesztésével.

Amit tudnod kell

A kernelmodulok, mint maga a kernel, általában C-ben vannak írva. (Van némi vita a kernelmodulok fejlesztéséről a C ++-ban, és vannak falon kívüli módok ennek megvalósítására, de ez természetesen nem a szokásos módszer, sem a ajánlott.)

Nyilvánvaló, hogy ha egy illesztőprogramot ír egy hardverdarabhoz, akkor elég ismeri a hardver típusát és a beágyazott firmware-t. Szüksége van továbbá a Linux-alapú kernel megfelelő megértésére és annak módjára, ahogyan a kölcsönhatásba lép a rendszermag-modulokkal. Végül, ha hozzájárul egy meglévő kernelmodulhoz, akkor meg kell ismerkednie azok eljárásaival és fejlesztési ciklusával.

  • A Linux Kernel modul programozási útmutatója: rendkívül alapos útmutató.
  • Hogyan írhatsz saját Linux-kernelmodult egy egyszerű példával: egy szép áttekintő bemutató.
  • Fájlrendszer írása a Linux-kernelben: újabb, viszonylag könnyen követhető lépésről-lépésre bemutató.

Lásd még a kernelfejlesztés szakasz fenti erőforrás-listáját.

Alkalmazások fejlesztése a Linux operációs rendszerhez

Miután kiszálltunk az operációs rendszer fejlesztésének gyomiról, és elkezdtünk beszélni a tényleges alkalmazások fejlesztéséről a Linux operációs rendszer számára, a munka kicsit könnyebbé válik, és sokkal több lehetőségünk van a továbblépésre. A Linux platformon szinte minden programozási nyelv fordítói és tolmácsai állnak rendelkezésre, gyakran egynél több az adott nyelvhez.

Amit tudnod kell

Ha megszokták a Windows vagy a Mac OS fejlesztését, akkor a Linuxra való fejlesztés során a legnagyobb sokk valószínűleg a Linux környezet sokfélesége. Több tucat Linux disztró létezik, és minden Linux felhasználó megváltoztathatja az adott környezet működését. Ez többek között azt jelenti, hogy sokkal nagyobb figyelmet kell fordítania a függőség kezelésére, mint amire egyébként szükség lehet.

Egy másik különbség, különösen a Windows rendszerhez képest, hogy sok Linux felhasználó inkább forráskódból készíti alkalmazásokat. Ez történik a Mac OS rendszeren is, de ritkábban. A Linux világában sok felhasználó mindig inkább a forrásból készíti az alkalmazásokat, mint a telepítőcsomagot. Ez befolyásolhatja a szoftver fejlesztésének és terjesztésének gondolkodását.

A legtöbb Linux-központú fejlesztés C, C ++, Perl vagy Python-ban zajlik. Ezeket a nyelveket jól megtanulja, és a fent említett forrásokba (Kernel and Modules) és az alábbiakban (szkriptek) történő bemerülés sokat segít..

  • C programozás Linux alatt: alapos bevezetés és bemutató a Linux alkalmazások C nyelvű programozásához.
  • Linux fejlesztői képzés: fizetett kurzusok a Linux fejlesztéséről, a Linux Alapítványtól.

Szkriptek Linux alatt

A Linux programozásának talán a legalacsonyabb szintje a shell scripting. Ez azonban nem kevésbé „programozás”, mint bármi más. A shell parancsfájlok készítése a Linuxban nagyszerű módja a rutinfeladatok automatizálásának, és rövidebb idő alatt több munka elvégzésének. Ezen felül, ha fejlettebb héjú parancsfájlokkal foglalkozik, akkor mélyebben megismerheti és megértheti a Linux operációs rendszert. A shell parancsfájlok valóban elválasztják a kezdő Linux-fogyasztókat a haladó Linux-felhasználóktól.

Amit tudnod kell

Noha vannak más lehetőségek, a leggyakoribb szkriptnyelv a Bash. Még ha fejlettebb szkriptnyelvekre szeretne lépni, a Bash kezelőszerve a jobb lábánál kezdődik az operációs rendszer mindenféle szkriptolásához. Az emberek többsége, akik valóban a szkriptekkel foglalkoznak a termelékenység fokozása érdekében, munkájuk nagy részében Python-ot vagy Perl-t használnak. Miután megérkezett egy olyan falba, ahol könnyen el tud végezni Bash-ban, valószínűleg át akar lépni az egyik ilyen nyelvre.

Bash források

  • Bash útmutató kezdőknek
  • Speciális Bash-Scripting útmutató
  • Linux Shell Scripting bemutatója

Python források

  • Ismerje meg a Python-ot a kemény úton: a Python fejlesztésének egyik legnépszerűbb bevezetése.
  • Automatizálja az unalmas cuccokat a Python segítségével: Gyakorlati programozás az összes kezdő számára: nagyszerű bevezetés a szkriptek készítéséhez (szemben a „fejlesztéssel”) a Pythonban. Ingyenesen online video tanfolyamként is elérhető.

Perl források

  • A kezdő bevezetése a Perl-be
  • Hogyan írjunk shell parancsfájlokat Perl-ben
  • UNIX, Shell Scripting és Perl Bevezetés

Általános Linux-források

A Linux Alapítvány

Linux.org: központi fórum minden dolghoz.

A Linux Dokumentációs Projekt: egy óriási Linux könyvtár, amely az összes fenti témához vezet útmutatást, valamint egy csomó más dolgot. Ez az egyik legfontosabb hely a mélyreható Linux információk megismeréséhez.

összefoglalás

Ez vad vad volt! A Linux kernel programozásától egészen a shell parancsfájlokig. Végtelen módon lehet programozni a Linux operációs rendszert. Ezzel az útmutatóval jó úton kell lennie.

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