Kuinka oppia lisää Linux-ytimestä omalta koneeltasi



Kokeile Instrumenttia Ongelmien Poistamiseksi

GNU / Linuxin kanssa työskentelemisen oppiminen tarkoittaa yleensä työympäristön kanssa työskentelemisen oppimista. Teematekniikan avulla nämä työpöytäympäristöt voivat jäljitellä iOS-, Microsoft Windows- ja OS X -laitteiden käyttöliittymiä. Tämä auttaa minimoimaan tämän ikään kuin. Monet ihmiset menevät pidemmälle ja oppivat Unix-komentorivin hallinnan Bash- tai tcsh-kuorilla. Linux-ytimen sisäisten tietojen tunteminen voi kuitenkin auttaa sinua ymmärtämään paremmin, kuinka erilaiset opcode-kappaleet ovat vuorovaikutuksessa keskenään.



Jotkut väittävät, että olisi parasta mennä useita vaiheita pidemmälle ja oppia lisäksi, kuinka kääntäjät muuntavat C-koodin koneopettajiksi mikroprosessoria varten. Kokoonpanokoodin kannattajat väittävät sitten, että on parasta oppia ASM ymmärtämään todella ohjelmointi x86- ja x86_64-alustoilla. Näistä sijainneista riippumatta Linux-peruskomennot voivat tarjota runsaasti tietoa siitä, miten ydin näkee tietokoneen. Oppiminen ulkoasun kautta, mutta älä kosketa paradigmaa, on hieno tapa hallita ydin itse. Vaikka juuritiliä käytettiin tämän sivun esimerkeissä, on erittäin suositeltavaa, että tarkastelet aina ytimeen linkitettyjä hakemistoja vain käyttäjätilin kautta.



Tapa 1: / proc-hakemisto

/ Proc-hakemisto sijaitsee jossakin ylätason juurihakemiston ensisijaisista alueista missä tahansa Unix-tiedostorakenteessa. Se sisältää ns. Proc-tiedostojärjestelmän, joka tunnetaan paremmin nimellä procfs ja joka sisältää tietoa siitä, kuinka eri resurssit käyttävät ytimen muistia. Se on määritetty / proc-tilaan järjestelmän käynnistyessä. Koska tämä välityspalvelintiedostorakenne toimii käyttöliittymänä Linux-ytimen sisäiseen tietorakenteeseen, on jälleen kerran parasta tutkia tätä käyttäjätilin kautta. Suurin osa tiedostoista luokitellaan näkyvän järjestelmätiedostorakenteen mukaan vain luku -tilaan, mutta on parasta olla turvallisella puolella.



Tästä huolimatta jokainen näistä on tekstitiedosto, joten voit tarkastella niitä, jos haluat. Syötä cd-komennolla / proc-hakemisto ja anna sitten ls, jotta saat selville, mitä siellä on. Käytä kissa, vähemmän tai enemmän -komentoa minkä tahansa tiedoston kanssa tarkastellaksesi niitä. Cpuinfo-tiedosto on hyvä paikka aloittaa, koska se näyttää kuinka ydin näkee mikroprosessorin. Katso stat-tiedostosta näkymä käynnissä olevista prosesseista.

2016-11-25_020006

Kissalaitteiden kirjoittaminen antaa sinulle mahdollisuuden tarkastella mitä koneeseesi on kiinnitetty.



2016-11-25_020109

Muuten, voit aina antaa komennolle man proc selvityksen siitä, kuinka / proc-tiedostorakenne liittyy ytimeen. Näytetty sivu tulee Linux-ohjelmoijan käsikirjasta.

2016-11-25_020156

Tapa 2: / sys-hakemisto

Seuraava pysähdys ytimen kiertueella on / sys, joka on toinen hakemisto, joka on kartoitettu teeskenteltävään tiedostorakenteeseen. Tämä noudattaa samaa yleistä Unix-käsitettä kuin / proc, mutta sen sijaan se vie aktiivisesti tietoja liittyvistä laiteasemista ja useista ytimen alijärjestelmistä. Jos olet koskaan työskennellyt BSD-pohjaisen järjestelmän kanssa, saatat tuntea paremmin näiden toimintojen tarjoavan sysctl: n. PCI-, USB- ja S / 390-väylälaitteet on kaikki yhdistetty / sys -hakemistoon.

