Software: di sistema e applicativo



Documenti analoghi
Sistemi Operativi ed interazione con HW e CAD

So1ware: di sistema e applica.vo. Il Sistema Opera.vo. Il sistema opera.vo. Esempi di Sistemi Opera.vi. Archite:ura di un S.O.

Sistemi operativi. Motivazione. Tipi di software. Sistemi operativi. Un sistema operativo (SO) e un insieme di programmi che gestiscono le funzioni

Politecnico di Milano. Corsi di Informatica Grafica. Prof. Manuel Roveri Dipartimento di Elettronica e Informazione roveri@elet.polimi.

Applicativo: risolve i problemi dell utente, appoggiandosi sullo strato fornito dal sistema operativo. Alessandro Di Nuovo 1

Software: di sistema e applicativo

Il Sistema Operativo

Introduzione ai Sistemi Operativi. A cura di Massimo Scolaro Mob :

SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI

Il Sistema Opera.vo. So1ware: di sistema e applica.vo

Sistemi Operativi (prima parte) Appunti di TPI Elaborati dal prof. Ing. Mario Catalano Per la classe 3 Einf.

Il sistema operativo. Cultura Tecnologica di Progetto - Patente Informatica Andrea Massioli,, Davide Affaticati

Sistema Operativo (Software di base)

Sistemi Di Elaborazione Dell informazione

SOFTWARE. Programmi e dati che indicano al computer come svolgere un determinato compito

Dipartimento di Giurisprudenza Prof. Michele Perilli Conoscenze Informatiche

Abilità Informatiche A.A. 2010/2011 Lezione 4: SoftWare. Facoltà di Lingue e Letterature Straniere

Il Sistema Operativo

Struttura Logica del S.O:

Elementi di Informatica A. A. 2016/2017

Parte V. Sistemi Operativi & Reti. Sistemi Operativi. Sistemi Operativi

Il sistema operativo

Il sistema operativo

Introduzione ai Calcolatori Elettronici

Personal Computer: introduzione

I sistemi operativi. Prof. Daniele Contarino

Sistema operativo & file system 1

Corso di Informatica

Laboratorio di Informatica. Il Sistema Operativo. Il Sistema Operativo 1

Architettura di un calcolatore

Abilità Informatiche

IL SOFTWARE DI SISTEMA

Prestazioni e affidabilità dei dischi

Sistema operativo: Introduzione

Bootstrap. Bootstrap. Shutdown. Struttura di un SO. Elementi principali di un SO:

La memoria secondaria

SoftWare. Dr Damiano Macedonio

Sistem. erativi. Opera. stem

Il Sistema Operativo

Corso di Informatica

Il software di sistema

Il software: Istruzioni per il computer

Informatica e Bioinformatica: Sistemi Operativi

Informatica Generale 06 - Introduzione ai Sistemi Operativi

Sistema operativo (SO)

Il Sistema Operativo. Informatica B AA 17/18 Luca Cassano 30 Novembre 2017 Informatica B, AA 17/18, Luca Cassano

Il sistema operativo

Modulo 3. Software. Corso di Sistemi di elaborazione delle informazioni -Autore: Ing. Maurizio Patanè

Architetture hardware e software dei calcolatori

IL SISTEMA OPERATIVO IL SISTEMA OPERATIVO

Prof. G. Ascia. Sistema Operativo

Sistema operativo: Introduzione

Microsoft Windows. Introduzione al Sistema Operativo e Utilizzo del Calcolatore. Il Calcolatore. Il Calcolatore. Sistemi Operativi.

Il software: Istruzioni per il computer

2. Cenni di sistemi operativi

Dal sistema operativo all' hardware

Il software. Il solo hardware non è sufficiente per usare un calcolatore

I sistemi operativi (prima parte) Agostino Lorenzi I sistemi operativi - Atlas

Il sistema operativo. Sistema Operativo

Il software: cenni sul sistema operativo

Il Sistema Operativo. Informatica Sistema Operativo 1

Tecnologie dell Informazione e della Comunicazione

Definizioni iniziali. Sistemi Operativi. Tipi di software. Sistema Operativo. Programma: una sequenza di istruzioni elementari

