Hogyan tudhat meg többet a Linux kerneléről a saját gépén



Próbálja Ki A Műszerünket A Problémák Kiküszöbölésére

A GNU / Linux használatának megtanulása általában magában foglalja az asztali környezettel való munka megtanulását. A tématechnika lehetővé teszi, hogy ezek az asztali környezetek utánozzák az iOS, a Microsoft Windows és az OS X eszközök interfészeit. Ez segít ezt minimalizálni. Sok ember megy tovább és megtanulja a Unix parancssori adminisztrációját a Bash vagy a tcsh héjakkal. A Linux kernel belső ismereteinek ismerete azonban segít jobban megérteni, hogy az opcode különböző darabjai hogyan hatnak egymásra.



Vannak, akik azt állítják, hogy a legjobb lenne több lépést tovább haladni, és megtudni, hogy a fordítók miként alakítják át a C kódot gépi oktatókká egy mikroprocesszor számára. Az összeszerelési kód szószólói akkor azt állítják, hogy a legjobb megtanulni az ASM-et, hogy valóban megértsék a programozást az x86 és az x86_64 platformokon. Ettől a pozíciótól függetlenül az alapvető Linux-parancsok rengeteg információt szolgáltathatnak arról, hogy a kern hogyan látja a számítógépet. A pillantáson keresztüli tanulás, de ne érintse meg a paradigmát, nagyszerű módja a kernel elsajátításának. Noha a root fiókot használták az ezen az oldalon található példákhoz, nagyon ajánlott, hogy a rendszermaggal összekapcsolt könyvtárakat mindig csak felhasználói fiókkal tekintse meg.



1. módszer: A / proc könyvtár

A / proc könyvtár bármely Unix fájlstruktúra legfelső szintű gyökérkönyvtárának egyik elsődleges régiójában található. Ez tartalmazza az úgynevezett proc fájlrendszert, ismertebb nevén procfs, amely információkat tartalmaz arról, hogy a különböző erőforrások hogyan férnek hozzá a kernel memóriájához. A rendszer indításakor a / proc-hoz van társítva. Mivel ez a proxy fájlstruktúra interfészként szolgál a Linux kernel belső adatstruktúrájához, a legjobb, ha ezt csak felhasználói fiókon keresztül tárjuk fel. A legtöbb fájlt a látható rendszerfájl-struktúra szerint egyébként is csak olvashatóként osztályozzák, de a legjobb, ha biztonságban vannak.



Ennek ellenére ezek mindegyike egy szöveges fájl, így megtekintheti őket, ha akarja. A cd paranccsal írja be a / proc könyvtárat, majd adja ki az ls billentyűt, hogy megnézhesse, mi van ott. Használja a cat, kevesebb vagy több parancsot a fájlok bármelyikével, hogy megnézhesse őket. A cpuinfo fájl jó hely a kezdéshez, mivel megmutatja, hogy a kern miként tekint a mikroprocesszorra. Nézze meg a stat fájlt a futó folyamatok megtekintéséhez.

2016-11-25_020006

A macskaeszközök beírásával megnézheti, milyen dolgok vannak a gépéhez csatlakoztatva.



2016-11-25_020109

Egyébként mindig kiadhatja a man proc parancsot arról, hogy miként viszonyul a / proc fájlszerkezet a kernelhez. A kiszolgált oldal a Linux programozói kézikönyvéből származik.

2016-11-25_020156

2. módszer: A / sys könyvtár

A következő állomásod a kernel körútján a / sys, ami egy másik könyvtár, amely egy színlelt fájlszerkezethez van hozzárendelve. Ez ugyanazt az általános Unix-koncepciót követi, mint a / proc, de ehelyett aktívan exportálja az információkat a társított eszközmeghajtókról és számos kernelrendszerről. Ha valaha dolgozott BSD-alapú rendszerrel, akkor talán jobban ismeri a sysctl-t, amely ezeket a funkciókat biztosítja. A PCI, az USB és az S / 390 buszeszközök mind a / sys könyvtárba vannak térképezve.

A cd / sys segítségével lépjen át a könyvtárba, majd adja ki az ls vagy dir parancsot. Lehet, hogy vannak blokkok, osztályok, eszközök, fs, kernel és esetleg mások könyvtárak. Ezeket felfedezheti további, a rendszerről információkat tartalmazó lapos fájlokért, de még egyszer tegye meg ezt egy felhasználói fiókból, és tekintse meg, de ne érintse meg a magával kapcsolatos mentalitást.

3. módszer: A / dev könyvtár

A cd / dev paranccsal lépjen át a / dev könyvtárba, amely lehet az a rendszermag virtuális szerkezet, amelyet Ön már a legjobban ismer. A név eszközöket jelent, és tartalmazza a rendszerhez csatolt eszközök fájlábrázolását. Az ebben a könyvtárban található ls parancs sok fájlt fog visszaadni a legegyszerűbb kiszolgálói terjesztésen is.

2016-11-25_020242

Ezek közül néhány nagyon különleges. A / dev / null fájl egy null eszköz, amely nem csinál semmit. Ha beírja a cat / dev / null szót, akkor semmit sem hoz belőle. A bit bitnek hívják, és a kimenet átirányítható hozzá, hogy a képernyő tisztán maradjon. A / dev / zero nevű fájl nem tartalmaz mást, csak nulla adatot, amelyet kiírhat egy lemezre annak nullázására. A véletlenszerű és az urandom fájlok véletlenszerű óriási adatokat tartalmaznak a biztonsági kivonatok létrehozásához.

