Wat is de kernel
Voordat we de toekomst van onszelf, laten we eens kijken naar de rol van de kernel van het besturingssysteem. In de meeste besturingssystemen, waaronder UNIX en Windows, is de kernel speciale software die verschillende uiterst belangrijke elementen van de machine controles. De kernel zit tussen individuele lopende programma's en de hardware zelf. Het uitvoeren van verschillende kritische huishouding functies voor het besturingssysteem en fungeert als liaison tussen gebruiker-niveau's en de hardware, de kernel heeft een cruciale rol. Veel kernels, waaronder die gevonden in UNIX-en Windows-systemen, de volgende belangrijkste kenmerken:
Met deze functies, de kernel is alles over controle: zit aan de tussenruimten van de gebruiker programma's en hardware en controleren wat er gebeurt op de machine. Als het draait, de kernel is gebaseerd op hardware-niveau beschermingen geïmplementeerd in het systeem CPU. Door het gebruik van hardware-niveau van bescherming, de kernel probeert zijn eigen kritische data structuren van toevallige of opzettelijke manipulatie veilig te stellen door de gebruiker-niveau processen op de machine. De meeste CPU's omvatten hardware functies te laten software op het systeem draaien op verschillende niveaus van voorrecht. Het geheugen en andere elementen van zeer gevoelige software (zoals de kernel) kunnen niet worden geopend door code draait op een minder belangrijke niveau (bijvoorbeeld, gebruiker processen). Op x86-compatibele CPU's, zijn deze verschillende niveaus genoemd gevoeligheid ringen, en het bereik vanaf de Ring 0, de meest gevoelige niveau, om de Ring 3, de minst gevoelige niveau. Aangezien verschillende taken uitgevoerd, de CPU schakelt tussen deze verschillende niveaus, afhankelijk van de gevoeligheid van de specifieke software die momenteel uitvoeren. Voor de Linux-en Windows-besturingssystemen, alleen Ringen 0 en 3 worden gebruikt; de andere opties ondersteund door x86 CPU's (dat wil zeggen, Ringen 1 en 2) niet worden gebruikt. De kernel zelf, in zowel Linux als Windows, loopt in Ring 0. In feite lopen in Ring 0 definieert een bepaalde taak als op kernel-niveau. Mocht u in Ring 0, kunt u toegang tot alle van het geheugen van de kernel structuren, en zijn dus op hetzelfde niveau als de kernel code. User mode processen lopen in Ring 3, en, onder de meeste omstandigheden, niet in staat zijn om kernel space rechtstreeks toegang. Door beroep te doen op 0 en Ring Ring 3, alle software op de machine is eigenlijk opgedeeld in twee verschillende werelden: kernel-modus (uitgevoerd in de Ring 0) en user mode (uitgevoerd in de Ring 3). Voor niet-x86 CPU's, besturingssystemen gebruiken analoog concepten Ring 0 en Ring 3 geïmplementeerd in de hardware van de CPU's. Bijna alle CPU's ondersteunen enkele notie van een bevoorrechte modus, waarin de kernel woont, en een modus voor gebruiker nonprivileged processen. Het is belangrijk om dat kernel mode notitie is een heel ander concept van root of administrator permissies. Wanneer een beheerder een opdracht, een bepaald programma wordt uitgevoerd wordt uitgevoerd binnen user mode, dat wil zeggen in Ring 3. Vanuit het perspectief van de kernel, de beheerder is gewoon een andere gebruiker, zij het een belangrijk, maar nog steeds iemand die in Ring 3. Wanneer de meeste programma's draaien, de controle heeft soms door te geven van de user mode kernel mode in, zoals wanneer het programma nodig heeft om te interageren met hardware voor het afdrukken op het scherm, het ontvangen van een pakket, of een andere actie. Wanneer dit gebeurt, is de controle zeer zorgvuldig doorgegeven van user mode kernel mode aan, door middel van streng gecontroleerde interfaces. De software die deze overgang uitvoert vanaf de Ring 3 Ring 0 wordt aangeduid als een oproep poort, omdat het fungeert als een poort voor user-mode processen in software die in kernel mode. Bij de beheerders vragen om een lijst van draaiende programma's met behulp van tools zoals de UNIX-ps, lsof, of top commando's of de Windows Task Manager, voeren ze een commando van gebruiker-modus, die de kernel vraagt om een lijst van alle lopende processen. De kernel pakt gegevens uit de kernel-mode data structuren, reageert op de user-mode commando met de juiste informatie, en de lopende processen worden weergegeven. Evenzo kan de beheerder of gebruikers vragen om een lijst van bestanden in een directory. De kernel reageert met de nodige informatie. Of, kan je kijken naar welke TCP-of UDP-poorten in gebruik zijn, of dat de netwerk interface in promiscuous mode. Je zou zelfs kunnen uitvoeren van een bestand Integrity Checker om te zien of een van uw essentiële systeembestanden zijn gewijzigd met een user-mode RootKit. Al deze interacties, en veel meer beroepen op de kernel om de status van de machine. Dat is hoe het allemaal hoort te werken. De kernel zorgt voor het bedrijfsleven, en iedereen is gelukkig. een artikel afkomstig van Rafael Kwan
|
|||||
|