Sistemi Operativi. Definizioni iniziali

Tecnologie dell Informazione e della Comunicazione

Principi operativi dei computer. Capitolo 7 Fluency Conoscere e usare l informatica

Come funzionano i computer

interoperabilità fra dispositivi forniti da diversi produttori; superare i problemi legati alla limitazione del numero di risorse.

Corso integrato di Sistemi di Elaborazione. Modulo I. Prof. Crescenzio Gallo.

Elementi di Informatica

Informatica Generale 07 - Sistemi Operativi:Gestione dei processi

Sistema Operativo. 06 novembre Sistema Operativo (SO): punto di vista funzionale

DIREZIONE DIDATTICA DI SAN GIUSEPPE JATO Programma Operativo Nazionale Fondo Sociale Europeo - Competenze per lo sviluppo

Lezione 5: Software. Firmware Sistema Operativo. Laboratorio di Informatica

Sistemi Operativi. A.M. Fanelli Architettura dei Sistemi a. a Livello di Sistema Operativo. Livello di Linguaggi Applicativi

Sistema operativo. Avere un architettura multi-core è un vantaggio

Introduzione a Linux Lezione 1 Introduzione a Linux

Ogni PC, per iniziare a lavorare, ha bisogno di un sistema operativo. Infatti questo è il primo programma che viene eseguito e che permette

Il Sistema Operativo Ripasso

Il Sistema Operativo (1)

I SISTEMI OPERATIVI. Insieme di programmi che implementano funzioni essenziali per l uso di un sistema elaboratore.

IL SISTEMA OPERATIVO IL SISTEMA OPERATIVO

Il computer P R O F. L O R E N Z O P A R I S I

Laboratorio di Informatica

ISTVAS Ancona Introduzione ai sistemi operativi Tecnologie Informatiche

Laboratorio di Informatica (Chimica)

Informatica di Base

Sistema operativo. Utente. Il S.O. mostra offre all utente un ambiente di lavoro che nascondendo la complessità della macchina fisica (hardware). S.O.

Teoria dell informatica

Il Software. E il software che implementa le funzionalità di un sistema di elaborazione Due categorie fondamentali di Software (SW)

Interfaccia. Due sono i tipi di interfaccia più diffusi per interagire con un computer:

Informatica. Il computer

Note sui sistemi operativi. Hardware

Il software: cenni sul sistema operativo. Il software. IL sistema operativo (I) IL sistema operativo (II)

Windows. La prima realizzazione di un ambiente grafico si deve alla Apple (1984) per il suo Macintosh. La gestione dei file conserva la logica del DOS

Struttura dei Sistemi Operativi

Architettura dei Sistemi Informatici

Transcript:

Software: di sistema e applicativo Di sistema: controlla il comportamento del sistema stesso il più importante dei software di sistema è il sistema operativo: controlla le risorse del sistema fornisce la base su cui costruire tutti gli altri programmi Applicativo: risolve i problemi dell utente, appoggiandosi sullo strato fornito dal sistema operativo Alessandro Di Nuovo 1 1

Il sistema operativo Con il termine sistema operativo si intende l insieme di programmi e librerie che opera direttamente sulla macchina fisica...... mascherandone le caratteristiche specifiche...... e fornendo agli utenti un insieme di funzionalità di alto livello Alessandro Di Nuovo 2 2

Sistemi Operativi MS-DOS MS-Windows (95, 98, 2000, XP, Vista, Seven) Unix Commerciali: Sun Solaris, IBM AIX, HP-UX, Linux BSD Apple Mac OS X ios Altri (IBM AS/400, Symbian, Android ) Alessandro Di Nuovo 3 3

Architettura di un S.O. - 1 Un moderno S.O. è organizzato secondo una architettura a strati (a cipolla) Ogni strato implementa una macchina virtuale più potente del precedente Appoggiandosi alle funzionalità offerte dallo strato precedente Tale approccio permette una chiara separazione tra interfaccia e implementazione delle diverse funzionalità Ogni strato è costituito da un insieme di programmi e librerie I meccanismi di chiamate tra livelli possono essere diversi chiamate a sottoprogrammi, interruzioni sincrone o asincrone, invio di messaggi a processi Alessandro Di Nuovo 4 4

