Informatica Generale Software. Il software Lhardware da solo non è sufficiente per il funzionamento...
-
Upload
ottavia-pini -
Category
Documents
-
view
213 -
download
0
Transcript of Informatica Generale Software. Il software Lhardware da solo non è sufficiente per il funzionamento...
Informatica Generale
Software
Il software
L’hardware da solo non è sufficiente per il
funzionamento dell’elaboratore ma è
necessario introdurre il software
… ovvero un insieme di programmi che
permettono di trasformare un insieme di
circuiti elettronici in un oggetto in grado di
svolgere varie funzioni
Il software
Una programmazione diretta della macchinahardware da parte degli utenti è davvero difficilel’utente dovrebbe conoscere l’organizzazionefisica dell'elaboratore e il suo linguaggiomacchina. Ogni programma dovrebbe essere scrittoutilizzando delle sequenze di bit ed ogni piccoladifferenza hardware comporterebbe una riscritturadel programma stesso
Il software: perché?
L’utente deve:
usare nello stesso modo, o in modo molto simile, macchine diverse dal punto di vista hardware
avere un semplice linguaggio di interazione con la macchina
avere un insieme di programmi applicativi per svolgere compiti diversi
Macchina VirtualeSi dice virtuale in quanto non esiste fisicamente maviene realizzata mediante il software (software dibase)
L'utente interagisce con la macchina virtuale grazie ad un opportuno linguaggio di comandi (semplice).
La macchina virtuale si preoccupa della traduzione di ogni comando impartito dall’utente nella sequenza di comandi riconosciuti dalla macchina fisica sottostante che realizzano la stessa funzione
Linguaggio di comandi Il processore è in grado di eseguire istruzioni
scritte in un insieme di codici binari, detto linguaggio macchina
Codice Istruzione | Argomento 1 | Argomento 2
Usare direttamente il linguaggio macchina per programmare è estremamente difficile
L’interfaccia del sistema operativo permette un livello di programmazione molto semplice
Passaggio di informazioni L’interfaccia del sistema operativo
permette un ……………….
Interfaccia =
1. Elemento di collegamento tra l’elaboratore e un’entità esterna che consente il passaggio delle informazioni da uno all’altra
2. Elemento di contatto o di intermediazione fra entità, sistemi, cose, persone ecc ..
Software:: Classi
Conosciamo due classi di software:
Programmi Applicativi
Sistemi Operativi
Software: Programmi applicativi
programmi di video-scrittura (es. Microsoft Word) browser, usati per “navigare il Web” e spedire posta
elettronica (es. MS Explorer, Netscape Communicator) fogli elettronici, usati per manipolare e analizzare
numeri e dati (es. Microsoft Excel) programmi per la gestione di banche di dati (database),
utilizzati per conservare ed elaborare dati strutturati programmi per creare applicazioni
multimediali/grafiche, manipolare foto, fare presentazioni con audio/video, ecc.
videogiochi
Software: Sistemi Operativi
Dos Windows 95, 98, 2000, XP … sVista …
Windows 7 Linux/Unix BeOs Mac Os(Cheetah , Puma, Leopard) FreeBSD
Cosa è un Sistema OperativoÈ il componente software fondamentale di un
sistema di calcolo.
È formato da un insieme di programmi che
interagiscono tra loro per realizzare due obiettivi:
1. Gestire efficientemente l’elaboratore e i suoi dispositivi
2. Creare un ambiente virtuale per l’interazione con l’utente
Classi di sistemi
I sistemi di elaborazione li possiamo
vedere come:
Calcolatori Organizzatori di informazioni Strumenti di comunicazione
Classi di sistemi I Calcolatori: un sistema di elaborazione è un
dispositivo di calcolo molto veloce; il concetto centrale è quello di algoritmo; lo strumento principale di accesso ai servizi è il linguaggio di programmazione
Ordinatori di informazioni: un sistema di elaborazione è capace di archiviare, elaborare e accedere a tanti dati; un sistema operativo è il gestore del servizio di archiviazione; lo strumento principale di accesso è l’interfaccia del sistema operativo
Classi di sistemi II Strumenti di comunicazione: un sistema di
elaborazione è capace di comunicare con altri sistemi collegati in rete, trasportando quantità di dati ad una certa velocità; il concetto centrale è quello di servizio di comunicazione (posta elettronica, WWW); lo strumento principale di accesso ai servizi di comunicazione è il browser
Nota: ricordiamo anche che in molti casi i sistemi di
elaborazione si usano come giocattoli
Il sistema operativoDal punto di vista strutturale il sistema operativo
è formato da un insieme di livelli, che formano la
cosiddetta
struttura a cipolla
Idealmente l’utente è ignaro di tutti i dettagli delle
operazioni svolte ai livelli inferiori e conosce solo le
operazioni del livello più alto
Sistemi documento-centrici L'utente di un computer di solito è interessato a
"manipolare" un documento mediante un programma applicativo.
I sistemi operativi moderni ( Windows, MacOS, Linux ) sono “documento-centrici”, cioè offrono servizi di gestione per documenti di varia natura (testi, grafica, audio, video, programmi)
I documenti vengono conservati da un servizio chiamato “file system”, che contiene, organizza e classifica i documenti.
Servizi documento-centrici
I servizi che un utente chiede al sistema operativo riguardano tutti in ultima analisi la manipolazione di archivi
Archivi di dati (.xsl)Archivi "documenti" ( .html, .doc)Archivi programmi (.exe)Archivi di archivi
Esempi Strumenti di creazione e modifica di documenti
editor: wordpad, MS Word, staroffice Visualizzatori: Acroread Reader, ghostview Strumenti di formattazione e stampa di documenti
Acrobat distiller TeX, MS Frontpage
Strumenti di programmazione Strumenti di archiviazione e compressione
WinZip, tar, compress, gzip Clienti di servizi di comunicazione
Outlook Express, Eudora, Internet Explorer, Netscape, Konqueror, Mozilla
Funzionalità OS
Avvio dell’elaboratore Bootstrap (caricamento in memoria centrale di
una parte del SO) Gestione dei servizi Gestione dei dispositivi Interazione con l’utente (Interfaccia)
Servizi e funzioni Comunicazione e gestione dell’informazione remota
gestione di messaggi di posta elettronica remote login (telnet) remote file transfer (ftp) accesso servizi news (USENET) accesso servizi WWW
Funzioni Allocazione di risorse (processore, memoria,
dispositivi) Ottimizzazione della gestione (politiche) Soluzione dei conflitti di uso di risorse indivisibili
Esempi di Servizi
Il pannello di controllo di Windows
è una funzione chiave del sistema operativo
Windows che permette di configurare una serie di
comportamenti dei principali servizi del sistema
operativo
Servizi Interfaccia amichevole: Nei sistemi più primitivi
(es. MSDOS) l’interfaccia utente è il terminale è grafico si usano le interfacce grafiche e le loro librerie (MacOS, Windows, X-Window di Linux)
Multiprogrammazione I primi sistemi operativi per PC erano monoprogrammati; dagli anni ’90 è normale avere la funzione di multi-programmazione, per cui in memoria centrale si possono caricare simultaneamente più programmi
Interfaccia OS
Quando c’è un’interfaccia testuale il sistema operativo sollecita un comando testuale dal video (shell DOS)
Quando c’è un’interfaccia grafica il s.o. facilita l’utente proponendo sullo schermo un menu di comandi selezionabili mediante mouse , che permette anche di manipolare icone disposte su una scrivania virtuale (desktop)
Esempio Interfaccia Grafica L'interfaccia utente rappresenta il piano di una
scrivania (desktop) su cui alcune icone rappresentano documenti, programmi o cassetti (folders) apribili cliccando col mouse
Un sistema di menù definisce i principali servizi, tra cui:come spegnere il computercome creare o cancellare un archiviocome visualizzare il contenuto di un archiviocome proteggere un archivio
Interfaccia dentro interfaccia
La nozione di macchina astratta permette di costruire software molto complessi, per esempio sistemi operativi emulati: in questo modo un Macintosh può eseguire applicazioni Windows, o Playstation
Lo screenshot seguente (www.uk.research.att.com/vnc)
mostra l’interfaccia di Windows emulata entro l’interfaccia
di un Macintosh
I processi del SO Un sistema operativo è una macchina astratta
complessa. Viene di solito descritta definendo un insieme di agenti chiamati processi processi di interfaccia utente (shell e finestre) processi delle applicazioni processi di servizio (serventi)
Un processo, o agente, è un’attività controllata da un programma, che si svolge su un processore, ed è capace di interagire con i vari dispositivi
OS Multiprogrammato Un sistema operativo multiprogrammato include
parecchie distinte attività chiamate processi
Queste attività si alternano sul processore (multitasking): quando un processo P1 si sospende per una lettura o una scrittura, il processore viene utilizzato da un altro processo P2
I processi dunque non avanzano con continuità; le loro attività sono interrotte per brevi intervalli di tempo dato che condividono tra loro risorse (processori, dispositivi)
Esempio
Processore utilizzato per eseguire un programma utente
Processore utilizzato dai programmi che controllano i dispositivi
Processo 1
Processo 2
Processo 3
Stati di un processo
Ogni processo durante la sua “vita” alterna gli stati di pronto, esecuzione, e attesa passando attraverso transizioni di stato
Attesa
Pronto Esecuzione
assegnazione
prerilascio
Stati di avanzamento dei processi
Transizioni di stato I Transizione da esecuzione ad attesa:
sospensione avviene per esplicita azione del processo in
esecuzione; il processo che si sospende si pone in attesa di un
evento E
Per esempio,un processo Pi si sospende in attesa di: interruzione da parte di un dispositivo, sincronizzazione con un altro processo, ricezione di un messaggio
Transizioni di stato II Transizione da stato di attesa a stato di pronto:
riattivazione. Schema tipico: Pi sospeso in attesa di evento E,
viene riattivato da Pj che segnala E. Esempi di eventi: interruzione, sincronizzazione, arrivo di un messaggio
Transizione da pronto a esecuzione: assegnazione del processore (da parte dello scheduler)
Transizione da esecuzione a pronto: prerilascio del processore (da parte dello scheduler)
Gestione dei processi L’avanzamento dei processi è determinato dalla
disponibilità del processore e dalla politica con la quale l’uso del processore è ripartito tra i processi
Le politiche di assegnazione del processore ai processi pronti hanno come obiettivo un uso efficiente del processore. Alcune politiche:
consiste nel fare avanzare i processi in ordine di arrivo (FIFO: first in first out)
consiste nel fare avanzare i processi con velocità dipendenti dalla loro priorità
Multiprogrammazione e risorse
In caso di multitasking lo scheduler sceglie di volta in volta il processo da fare avanzare tra quelli pronti
I processi che controllano i dispositivi (driver) hanno la precedenza sui processi normali [ Dipendente anche dal tipo di dispositivo controllato]
L’avanzamento “contemporaneo” di più processi è possibile perché la memoria centrale è ripartita tra i programmi. Ripartizione effetttuata dal gestore della memoria del sistema operativo
La nozione di File
Su cosa operano i sistemi operativi? Sui
documenti immagazzinati nei dischi volatili o fissi.
Operano sugli archivi, o f i l e
Definizione.
Un file (o archivio, o documento elettronico) è
sequenza di caratteri (byte) identificata da un
nome
L’organizzazione dei file
Si usano “contenitori” di file detti directory
(che sono essi stessi file)
Definizione.
Un folder (o directory) è un archivio contenitore di
file.
Folder è il meccanismo di base per strutturare
l’insieme dei file di un sistema detto file system.
File System Directory principale
Studenti
Mario LeonardoGino
Facoltà
Prof.Rossi Prof.Verdi Prof. Bianchi
Corsi
Corso A Corso B
documenti SeminariBorse
SOSP COST-11
File
Descrittori
Ad ogni file è associato un descrittore che ne descrive le proprietà e ne definisce la struttura logica e la struttura fisica
Mediante il descrittore le operazioni definite sulla struttura logica possono essere tradotte in operazioni sulla struttura fisica, eseguite a cura del s.o.
Esempio
Nome del file Tipo del file Dimensione del file Proprietario Informazioni sulla protezione Contatore d’uso Tempo di creazione Tempo dell’ultima modifica Lista dei blocchi di disco usati
Informazioni su ogni file
Directory
Elemento
Elemento
Elemento
Elemento
File Allocation Table
Tutte le informazioni sui file vengono gestite
e immagazzinate nei sistemi operativi.
Ad esempio
Nei sistemi operativi della classe Windows la struttura detta FAT (File Allocation Table) ricorda dove sono allocati i vari file
FAT Table0
1
2
3
4
5
6
7
8
10
11
12
13
9
14
15
X
X
EOF
13
2
9
8
4
FREE
12
3
FREE
EOF
FREE
EOF
BAD
Dimensione del disco
6 8 4 2
5 9 12
10 3 13
File A:
File B:
File C:
Questo blocco è marcato come blocco rotto
FAT
File: Interfaccia Grafica Il sistema operativo fornisce un servizio (di
solito una interfaccia grafica) che mostra i file in forma di icona; e alcune proprietà di ciascun file tipo: se è un documento o un programma o
una cartella la data (e l’ora) di ultima modifica la dimensione su disco l’applicazione che l’ha creato, ecc.
Nomi dei DocumentiL’attributo più importante di un file è il suo nome;
Quando un file system viene organizzato ad albero
esistono due metodi per specificare in modo
testuale il nome del file: Nel primo metodo, ogni file viene identificato da
un cammino assoluto che consiste della sequenza di directory contenute una entro l’altra dalla radice del file system al file
L’altro tipo di nome è il cammino relativo, che presuppone il concetto di directory di riferimento
Cammini Relativi Nota: Esistono due simboli importanti per
riferire directory in modo implicito:~ directory home .. directory superiore . directory corrente
Cammini relativi ~/sdc/lucidi.ps (il cammino parte dalla
home) ../../lucidi.ps (il cammino parte da 2 dir in su)
Esempio Esempio di cammino assolutoC:\Documents and Settings\studenteCP\MyDocuments\DIDATTICA\IG1
Esempio di cammino relativo
.\MyDocuments\DIDATTICA\IG1
Directory corrente
Attributi dei files Nei sistemi multi-utente, per ogni archivio sono
definiti un proprietario e alcuni diritti di accesso, di lettura, scrittura o esecuzione
Un altro attributo importante è il tipo del file, che descrive la struttura del contenuto.
La maggior parte dei sistemi operativi supporta molti tipi di file, si distinguono per l’estensione (suffisso che si appende al nome).
Formati
Esistono parecchi formati diversi di file spesso distinguibilidall’estensione:
.txt o .asc file in formato ASCII .doc file in formato MS Word .rtf file in Rich Text Format .htm o .html file in formato HTML .zip file compresso .gz file compresso .tar archivio TAR .tar.z archivio TAR e poi compresso .tgz archivio TAR e poi compresso
Formati
.gif file immagine in formato GIF .jpg file immagine in formato JPEG .pic file immagine in formato PIC .wav file audio .au file audio .mpg file filmato MPEG .mov file filmato QuickTime .ps file in formato PostScript .eps file in formato Encapsulated PostScript .pdf file Portable Document Format
Formati Molte applicazioni definiscono in modo
particolare, privato, di solito binario, il formato dei documenti che tipicamente creano
Formato .doc per Microsoft Word L’uso di un formato proprietario è di solito
giustificato con ragioni di efficienza, ma l’unica vera ragione è commerciale: il formato proprietario protegge il mercato dell’applicazione che è l’unica che può gestire quel formato
La richiesta di interoperabilità tra le applicazioni giustifica l’introduzione di formati di interscambio
Formato di interscambio Formato di documenti, solitamente testuale e
quindi leggibile, riconosciuto da applicazioni di diversi produttori
Lo scambio di documenti in rete rinforza la necessità di formati interscambiabili tra diversi computer e tra diverse applicazioni: nasce la nozione di formato aperto, indipendente sia dalle applicazioni che dall’hardware (ASCII non è sufficiente perché troppo elementare)
HTML è un formato “aperto”, non proprietario, e leggibile;
PDF è un formato “chiuso”, proprietà di Adobe, e binario
Esempio: MS Office
Word – elaborazione di testi PowerPoint – sistema di preparazione di
presentazioni Excel – foglio elettronico FrontPage – sistema di creazione di documenti
Web Outlook – agenda elettronica e cliente email Access – sistema gestione di banche di dati
Esempio: Adobe
Framemaker – elaborazione di testi su canali multipli Pagemaker - business publishing, small offices InDesign - progettazione struttura grafica dei
documenti Acrobat – creazione di documenti digitali Illustrator - creazione di grafica Photoshop – ritocco fotografico GoLive – creazione di documenti Web
Esempio: Macromedia
Director – creazione presentazioni multimediali su CD
Dreamweaver - creazione di documenti Web Fireworks - progettazione struttura grafica
dei documenti Flash – creazione presentazioni multimediali
per il Web
Il MercatoNel mercato mondiale si sono affermati alcunisistemi operativi che oggi sono più popolari di altriper alcuni compiti specifici; Il sistema più popolare su personal computer è
Windows, che detiene oltre il 95% (da aggiornare) di questo mercato;
Il sistema più popolare per server di Internet è Linux/Unix;
Il sistema più popolare per handheld computer è PalmOS, fortemente insidiato da una variante di Windows chiamata Windows CE
Installazione Il sistema operativo arriva di solito già installato
su una macchina appena comprata Ogni sistema operativo è un programma
complesso fatto da molti componenti, e talvolta uno di questi componenti “si guasta”: occorre allora reinstallare il sistema da una copia integra del sistema operativo
Nel corso del tempo inoltre vengono pubblicate nuove versioni del sistema operativo
L’installazione del sistema operativo è una procedura complessa