Käytä cd / sys-sovellusta siirtyäksesi hakemistoon ja antamalla sitten komento ls tai dir. Sinulla voi olla hakemistoja, joiden otsikko on lohko, luokka, laitteet, fs, ydin ja ehkä muut. Voit tutkia näitä muita tasaisia ​​tiedostoja varten, jotka sisältävät tietoa järjestelmästä, mutta tee se jälleen kerran käyttäjätililtä ja pidä silmällä, mutta älä kosketa mentaliteettia itsestäsi.

Tapa 3: / dev-hakemisto

Käytä cd / dev-komentoa siirtyäksesi / dev-hakemistoon, joka voi olla yhden ytimen virtuaalirakenne, jonka tunnet jo parhaiten. Nimi tarkoittaa laitteita ja sisältää järjestelmään liitettyjen laitteiden tiedostoesityksen. Tämän hakemiston ls-komento palauttaa monia tiedostoja jopa yksinkertaisimmalla palvelinjakelulla.

2016-11-25_020242

Muutama näistä on hyvin erikoinen. / Dev / null-tiedosto on tyhjä laite, joka ei tee mitään. Jos kirjoitat cat / dev / null, et saa siitä mitään. Sitä kutsutaan bittisäiliöksi, ja ulostulo voidaan ohjata siihen pitämään näyttö puhtaana. Tiedosto nimeltä / dev / zero ei sisällä muuta kuin nolla tietoa, joka voidaan kirjoittaa levylle sen nollaamiseksi. Satunnais- ja urandom-tiedostot sisältävät satunnaisia ​​roskapostitietoja suojaus hashien luomiseksi.

Jos olet koskaan alustanut levyn, sinulla on todennäköisesti ainakin jonkin verran kokemusta tavasta, jolla Linux-ydin tarkastelee niitä. Jokainen järjestelmään liitetty levy saa jokaiselle levylle nimen, kuten sda, sdb ja niin edelleen. Eri levytyypit saavat eri nimet. Muista, että / dev-hakemisto käyttää yhtä mahdollista muodollista tietojenkäsittelytieteen määrittelyä levyltä sen sijaan, että tavallisesti käytämme tätä termiä. Tämä tarkoittaa, että kiintolevy, SSD, SD-kortti, microSDHC-kortti, USB-liitännällä liitetty älypuhelimen tiedostojärjestelmä, USB-tikut ja jopa asennetut tabletit ovat kaikki ytimen levyjä.

Jokainen Linux-levyn nimi saa sitten numeron sen jälkeen, kun se osoittaa osion numeron. Jos sinulla oli SSD kahdella ensisijaisella osiolla, sinulla saattaa olla voimassa olevat levyt / dev / sda1 ja / dev / sda2. Enemmän kuin todennäköistä, jos käytät Linuxia työpöydältä tai kannettavalta tietokoneelta, jossa on MBR-tyylinen osiointi, sinulla on / dev / sda1 asetettu ext4-osioon, johon Linux on todella asennettu. Enemmän kuin todennäköistä / dev / sda2 on laajennettu osio, joka sitten sisältää / dev / sda5: n swap-osiona. Tämä järjestelmä on yleinen, mutta ei suinkaan välttämätön. Huomaa, että koska tässä yleisessä esimerkissä oleva swap-osio on looginen levy laajennetun osion sisällä, se vastaanottaa numerona 5 sijasta 3.

Jos haluat oppia lisää siitä, miten ydin näkee ja muotoilee osioita, voit itse tarkastella tuettua osaluetteloa fdisk-komennolla. Sillä aikaa fdisk ei kirjoita osiotaulukoita ennen kuin kerrot sen, on silti parasta kokeilla tätä jotain, josta et välitä paahtamisesta. On suositeltavaa osoittaa se tyhjälle USB-muistille, jonka voit helposti alustaa uudelleen.

