Toon posts:

Wat zijn kernelheaders?

Pagina: 1
Acties:

Verwijderd

Topicstarter
Kan iemand mij uit leggen wat kernelheaders en waar ze voor dienen?
Ik kan namelijk een update er van op mijn server zetten maar dan moet ik wel eerst weten of ik het wel nodig heb. *D

Verwijderd

ehm, hoe leg je dat uit....

Een header is zeg maar een bestand dat beschrijft hoe een bepaald stuk code functioneert zonder die code zelf te bevatten... Dit wordt vaak gebruikt om libraries te maken zodat andere applicaties via die headers dus de functies van die libraries kunnen gebruiken zonder zelf de code van de library te bevatten. Ze gebruiken dan, tijdens het opstarten, die library daarvoor (logisch).

Een kernelheader is dus zoiets voor de kernel, het beschrijft over het algemeen de ioctl() commands (i.e., user/kernel-space interactie commando's) en de structs ('data') die je aan die ioctl() commando's kan meegeven.

Verwijderd

Topicstarter
aha oke dankje ik snap het.

Weet je misschien ook iets waar ik nog veel meer info kan vinden over kernels?
Het is namelijk nooit weg er meer van te weten.

Verwijderd

Wat voor info? :P

Er valt zoveel over de kernel te vinden/vertellen, dat wil ik je niet aandoen. Als je een beetje specifieker kan zijn valt er vast wel wat te vertellen/vinden over dat onderwerp ;)

Verwijderd

Topicstarter
Nou eigenlijk een beetje de Basis.
Wat doet een Kernel hoe stuurd het de hardware aan.
welke prolemen kun je tegen komen.
waarom je een update zou doen.

van dat soort dingen.
En het liefst in het Nederlands als het kan.
Maar engels is ook goed.

Verwijderd

Op vrijdag 15 maart 2002 20:23 schreef nekton het volgende:
Nou eigenlijk een beetje de Basis.
ik vind een kernel nou niet echt basis :P
Wat doet een Kernel hoe stuurd het de hardware aan.
een kernel stuurt de hardware aan en geeft via interfaces de userspace de mogelijkheid om via de kernel de hardware te besturen. Hierbij kun je denken aan geheugen besturen (dit is, samen met CPU, ongeveer het meest basale wat er is) of aan geluid afspelen (dit is al minder basaal)...

Hoe het dat doet? Het kan via een bepaalde manier signaaltjes aan de chips op je mobo of aan de chips op de insteekkaarten geven, en met die signaaltjes kun je de chips een bepaald iets laten doen, zoals bv. geluid afspelen.
welke prolemen kun je tegen komen.
Alles. Je kan een lock (dat stopt een bepaalde functie totdat een andere functie klaar is) bv. per ongeluk mis bruiken waardoor de lock niet meer wordt losgelaten - deadlock. Je kan ergens een lock vergeten en daardoor data opvragen terwijl ie veranderd wordt - race. O de kernel kan gewoon een fout maken - oops of panic (afhangende van of het recoverable is of niet).
waarom je een update zou doen.
Om die foutjes te herstellen ;)

edit:

of natuurlijk voor nieuwe hardware ondersteuning

Verwijderd

Topicstarter
Oke dan dankje daar kan ik al een hoop mee.

Maar ik wil eigenlijk precies weten wat een kernel allemaal doet of niet doet.

Moet namelijk een presentatie gaan geven over linux kernels. over versies wat de verschillen zijn en zo.
Welke hardware ze ondersteunen en nog veel meer.

Kan je trouwens een kernel makkelijk aan passen?
Of modules laden of toevoegen?
Of is dit onmogenlijk?

Verwijderd

Op vrijdag 15 maart 2002 20:42 schreef nekton het volgende:
Oke dan dankje daar kan ik al een hoop mee.

Maar ik wil eigenlijk precies weten wat een kernel allemaal doet of niet doet.
Dan zou ik google eens afzoeken.... Daar valt zoveel over te vinden :)
Moet namelijk een presentatie gaan geven over linux kernels. over versies wat de verschillen zijn en zo.
Welke hardware ze ondersteunen en nog veel meer.
Dat verschilt per kernel en per versie. Hardware die de standaard linux kernel as of 2.4.18 ondersteund is verschillende architecturen (IBM S/390, x86, PPC, Sparc, Alpha, x86, ...), allerlei soorten insteekhardware zoals videokaarten, soundcards, TV-/videocapture-kaarten, netwerk, ISN, modem, bladiebla, standaard poorten (parallel/serieel), USB (inclusief allerlei USB-randapparatuur), firewire, etc. etc. etc.
Kan je trouwens een kernel makkelijk aan passen?
Sure, je hebt de sources toch? Als je maar kan proggen ;)
Of modules laden of toevoegen?
Kan ook. Zie insmod/modprobe :)

Verwijderd

Topicstarter
ja ik kan progammeren in C+ dus dat zou dan wel moeten lukken he?

Verwijderd

Op vrijdag 15 maart 2002 22:19 schreef nekton het volgende:
ja ik kan progammeren in C+ dus dat zou dan wel moeten lukken he?
Uh, hangt ervanaf.... Je moet weten waar je mee bezig bent - bedenk, een foutje is een systeemcrash ;)

Verwijderd

Topicstarter
ja oke maar voor fuitjes heb je een compiler he.
Dan kan je in iedergeval al zien of het werkt.

Maar dan nog kunnen er foutjes in zitten ik weet het.
heb het wel eens gehoord van mensen.

Verwijderd

Als je 't zo bekijkt, ja, dan kan je als je C kan kernelproggen... Maarruh, 't is niet makkelijk ;)

  • balk
  • Registratie: Januari 2000
  • Laatst online: 16-08 11:37
heb je zelf al een keer een kernel gecompileerd? Lijkt me wel een mooie ervaring als je er een verhaal over moet gaan vertellen. Enne, vergis je niet in de hoeveelheid code in de kernel-source. uitgepakt 100MB+ Lees maar even door (hehehe :) )

download een 2.2 of 2.4 kernel (of beide) en ga ze eens configureren en compileren. Leer je veel van. Dan heb je overigens meteen de kernelheaders :)

Verwijderd

Ik heb zelf een tijdje een linux kernel geport naar een alternatief platform, dus ik weet het een en ander wel.
Er is in elk geval een hoop leesvoer voor je op het internet.

bv: de kernel howto. www.kernel.org www.linux.org en www.linuxdoc.org zijn verplichte links.

De kernel in het kort:

Assembler stuk zet de processor goed, plaatst de kernel in RAM en zet interrupts gereed.
C stuk, zet geheugen klaar, maakt stack aan, vult interrupt routines en start de scheduler. de scheduler forked naar een init process (als dat kan) of een shell (als dat kan) maar dan is de kernel eigenlijk klaar.
Pagina: 1