Newsgroup: it.comp.os.linux.development
Titolo: Dimensioni kernel

Al corso di Sistemi Operativi, ho studiato il kernel di Linux. Correva
l'anno 1997 e il kernel 2.0.x (.20 se non erro)
Studiando il boot del sistema & l'architettura dei 386, mi sembra che il
kernel non possa venir caricato e scompattato se non entro i primi 4 mega di
memoria, al cui interno poi, quando il sistema passa da 16 a 32bit, ci vanno
anche le tabelle di sistema e di allocazione della memoria.
Ma come fa a starci tutto?
Seppure il kernel, una volta passati a 32 bit, possa venir spostato in una
zona superiore della ram (sopra i 4 mega), comunque lo vedo un po' stretto.
Poi io volevo fare (e un giorno o l'altro, se avrò tempo lo farò) un
esperimento: compilare il kernel monoliticamente, cioè senza supporto moduli
ma con TUTTI (o quasi) i driver (tranne quelli che fanno conflitto tra di
loro). Immagino però che così mi verrà troppo grosso per essere caricato e
scompattato nei 4 mega. Voi cosa ne pensate?
Matteo

 scompattato nei 4 mega. Voi cosa ne pensate?
Penso che, dato che studiare cose come Linux o comunque che abbiano un minimo
riscontro nel mondo reale e` pura fantascienza nei corsi che seguo di 
Sistemi Operativi o Calcolatori Elettronici, non ne sapro` molto di piu` 
ancora per lungo tempo...
-- 
Ikitt che leggersi il Tanenbaum la sera a letto non e` il massimo...

 ancora per lungo tempo...
Io sono stato fortunato che in quell'anno iniziava una versione sperimentale
di S.O.; fino all'anno precedente si studiava minix, da quell'anno si
studiava linux. Il funzionamento di un sistema operativo si studiava spesso
propio guardando il codice sorgente del kernel. Come tesina del corso,
divisi in gruppi, alcuni dovevano aggiungere o modificare moduli al kernel
(quali la gestione di file compressi), il mio gruppo lo start di linux dal
momento in cui il sistema passa dalla modalità reale alla 386 avanzata, fino
al caricamento del processo init (puoi immaginare solo minimamente, cosa fa
il kernel in quel piccolo lasso di tempo).
Matteo

 il kernel in quel piccolo lasso di tempo).
Vero (ossia: lo immagino solo in piccolissima parte).
Purtroppo gia` da molto tempo vari libri (FDL) e documenti sul tema giacciono
mesti nella mia $HOME reclamando di essere letti... :(
-- 
Ikitt e il tempo che (gli s)fugge...

 mesti nella mia $HOME reclamando di essere letti... :(
I miei libri invece non reclamano di essere letti perché non ne ho (tanto
saprei che non li leggerei, comunque se mi serve qualcosa vedo di trovarla
in formato elettronico, possibilmente html). Se tutti fossero come me le
case editrici andrebbero fallite.
Matteo

 anche le tabelle di sistema e di allocazione della memoria.
...
Premetto che ne so veramente poco ma:
dalla serie 1.3 e' stato introdotto il meccanismo bzImage che in pratica
divide il codice del kernel in real e protected. Il real sta sotto il mega
con stack/heap ecc... Il protected inizia sopra il mega, non so se
relocatabile o fisso, e c'e' un bit in pag 0 che indica se il meccanismo di
caricamento e' questo o -.
Io proverei a cercare della doc nel pacchetto di LILO, per esempio.
-- 
  Giuseppe "Cowo" Corbelli \/\ My software: 
http://cowo.yoda2000.net
    **ANTI-SPAM** -- **Substitute IHATESPAM with cowo to reply by mail**
  -<! I Never Wanted To Be What They Told Me To Be
  		Fulfill My Fate Then I'll Be Free >!- Blind Guardian - Mordred's Song