1. Hanno la funzione primaria di gestire le risorse di calcolo.
Un SO fornisce un’astrazione delle risorse... dando l'"illusione"
all'utente di avere una memoria "infinita", una CPU veloce,
dedicata ad ogni utente.
I SO forniscono un accesso uniforme a risorse estremamente
eterogenee.
L'SO è ciò che fa funzionare l'hardware e costituisce la base per il
funzionamento dei software applicativi.
La conoscenza della struttura interna e dei principi di
funzionamento dei SO è indispensabile per la programmazione di
sistemi e permette di scrivere programmi più efficienti.
Sistemi Operativi
2. Sistemi Batch
(sistemi a lotti)
Privilegiano lo sfruttamento del sistema a prezzo dell’assenza
di interazione da parte dell’utente, che deve fornire in via
preliminare il suo lavoro.
I lavori sono raggruppati in lotti e memorizzati su supporto
magnetico.
Il S.O. gestisce l’avanzamento sequenziale dei singoli lavori.
Le unità di ingresso/uscita sono virtualizzate
(spooling: Simultaneous Peripheral Operations On-Line, i dati
vengono trasferiti nel buffer).
3. SO = loader + sequenziatore + processore di output.
Vantaggi: la macchina è meglio sfruttata grazie alla assenza di
interazione con l’utente. Le operazioni di I/O sono più veloci.
Svantaggi: l’utente può anche attendere molto tempo per
avere i risultati del proprio lavoro, e non può intervenire
mentre si svolgono le istruzioni.
______________________S. Batch
4. ______________________File Batch
Un file batch o comando batch è un file di testo che
contiene una sequenza di comandi per l'interprete di
comandi del sistema (solitamente command.com,
cmd.exe o .bat). Il file batch viene eseguito
dall'interprete dei comandi mandando in esecuzione i
comandi elencati nel file uno dopo l'altro, nello stesso
ordine in cui compaiono nel file.
5. Sistemi Transazionali
Trattasi di sistemi interattivi destinati ad eseguire transazioni,
ossia sequenze di operazioni elementari che richiedono
l’esecuzione ciascuna di un programma o di una sua parte.
Sono sistemi di gestione. Possono concludersi con un successo o
un insuccesso; in caso di successo, il risultato delle operazioni deve
essere permanente, mentre in caso di insuccesso si deve tornare
allo stato precedente all'inizio della transazione. In un sistema
transazionale l’utente interroga ed aggiorna archivi.
Tutti gli utenti operano sugli stessi archivi e richiedono
l’esecuzione delle stesse operazioni elementari, fornendo i propri
dati.
6. ______________________S. Transazionali
Le operazioni, per definirsi transazioni, devono avere le
proprietà ACID (Atomicità, Coerenza, Isolamento e
Durabilità)
Un utilizzo tipico delle transazioni è il seguente:
●Prima di eseguire una transazione, si esegue
un'istruzione di "inizio transazione”.
●Si eseguono le operazioni di interrogazione e modifica
dei dati.
●Se si riscontra qualche anomalia, si esegue
un'istruzione detta di "rollback", per abortire la
transazione.
●Se si sono eseguite tutte le operazioni senza riscontrare
anomalie, si esegue un'istruzione detta di "commit", per
confermare la transazione.
7. _____________esempio applicativo
Esistono numerose applicazioni in cui le informazioni
contenute in un database sono elaborate da più programmi o
più esecuzioni dello stesso programma.
• Un esempio è il sistema di prenotazione in cui in uno stesso
momento più agenti possono vendere i biglietti e quindi
modificare le liste dei passeggeri.
• Se non si disciplina l'accesso ai dati, può capitare di ottenere
degli effetti indesiderati. Ad esempio vendere lo stesso posto
a due persone diverse.
8. Sistemi per la Gestione delle Reti
● Le applicazioni sono
costruite sopra la pila
TCP/IP
● Seguono il modello
client/server
-Il server è in ascolto su una
porta e fornisce il servizio
-Il client richiede il servizio
su quella porta
9. _______________modello client/server
●Il client compone il messaggio utilizzando un
protocollo applicativo
●Il server analizza il messaggio ricevuto secondo
quanto specificato dal protocollo applicativo
●Esempi di protocollo applicativi: http, telenet, ftp,
snmp
10. _____________________IP e TCP
L'IP è un protocollo di rete CL (Connection-Less): garantisce
l'invio “non controllato di un pacchetto”
IlTCP è un protocollo di trasporto CO (Connection Oriented):
garantiscono l'ordine, l'assenza di errori, la mancanza di
duplicazioni