Sådan lærer du mere om Linux-kernen fra din egen maskine
At lære at arbejde med GNU / Linux indebærer generelt at lære at arbejde med et skrivebordsmiljø. Temateknologi gør det muligt for disse desktop-miljøer at efterligne grænsefladerne i iOS-, Microsoft Windows- og OS X-enheder. Dette hjælper med at minimere dette som det var. Mange mennesker går videre og lærer Unix kommandolinjestyring med Bash eller TCSH-skallerne. Men ved at blive vidende om internerne i Linux-kernen kan du bedre forstå, hvordan forskellige stykker opcode interagerer med hinanden.
Nogle mennesker ville hævde, at det ville være bedst at gå flere skridt videre og desuden lære, hvordan kompilatorer transmuterer C-kode til maskininstruktører til en mikroprocessor. Assembly Code advocates ville så argumenterer, at det er bedst at lære ASM at virkelig forstå programmeringen på x86 og x86_64 platforme. Uanset disse positioner kan grundlæggende Linux-kommandoer give et væld af oplysninger om, hvordan kernen ser din computer. At lære gennem et blik, men ikke røre paradigmet er en fantastisk måde at mestre kernen selv. Mens rodkontoen blev brugt til eksemplerne på denne side, anbefales det stærkt, at du kun ser kerneforbundne mapper via en brugerkonto.
Metode 1: Den / proc Directory
/ Proc-mappen sidder i en af de primære regioner i hovedkataloget i øverste niveau i en hvilken som helst Unix-filstruktur. Den indeholder hvad der kaldes proc-filsystemet, bedre kendt som procfs, der indeholder oplysninger om, hvordan forskellige ressourcer har adgang til kernelager. Det er kortlagt til / proc på det tidspunkt, hvor systemet starter. Da denne proxy-filstruktur fungerer som en grænseflade til den interne datastruktur inde i Linux-kernen, er det endnu en gang bedst at undersøge dette via en brugerkonto. De fleste filer klassificeres i den synlige systemfilstruktur som skrivebeskyttet alligevel, men det er bedst at være på den sikre side.
Når det er sagt, er hver af dem en tekstfil, så du kan se dem, hvis du ønsker det. Brug cd-kommandoen til at komme ind i / proc-biblioteket, og giv derefter ls for at se, hvad der er der. Brug katten, mindre eller mere kommando med nogen af filerne til at se på dem. Cpuinfo-filen er et godt sted at starte, da det viser, hvordan kernen ser din mikroprocessor. Kig på stat filen for at se igangværende processer.
Skrivning af kat-enheder giver dig et kig på, hvilke ting der er knyttet til din maskine.
Forresten kan du altid udstede kommandoproceduren for at få en oversigt over, hvordan / proc-filstrukturen vedrører kernen. Den side, der serveres, kommer fra Linux Programmer manualen.
Metode 2: Den / sys Directory
Dit næste stop på rundvisningen af din kerne er / sys, hvilket er en anden mappe, der er kortlagt til en foregivelsesfilstruktur. Dette følger det samme generelle Unix-koncept som / proc gør, men det eksporterer i stedet aktivt information om tilknyttede enhedsdrev og en række kernesubsystemer. Hvis du nogensinde har arbejdet med et BSD-baseret system, så er du måske mere bekendt med sysctl, der leverer disse funktioner. PCI, USB og S / 390 bus enheder er alle kortlagt til / sys biblioteket.
Brug cd / sys til at gå over til mappen og derefter udstede kommandoen ls eller dir. Du har muligvis mapper med titlen blok, klasse, enheder, fs, kernel og måske andre. Du kan udforske disse til yderligere flade filer, der indeholder oplysninger om systemet, men gør det igen fra en brugerkonto og hold øje, men rør ikke mentaliteten om dig selv.
Metode 3: Den / dev Directory
Brug cd / dev-kommandoen til at gå over til / dev-mappen, hvilket kan være den virtuelle struktur med en kernel, du er mest bekendt med allerede. Navnet betyder enheder, og indeholder filrepræsentation af enheder, der er knyttet til dit system. En ls kommando i denne mappe vil returnere mange filer på selv den enkleste serverfordeling.
Et par af disse er meget specielle. Filen / dev / null er en null-enhed, der ikke gør noget. Hvis du skriver kat / dev / null, får du intet ud af det. Det hedder bit spanden, og output kan omdirigeres til det for at holde skærmen ren. En fil kaldet / dev / zero indeholder intet andet end nul data, som kan skrives til en disk for at nulstille det. De tilfældige og urandom-filer indeholder tilfældige uønskede data til oprettelse af sikkerhedshash.
PRO TIP: Hvis problemet er med din computer eller en bærbar computer / notesbog, skal du prøve at bruge Reimage Plus-softwaren, som kan scanne lagrene og udskifte korrupte og manglende filer. Dette virker i de fleste tilfælde, hvor problemet er opstået på grund af systemkorruption. Du kan downloade Reimage Plus ved at klikke herHvis du nogensinde har formateret en disk, har du sandsynligvis mindst en vis erfaring med den måde, Linux-kernen ser på dem. Hver disk, der er knyttet til systemet, får et navn som sda, sdb osv. For hver disk. Forskellige disktyper får forskellige navne. Husk, at / dev-biblioteket anvender en potentiel formel datavidenskabsdefinition af disk i stedet for den måde, hvorpå vi normalt bruger dette udtryk. Det betyder, at en harddisk, en SSD, et SD-kort, et microSDHC-kort, et monteret smartphone-filsystem, der er vedhæftet via USB, USB-sticks og endda monterede tabletter, er alle diske til kernen.
Hvert disknavn i Linux modtager derefter et tal efter at det angiver et partitionsnummer. Hvis du havde en SSD med to primære partitioner, så har du måske / dev / sda1 og / dev / sda2 som gyldige mængder. Mere end sandsynligt, hvis du kører Linux fra en stationær eller bærbar computer med MBR-stilpartitionering, så har du / dev / sda1 sat til ext4-partitionen, der faktisk har Linux installeret på den. Mere end sandsynligt / dev / sda2 er en udvidet partition, som derefter indeholder / dev / sda5 som en swap partition. Denne ordning er almindelig, men på ingen måde nødvendig. Bemærk, at da swap-partitionen i dette almindelige eksempel er en logisk disk inde i en udvidet partition, modtager den 5 i stedet for 3 som sit tal.
Hvis du vil vide mere om, hvordan kernen viser og formaterer partitioner, så kan du faktisk se en understøttet partitionsliste med fdisk-kommandoen. Mens fdisk ikke skriver partitionstabeller, før du fortæller det, er det stadig bedst at prøve det med noget, du ikke er ligeglad med ristning. Det anbefales at pege på det som en tom USB-stick, som du nemt kan omforme.
Lad os sige, at din pind vises som / dev / sdc, så du kan bruge sudo fdisk / dev / sdc for at få det lastet op. Hvis du har en gyldig partition i den, skal du skrive t for at ændre typen og typen L for at indlæse en hex kode liste. Bemærk, at MBR og GUID-partitionsordninger snakker med kernen forskelligt og derfor har forskellige opgaver.
Oftere end ikke har du drev sat til type 83, som er til Linux-drev, 82, som er til Linux-swap-partitioner eller en af FAT-filtyperne. FAT dateres tilbage i en eller anden form til 1977, og er stadig foretrukket til mange typer af mobile enheder samt mange flytbare drev. Bemærk, at nogle partitionstyper, såsom type 0x0c, har noget, der hedder LBA-understøttelse.
Når en programmør designer en kerne til et operativsystem, har de et par forskellige måder, hvorpå de kan se på diske. Den ene er at opdele pladeene i cylindre, hoveder og sektorer. Dette var den klassiske måde at henvise til harddiske på i længst tid. Ægte disk geometri har aldrig rigtig været vigtig for Linux, og denne ordning løber desværre ud af adresser efter ca. 8 binære Gigabyte. Den anden måde er at bruge Logisk C / H / S-adressering, hvilket gør dette, men giver derefter diskstyringen mulighed for at kortlægge cylinder-, hoved- og sektornumre, hvor de vil. Derfor kunne et operativsystem teoretisk påstå, at der var hoveder i et SD-kort eller en USB-pind, når dette er fysisk umuligt.
Den tredje metode er gennem Logical Block Addressing, hvilket er, hvad LBA står for. Hver fysisk blok i et volumen modtager et tal i denne ordning. Operativsystemet fortæller diskcontrolleren at skrive til en bestemt nummereret blok, men ved faktisk ikke, om det er den direkte blok på disken. Dette er den mest anvendte ordning i dag, og det er bestemt blevet brugt på langt de fleste harddiske siden midten af 1990'erne.
Linux tilbyder kernel support til at montere et bredt udvalg af partitionstyper uden direkte input, men det er stadig bedst ikke at være for outlandish, når de vælges. Du kunne skåle dine data, hvis du lavede en meget mærkelig partitionstype til filsystem matching valg.
Metode 4: Systemopkald fra Linux Programmeringshåndbogen
Ombord mansider læsere inkluderet med et flertal af Linux distributioner kan faktisk give dig et crash kursus på systemopkald, som kan hjælpe uhyre med at lære om kernen. Start den xman grafiske man sider browser enten fra en .desktop link, hvis du har en, eller alternativt ved at holde supernøglen og R samtidig, og derefter skrive xman og trykke på enter. Vælg indstillingen Manuel side og vælg derefter Afsnit og endelig (2) Systemopkald fra rullemenuen.
Når en indstilling for læsning af indstillinger vises, skal du vælge det. En side fra Linux Programmerhåndbogen, der vil lære dig en hel del om systemopkald, vil så hilse på dig.
PRO TIP: Hvis problemet er med din computer eller en bærbar computer / notesbog, skal du prøve at bruge Reimage Plus-softwaren, som kan scanne lagrene og udskifte korrupte og manglende filer. Dette virker i de fleste tilfælde, hvor problemet er opstået på grund af systemkorruption. Du kan downloade Reimage Plus ved at klikke her