Architettura di un S.O. - 2 Programmi utente Interfacce utente Gestori di risorse (kernel/nucleo) Interprete dei comandi Gestore del file system Gestore delle periferiche Gestore della memoria Interfaccia grafica Gestore dei processi (nucleo) Macchina fisica Alessandro Di Nuovo 5 5

Il Nucleo Il nucleo Si appoggia direttamente sulla macchina fisica Effettua la gestione dei processi In un sistema multitasking realizza una macchina virtuale in cui ad ogni processo è assegnata un processore virtuale Comprende i principali programmi di risposta ad interruzione Realizza le primitive di sincronizzazione e scambio messaggi tra processi Alessandro Di Nuovo 6 6

Il nucleo La macchina virtuale realizzata dal nucleo Processore virtuale Processore virtuale... Processore virtuale Bus di sistema Disco Memoria centrale Interfaccia delle periferiche Alessandro Di Nuovo 7 7

Il gestore della memoria Il gestore della memoria Realizza le funzionalità di allocazione della memoria Supera i limiti della memoria fisica e mostra ai processi uno spazio di memoria virtuale Partiziona la memoria tra i vari processi che la richiedono Garantendo la protezione delle diverse zone di memoria Alessandro Di Nuovo 8 8

Il gestore della memoria La macchina virtuale realizzata dal gestore della memoria Memoria virtuale Memoria virtuale... Memoria virtuale Processore Processore virtuale virtuale... Processore virtuale Bus di sistema Disco Interfaccia delle periferiche Alessandro Di Nuovo 9 9

Il gestore delle periferiche Il gestore delle periferiche Maschera le caratteristiche fisiche delle periferiche Fornisce agli strati superiori un insieme di procedure di alto livello per l accesso alle diverse periferiche Offre ad ogni processo la visibilità di un insieme di periferiche virtuali dedicate Gestisce, almeno in parte, i malfunzionamenti delle periferiche Cultura tecnologica del progetto Alessandro Di Nuovo 10 10

Il gestore delle periferiche La macchina virtuale realizzata dal gestore delle periferiche Memoria virtuale Interfaccia periferiche virtuali Memoria virtuale Interfaccia periferiche virtuali Bus... Bus Processore virtuale Processore virtuale Bus di sistema Disco Alessandro Di Nuovo 11 11

Il gestore del file system Il gestore del file system E responsabile della gestione delle periferiche di massa Hard disk CD / DVD Memory stick USB... Fornisce agli strati superiori un insieme di procedure per l accesso al file system Garantisce la protezione nell accesso ai file Alessandro Di Nuovo 12 12

Il gestore del file system Le funzioni di base che sono supportate da un file system sono Il recupero di dati precedentemente memorizzati L eliminazione di dati obsoleti La modifica/aggiornamento di dati preesistenti La copia di dati Tra supporti di memorizzazione diversi (ad es. da HD a CD) In cartelle diverse nello stesso supporto Alessandro Di Nuovo 13 13

Il gestore del file system I dati contenuti nella memoria di massa vengono strutturati e gestiti mediante una organizzazione in file Un file è un contenitore logico identificato da un nome (filename) I filename generalmente sono composti da due parti ad es. informatica.pdf Il filename vero e proprio (informatica) L estensione (pdf) Alessandro Di Nuovo 14 14

Il gestore del file system L estensione è spesso associata al programma che ha generato il file e individua pertanto la tipologia del contenuto del file.exe à file eseguibili.txt à file di testo.doc à documenti di testo (MS Word).wav à file audio.bmp à immagine in formato bitmap... Ad ogni file sono poi associati dal sistema operativo altri dati Data di creazione / modifica Lunghezza del file (in byte) Utenti/Gruppi che possono accedere ai file Alessandro Di Nuovo 15 15

Il gestore del file system I file vengono suddivisi in più contenitori logici, chiamati directory, cataloghi o cartelle (folders) Le cartelle sono organizzate secondo una struttura ad albero Il file system contiene una directory detta radice dell albero che può contenere file o altre cartelle Ciascun file è individuato univocamente dal suo nome completo o percorso assoluto Ad es. D:\downloads\temp\002.part Due file con lo stesso nome in due cartelle distinte, ad esempio D:\Immagini\Compleanno\foto1.jpg D:\Documenti\foto1.jpg fanno riferimento a due file che in generale possono essere DIVERSI Alessandro Di Nuovo 16 16

