Paging FAQ

Bene la paginazione e’ una delle cose secondo me piu ostiche dell’osdev, e anche noiose. Con tanti problemi nascosti, e che magari verranno fuori solo mesi e mesi dopo. Lo sviluppo di questa parte del sistema operativo porta via molto tempo (a meno che non usiamo un tipo di indirizzamento 1:1 fra memoria fisica e memoria paginata).

Durante lo sviluppo di questa componente del sistema operativo mi son venute molte domande in mente, quindi ho deciso di raccoglierle in una specie di FAQ, sperando che possa tornare utile.

Bene eccovi le domande/risposte:

  1. Posso cambiare la PDBR quando la paginazione è abilitata? Si’
  2. E’ il caso di iniziare a sviluppare memory manager e gestione processi contemporaneamente? No, meglio farli uno alla volta
  3. Se io creo un processo in user mode e vi entro, poi come faccio a usare le features del kernel? Servono a questo le syscalls? Si
  4. E’ l’unico modo per usare il kernel da usermode, dopo averlo mappato? Le syscall sono generalmente dei soft interrupt ke kiamano dei servizi switchando in kernel mode, i parametri si possono passare in diversi modi per esempio con lo stack.
  5. Nello Switchare le page_dir devo disabilitare qualcosa? No, al massimo potrebbe essere utile usare dei semafori o strutture simili
  6. Mappare una pdir in se stessa a cosa serve (stessa domanda vale per la pagetable? Serve per poter modificare le entry della page dir e page table senza esser costretti a disabilitare temporaneamente la paginazione
  7. Mi serve un allocatore di spazio kernel? Certo
  8. Ma devo mappare anche gli indirizzi della memoria video? Certamente,  questi si trovano sotto il primo mega di memoria.
  9. Le funzioni per gestire page_dir e page_entry come vanno fatte, sfruttando la ricorsione (ultimo elemento mappa la page_dir o page_table stessa) o no? In entrambi i modi
  10. Nromale che subito dopo un #PF mi genra un #GP? No se e’ cosi’ potrebbe essere un bug del gestore delle interruzioni, controllare che per questa eccezione venga letto dallo stack anche l’error code.

Ovviamente se avete altre domande ponetele nei commenti, sara’ mia cura inserirle nell’articolo con risposta (Se ve la so dare :D)

Una nuova veste grafica

Come molti di voi avranno notato, il sito oramai e’ pressoche morto, con pochissimi aggiornamenti, nessuna novita’, tutorial 0.

Dato che anche graficamente non lo trovavo soddisfacente, e poi a dirla tutta joomla non e’ che mi piaccia cosi tanto, ho deciso di passare da joomla a wordpress, che rende molto piu agevole il lavoro di scrittura articoli, e lo trovo piu utile per il nostro scopo, divulgazione di osdev, con articoli tutorial e recensioni.

Nel frattempo ho provato ad elaborare un nuovo logo, una modifica del precedente, spero vi piaccia.

Ovviamente chiunque vuole e’ libero di partecipare con articoli, tutorial o quanto altro.

Vi ricordo che abbiamo anche un forum: forum.osdev.it