I SISTEMI OPERATIVI I SISTEMI OPERATIVI Il mercato del computer si è popolato di molti clienti privi di conoscenze tecniche approfondite che richiedono programmi user friendly cioè facili da usare. Il sistema operativo è un insieme di programmi scritti allo scopo di rendere disponibili all'uso le risorse di calcolo e i dispositivi collegati al computer. È opportuno che il sistema operativo sia comunque in grado di accedere anche a dispositivi non previsti inizialmente purché questi vengano forniti dal software necessario detto anche device driver. I dispositivi realizzati in tecnologia plug and play (inserisci e usa) colloquiano con il sistema in modo tale da farsi richiedere l'installazione dei driver corretti. Un device driver scritto per uno specifico dispositivo può anche non funzionare per un altro simile. Molti dispositivi hardware vengono costruiti secondo standard affermati che ne regolamentano diversi aspetti come le dimensioni, le funzionalità supportate e i comandi che si possono impartire al dispositivo. Per esempio i personal computer compatibili IBM, stampanti compatibili EPSON, le CPU compatibili INTEL. Questi standard si sono imposti e continuano ad imporsi in diversi modi: in conseguenza del dominio sul mercato di una particolare azienda produttrice, per mezzo di normative erogate da istituti riconosciuti a livello internazionale come ISO, in seguito a lavori di gruppi di ricerca di team di aziende concorrenti che iniziano a lavorare insieme nello sviluppo di nuovi componenti e tecnologie. Un sistema aperto è un sistema operativo costruito in modo da poter operare con una molteplicità di dispositivi come ad esempio il sistema operativo Unix che può controllare macchine fra loro molto diverse costruite su unità centrali non compatibili. Un sistema proprietario è scritto per essere eseguito su un insieme ristretto e ben specifico di macchine. La struttura formale di un sistema operativo è gerarchica questo significa che i programmi che lo compongono si collocano a livelli diversi, si servono a livelli che stanno a livelli sottostanti e servono i programmi dei livelli superiori. All'interno di ogni livello si usa raggruppare tutti i programmi scritti per risolvere un determinato problema detti moduli.Ogni procedura standard per mezzo della quale il modulo mette a disposizione i servizi viene detta primitiva. I moduli che lavoro direttamente sulle risorse hardware del sistema costituiscono i livelli più bassi della gerarchia. Questi moduli si dicono che virtualizzano i dispositivi ossia li trasformano in macchine virtuali in grado di eseguire operazioni più complesse definite in modo logico piuttosto che fisico. Un'operazione logica corrisponde all'esigenza dell'utente di ottenere un risultato, mentre, un'operazione fisica consente di eseguire molte operazioni elementari dipendenti dal particolare elaboratore. I moduli ai quali le primitive appartengono inoltrano le richieste ai moduli di livello inferiore usando le loro primitive e Continua »