La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Software Dr. Francesco Fabozzi Corso di Informatica.

Presentazioni simili


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

1 Software Dr. Francesco Fabozzi Corso di Informatica

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

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

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

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

6 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 7 Stati di un processo In esecuzione –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 unoperazione di I/O

8 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 unoperazione di I/O –Interrupt esterni Quando finisce la slice temporale assegnata al processo (nei sistemi multitasking) Quando ce un processo con priorità più alta

9 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 –Unoperazione di I/O non coinvolge la CPU che rimane ferma durante input/output dei dati Ricorda: tempi di I/O >> tempi di elaborazione

10 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) lutente ha limpressione che i processi sono eseguiti contemporanemente In uno stesso istante coesistono un processo attivo e più processi sospesi

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

12 12 Interfacce utente Linterfaccia utente di un sistema operativo è ciò che permette allutente 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 lutente di ricordare i comandi

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

14 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: linterfaccia non è standard

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

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

17 17 Software applicativo Strumenti di produttività –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 18 Macchine virtuali Il software crea una struttura a più livelli che si innestano sul livello base costituito dallhardware –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 19 Gerarchie di macchine virtuali Lutente finale non interagisce direttamente con lhardware –Il sistema appare come un insieme di comandi messi a disposizione del programma applicativo –Limplementazione concreta dei comandi è delegata al livello inferiore Hardware S.O. Software applicativo Utenti finali

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

21 21 Gestore dei processi Il gestore dei processi sovrintende allesecuzione 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 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 –Lutente ha limpressione di vedere una memoria centrale più grande di quella reale (memoria virtuale)

23 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 24 Segmentazione e paginazione P1 P2 P3 Segmentazione memoria libera P1 P4 P3 frammento P1 P2 Paginazione P3 P4 P1 P3 pagina

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

26 26 Gestione della memoria secondaria Il file system –Gestisce lassociazione di un file al suo nome logico –Gestisce lassociazione 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 27 Organizzazione della memoria La memoria può essere organizzata in contenitori di files (directory) secondo una dipendenza gerarchica

28 28 Organizzazione della memoria root letterericette foto laurea battesimo Foto1.jpgFoto2.jpg Struttura ad albero Directory principale (radice) files

29 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 unestensione –Gruppo di caratteri preceduti da un punto che specificano il tipo di file Ex.: /foto/laurea/foto1.jpg

30 30 Identificazione di un file EstensioneTipo di file.exe,.comprogrammi eseguibili.docDocumenti Word.pptPresentazioni PowerPoint.html,.htmPagina web.jpg,.gif,.bmpimmagini.mp3,.wavaudio

31 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 32 Interprete dei comandi Riceve e interpreta i comandi formulati dallutente e li traduce in richieste ai moduli sottostanti Fornisce linterfaccia 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 33 Il sistema operativo DOS Allinizio degli anni 80 lIBM (produttrice di grossi calcolatori) entra nel mercato dei Personal Computer La scelta di IBM fu di produrre solo lhardware 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 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 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ù lestensione di 3 lettere separata da un punto –Ex.: tesi.doc

36 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 lunità hard disk A: Indica lunità floppy disk

37 37 Il sistema operativo DOS Qualche esempio di comando –Per formattare il floppy-disk FORMAT A: NOTA: loperazione 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 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 lanno 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 39 Il sistema operativo Unix Unix è uno dei sistemi operativi più antichi –Sviluppato dallAT&T nel 1969 Nato per dare la possibilità al personale dellazienda 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 lavvento di Linux lo sta soppiantando

40 40 Il sistema operativo Unix Unix è un sistema a interfaccia testuale multitasking e multiutente Il multitasking non è solo tra programmi diversi ma anche allinterno 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 41 Il sistema operativo Linux Nel 1990 Linus Torvalds, uno studente delluniversità 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 Daltra 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 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 allevoluzione del sistema

43 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 "Software Dr. Francesco Fabozzi Corso di Informatica."

Presentazioni simili


Annunci Google