Il gestore del file system D: Documenti Downloads Incoming Temp...... Alessandro Di Nuovo 17 17

Nozioni di base File System Alessandro Di Nuovo 18

Il gestore del file system La macchina virtuale realizzata dal gestore del file system Memoria virtuale Interfaccia periferiche virtuali File... File Memoria virtuale Interfaccia periferiche virtuali File... File Bus... Bus Processore virtuale Processore virtuale Bus di sistema Alessandro Di Nuovo 19 19

L interprete dei comandi e l interfaccia grafica L interprete comandi e l interfaccia grafica Costituiscono l interfaccia verso l utente Consentono l interazione dell utente con il s.o. e con i programmi applicativi in esecuzione Permettono di accedere ai programmi conservati su memoria di massa e mandarli in esecuzione allocando la memoria necessaria e creando il processo relativo Nel caso di un sistema multiutente forniscono ai diversi utenti la visione di una macchina virtuale dedicata Cultura tecnologica del progetto Alessandro Di Nuovo 20 20

Una possibile classificazione dei moderni S.O. I moderni sistemi operativi possono essere classificati in: Sistemi monotask: Permettono l esecuzione di un solo programma utente per volta (es. DOS) Il computer a disposizione del programma dall inizio alla fine della sua esecuzione Coda dei job, gestita FIFO (first in, first out) e/o con priorità Sistemi multitask Permettono l esecuzione di più programmi utente contemporaneamente Classificazione ulteriore: Multitasking cooperativo (Windows 3.1, MacOS) Multitasking preemptive (Windows 95/98/NT, Unix) Time sharing o meno Alessandro Di Nuovo 21 21

Svantaggi dei sistemi monoprocessore mono-tasking Nessuna interazione utente-programma Lentezza: la CPU non può essere usata da nessun processo mentre il programma in esecuzione svolge operazioni di I/O (molto piu lente di letture/scritture in Memoria) Esempio: DOS è un SO monotasking; non si può fare niente altro mentre si formatta un floppy o si memorizzano dati su disco Cultura tecnologica del progetto Alessandro Di Nuovo 22 22

Multitasking (time sharing) Ripartizione del tempo di CPU tra tutti i processi che la vogliono Ogni job rimane in esecuzione solo per un quanto di tempo, poi l esecuzione passa al prossimo job e il primo va in attesa à Esecuzione globale più veloce Durata del quanto di tempo tra 100 e 200 millisecondi à granularità molto fine A ciascun utente sembra di avere la CPU tutta per lui, solo più lenta Cultura tecnologica del progetto Alessandro Di Nuovo 23 23

Stati di un processo Inizio esecuzio ne Selezione primo processo pronto e sua esecuzione Processi pronti Processo in esecuzione Completamento operazione di I/O (evento esterno atteso) Termine quanto di tempo Processo in attesa Richiesta di operazione di I/ O Alessandro Di Nuovo 24 24

Attesa Se il processo richiede operazioni ad altri dispositivi (es. Operazioni di I/O), la CPU rimarrebbe inutilizzata è lo scheduler mette il processo in stato di attesa, il dispatcher sceglie un nuovo processo tra i pronti dalla tabella, quando l operazione sarà finita, lo scheduler dichiarerà di nuovo pronto il processo Permette un utilizzo molto più efficiente delle risorse di elaborazione Esempio: durante la digitazione di un documento di testo, l utente compie molte pause per riflettere sul contenuto che sta scrivendo questo tempo è usato dal sistema per compiere altre operazioni in contemporanea (ad es. gestire la ricezione di e-mail) Alessandro Di Nuovo 25 25

Sistemi mono e multiprocessore Time sharing in sistemi mono-processore: multi-tasking (più programmi in esecuzione con una sola CPU) Sistemi multiprocessore: le varie CPU possono lavorare contemporaneamente su job diversi ciascuna CPU opera in multi-tasking Cultura tecnologica del progetto Alessandro Di Nuovo 26 26

