interrupt
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 …