La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Dr. Francesco Fabozzi Corso di Informatica

Presentazioni simili


Presentazione sul tema: "Dr. Francesco Fabozzi Corso di Informatica"— Transcript della presentazione:

1 Dr. Francesco Fabozzi Corso di Informatica
Software Dr. Francesco Fabozzi Corso di Informatica

2 Tipologie del software
Un programma è una sequenza di istruzioni elementari eseguite dall’elaboratore Un programma in esecuzione si chiama processo (job) Il software è l’insieme dei programmi che possono essere eseguiti su un elaboratore Software di base Gestisce le funzioni elementari dell’elaboratore Lavora direttamente sul livello hardware Software applicativo Software dedicato per particolari esigenze Agisce sull’elaboratore mediante il software di base

3 Software di base e applicativo
Software applicativo Software di base (S.O. / Firmware) Hardware

4 Firmware Programma residente nella ROM
Ex.: BIOS Esegue l’avvio della macchina (bootstrap) Carica in memoria il Sistema Operativo Verifica integrità componenti interne Verifica collegamenti con periferiche esterne

5 Sistema operativo Il sistema operativo è il componente principale del software di base Gestisce le risorse del sistema CPU, memoria, periferiche Fornisce l’interfaccia uomo-macchina Costituisce il supporto per il software applicativo Gestisce errori del sistema

6 Processi Si definisce processo un programma in esecuzione
Un processo possiede: Parte statica Istruzioni del programma Parte dinamica Dati e stato di avanzamento del programma Uno stesso programma può essere diviso in più porzioni eseguibili separatamente; ogni porzione costituisce un processo

7 Stati di un processo In esecuzione Pronto (Ready) In attesa
Il processo occupa la risorsa processore Solo un processo per volta può essere in questo stato Può essere sospeso da un evento (interruzione) e andare in un altro stato Pronto (Ready) Il processo è pronto per andare in esecuzione ma la CPU non è ancora libera In attesa Il processo è sospeso perché ha richiesto un’operazione di I/O

8 Interruzioni di un processo
Un processo viene interrotto per cause interne o esterne al processo stesso Quindi distinguiamo due tipi di interruzioni (interrupt) Interrupt interni Quando il programma richiede un’operazione di I/O Interrupt esterni Quando finisce la slice temporale assegnata al processo (nei sistemi multitasking) Quando c’e’ un processo con priorità più alta

9 Sistemi operativi monotasking
In un sistema monotasking il processore esegue un solo processo per volta Ex.: sistema operativo DOS Un sistema monotasking è poco efficiente quando ci sono operazioni di I/O Un’operazione di I/O non coinvolge la CPU che rimane ferma durante input/output dei dati Ricorda: tempi di I/O >> tempi di elaborazione

10 Sistemi operativi multitasking
In un sistema multitasking il processore esegue più processi contemporaneamente Ex.: sistema operativo Windows, Linux In realtà sono eseguiti a rotazione pezzi di processi “Timesharing” dei processi Il tempo di lavoro della CPU è suddiviso tra i vari processi Poiché gli intervalli di tempo (time-slice) dedicati a un processo sono molto piccoli (circa msec) l’utente ha l’impressione che i processi sono eseguiti contemporanemente In uno stesso istante coesistono un processo attivo e più processi sospesi

11 Sistemi mono e multitasking
Esecuzione di processi in un sistema monotasking input output S.O. input output S.O. Job 1 Job 2 Esecuzione di processi in time sharing Processo P1 ready time slice t Processo P2 ready time slice t Processo P3 ready I/O t1 t2 t1+t2 = t

12 Interfacce utente L’interfaccia utente di un sistema operativo è ciò che permette all’utente di interagire con la macchina Interfaccia testuale I comandi sono forniti tramite stringhe di caratteri In pratica delle parole chiave S.O. con interfaccia testuale: MS-DOS, Unix, Linux Di elevata velocità Necessita di poca memoria Difficoltà per l’utente di ricordare i comandi

13 Interfacce utente Interfaccia grafica (Graphical User Interface, GUI)
I comandi sono forniti selezionando un’apposita immagine (“icona”) S.O. con interfaccia grafica: Windows “User-friendly” (facilità d’uso) E’ meno veloce e necessita di più memoria Un comando complesso deve essere eseguito con più passaggi

14 Interfacce utente Interfaccia fisica
I comandi sono forniti tramite movimenti di componenti fisiche del sistema Sono usate in elaboratori interni a macchine più complesse (embedded computer) Ex.: robot impiegati nelle fabbriche Svantaggio: l’interfaccia non è standard

15 Software applicativo Il software applicativo è l’insieme dei programmi necessari a risolvere specifici problemi degli utenti Linguaggi di programmazione Software personale Strumenti di produttività Programmi verticali

