31/01/2006

Gollumix. Step 1 della Gestione dei processi


Riprendiamo il nostro tutorial sul kernel Gollumix pubblicando nel wiki di questo blog lo step 1 della gestione dei processi.

In questo step parleremo di Task State Segment (TSS), Local Descriptor Table (LDT), Global Descriptor Table (GDT), stati di un processo e tabella dei processi..

Buona lettura!!!

17/01/2006

Gollumix. Step 0 della Gestione dei Processi.

Riprendiamo il nostro tutorial sul kernel Gollumix pubblicando nel wiki di questo blog lo step 0 della gestione dei processi.

In questo step implementeremo un semplice memory manager che gestisce, per ora, solo la memoria fisica allocando e liberando pagine di memoria.

Buona lettura!!!

12/01/2006

Gollumix. Un kernel scritto da zero.

Gollumix è un semplice sistema operativo che gira su piattaforma Intel 32 bit. Lo scopo del progetto è solamente didattico e potrebbe tornare utile agli studenti universitari e a chiunque si diletta nel kernel programming.

Ecco le features supportate:

- protected mode
- multi tasking
- floppy driver
- keyboard AT
- serial line RS-232
- TTY layer
- VGA text mode
- 4 console locali (quello che digiti viene stampato a video)
- 2 console seriali (si possono controllare linux box remote)

chiunque è libero di studiare, usare e modificare gollumix, ricordate però di pubblicare il vostro lavoro, magari mandandolo anche a me all'indirizzo koala.gnu AT tiscali.it.

Il solo codice senza una buona documentazione a volte non è sufficiente per una buona comprensione del problema. Per questo motivo ho realizzato una serie di tutorial step by step che trovate qui:

Linux Native Boot Loader (codice | tutorial)
Keyboard Driver (codice | tutorial)
System Calls (codice | tutorial)
Processes (part I) (codice | tutorial)
Serial Driver (codice | tutorial)
TTY Layer (codice | tutorial)
Floppy Driver (codice | tutorial)

per gli ultimi 4 argomenti il tutorial non è ancora disponibile, c'è solo il codice.

Sviluppi futuri:

- supporto buffer cache
- miglioramento di alcune strutture codice
- supporto EXT2