| Hjem | Hardware | Netværk | Programmering | software | Fejlfinding | systemer | 
systemer  
  • Basale computerfærdigheder
  • Linux
  • Mac OS
  • Ubuntu
  • Unix
  • Windows
  • Windows Vista
  • Windows XP
  • Windows 7
  • Windows 10
  • Windows 11
  • Windows 2012
  • Windows 2016
  • Windows 2019
  • Windows 2022
  • Apple
  • Android
  • iOS
  • CentOS
  •  
    Computer Viden >> systemer >> Linux >> Content
    Hvad er de forskellige typer kerner.c tilgængelige til operativsystemer?
    Filen `kernel.c` er generelt et udgangspunkt eller en central del af operativsystemets kerne. Dens nøjagtige rolle og indhold varierer meget afhængigt af OS og dets design. Det er ikke en standardiseret fil på tværs af alle operativsystemer. Vi kan dog kategorisere de typer kerner, der er konceptuelt, og hvordan `kernel.c` kan passe ind i disse kategorier.

    Her er forskellige typer kerner, med hvordan `kernel.c` kan forholde sig til dem:

    1. Monolitiske kerner:

    * Beskrivelse: Hele OS -funktionaliteten (enhedsdrivere, hukommelsesstyring, filsystem osv.) Kører i kerneområdet. Dette fører til et enkelt stort, komplekst program.

    * `kernel.c` rolle: I en monolitisk kerne kan `kernel.c` * muligvis * indeholde de centrale initialiseringsrutiner, hovedsløjfen (eller planlægningssløjfe), afbrydelse af håndtering og potentielt endda indledende implementeringer af centrale delsystemer. Det er et almindeligt udgangspunkt. Det kan også være en relativt mindre fil, der indeholder initialisering og afsendelse, med andre kildefiler, der håndterer specifikke delsystemer. Imidlertid har en monolitisk kerne typisk mange kildefiler, og `kernel.c` er kun et stykke. Det kan orkestrere belastningen og initialiseringen af ​​drivere og andre kernekomponenter.

    Eksempler:

    * Tidlig Linux: Tidlige versioner af Linux var tættere på monolitisk, selvom det har udviklet sig markant.

    * BSD -familie (FreeBSD, OpenBSD, NetBSD): Mens de er modulopbygget, har disse stadig en stor kerne -kodebase.

    * MS-DOS: Et simpelt eksempel.

    2. MicrokerNels:

    * Beskrivelse: En Microkernel leverer et minimalt sæt kernetjenester:Inter-Process Communication (IPC), Basic Memory Management og CPU-planlægning. Enhedsdrivere, filsystemer og andre OS -tjenester kører i brugerrummet.

    * `kernel.c` rolle: I en mikrokernel er `kernel.c 'normalt mindre og fokuserer udelukkende på de centrale mikrokernelfunktioner. Det vil indeholde kode til:

    * Håndtering af IPC (meddelelsesafgang)

    * Håndtering af opgaver (tråde/processer) og planlægning af dem

    * Implementering af en Basic Memory Management Unit (MMU) interface.

    * Håndtering af systemopkald og afsendelse af dem til den rigtige service.

    * Afbryd håndtering og dirigering af dem til relevante tjenester.

    Eksempler:

    * minix 3: Designet eksplicit som en mikrokernel.

    * qnx: Et realtids mikrokernel OS.

    * l4/fiasko: En familie med højtydende mikrokerner.

    3. Hybridkerner:

    * Beskrivelse: En hybrid -kerne forsøger at kombinere fordelene ved monolitiske og mikrokerner. De har normalt flere tjenester, der kører i kerneområdet end en mikrokernel, men færre end en monolitisk kerne. Dette inkluderer ofte enhedsdrivere.

    * `kernel.c` rolle: I en hybridkerner ville `kernel.c` være større end i en mikrokernel, men mindre end i en rent monolitisk kerne. Det kunne indeholde:

    * Core System Call Handling and Dispatching

    * Indledende enhedsdriverbelastning og -styring (skønt nogle drivere kunne være moduler)

    * Hukommelsesstyring og virtuelle hukommelsesimplementeringer

    * CPU -planlægning

    * Inter-process-kommunikation (potentielt optimeret sammenlignet med mikrokerner)

    * Initialisering af kernen og dens delsystemer.

    Eksempler:

    * Windows NT -kerne (brugt i Windows 2000, XP, Vista, 7, 8, 10, 11): Mens den ofte beskrev som en hybrid, læner den sig mere mod en monolitisk tilgang med hensyn til mængden af ​​kode, der kører i kerneområdet.

    * macOS (xnu): Bruger en hybrid -tilgang, der kombinerer dele af MACH Microkernel med BSD UNIX -komponenter.

    4. ExokerNels:

    * Beskrivelse: ExokerNels tager mikrokernel -konceptet til det ekstreme. De giver minimal abstraktion over hardware, hvilket giver applikationer mulighed for at styre ressourcer direkte. Ansøgninger anmoder om ressourcer, og Exokernel sikrer simpelthen isolering og beskyttelse.

    * `kernel.c` rolle: I en Exokernel ville `kernel.c` være * ekstremt * lille. Det ville hovedsageligt fokusere på:

    * Ressourcesporing og isolering

    * Tilladelse og adgangskontrol

    * Tilvejebringelse af en grænseflade på lavt niveau til hardware (f.eks. Tildeling af fysiske sider, opsætning af sidetabeller).

    * Meget minimal planlægning.

    Eksempler:

    * eksos: Et forskningsoperativsystem, der var banebrydende for Exokernel -konceptet.

    5. NanokerNels/PicokerNels:

    * Beskrivelse: Endnu mindre end mikrokerner, der ofte bruges i indlejrede systemer og operativsystemer i realtid (RTO'er). De håndterer typisk kun hardwareabstraktion, afbrydelser og grundlæggende opgaveplanlægning.

    * `kernel.c` rolle: I en nanokernel ville `kernel.c` være usædvanligt minimal. Det ville primært være beskæftiget med:

    * Afbryd håndtering

    * Opgaveplanlægning og kontekstskiftning

    * Muligvis grundlæggende hukommelsesbeskyttelse

    * Det mindste mulige hardwareabstraktionslag (HAL).

    Eksempler:

    * Specifikke RTOS -implementeringer.

    6. Unikernels:

    * Beskrivelse: Et unikernel er et specialiseret, enkelt-adress-rummaskinbillede, der kun inkluderer de OS-komponenter, der kræves for at køre en bestemt applikation. Det er samlet direkte fra applikationskode og et specialiseret kernebibliotek.

    * `kernel.c` rolle: Konceptet med en `kernel.c '-fil er mindre direkte anvendelig. Kernen er ofte bygget af biblioteker og konfigurationer, der er specifikke for applikationen. Der kan være en "lim" -fil eller indgangspunkt, der kan kaldes `kernel.c`, men dens rolle handler mere om at knytte komponenter end at repræsentere en traditionel kernestruktur. Det kan være involveret i opsætning af det indledende miljø og at kalde applikationens hovedfunktion.

    Eksempler:

    * OSV: En unikernel designet til skymiljøer.

    * inkludereros: En anden Unikernel -platform.

    Vigtige overvejelser:

    * filorganisation: Moderne operativsystemer, selv dem med monolitiske kerner, er organiseret i mange kildefiler. `Kernel.c` er kun en, og den rolle, den spiller, kan variere baseret på OS's arkitektur og designvalg.

    * Boot -proces: `Kernel.c` bliver ofte involveret i den tidlige boot -proces, hvilket opsætter systemet, før den overleverer kontrol til andre dele af kernen eller applikationen.

    * Implementeringsdetaljer: De specifikke funktioner og strukturer, der findes i `kernel.c`, afhænger helt af OS.

    * Modulære kerner: Mange moderne kerner understøtter moduler (f.eks. Lastbare kernemoduler i Linux). Disse moduler kan udvide kernens funktionalitet dynamisk, slører linjerne mellem "kerneplads" og "brugerrum" til en vis grad og potentielt reducere den oprindelige størrelse og kompleksitet af kernekernekoden (inklusive hvad der kan findes i `kerne.c`).

    Sammenfattende, mens navnet `kernel.c` indebærer en kernekomponent, varierer dens faktiske rolle og indhold dramatisk baseret på kernens type (monolitisk, mikrokernel, hybrid osv.) Og det specifikke design af operativsystemet. Det er ofte en initialiserings- og indgangspunktfil, men ikke altid den centrale fil, der indeholder det meste af operativsystemets kode.

    Forrige :

    næste :
      Relaterede artikler
    ·Hvilken version af Linux fungerer bedst med ældre comp…
    ·Sådan nulstilles adgangskoden for CentOS 4.5 
    ·Sådan installeres ffmpeg på Debian 
    ·Hvordan man opbygger en FFMPEG Tutorial 
    ·Sådan kører Adobe CS4 på en VirtualBox 
    ·Linux Sync Tools 
    ·Hvordan til at tælle antallet af linjer i en fil i en …
    ·Sådan pakkes en BIN fil i Linux 
    ·Hvordan kan man øge Linux Delt hukommelse 
    ·Linux Script Hjælp 
      Anbefalede Artikler
    ·Sådan fjernes Windows XP i en dual boot System 
    ·Sådan Reparation en Apple LaserWriter Pro 
    ·Sådan ændres en Windows-brugerkonto til Administrator…
    ·Sådan copy & paste Information i din Mail til din brow…
    ·Sådan Hold Dock Fra Flytning på en Mac 
    ·Sådan opdaterer min PC 
    ·Sådan Flyt musik fra en iPod til iTunes på en Mac 
    ·Sådan Find Bad skrifttyper på en Mac 
    ·Sådan Juster proceslinjen 
    ·Sådan Stop Opdatering oplysninger 
    Copyright © Computer Viden https://www.computerdk.com