16 Software applicativo Linguaggi di programmazione (ambienti di sviluppo dei linguaggi) L’insieme degli strumenti per lo sviluppo di programmi e per la verifica della loro correttezza (debugging) Scarsa dipendenza dall’hardware della macchina Portabilità da un sistema a un altro Software personale Programmi di uso semplice e quotidiano Videoscrittura, agende elettroniche, gestione posta elettronica

17 Software applicativo Strumenti di produttività Programmi verticali
Programmi che svolgono in maniera semplice ed efficiente compiti di calcolo o di elaborazione Fogli elettronici (spreadsheet) Gestione di database Programmi verticali Risolvono problematriche altamente specialistiche Gestione biblioteca o controllo di un impianto

18 Macchine virtuali Il software crea una struttura a più livelli che si innestano sul livello base costituito dall’hardware Ogni livello costituisce una macchina virtuale Gli utenti del sistema si collocano in diversi livelli Un utente può utilizzare solo le risorse della macchina virtuale sottostante al livello in cui si trova

19 Gerarchie di macchine virtuali
L’utente finale non interagisce direttamente con l’hardware Il sistema appare come un insieme di comandi messi a disposizione del programma applicativo L’implementazione concreta dei comandi è delegata al livello inferiore Utenti finali Software applicativo S.O. Hardware

20 Funzionalità del sistema operativo
Anche il sistema operativo è organizzato secondo una gerarchia di macchine virtuali Programmi applicativi Interprete dei comandi File system Gestore delle periferiche Gestore della memoria Gestore dei processi (kernel) Macchina fisica

21 Gestore dei processi Il gestore dei processi sovrintende all’esecuzione dei vari programmi residenti in memoria centrale per ottimizzare la risorsa processore E’ il gestore della CPU Gestisce anche sincronizzazione di più processi concorrenti risoluzione contese tra processi

22 Gestore della memoria centrale
Gestisce la suddivisione della risorsa memoria centrale tra i vari programmi Solo una parte di ogni programma viene caricata di volta in volta in memoria centrale L’utente ha l’impressione di vedere una memoria centrale più grande di quella reale (memoria virtuale)

23 Gestore della memoria centrale
Modalità di suddivisione della memoria Segmentazione assegnazione di un segmento di memoria pari alla parte di programma da caricare Ogni segmento di memoria ha dimensioni variabili (fino a 64 KB) Problema: frammentazione della memoria Paginazione assegnazione di una pagina di dimensione fissa (4KB) alla parte di programma da caricare Problema: non efficiente utilizzo della memoria

24 Segmentazione e paginazione
memoria libera P4 frammento Paginazione P1 P1 pagina P2 P4 P3 P3

25 Gestione della memoria secondaria
L’unità astratta di memorizzazione prende il nome di file Un file è un insieme di byte associati ad un’unica entità logica Ex.: istruzioni di programma; testo di una lettera L’insieme dei programmi per la gestione logica e fisica della memoria secondaria prende il nome di file system

26 Gestione della memoria secondaria
Il file system Gestisce l’associazione di un file al suo nome logico Gestisce l’associazione del nome logico di un file alla sua posizione fisica nella memoria di massa Infatti un file viene memorizzato su disco in posti non necessariamente contigui Trasforma operazioni logiche su file in operazioni fisiche su blocchi di memoria di massa Gestisce la protezione dei dati Gestisce lo spazio libero conseguente alla cancellazione di un file

27 Organizzazione della memoria
La memoria può essere organizzata in contenitori di files (directory) secondo una dipendenza gerarchica

28 Organizzazione della memoria
Struttura ad albero root Directory principale (“radice”) lettere ricette foto laurea battesimo Foto1.jpg Foto2.jpg files

29 Identificazione di un file
Il nome completo di un file è dato dal path name Nome del file + percorso (path) per raggiungerlo a partire dalla directory radice (che si indica con / ) Il nome del file è seguito da un’estensione Gruppo di caratteri preceduti da un punto che specificano il tipo di file Ex.: /foto/laurea/foto1.jpg

30 Identificazione di un file
Estensione Tipo di file .exe, .com programmi eseguibili .doc Documenti Word .ppt Presentazioni PowerPoint .html, .htm Pagina web .jpg, .gif, .bmp immagini .mp3, .wav audio

31 Gestione delle periferiche
Le operazioni sulle periferiche sono gestite tramite programmi detti device driver Il driver è diverso per ogni dispositivo ed è fornito dalla casa costruttrice (driver per la tastiera, driver per il mouse, driver per la stampante, ecc.) I driver Gestiscono la comunicazione da/verso la periferica Coordinano le richieste contemporanee di accesso alla risorsa Gestiscono le condizioni di errore Ex.: Fine carta nella stampante