Bootstrap: avvio del SO All inizio, la CPU ha in indirizzo fissato nel registro contatore di programma, che punta all indirizzo nella ROM (Read Only Memory) ove inizia il programma di bootstrap che è sempre memorizzato lì L esecuzione del programma di bootsrap trasferisce il kernel del Sistema Operativo da una parte prestabilita della memoria di massa (hard-disk, floppy-disk, CD-Rom, ) in memoria principale Quindi l esecuzione prosegue con un salto all area di memoria principale contenente il Sistema Operativo (che quindi viene mandato in esecuzione) Tra le prime operazione del kernel del Sistema Operativo vi sono tipicamente quelle di caricamento di altri componenti software: driver delle periferiche installate programmi di sistema lanciati automaticamente all avvio Alessandro Di Nuovo 27 27

Bootstrap Alessandro Di Nuovo 28 28

MS-DOS Sviluppato dalla Microsoft nel 1981 per il PC IBM Adottato da altri con PC IBM-compatibili Molto limitato: mono-utente, mono-tasking Circa 50 comandi per il SO: DIR per vedere il contenuto di una directory COPY per copiare file DEL per cancellare un file REN per cambiare il nome a un file CD per muoversi in un altra directory MD per creare nuove directory RD per cancellare directory Nome file: per eseguire il file (se eseguibile) Cultura tecnologica del progetto 29 Alessandro Di Nuovo 29

MS Windows Elementi principali Interfaccia grafica Mouse che sposta un cursore Cut & paste (copia e incolla) Drag & drop (trascina e lascia) Icone associate a file, directory, dischi, Directory come cartelle Pulsanti Finestre: cornici con strumenti Menu di comandi Alessandro Di Nuovo 30 30

Breve storia di windows 1/2 Nel 1980 la Microsoft era una piccola società con 40 dipendenti, che fatturava 8 milioni di dollari. Bill Gates venne contattato dall'ibm, che in quel periodo dominava il mercato degli elaboratori mainframe ed aveva appena iniziato la realizzazione di un personal computer, per scrivere un nuovo sistema operativo. Nasce così l'ms DOS ed esplode il boom del computer per tutti. Due anni dopo Bill Gates annuncia la nascita di una prima versione di Windows (1982). Non è un sistema operativo, ma una semplice interfaccia grafica attaccata al DOS molto rozza. Gli utenti cominciano a prendere confidenza con questa nuova dimensione. A maggio, nel 1990, viene lanciato Windows 3.0 e un anno dopo esce Windows 3.1. Nel '94 il fatturato è di 4,65 miliardi di dollari. Nel '95 viene lanciato Windows 95 e i dollari salgono a quasi 6 miliardi. Internet Explorer comincia ad insidiare la posizione di leader tra i browser di Netscape. Infine nel '98 esce la nuova versione di Windows (Windows 98) e nel frattempo la crescita del sistema operativo di rete, Windows NT, si consolida fino a creare serie minacce a ben più blasonati sistemi. Cultura tecnologica del progetto Alessandro Di Nuovo 31 31

Breve storia di windows 2/2 Il successore di windows NT è Windows 2000. Windows 2000 compare in due versioni: la Professional e la Server. La prima è la soluzione ideale per applicazioni desktop mentre la seconda per la gestione e l amministrazioni di reti, domini, ecc. Con il nuovo millennio si registra l uscita del nuovo Windows Millennium Edition (ME), praticamente un Windows 98 SE rivisto nella grafica, potenziato a livello di funzioni multimediali e nel quale fa la sua definitiva scomparsa il buon vecchio DOS. Alla fine del 2002 viene presentato Windows XP nelle versioni Home, Professional e Server. La prima prenderà il posto di Windows ME mentre le altre due sostituiranno le analoghe versioni di Windows 2000. Windows XP presenta un interfaccia completamente ridisegnata, un ottimo supporto alle periferiche attualmente sul mercato e una grande supporto ai prodotti multimediali non ultimi i videogame grazie all integrazione diretta delle DirectX. Windows XP è presente sul mercato anche nella versione a 64 bit per processori Alpha. Nel 2006 è stata rilasciato Windows Vista. Tra le principali novità: pieno supporto dei processori a 64 bit (funziona però anche a 32 bit); nuovo motore per l interfaccia grafica; funzionalità avanzate di ricerca dei documenti archiviati; maggiore protezione rispetto agli attacchi informatici. Cultura tecnologica del progetto Alessandro Di Nuovo 32 32