Ha valaha formázott egy lemezt, akkor valószínűleg van legalább némi tapasztalata arról, hogy a Linux kernel hogyan nézi meg őket. A rendszerhez csatolt minden lemez minden lemezhez kap egy nevet, például sda, sdb és így tovább. A különböző lemeztípusok különböző neveket kapnak. Ne feledje, hogy a / dev könyvtár egy lehetséges formális számítástechnikai meghatározást használ a lemezről, nem pedig a szokásos módon. Ez azt jelenti, hogy egy merevlemez, egy SSD, egy SD-kártya, egy microSDHC-kártya, egy USB-n keresztül csatlakoztatott, csatlakoztatott okostelefon-fájlrendszer, USB-meghajtók és még csatlakoztatott táblagépek egyaránt lemezek a kernelhez.

Ezután a Linux minden egyes lemezneve számot kap, miután jelzi a partíció számát. Ha két elsődleges partícióval rendelkezik SSD-vel, akkor érvényes kötetekként a / dev / sda1 és / dev / sda2 lehet. Több, mint valószínű, ha Linuxot használ asztali számítógépről vagy laptopról MBR stílusú particionálással, akkor a / dev / sda1 az ext4 partícióra van beállítva, amelyre valójában a Linux van telepítve. A valószínûleg a / dev / sda2 egy kiterjesztett partíció, amely ezt követően a / dev / sda5-et tartalmazza swap partícióként. Ez a séma gyakori, de semmiképpen sem szükséges. Vegye figyelembe, hogy mivel a swap partíció ebben a közös példában logikai lemez egy kiterjesztett partíció belsejében, szám helyett 3 helyett 5-öt kap.

Ha többet szeretne megtudni a kernel partícióinak megtekintéséről és formázásáról, akkor az fdisk paranccsal valóban megtekintheti a támogatott partíciók listáját. Míg fdisk addig nem ír partíciós táblázatokat, amíg nem mondja meg, mégis a legjobb, ha ezt olyan dologgal próbálja ki, amelyet nem érdekel a pirítás. Javasoljuk, hogy mutasson valami üres USB-meghajtóra, amelyet egyszerűen átformázhat.

Tegyük fel, hogy a botod úgy jelenik meg / dev / sdc , akkor használhatná sudo fdisk / dev / sdc hogy feltöltsék. Ha van benne érvényes partíció, akkor írja be a t billentyűt a típus megváltoztatásához, az L típust pedig egy hex kódlista betöltéséhez. Ne feledje, hogy az MBR és a GUID partíciós sémák eltérően beszélnek a kernellel, ezért különböző hozzárendelések vannak.

2016-11-25_020331

Gyakran előfordul, hogy a meghajtókat 83-as típusra állítják be, amely a Linux-meghajtókra, a 82-esekre, amelyek a Linux-csere partíciókra, vagy a FAT fájltípusok egyikére. A FAT valamilyen formában 1977-ig nyúlik vissza, és még mindig sok mobileszköz-típus, valamint sok cserélhető meghajtó számára előnyös. Ne feledje, hogy egyes partíciótípusok, például a 0x0c típus, az úgynevezett LBA támogatást tartalmazzák.

Amikor egy programozó egy rendszermagot tervez egy operációs rendszer számára, néhány különböző módon megnézheti a lemezeket. Az egyik az, hogy a tálakat hengerekre, fejekre és szektorokra osztjuk. Ez volt a klasszikus módszer a merevlemezekre való hivatkozásra a leghosszabb ideig. Az eredeti lemezgeometria még soha nem volt fontos a Linux számára, és ez a séma sajnos elfogy a címekből körülbelül 8 bináris gigabájt után. A második módszer a Logical C / H / S címzés használata, amely ezt megteszi, de ezután lehetővé teszi a lemezvezérlő számára a henger-, fej- és szektorszámok feltérképezését, ahol csak akarják. Ezért egy operációs rendszer elméletileg azt állíthatja, hogy vannak fejek az SD-kártyán vagy az USB-meghajtón, amikor ez fizikailag lehetetlen.

A harmadik módszer a logikai blokkcímzés révén történik, amit az LBA képvisel. A kötet minden fizikai blokkja számot kap ebben a sémában. Az operációs rendszer azt mondja a lemezvezérlőnek, hogy írjon egy bizonyos számozott blokkba, de valójában nem tudja, hogy ez a közvetlen blokk a lemezen. Ez az a séma, amelyet manapság a legtöbbet használnak, és az 1990-es évek közepe óta minden bizonnyal a merevlemezek túlnyomó többségénél használják.

A Linux kerneltámogatást kínál a partíciók sokféleségének közvetlen bemenet nélküli csatlakoztatásához, de még mindig a legjobb, ha nem túl kirívó azok kiválasztásakor. Kioszthatja adatait, ha nagyon furcsa partíciótípust választ a fájlrendszerhez.

4. módszer: Rendszerhívások a Linux programozói kézikönyvből

A fedélzeti man oldalak olvasói, amelyek a Linux disztribúciók többségéhez tartoznak, valójában összeomlási tanfolyamot adhatnak a rendszerhívásokról, ami óriási segítséget nyújt a kernel megismerésében. Indítsa el az xman grafikus man oldalak böngészőjét egy .desktop hivatkozásról, ha van ilyen, vagy alternatívaként úgy, hogy egyszerre lenyomva tartja a szuper billentyűt és az R billentyűt, majd írja be az xman billentyűt és nyomja meg az enter billentyűt. Válassza a „Manuális oldal” lehetőséget, majd válassza a „Szekciók”, végül pedig a (2) Rendszerhívások lehetőséget a legördülő menüből.

2016-11-25_020430

Egyszer egy opció bevezető ”Jelenik meg, válassza ki. A Linux programozói kézikönyv egyik oldala, amely elég sokat megtanít a rendszerhívásokra, akkor köszönti Önt.

2016-11-25_020518

6 perc olvasás