kernel
giovedì 15 Settembre 2011 - 14 Commenti
Dentro i Sistemi Operativi – Il Multitasking

Nell’articolo precedente abbiamo parlato del meccanismo delle Syscalls, e abbiamo visto come fare per passare il controllo al kernel, per poi tornare al codice utente.
In un sistema del genere, dove i task degli utenti sono separati rispetto al kernel del Sistema Operativo, è possibile eseguire un certo numero di task in modo concorrente. L’alternarsi dei task in rapida successione consente di rendere l’illusione che tali task vengano eseguiti contemporaneamente, anche se il sistema è dotato di una singola unità di calcolo (sistema con singola CPU).
Esistono svariati modi per raggiungere lo …

venerdì 2 Settembre 2011 - 10 Commenti
Dentro i Sistemi Operativi – Syscalls su piattaforma ARM

Nel precedente articolo abbiamo parlato della separazione tra User e System Mode e abbiamo accennato al meccanismo delle syscalls, neessario per richiedere un servizio al kernel da parte di un task in User Mode.
Vediamo adesso come ciò avvenga concretamente nella piattaforma ARMv5 (tutti gli ARM della famiglia ARM9). Premetto che la piattaforma di riferimento è stata scelta appositamente per mostrare una tecnologia semplice da gestire, ma al tempo stesso molto diffusa sia in ambito industriale che in quello consumer. Architetture altrettanto semplici, come MIPS o AVR32, sono infatti meno note e diffuse, …

martedì 12 Luglio 2011 - 10 Commenti
Dentro i Sistemi Operativi – Kernel e System Calls

Nel precedente articolo, abbiamo evidenziato la necessità di astrarre dati e codice di un programma, servendoci del concetto di task.
Analizziamo adesso un esempio di implementazione dei task: il modello dei processi introdotto da UNIX, adottato poi in varie forme da tutti gli OS moderni.
I processi di UNIX presentano una struttura molto complessa, che riflette il livello di sofisticazione necessario per un OS come UNIX, dotato di multiutenza e multitasking. In questo articolo non scenderemo nei particolari delle varie implementazioni di UNIX, ma ci limiteremo ad illustrarne a grandi linee alcuni …