Unix Sistema Operativo: multi-utente, multi-tasking, con time-sharing Nato negli anni 60 con un progetto congiunto AT&T e MIT Concepito per poter funzionare su diverse piattaforme hardware con adattamenti limitati Interprete dei comandi: shell testuale più di 300 comandi, con opzioni Disponibilità di interfaccia grafica (finestre, mouse, etc.) messa a disposizione da un insieme di moduli separati (sistema X Window) Cultura tecnologica del progetto Alessandro Di Nuovo 33 33

Linux Linux è una delle molte varianti di Unix con la peculiarità di essere open source (= il cui codice sorgente è liberamente disponibile) La sua nascita è dovuta in parte alle restrizioni imposte da AT&T all uso di del codice sorgente di UNIX per la didattica: hanno indotto Andy Tanenbaum allo sviluppo di MINIX, un implementazione di UNIX per scopi didattici MINIX ha ispirato Linus Torvalds a realizzare una propria implementazione del kernel UNIX Il kernel sviluppato da Linus è stato combinato con una suite di programmi UNIX, sviluppati nell ambito del progetto GNU (iniziativa che ha originato il movimento open source), per formare la prima distribuzione di Linux e renderla disponibile su Internet come software open source Oggi esistono innumerevoli distribuzioni di Linux, distinte per diverse combinazioni di kernel, interfacce grafiche (le più note sono Gnome e KDE) e programmi di utilità. Alessandro Di Nuovo 34 34

Linux Gnome à ß KDE Alessandro Di Nuovo 35 35

BSD BSD è un altra versione open source del sistema operativo Unix, in questo caso nata alla University of California, Berkeley (USA) Ritenuto più stabile di Linux (anche grazie ad un gruppo di sviluppo più ristretto, quindi più controllabile) ma il numero di applicazioni disponibili è più ristretto (principalmente applicazioni per i server) Oggi esistono 4 distribuzioni principali di BSD: 3 distribuzioni free: FreeBSD, OpenBSD, NetBSD 1 distribuzione a pagamento, all interno del Sistema Operativo Apple MAC OS-X Cultura tecnologica del progetto 36 Alessandro Di Nuovo 36

MAC OS-X MAC OS-X è l ultima generazione di S.O. per i personal computer prodotti da Apple Abbandonato il precedente sistema operativo Apple ha costruito la nuova generazione del proprio S.O. a partire da una variante di BSD, chiamata Darwin, che rimane open source A questo nucleo, Apple ha aggiunto componenti proprietari, dall interfaccia grafica (Aqua) ad una suite di applicazioni e utilities. GUI à Kernel, gestori di risorse e servizi di base Architettura MAC OS Applicazioni 37 Alessandro Di Nuovo 37

Introduzione al Deadlock Definizione: Un insieme di processi e in stallo se ogni processo dell insieme è in attesa di un evento che solo un altro processo dell insieme può causare Normalmente l evento è l accesso ad una risorsa occupata Nessun processo può Andare in esecuzione Rilasciare la risorsa Essere sbloccato Alessandro Di Nuovo 38 38

Condizioni per il Deadlock Condizione di mutua esclusione Ogni risorsa è assegnata ad un processo o è disponibile Condizione di Hold and wait I processi che detengono risorse possono chiederne altre Condizione di assenza di prerilascio Le risorse assegnate non possono essere tolte forzatamente ad un processo Condizione di attesa circolare Deve esistere una catena circolare di due o più processi ognuno dei quali è in attesa di una risorsa occupata dal prossimo processo della catena Alessandro Di Nuovo 39 39

Algoritmo dello struzzo Fare finta che il problema non esiste È ragionevole se Il deadlock è un evento raro Il costo della sua prevenzione è alto UNIX e Windows hanno tale approccio La valutazione da fare è rispetto a convenienza correttezza Alessandro Di Nuovo 40 40