Il Software. 2 Software di base Programmi di gestione del sistema (Sistema Operativo) Software...
-
Upload
noelia-vaccaro -
Category
Documents
-
view
214 -
download
0
Transcript of Il Software. 2 Software di base Programmi di gestione del sistema (Sistema Operativo) Software...
Il Software
2
Software di base Programmi di gestione del sistema(Sistema Operativo)
Software Applicativo
Programmi che permettono di svolgere compiti specifici (elaborazioni testi, fogli elettronici, browser, gestione di database, elaborazione di immagini, ecc…)
Software
Hardware
Macrocomponenti dell’elaboratore
Il Software
Il Sistema Operativo
4
Il Sistema Operativo
Il Sistema Operativo (SO) è un insieme di programmi finalizzati a rendere utilizzabile l’elaboratore.
Le funzioni principali del SO sono: nascondere all’utente i dettagli dell’hardware della
macchina presentando una interfaccia amichevole. controllare l’utilizzo di tutte le risorse
dell’elaboratore (Gestore di risorse).
5
Il SO come interfaccia utente
Interfaccia: mezzo di interazione, tramite dispositivi di input e di output, tra utente ed elaboratore.
Tipi di interfaccia Interfaccia a caratteri
Offre la possibilità di eseguire un comando esclusivamente mediate l’uso della tastiera.
Usata nei primi sistemi operativi (es. DOS). Interfaccia grafica
Caratterizzata da finestre, ognuna delle quali può contenere un programma applicativo o un documento (es. WINDOWS).
Offre la possibilità di eseguire un comando puntando e cliccando l’ icona che lo rappresenta mediante l’uso del mouse.
Impiega la tecnologia WYSIWYG (What You See Is What You Get) che consente di visualizzare sullo schermo i documenti nel modo in cui saranno stampati.
6
Il SO come interfaccia utente
Interfaccia a stilo Usa uno schermo sensibile al tatto su cui si può
scrivere o puntare un comando usando uno stilo (usata nei sistemi operativi per palmari).
Interfaccia a touchscreen Consente di operare puntando con un dito le
immagini o le icone presenti sullo schermo.
Interfaccia conversazionale Consente di eseguire comandi vocali o immettere
dati mediante programmi di riconoscimento vocale.
7
Il SO come gestore di risorse
Gestore dei processi
Gestore dei file
Nucleo
Gestore della memoria
HWGestore delle
periferiche
Interprete deicomandi
SW applicativoProgrammi di utilità
8
Il SO come gestore di risorse
Il SO è composto da diverse parti interagenti fra loro che consentono di gestire l’uso di tutte le risorse da parte degli utenti e del software applicativo:
Gestore del processore (Nucleo) Gestore della memoria centrale Gestore delle periferiche Gestore dei file (File system) Gestore dell’interfaccia utente e dei relativi
comandi (Shell on Interprete dei comandi) Gestore della rete
9
Elementi di un Sistema Operativo
10
Compiti del sistema operativo
Controllare l’esecuzione delle applicazioni Coordinare la comunicazione tra le componenti del
computer Memorizzare dati e programmi Gestire l’uso delle risorse dell’elaboratore Gestire i malfunzionamenti
11
Il BIOS All’accensione dell’elaboratore (bootstrap), parte
l’esecuzione del BIOS (Basic Input Output System), un programma residente su una ROM, che:
esegue i programmi di diagnostica, che verificano la presenza di tutti i dispositivi hardware e l’assenza di guasti;
carica dalla memoria di massa una parte del Sistema Operativo che a sua volta ne carica una maggiore, e così via fino a quando tutti i programmi sono caricati;
attiva l’interprete dei comandi.
Essendo installato permanentemente nel sistema, il BIOS è considerato una via di mezzo tra HW e SW, ossia è FIRMWARE
12
Sistemi Operativi Multitasking
I SO multitasking permettono all’utente di eseguire più programmi contemporaneamente.
Come operano: poiché l’elaboratore è dotato di un solo processore, il SO assegna l’uso della CPU alternativamente tra i vari programmi, passando rapidamente da un programma all’altro, a seconda delle necessità e di eventuali priorità
In realtà in ogni istante è in esecuzione un solo programma per volta.
13
Altri tipi di Sistemi Operativi
Sistemi Operativi Multithreading Consentono ai programmi applicativi di svolgere più
operazioni contemporaneamente Il multitheading è una sorta di multitasking applicato
ad un singolo programma. SO Multiutente
Permettono il collegamento simultaneo di più utenti ad una stessa macchina
SO Multiprocessore Gestiscono sistemi dotati di più processori
Il SW
La programmazione
15
Elaborazione automatica dell’informazione
Procedura di elaborazione (algoritmo) sequenza finita di azioni che consente di risolvere
un problema in un tempo finito. Elaboratore
macchina capace di eseguire le azioni specificate dall’algoritmo
Programma (SW) codifica della procedura di elaborazione in un
linguaggio comprensibile alla macchina
16
Programma
Un programma è un insieme di frasi (ISTRUZIONI ) che specificano la procedura di elaborazione in un particolare linguaggio “comprensibile” dall’elaboratore, detto linguaggio di programmazione.
Un elaboratore offre un supporto per Un elaboratore offre un supporto per realizzare (implementare) programmirealizzare (implementare) programmi
17
Linguaggi di programmazione
Problema: Distanza notevole fra il linguaggio adottato dall’uomo per esprimere la procedura di elaborazione e il linguaggio adottato dalla macchina (linguaggio binario)
Soluzione: introduzione di un livello intermedio di linguaggio (linguaggio di
programmazione) più vicino alla logica dell’uomo e più comprensibile del linguaggio macchina
18
Linguaggi di programmazione
HardwareHardware
SoftwareSoftware
Procedura di elaborazione in linguaggio
naturale
Se a è maggiore di 100 incrementa b di 3
Linguaggio macchina0101001010101010
1101011010101110
Linguaggio di programmazione
if (a>100) then b:=b+3;
19
Linguaggi di programmazione
Ogni linguaggio di programmazione ha un numero fisso di parole (le istruzioni) e una sintassi che determina come queste parole possono essere combinate tra loro per formare delle frasi.
20
Traduzione di programmi
Per poter essere eseguito sulla macchina reale, un programma scritto in linguaggio di programmazione deve essere tradotto in un programma equivalente scritto in un linguaggio macchina
Ogni istruzione in linguaggio di alto livello è sostituita (tradotta) da una sequenza di istruzioni in linguaggio macchina
Solo programmi in linguaggio macchina possono essere eseguiti direttamente dai circuiti elettronici senza bisogno di traduzione
21
I linguaggi di basso livello
I primi linguaggi introdotti per semplificare la programmazione sonop stati i linguaggi di basso livello o assemblativi
linguaggi simbolici dipendenti dalla macchina specifica
ogni istruzione macchina è rappresentata da un nome mnemonico più facile da ricordare rispetto ad una stringa di bit
22
Traduzione del linguaggio assemblativo
Un programma scritto in linguaggio assemblativo (codice sorgente) viene tradotto nell’equivalente programma in linguaggio macchina (codice oggetto) da un programma, detto assemblatore
L’assemblatore trasforma ogni istruzione del linguaggio assembly nella corrispondente istruzione in linguaggio macchina
Traduzione 1 a 1
23
I linguaggi di alto livello
Il vocabolario di un linguaggio assemblativo si riduce al ristretto insieme di istruzioni che un processore può eseguire
È complicato realizzare programmi complessi I linguaggi di alto livello (es. Java, C, Fortran, Cobol,
Pascal,…) sono stati introdotti per agevolare lo sviluppo di grossi programmi:
linguaggi simbolici indipendenti dalla macchina, con un insieme di istruzioni molto ampio
24
Traduzione di un linguaggio di alto livello
Un programma scritto in linguaggio di alto livello (codice sorgente) viene tradotto nell’equivalente programma in linguaggio macchina (codice oggetto) da un programma, detto compilatore
Il compilatore converte ogni istruzione in linguaggio ad alto livello in una sequenza di istruzioni in macchina
Traduzione 1 a molti
25
Traduzione di un linguaggio di alto livello
I compilatori traducono tutto il codice sorgente in un codice oggetto che viene successivamente eseguito
Per alcuni linguaggi di programmazione (es. BASIC, Matlab, Java), la traduzione di programmi è effettuata da un interprete che legge, traduce ed esegue ogni singola istruzione del codice sorgente, senza produrre un codice oggetto
L’esecuzione è più lenta rispetto ad un programma compilato
26
La programmazione
Il processo di creazione di un programma prende il nome di programmazione e comprende:
La scrittura del programma: significa convertire le specifiche (descrizioni accurate) di un problema in una sequenza di istruzioni dettagliate che permettono di risolvere tale problema per mezzo di un computer.
Tali istruzioni descrivono come devono essere strutturati i dati e specificano passo passo la procedura di elaborazione (algoritmo).
La verifica del programma.
27
Sviluppo di programmi
Il processo di sviluppo di un programma (programmazione) comprende diverse fasi
Definizione del problema Progettazione del programma
Uso dei diagrammi di flusso Codifica del programma Verifica del programma (debugging) Documentazione del prodotto finito