L’OsDev in Italia – Ovvero uno sguardo agli OS amatoriali nel belpaese Parte 2

Riprendiamo la nostra storia da dove ci eravamo fermati, con la carrellata di OS amatoriali che sono nati, cresciuti, morti e/o sopravvissuti in italia, negli ultimi 10 anni. per chi se lo fosse perso vi rimando alla prima puntata: http://www.osdev.it/?p=103.

Quindi ci siamo fermati ad Osso. Ma gli OS in quegli anni continuavano a svilupparsi, e fu cosi che nacque un nuovo sistema, questa volta nato da uno studente universitario ( un certo Andrea Righi che probabilmente nel frattempo si sara’ anche laureato), per un esame; si trattava di MiniRighi. Sviluppato anche per diversi anni, fino intorno al 2008. Caratteristiche del sistema sono:

  • Essere multithread
  • Codice sorgente scritto in modo da essere chiaramente e facilmente leggibile da chiunque (a detta dell’autore 🙂 )
  • Supporta alcuni file system quali fat12 e ext2
  • Supporto base per lo stack tcp/ip.

Continua a leggere L’OsDev in Italia – Ovvero uno sguardo agli OS amatoriali nel belpaese Parte 2

L’OsDev in Italia – Ovvero uno sguardo agli OS amatoriali nel belpaese Parte 1

Bene chi si occupa di osdev, o comunque e’ appassionato all’argomento dei sistemi operativi ha spesso sentito parlare di progetti di OS alternativi come Haiku-Os, AROS, ReactOs, Syllable, e forse anche di VisOpSys, etc. Tutti questi progetti sono accomuntati dal fatto di essere progetti minori rispetto ai piu famosi linux, *BSD, Hurd, etc, ma di essere supportati comunque da una discreta comunita’ di utenti e di sviluppatori. Ma se ci spingiamo oltre nel panorama dell’osdev e cerchiamo progetti minori, troviamo una grandissima quantita di progetti amatoriali da tutte le parti del mondo spesso anche con caratteristiche interesasnti per essere progetti portati avanti da 1-2 persone,. Alcuni progetti che possono venire in mente sono: MenuetOS, VisOpSys (questo particolarmente interessante perche e’ il progetto di una sola persona che lo sviluppa da una decina di anni, e oramai arrivato ad avere una discreta quantita’ di features. Con una gui completa, un tool di partizionamento, etc), un altro progetto non opensource ma interessante era SkyOs che aveva ottime potenzialita’ e sembrava veramente essere un buon OS, purtroppo lo sviluppatore ad un tratto si e’ stancato e il progetto oramai giace li morto, in quanto i sorgenti non sono stati rilasciati. Poi se andiamo a cercare a livelli ancora piu piccoli allora scopriamo che ci troviamo di fronte ad un microcosmo di progetti che nascono e muoiono nel mondo.

Continua a leggere L’OsDev in Italia – Ovvero uno sguardo agli OS amatoriali nel belpaese Parte 1

Paging in IA-32: Spieghiamo gli indirizzi “Ricorsivi”

Uno degli argomenti più ostici nell’osdev è la gestione della memoria paginata. E personalmente ci ho messo a capire un pò l’utilità dell’utilizzo dei cosidetti indirizzi logici “ricorsivi”. In questo articolo cercherò di spiegarne l’utilità e perche conviene utilizzarli.

La memoria paginata è una particolare suddivsione della memoria in blocchi di dimensione fissa, normalmente di 4k o 8k. Questo tipo di suddivisione è supportato dall’architettura IA32 anche se non si tratta del modello di default. Infatti i processori intel utilizzano sempre un modello di memoria segmentato, mentre quello paginato si attiva solo su richiesta.

Lo scopo di questo tutorial non è spiegare la paginazione per i processori IA32 ma cerca di chiarire una tecnica particolare usata con la paginazione attiva, quindi qui non troverete un tutorial  dettagliato su  come funziona la paginazione, ma mi limiterò ricordare solo lo stretto necessario utile per i miei scopi . Le strutture fondamentali usate nella memoria paginata sono la pagedir e la pagetable.

  • Una page dir è composta da 1024 elementi che puntano ognuna a ad una pagetable.
  • Una pagetable che strutturalmente è molto simile alla pagedir, contiene sempre 1024 elementi ma questa volta contengono l’indirizzo base di ogni pagina

La figura seguente mostra come sono formate rispettrivamente le entry della pagedir e della pagetable

Come potete notare, le due entry sono pressochè identiche a parte alcuni bit di controllo (fra poco vedremo come questa somiglianza ci tornerà utile).

Continua a leggere Paging in IA-32: Spieghiamo gli indirizzi “Ricorsivi”

OS From Scratch: il PDF

Per chiunque di voi si ricordasse di Italios, uno dei primi os amatoriali italiani. si ricorderà anche OS From Scratch! La guida scritta da Silvio Abruzzo su come scrivere un OS.

Certamente non è una guida completa (copre solo le parti principali: I/O a video, bootloader, eccezioni, pic e poco altro), ma è un riferimento utile per chiunque voglia iniziare a Osdevare.

Qualche tempo fa cercai correggerla e renderla disponibile in PDF, vissto che il formato originario era in html, cercando anche di apportare qualche piccola correzione qua e la. Nel passaggio a wordpress mi sono accorto che era sparito dal sito. Quindi per chi fosse interessato alla guida OSFromScratch in PDF puo scaricarla da qua: http://www.osdev.it/Documenti/osfromscratch.pdf