32 Interprete dei comandi
Riceve e interpreta i comandi formulati dall’utente e li traduce in richieste ai moduli sottostanti Fornisce l’interfaccia utente Sistemi a interfaccia grafica Seleziono comandi da menù a tendina Seleziono comandi tramite icone Sistemi a interfaccia testuale Utilizzo di apposito linguaggio per dare comandi Gestione di eventuali errori sintattici nella digitazione dei comandi

33 Il sistema operativo DOS
All’inizio degli anni ’80 l’IBM (produttrice di grossi calcolatori) entra nel mercato dei Personal Computer La scelta di IBM fu di produrre solo l’hardware e far sviluppare il sistema operativo a un esterno: Bill Gates Nacque così il DOS e la Microsoft (e la fortuna di Bill Gates) La Microsoft è attualmente la più grande azienda produttrice di software

34 Il sistema operativo DOS
MS-DOS MicroSoft Disk Operating System Il successo del DOS Sistema relativamente semplice nella gestione dei dati e della memoria Progenitore di Windows Sistema a interfaccia testuale I comandi sono una sequenza di lettere e numeri e sono inviati tramite la console La console di DOS può essere lanciata da Windows

35 Il sistema operativo DOS
Un programma viene lanciato scrivendo il suo nome e premendo il tasto INVIO Il sistema operativo cerca il programma sul disco, lo carica nella RAM e viene eseguito dalla CPU Il nome di un file è costituito da un nome di max 8 caratteri più l’estensione di 3 lettere separata da un punto Ex.: tesi.doc

36 Il sistema operativo DOS
La memoria può essere organizzata in cartelle (directory) secondo una gerarchia ad albero Esempio di pathname C:\TESTI\LAUREA\CAP1.DOC C: Indica l’unità hard disk A: Indica l’unità floppy disk

37 Il sistema operativo DOS
Qualche esempio di comando Per “formattare” il floppy-disk FORMAT A: NOTA: l’operazione di formattazione re-inizializza la memoria del dischetto (e cancella tutti i dati) Per mostrare i file nella directory LAUREA: DIR C:\TESTI\LAUREA Per copiare un file in un altro: COPY CAP1.DOC CAP1_NEW.DOC

38 Il sistema operativo Windows
Per rendere il sistema operativo più “user-friendly” (e allargare quindi il mercato dei PC) le case produttrici cominciarono a sviluppare interfacce grafiche La APPLE nel 1984 lancia il Macintosh Microsoft l’anno successivo lancia Windows 3.1 Inizialmente Windows si presentava come un programma lanciato da DOS A partire da Windows 95 esso appare come un sistema operativo autonomo (anche se la gestione della memoria è basata sempre su DOS) Versione ultima: Windows XP

39 Il sistema operativo Unix
Unix è uno dei sistemi operativi più antichi Sviluppato dall’AT&T nel 1969 Nato per dare la possibilità al personale dell’azienda di lavorare contemporaneamente sugli stessi dati e sullo stesso progetto Diffuso soprattutto nel mondo universitario E’ il sistema operativo delle workstation e dei computer di medie e grandi dimensioni Lo crescita delle performance dei PC e l’avvento di Linux lo sta soppiantando

40 Il sistema operativo Unix
Unix è un sistema a interfaccia testuale multitasking e multiutente Il multitasking non è solo tra programmi diversi ma anche all’interno dello stesso file Più utenti possono modificare/consultare i dati di un archivio nello stesso istante Questo permette a più persone di lavorare su uno stesso progetto A scopo di protezione dei dati un utente può accedere al sistema specificando un nome identificativo (username) e una parola segreta (password)

41 Il sistema operativo Linux
Nel 1990 Linus Torvalds, uno studente dell’università di Helsinki che si diletta a scrivere programmi per calcolatori, compra un PC con processore Intel 386 e sistema operativo DOS Il sistema DOS non gli permette però di sviluppare i suoi sofisticati programmi D’altra parte il costo di una workstation con Unix (circa 5000 $) è proibitivo Linus decide allora di scrivere un clone di Unix per PC Nel 1991 nasce la prima versione di Linux

42 Il sistema operativo Linux
Il file system è simile a quello di Unix e i comandi sono praticamente gli stessi Contiene inoltre una serie di driver per pilotare le periferiche tipiche di un PC La scelta vincente è stata quella di diffondere Linux su Internet gratuitamente Linux e’ a disposizione di tutti e tutti possono partecipare all’evoluzione del sistema

43 Il sistema operativo Linux
Linux è diffusissimo nel mondo universitario e della ricerca e si sta diffondendo anche in altri ambiti grazie allo sviluppo di interfacce grafiche Gran parte dei Web Server è basato su Linux Le distribuzioni più diffuse del sistema operativo sono la Red Hat e Mandrake


Scaricare ppt "Dr. Francesco Fabozzi Corso di Informatica"

Presentazioni simili


Annunci Google