MIten koodataan cpu Linuxissa
marjapuurokernel
11138
0Äänestä
Muut lukivat myös
Odottaa vastausta
Näihin keskusteluihin ei ole vielä vastattu. Ole ensimmäinen.
Turvaa tilisi vahvistamalla puhelinnumerosi. Voit silloin palauttaa unohtuneen salasanan tekstiviestillä.
Näihin keskusteluihin ei ole vielä vastattu. Ole ensimmäinen.
Vastaukset 11
Vanhimmat
Keksi uudempi kerneli joka ei ole 13 vuotias.
Hullu linkittäjä iski jälleen.
tässä on se miten tehdään:
http://tldp.org/HOWTO/Module-HOWTO/
ja tästä voi poimia joitain osia:
http://tldp.org/LDP/lkmpg/2.6/html/index.html
"Hulluutta tää vaatii" -Waltari
Miksi linkitellä sellaista mistä ei ymmärrä yhtään mitään?
ei sitä tarvitse ymmärtää, riittää kun kone ymmärtää sen.
kone ajattelee ohjelmoituna tähän tyyliin:
bottom halves: task queues to be processed by machine later on
scheduler: task queue processed directly by the scheduler
immediate: task queue processed after timer
timer: task queue processed on next tick
jiffies: processor clock as microseconds
wait_queue: hey process, wait for a resource
buzz lock 1: I cannot be interrupted by another process
...
kernel on siis tapahtumia prosessorin uptime-sykkeessä (linux kernel)
katso vaikka:
cd /proc
cat timer_list
tässä vielä tarkemmin: Linux is the actual kernel from which the platformed distribution runs and obtains directions eli Linux on kerneli josta systeemi ajetaan ja josta systeemi hakee ohjeensa.
Cpu lukitaan ja suoritutetaan taskit interruptibleina. Lopuksi Cpu avataan. Mutual exclusion taas pitää multithreadingin symmetrisenä.
katso myös input/output. Huomaa miten /dev filet välittävät tietoa kernelin ja user space sovelluksen välillä.
kuva:
http://eng6810.files.wordpress.com/2009/05/eng_6810-029w12.png
/proc file välittää processin tiedot ohjelmoijalle.
seq file luo /proc filen kontentin.
jos kiinnostuit, kts. lisää cd /usr/src/linux/ && sudo make htmldocs