Oletetaan, että keppi näkyy nimellä / dev / sdc , niin voit käyttää sudo fdisk / dev / sdc jotta se ladataan. Jos sinulla on kelvollinen osio, kirjoita t vaihtaaksesi tyyppiä ja tyyppi L ladataksesi heksakoodiluettelon. Huomaa, että MBR- ja GUID-osiointijärjestelmät keskustelevat ytimen kanssa eri tavalla, ja siksi niillä on erilaiset määritykset.

2016-11-25_020331

Useammin kuin ei, asemat asetetaan tyypiksi 83, joka on tarkoitettu Linux-asemille, 82, joka on tarkoitettu Linux-vaihto-osioille, tai johonkin FAT-tiedostotyypeistä. FAT juontaa jossain muodossa tai toisessa vuodeksi 1977, ja on edelleen suositeltavaa monen tyyppisille mobiililaitteille sekä monille irrotettaville asemille. Huomaa, että jotkut osiotyypit, kuten tyyppi 0x0c, sisältävät jotain, jota kutsutaan LBA-tueksi.

Kun ohjelmoija suunnittelee ytimen käyttöjärjestelmälle, heillä on muutama erilainen tapa tarkastella levyjä. Yksi on jakaa lautaset sylintereiksi, päiksi ja sektoreiksi. Tämä oli klassinen tapa viitata kiintolevyihin pisimpään. Aidon levyn geometria ei ole koskaan ollut Linuxille tärkeää, ja tämä malli valitettavasti loppuu osoitteista noin 8 binaarisen gigatavun jälkeen. Toinen tapa on käyttää loogista C / H / S-osoitetta, joka tekee tämän, mutta sallii sitten levynohjaimen kartoittaa sylinterin, pään ja sektorinumerot missä tahansa. Siksi käyttöjärjestelmä voisi teoreettisesti väittää, että SD-kortissa tai USB-muistissa on päätä, kun se on fyysisesti mahdotonta.

Kolmas menetelmä on looginen lohkoosoite, jota LBA tarkoittaa. Jokainen tilavuuden fyysinen lohko saa numeron tässä järjestelmässä. Käyttöjärjestelmä käskee levy-ohjainta kirjoittamaan tiettyyn numeroituun lohkoon, mutta ei tiedä, onko kyseessä levyn suora lohko. Tätä järjestelmää käytetään nykyään eniten, ja sitä on varmasti käytetty suurimmalla osalla kiintolevyjä 1990-luvun puolivälistä lähtien.

Linux tarjoaa ytintuen monenlaisten osiotyyppien asentamiseen ilman suoraa syötettä, mutta on silti parasta olla liian outo valitessaan niitä. Voisit paahdella tietosi, jos teit hyvin outon osiotyypin tiedostojärjestelmää vastaavalle valinnalle.

Tapa 4: Järjestelmäpuhelut Linux-ohjelmoijan käsikirjasta

Suurimmalle osalle Linux-jakelua sisältyvät koneen man-sivujen lukijat voivat todella antaa sinulle järjestelmäkutsujen kaatumiskurssin, mikä voi auttaa valtavasti ytimestä. Käynnistä xman-graafisten man-sivujen selain joko .desktop-linkistä, jos sinulla on sellainen, tai vaihtoehtoisesti pitämällä super-näppäintä ja R painettuna samanaikaisesti, kirjoittamalla xman ja painamalla Enter. Valitse vaihtoehto 'Manuaalinen sivu' ja sitten avattavasta valikosta 'Osat' ja lopuksi '(2) Järjestelmäpuhelut'.

2016-11-25_020430

Kerran vaihtoehto lukee intro ”Tulee näkyviin, valitse se. Sitten Linux-ohjelmoijan käsikirjan sivu, joka opettaa sinulle melko paljon järjestelmäpuheluista, tervehtii sinua.

2016-11-25_020518

6 minuuttia luettu