|  Startsida |  Hårdvara |  Nätverk |  Programmering |  Programvara |  Felsökning |  System |   
System
  • Grundläggande datorkunskaper
  • 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
  • * Dator Kunskap >> System >> Linux >> Content

    Vilka är de olika typerna av kärnor.c tillgängliga för operativsystem?

    Filen "Kernel.c" är i allmänhet en utgångspunkt eller en central del av operativsystemets kärna. Dess exakta roll och innehåll varierar mycket beroende på operativsystemet och dess design. Det är inte en standardiserad fil över alla operativsystem. Vi kan emellertid kategorisera de typer av kärnor konceptuellt och hur "kärna.c" kan passa in i dessa kategorier.

    Här är olika typer av kärnor, med hur `kärnan.c` kan relatera till dem:

    1. Monolitiska kärnor:

    * Beskrivning: Hela OS -funktionaliteten (enhetsdrivare, minneshantering, filsystem etc.) körs i kärnutrymmet. Detta leder till ett enda stort, komplext program.

    * `Kernel.c` Roll: I en monolitisk kärna kan `kärnor.c` * * innehålla kärninitieringsrutinerna, huvudslingan (eller schemaläggaren), avbrottshantering och potentiellt till och med initiala implementeringar av viktiga delsystem. Det är en vanlig utgångspunkt. Det kan också vara en relativt mindre fil som innehåller initialisering och skickning, med andra källfiler som hanterar specifika delsystem. Men en monolitisk kärna har vanligtvis många källfiler, och `kärnan.c` är bara en bit. Det kan orkestrera lastning och initialisering av förare och andra kärnkomponenter.

    Exempel:

    * Tidig Linux: Tidiga versioner av Linux var närmare monolitiska, även om det har utvecklats avsevärt.

    * BSD -familj (FreeBSD, OpenBSD, NetBSD): Även om de är modulära har dessa fortfarande en stor kärnkodbas.

    * MS-DOS: Ett enkelt exempel.

    2. MicroKernels:

    * Beskrivning: En mikrokernel tillhandahåller en minimal uppsättning kärntjänster:Inter-Process Communication (IPC), Basic Memory Management och CPU-schemaläggning. Enhetsdrivare, filsystem och andra OS -tjänster körs i användarutrymme.

    * `Kernel.c` Roll: I en mikrokernel är `kärnan. Det skulle innehålla kod för:

    * HANTERING IPC (Message Passing)

    * Hantera uppgifter (trådar/processer) och schemalägga dem

    * Implementering av ett Basic Memory Management Unit (MMU) -gränssnitt.

    * Hantera systemsamtal och skicka dem till rätt service.

    * Avbryta hantering och leder dem till relevanta tjänster.

    Exempel:

    * minix 3: Designades uttryckligen som en mikrokernel.

    * qnx: Ett realtidsmikrokernel-operativsystem.

    * l4/fiasko: En familj med högpresterande mikrokerneller.

    3. Hybridkärnor:

    * Beskrivning: En hybridkärnan försöker kombinera fördelarna med monolitiska och mikrokärna. De har vanligtvis fler tjänster som körs i kärnutrymmet än en mikrokernel, men färre än en monolitisk kärna. Detta innehåller ofta enhetsdrivrutiner.

    * `Kernel.c` Roll: I en hybridkärna skulle "kärnan.c" vara större än i en mikrokernel men mindre än i en rent monolitisk kärna. Det kan innehålla:

    * Kärnsystemsamtalshantering och skickning

    * Inledande enhetsdrivare laddning och hantering (även om vissa drivrutiner kan vara moduler)

    * Minneshantering och implementeringar av virtuella minnes

    * CPU -schemaläggning

    * Interprocesskommunikation (potentiellt optimerad jämfört med mikrokärna)

    * Initialisering av kärnan och dess delsystem.

    Exempel:

    * Windows NT -kärnan (används i Windows 2000, XP, Vista, 7, 8, 10, 11): Även om det ofta beskrivs som en hybrid, lutar den sig mer mot en monolitisk strategi när det gäller mängden kod som körs i kärnutrymmet.

    * macOS (xnu): Använder en hybridmetod och kombinerar delar av MACH -mikrokernellen med BSD UNIX -komponenter.

    4. Exokerneller:

    * Beskrivning: Exokerneller tar MicroKernel -konceptet till ett extremt. De ger minimal abstraktion över hårdvara, vilket gör att applikationer kan hantera resurser direkt. Applikationer begär resurser, och exokernellen säkerställer helt enkelt isolering och skydd.

    * `Kernel.c` Roll: I en exokernel skulle `kärnor.c` vara * extremt * litet. Det skulle främst fokusera på:

    * Resursspårning och isolering

    * Auktorisation och åtkomstkontroll

    * Tillhandahålla ett lågnivågränssnitt till hårdvaran (t.ex. tilldela fysiska sidor, ställa in sidtabeller).

    * Mycket minimal schemaläggning.

    Exempel:

    * exos: Ett forskningssystem som var banbrytande för Exokernel -konceptet.

    5. Nanokernels/picokernels:

    * Beskrivning: Ännu mindre än mikrokärna, ofta används i inbäddade system och realtidsoperativsystem (RTO). De hanterar vanligtvis endast hårdvaruabstraktion, avbrott och grundläggande uppgiftsplanering.

    * `Kernel.c` Roll: I en nanokernel skulle "kärna.c" vara exceptionellt minimal. Det skulle främst vara upptaget av:

    * Avbrottshantering

    * Uppgiftsplanering och kontextbyte

    * Eventuellt grundläggande minnesskydd

    * Det minsta möjliga hårdvaruabstraktionslagret (HAL).

    Exempel:

    * Specifika RTOS -implementeringar.

    6. Unikernels:

    * Beskrivning: En unikernel är en specialiserad maskinbild med en adressutrymme som endast innehåller de OS-komponenter som krävs för att köra en specifik applikation. Det sammanställs direkt från applikationskod och ett specialiserat kärnbibliotek.

    * `Kernel.c` Roll: Konceptet med en "kernel.c" -fil är mindre direkt tillämpligt. Kärnan är ofta byggd av bibliotek och konfigurationer som är specifika för applikationen. Det kan finnas en "lim" -fil eller ingångspunkt som kan kallas `Kernel.c 'men dess roll handlar mer om att länka komponenter än att representera en traditionell kärnstruktur. Det kan vara involverat i att ställa in den ursprungliga miljön och kalla applikationens huvudfunktion.

    Exempel:

    * osv: En unikernel designad för molnmiljöer.

    * Inkluderaos: En annan unikernel -plattform.

    Viktiga överväganden:

    * Filorganisation: Moderna operativsystem, även de med monolitiska kärnor, är organiserade i många källfiler. `Kernel.c` är bara en, och den roll den spelar kan variera beroende på OS:s arkitektur och designval.

    * startprocess: "Kernel.C" engagerar sig ofta i den tidiga startprocessen och ställer in systemet innan du överlämnar kontroll till andra delar av kärnan eller applikationen.

    * Implementeringsdetaljer: De specifika funktionerna och strukturerna som finns i `kärnan.c 'beror helt på operativsystemet.

    * Modulära kärnor: Många moderna kärnor stöder moduler (t.ex. lastbara kärnmoduler i Linux). Dessa moduler kan utvidga kärnans funktionalitet dynamiskt, suddiga linjerna mellan "kärnutrymme" och "användarutrymme" till viss del och potentiellt minska den initiala storleken och komplexiteten i kärnkärnan (inklusive vad som kan hittas i "kärnan.c").

    Sammanfattningsvis, medan namnet `Kernel.c` innebär en kärnkomponent, varierar dess faktiska roll och innehåll dramatiskt beroende på kärnens typ (monolitisk, mikrokernel, hybrid, etc.) och den specifika utformningen av operativsystemet. Det är ofta en initialiserings- och inmatningspunktsfil men inte alltid den centrala filen som innehåller det mesta av operativsystemets kod.

    Tidigare:

    nästa:
    relaterade artiklar
    ·Hur hittar Red Köer Hat Skrivare
    ·Lägga till Win32 codecs i openSUSE
    ·Hur du hittar Log \\ Log4Perl
    ·Hur konfigurera en TFTP -server för PXE
    ·Hur man kan blockera webbplatser i Linux
    ·Hur man installerar ett Battlefield 1942 Linux Dedicate…
    ·Lägga till en andra VGA -kort i Linux
    ·Hur man skapar en ISO -fil på kommandoraden
    ·Hur man ladda ner och installera på Linux
    ·Så här aktiverar du en Apache2 Modul
    Utvalda artiklarna
    ·Hur man installerar Linux på Top
    ·Hur man installerar Systemåterställning i Windows XP
    ·Hur man gör Windows 7 Sök Snabb
    ·Var är fontfiler Beläget i Windows Vista
    ·Kan du spela Test Drive 2 på en Mac?
    ·Hur man installerar MDAC Använda vin
    ·Avinstallera Apple iTunes
    ·Hur man reparerar NEC Computers
    ·Hur att bryta en dator lösenord
    ·Återställa ett system genom användning felsäkert lä…
    Copyright © Dator Kunskap https://www.dator.xyz