Definizione e obiettivi del Sistema Operativo DIFFERENZA TRA SISTEMA OPERATIVO – SOFTWARE APPLICATIVO Sistema operativo è un insieme organico di programmi che consentono di gestire tutte le risorse hardware e software, ne semplificano l’uso e sono da interfaccia tra gli utenti ed il Sistema. Software applicativo è l’insieme di tutti i programmi che consentono di risolvere problemi specifici dell’ utente CLASSIFICAZIONE DEI SISTEMI OPERATIVI Per Server Windows Mac OS Unix (1973), Linux Per Mainframe Open MVS (IBM) VMS (Digital) Per Desktop Dos Windows (XP, 2000, NT, …) Vista System 8 (Apple) Per Tascabili Incorporati su chip di memoria (Dos EMBEDDED) EVOLUZIONE DEI SISTEMI OPERATIVI Anni 1940 –nessun Sistema operativo (SO) schede perforate Interruzioni: dump di memoria Anni ’50 Monitor e SO batch IBM – Monitor – Reset – Monoprogrammazione – Batch – JCL (Job Control Language) EVOLUZIONE DEI SISTEMI OPERATIVI Anni ’60-70 SO multiprogrammati – SO general purpose Processori di I/O Gestione interruzioni Sovrapposizioni di CPU e Lavoro delle periferiche - swapping principio di località dati e istruzioni -memoria virtuale EVOLUZIONE DEI SISTEMI OPERATIVI ’70 Time sharing =sistemi multiutente o conversazionali interattivi Quanti di tempo (time slice) ad ogni utente Task (p1) 2 ms Utente 1 Task (P2) 2 ms Utente 2 CPU CPU Task (Pn) 2 ms Utente n ’80 SO per pc – SO transazionali ’90-2000 SO real-time- SO multiprocessore- SO Distribuiti 2000 ad oggi SO embedded (palmari, cellulari, m. foto, etc.) MODULI SOFTWARE (Programmi) DEL S.O. Funzionalità Nome del modulo/i Interpretazione dei comandi Esecuzione di applicazioni (INTERATTIVE O BATCH) Gestione delle unità periferiche Memorizzazione dei dati e programmi Gestione Riservatezza utenti Gestione della Contabilizzazione Gestione dei Malfunzionamenti hardware e software assemblatori-compilatoriinterpreti Caricatori-Linker Driver File system = = = MODALITA’ DI ESECUZIONE DEI PROGRAMMI multi-tasking (più programmi contemporaneamente) CPU Task (p1) 2 ms Task (P2) 2 ms Task (Pn) 2 ms MODALITA’ DI ESECUZIONE DEI PROGRAMMI Multi-threading (stesso programma più operazioni contemporanee) CPU Operazione (Input) Operazione (Calcolo) Operazione (Output) MODALITA’ DI ESECUZIONE DEI PROGRAMMI Multi-utente (più utenti per lo stesso o diversi programmi contemporanei) CPU Utente 1 Utente 2 Utente n MODALITA’ DI ESECUZIONE DEI PROGRAMMI Time sharing (suddivisione del tempo di CPU a più utenti per lo stesso o diversi processi) CPU Utente 1 (2 ns) Utente 2 (2 ns) Utente n (2 ns) 2. GESTIONE MEMORIA CENTRALE Obiettivo: minimizzare l’occupazione e velocizzare trasferimenti di dati Memoria virtuale R A M MEMORIA VIRTUALE (SWAP) SWAPPING Di pagine 3. FILE SYSTEM Obiettivo: gestire i file su memorie di massa Organizzazione: GERARCHICA ad albero – Root/Directories/File Estensione: doc/txt/xls/exe/pdf … Gestione proprietà e caratteristiche: data creazione, volume, etc. Gestione file: Apertura/salvataggio/cancellazione/copia/ … Gestione FAT (FILE ALLOCATION TABLE): posizione fisica dei dati HARD DISK 4. GESTIONE PERIFERICHE Obiettivo: gestire ed ottimizzare il flusso dei dati da e verso Le unità periferiche Il BIOS (Basic Input Output System) su ROM (setup/bootstrap) Plug and play Lo spool di stampa 5. CONTROLLO DEGLI ACCESSI Obiettivo: gestire la riservatezza degli accessi alle risorse Classifica ogni accesso con login e password Classifica tre categorie di utenti: Responsabile sicurezza Operator system User Azioni Programmi di utilità Text-editor (Notepad) Backup Calcolatrice Rubrica SW applicativo Logica: WHAT YOU SEE IS WHAT IS WHAT YOU GET WORD PROCESSOR FOGLIO ELETTRONICO DATABASE PRESENTAZIONI SW applicativo GESTIONE CONTABILE GESTIONE MAGAZZINO GESTIONE VENDITE GESTIONE ORDINI GESTIONE DEL PERSONALE GESTIONE DELLA PRODUZIONE PROGRAMMI SVILUPPATI PER … ETC.