1.03k likes | 1.16k Views
Dalla CPU all’utente. Utente 1. Utente 2. HARDWARE. BIOS. SISTEMA OPERATIVO. Utente N. SOFTWARE APPLICATIVO. Il Bios.
E N D
Dalla CPU all’utente Utente 1 Utente 2 HARDWARE BIOS SISTEMA OPERATIVO Utente N SOFTWARE APPLICATIVO Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini
Il Bios Il Bios (Basic Input Output System) è il software di base che risiede nella ROM, dedicato alla comunicazione diretta con l’hardware, e che svolge le iniziali e le fondamentali operazioni per il funzionamento del computer. Il Bios e le componenti software similari, non sono in genere assimilati al sistema operativo, anche se sono effettivamente parte del software di sistema; essi prendono spesso il nome di firmware, ad indicare che è fornito insieme all’hardware del PC, a differenza del sistema operativo. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini
Il Sistema Operativo Il sistema operativo è un insieme di programmi che gestisce e coordina il flusso di informazioni nel computer. E’ composto di più moduli specializzati che intergiscono tra loro E’ il software più importante del computer. I programmi che lo costituiscono operano in modo cooperativo per: La gestione ottimizzata delle risorse del computer. La realizzazione della macchina virtuale per l’utente. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini
Moduli del Sistema Operativo Configurazione ed avviamento del computer; Gestione dell’esecuzione dei programmi (processi, task) e dell’uso della CPU; Gestione dell’uso della memoria centrale (memory manager) e del suo assegnamento ai programmi ed ai dati; Gestione delle memorie di massa (file system) per il salvataggio permanente delle informazioni in files; Gestione dell’I/O delle informazioni dalle periferiche, le code e la priorità; Gestione delle unità di I/O (device manager); Scambio di informazioni con l’utente (interfaccia utente); Accesso multiutente (anche contemporaneo) con protezioni e sicurezze Routine di libreria. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini
Struttura del Sistema Operativo E’ strutturato a livelli gerarchici Il livello più basso (kernel) gestisce la macchina fisica di cui è strettamente dipendente (è scritto in linguaggio macchina). Le funzionalità di ogni livello sono basate su quella del livello sottostante, risultando quindi slegate dallo specifico computer. Il livello dell’interfaccia utente può avere identica funzionalità anche su computer totalmente diversi. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini
Tipi di Sistema Operativo Modalità dell’elaborazione: Batch: un solo programma in sequenza, buffer, spool dell’/IO. Occupa le risorse allo start e le rilascia solo al termine di tutte le operazioni previste; Interattivo: elaborazione interattiva con l’utente. Accesso alle risorse del computer: Single-user: cioè utilizzabile da un solo utente alla volta (MS-Dos, Win95); Multi-users: più utenti contemporaneamente (Win NT, UNIX, MacOS, Linux). Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini
Tipi di Sistema Operativo Modalità di esecuzione dei programmi da parte della CPU: Monoprogrammazione: la più semplice, che consente di eseguire un solo programma alla volta (MS-Dos); Multi-task: più (frammenti di) programmi, anche di un singolo utente o programma, sono eseguiti contemporaneamente (Win 95, Win NT, UNIX). Interrupt, scheduling della CPU. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini
Programma di Setup (avvio del computer) All’accensione del computer, con una particolare procedura, è possibile attivare uno speciale programma di configurazione dell’hardware del computer Il programma di setup è contenuto nella Rom e può essere eseguito solo all’inizio, prima di qualsiasi altro programma E’ utilizzato per specificare tutti i tipi di risorse del computer e le configurazioni specifiche dei segnali e degli indirizzi I dati così forniti sono memorizzati in una speciale memoria Cmos (a batteria e non accessibile a dati e programmi applicativi) letta al successivo Bootstrap (avvio) del sistema. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini
Bootstrap (1) All’accensione del computer un meccanismo hardware, attivato dal reset, provoca l’esecuzione diretta della prima istruzione di un programma speciale che è residente in Rom: il bootstrap (componente del sistema operativo). Le operazioni all’accensione sono: • inizializzazione del computer secondo le informazioni precedentemente definite nel setup; • riconoscimento delle risorse e periferiche dichiarate ed attivazione degli appositi programmi di gestione; • test di funzionamento delle risorse essenziali (memoria centrale) • attivazione dei programmi di sistema operativo per la gestione della memoria centrale Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini
Bootstrap (2) • attivazione della gestione dell’esecuzione dei programmi • attivazione dei programmi di gestione delle periferiche di I/O • attivazione del programma di file system • caricamento in memoria centrale (Ram) della parte principale del sistema operativo (solitamente residente su memoria di massa) • attivazione dei programmi di gestione delle periferiche aggiuntive (mouse, drive Cdrom,..) • attivazione dell’interfaccia utente. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini
Gestione Esecuzione dei Programmi (1) La CPU esegue le istruzioni in sequenza in modo meccanico, senza distinguere a quale processo (programma in esecuzione) appartengano. La gestione di un processo si può distinguere in due fasi: • fase di esecuzione vera e propria delle istruzioni: è il tempo reale di operazione del computer; • fase di attesa di un evento (un intervento dell’utente o la risposta di una periferica): è in genere molto maggiore rispetto al precedente. Il tempo totale impiegato dal computer per eseguire un programma è dato dalla somma di entrambi i tempi. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini
Gestione Esecuzione dei Programmi (2) Nei sistemi in monoprogrammazione un processo non può iniziare se non dopo la terminazione del precedente. Con la tecnica multitasking durante l’attesa di un processo la CPU esegue un altro processo in attesa. Nei sistemi multitasking, virtualmente si ha una elaborazione contemporanea (parallela) dei processi, anche se istantaneamente la CPU esegue una sola istruzione alla volta. E’ il sistema operativo che gestisce l’uso della risorsa CPU ed il tipo di esecuzione. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini
Gestione della Memoria Centrale Un programma per essere eseguito dalla CPU deve essere caricato in memoria centrale. Nel caso di multiprogrammazione, ma anche con il solo sistema operativo, i vari processi presenti non devono né sovrapporsi né avere aree dati comuni (anch’esse presenti in memoria). Il sistema operativo provvede, tramite una mappa, alla gestione dell’assegnazione della memoria: Deve assegnare a ciascun processo tutta la memoria di cui ha bisogno; Rendere l’accesso a questa memoria il più possibile veloce; Evitare che i diversi processi in memoria accedano alle stesse aree di memoria in modo non coordinato e che le scritture/letture di un processo danneggino gli altri processi. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini
Sistema operativo Memoria Virtuale Processi File System Memoria Virtuale Memoria virtuale: è un’astrazione della memoria fisica che consente nei sistemi in multiprogrammazione l’uso dell’intera memoria per ogni singolo processo; Memoria centrale Memoria di massa Una porzione della memoria di massa è utilizzata dal sistema operativo per contenere temporaneamente segmenti di memoria centrale (task o pagine), dove sono dinamicamente scaricati e riletti (swapping); Con opportune tecniche (programmi di gestione della memoria virtuale) è possibile addirittura eseguire programmi più grandi della memoria fisica. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini
Memoria di massa Memoria di massa Memoria Memoria A A B B Task C C C D dopo prima Tecnica dello Swapping Lo swapping consiste nel trasferire temporaneamente un’area di memoria centrale su una porzione riservata alla memoria virtuale della memoria di massa per liberare spazio. In seguito l’area trasferita sulla memoria di massa sarà nuovamente riportata in memoria. libera libera Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini
Gestione della Memoria di Massa I dischi magnetici costituiscono la tipica memoria di massa utilizzata per: memoria virtuale; archivio riscrivibile di memoria per dati e programmi. Il file system è il programma di sistema operativo che si occupa della gestione ed organizzazione delle informazioni sulla memoria di massa. Il file è una organizzazione logica delle informazioni basate su record logici e campi; i dischi magnetici sono strutturati a record fisici (in genere di 512 bytes) dipendenti dalle caratteristiche fisiche dell’hardware del drive. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini
Organizzazione Logica dei Dati La rappresentazione fisica dei dati (e programmi) sulla memoria di massa dipende esclusivamente dal tipo di supporto di memoria e dalle sue caratteristiche. Dati dipendenti e correlati tra loro in organizzazioni complesse (lista di istruzioni, schede a campi molteplici, tabelle,…) necessitano di una strutturazione logica che ne faciliti l'uso e l'accesso, indipendentemente dal record fisico. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini
Unità Logiche dei Dati La struttura logica dei dati è un livello astratto (virtuale) di rappresentazione costituito da: Campo: stream (serie) di bit con cui è codificata l'informazione (numeri, codici,..). Il formato dipende dal tipo di computer utilizzato. E' identificato da un indice; Record logico: insieme di più campi contenenti informazioni di tipo eterogeneo ma correlati tra loro. E' definito dal programma che usa i dati ed è identificato da un numero di linea; File: è una sequenza di record logici omogenei con cui sono raggruppati e memorizzati i dati relativi ad una applicazione. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini
Il File I record possono essere di lunghezza fissa o variabile. Il file è definito dal programma ma è il software di base del computer che ne gestisce la memorizzazione con i record fisici. Il file è l'elemento base della organizzazione logica dei dati. Il file è definito da un nome simbolico. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini
File e Memoria di Massa La memoria di massa è organizzata logicamente a files: tutti i programmi e dati che essa contiene sono raggruppati in files. Ciascun supporto di memoria di massa ha, in posizioni predeterminate (p.e. dischi in traccia 0), una tabella di descrizione dei files che contiene: • informazioni logiche: lunghezza, data, tipo, formato, attributi; • mappa dei record fisici (FAT: File Allocation Table). Il file è segmentato in cluster con la indicazione della traccia e settore. I cluster possono essere anche in zone diverse e non contigue della memoria di massa. E’ il software di base del computer (sistema operativo) che utilizza questa tabella per le operazioni di lettura/scrittura del file sulla memoria di massa. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini
Il File System Compiti del file system sono: • interfacciare l’organizzazione logica delle informazioni propria dell’utente con la struttura fisica del disco; • gestire l’accesso ai file su disco. L’organizzazione a file è un’astrazione nell’uso delle informazioni da parte dell’utente: • un nome simbolico di identificazione è associato ad ogni file; • le informazioni contenute nel file sono lette facendo riferimento per nome al file che le contiene. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini
Operazioni del File System Il set minimo di operazioni di gestione del file: • creazione: definizione di una struttura di file, di un nome, ed inserzione dei nuovi dati; • cancellazione: che praticamente consiste nel marcare come liberi i record fisici del file; • copia: creazione di un nuovo file uguale all’originario ma con diverso nome; • rinomina: assegnazione di un nuovo nome al file; • stampa: su video o sulla stampante del contenuto del file (se codificato in ascii); • visualizzazione degli attributi: oltre al nome la dimensione, il tipo, la data di creazione, la protezione..; • lettura/scrittura: possibilità di accedere a segmenti di record logico ed effettuare cancellazioni o inserzioni. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini
La Directory Struttura dei files in directory: raggruppamento dei files in insiemi con un nome. Questa operazione ha solo rilevanza organizzativa ed ha l’unico scopo di suddividere l’insieme dei files in gruppi distinti seguendo criteri logici (p.e. appartenenza ad uno stesso utente in sistemi multi-user, classificazione per argomenti, per tipo di file….) Ci possono essere più livelli di directory strutturate in modo gerarchico (sub-directory) ad albero La directory iniziale si chiama radice (root) Una directory può avere più sub-directories figlie L’identificatore completo del file è quindi il suo nome e quello della directory che lo contiene più l’elenco (ordinato dalla radice) della sequenza di tutte le directories in cui è contenuto (path). Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini
Esempio di Struttura ad Albero Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini
FAT e Files La FAT per ogni file contiene un descrittore del tipo: • Informazioni descrittive, quali: • Nome del file; • Data di creazione (o modifica); • Dimensione in bytes; • Attributi; • Tipo di file; • Identificatore (traccia e settore) dei record fisici in cui è memorizzato il file (cluster). Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini
FAT e Directories Le Directories non hanno una connotazione logica (e quindi non hanno record fisici), ma sono anch’esse definite nella FAT con descrittori di tipo: • Nome della directory; • Data della creazione; • Attributi; • Nome della directory padre; • Elenco dei files contenuti • Elenco delle sub-directories figlie. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini
Gestione dell’I/O delle Informazioni Compito del sistema operativo nella gestione delle periferiche è: • Fornire un’interfaccia utente (astratta) per le periferiche; • Far sì che possano operare (possibilmente) in contemporanea tra loro e con la CPU. Caratteristiche comuni a tutte le periferiche sono: • La lentezza di operazione rispetto alla CPU; • La subordinazione (slave) alla CPU nella comunicazione e nello scambio dati (anche per quelle dotate di autonomia). Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini
Sincronizzazione con la CPU Alcune periferiche hanno un loro proprio funzionamento autonomo ed indipendente dalla CPU Per comunicare con la periferica la CPU deve comunque sincronizzarsi con essa anche se non può assoggettarsi al funzionamento della periferica (drive) Il meccanismo degli interrupt consente ad una periferica che vuole comunicare con la CPU, di inviare un segnale di interrupt, a cui la CPU risponde attivando lo specifico programma di gestione della periferica (routine di driver) Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini
Schema dell’I/O L’interfaccia del sistema operativo con le periferiche consiste nel definire una serie di operazioni generali a livello astratto (stampa, lettura, copia…) che l’utente utilizza, mentre a basso livello il sistema operativo richiama il driver della periferica che ne gestisce il reale funzionamento. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini
I/O e Sistema Operativo Ogni periferica di I/O dispone del suo programma di gestione, da aggiornare nella libreria dei drivers del sistema operativo. Nei sistemi multi-task e/o multi-user il sistema operativo si deve anche occupare del coordinamento dell’accesso multiplo alle periferiche. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini
Interfaccia Utente • L’utente deve sempre richiedere al sistema operativo l’esecuzione di una qualsiasi operazione del computer: • L’esecuzione di un programma applicativo; • Una operazione del sistema operativo. • Il Sistema operativo presenta all’utente la risposta. • L’interfaccia utente è quindi definita da un linguaggio costituito da comandi e da messaggi di risposta, ed è notevolmente diversa da sistema operativo ad un altro. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini
Tipi di Interfaccia Utente • Le due classi tipiche di interfaccia utente sono: • Alfanumerica: l’utente deve scrivere lo specifico comando rispettandone correttamente la sintassi; la risposta è costituita da codici numerici o messaggi prefissati. Il formato è la riga di comando; • Grafica: tramite un dispositivo di puntamento (in genere ilmouse) l’utente seleziona il comando da un menù o da un oggetto grafico visualizzato (pulsante, area, campo…). Una GUI (graphical user interfaces), tipica è quella di tipo WIMP (Windows, Icons, Menus, Pointing device). Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini
Alfanumerica Grafica Esempi di Interfaccia grafiche Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini
Schema dell’Interfaccia Utente • L’interfaccia utente è un programma sempre in funzione dall'accensione e ciclicamente esegue la procedura (interfaccia alfanumerica): • stampa del prompt: messaggio con cui il sistema operativo comunica che è in attesa di un azione dell’utente; • comando dell’utente (terminato dal carattere speciale Return); • decodifica ed interpretazione del comando: • se scorretto: stampa all’utente del relativo messaggio di errore; • se corretto: il sistema operativo esegue il comando: • se è un’operazione di sistema operativo, la esegue; • se è la richiesta di esecuzione di un programma applicativo, lo carica il memoria e lo attiva; • stampa della (eventuale) risposta; • continua il ciclo con la stampa del prompt. • In modo analogo funziona l’interfaccia utente grafica. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini
Flow Chart dell’Interfaccia Utente Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini
Trasmissione e Comunicazione Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini
V +1 t -1 Portante 1° livello Portante 1° livello 2° livello V 5 0 t Bit 0 Bit 1 Bit 1 Bit 0 Bit 1 Bit 0 Tipi di Trasmissione • Canali analogici: • Modulazione di un segnale portante sinusoidale • baud: numero di variazioni dei livelli di modulazione (al secondo) • Canali digitali: • Associazione del bit ad un livello di tensione (o frequenza) • Trasmissione seriale/parallela • bit time: tempo per la trasmissione di un bit • bitrate: numero di bit trasmessi (al secondo) Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini
Seriale A=41(hex) 0 0 0 0 0 0 1 1 Ricevente Trasmittente Byte 1 0 • Parallela Trasmissione Digitale Interfacce Hardware: Porta Seriale e Parallela Trasmissione dei dati: in sequenze di bytes Tipica asincrona Pc-Pc: < 112.5Kb Pc/modem 56Kb Pc/fax 9.6Kb Velocità di trasmissione: Baud =bit/sec (2 livelli) Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini
Trasmissione Seriale • Asincrona: • Viene trasmesso un byte alla volta senza avere un intervallo di tempo costante fra un byte e l’altro • Sincrona: • Vengono trasmessi un certo numero di bytes “Pacchetto” ad intervalli costanti preceduti da uno o più byte “SYNC” Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini
Indirizzo del Mittente Controllo Dati Numero d’ordine Indirizzo destinatario Tecniche di trasmissione Trasmissione a byte: i singoli bytes dei dati vengono trasmessi ciascuno in modo indipendente dai precedenti senza nessuna regola temporale; Trasmissione a pacchetto: i bytes dei dati vengono raggruppati in sequenze di dimensioni fisse e quindi trasmessi uno di seguito all’altro. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini
Errori di trasmissione Errori di trasmissione: linea telefonica commutata 10-4 < Pe < 10-2 linea telefonica dedicata 10-7 < Pe < 10-5 • Tecniche di rilevazione degli errori: • controllo di parità (orizzontale e verticale) • codici di ridondanza ciclica (CRC) • Comando ACK/NACK (acknowledge) con richiesta di ripetizione del dato • Codici di correzione degli errori: uso di codifiche ridondanti (bit di controllo) per la correzione degli errori (non tutti): • Codice di Hamming: codice per la correzione di un singolo bit; • Codice Reed_Solomon: codice per la correzione di più bit. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini
E C Protocollo di trasmissione Protocollo di trasmissione: insieme di regole per la gestione del sincronismo dello scambio di dati tra due stazioni e per la rilevazione e correzione degli errori. XMODEM, KERMIT: protocolli di trasmissione a pacchetto. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini
Requisiti della comunicazione • Per effettuare una comunicazione tra computer sono necessari: • almeno di due computer (nodi o host), • un mezzo fisico di trasmissione, • interfacce di I/O (porte seriali/parallele, schede di rete) • un protocollo di comunicazione, • un’applicazione utente e/o dati da scambiare. • Obiettivi della comunicazione: • Locale: condivisione e/o unione delle risorse • A distanza: comunicazione tra utenti Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini
Protocollo di comunicazione • Protocollo di comunicazione: • insieme di controlli e di procedure che permettono l’instaurarsi delle fasi di: • Attivazione • Mantenimento • Chiusura • del collegamento (anche virtuale (p.e. TCP)) tra due stazioni. • E’ organizzato a diversi livelli di astrazione (secondo il modello di riferimento ISO/OSI) Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini
Reti Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini
Reti di comunicazione Le reti informatiche consentono la comunicazione tra computer al fine di scambiare flussi di informazioni. I protocolli di comunicazione definiscono i modi e i termini entro i quali tali comunicazioni devono avvenire. • Rete telefonica pubblica (PSTN) (max 56Kb/s) • Rete telefonica mobile: GSM (9.6Kb/s), GPRS (29.4Kb/s), UMTS(~1Mb/s) • Internet (~10-100Mb/s rete locale fissa, ~1-10Mb/s wireless) • Rete satellitare Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini
Rete Punto-Punto • E’ la connessione diretta ed esclusiva tra due computer. • Interfaccia Hardware: il mezzo di trasmissione è connesso alle porte di I/O o attraverso una scheda di rete (fissa o wireless) Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini
Rete a Stella • I computer sono collegati a una stazione centrale che gestisce il collegamento tra tutti i computer e mette in collegamento i due computer per la trasmissione dei dati. • Tutti i dati trasmessi da una stazione all’altra transitano nella stazione centrale. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini
Rete ad Anello • I computer sono connessi tra di loro con a struttura ad anello e la trasmissione segue ha una direzione fissa. • La gestione della comunicazione è effettuata da tutte le stazioni, che possiedono lo stesso software di comunicazione. • Ciascuna stazione riceve tutti i dati dalla stazione adiacente, memorizza quelli a lei destinati e ritrasmette tutti gli altri alla stazione successiva, insieme agli eventuali propri dati. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini
Rete a Bus • La struttura a bus è del tipo broadcast: i dati trasmessi da una stazione arrivano, senza memorizzazioni intermedie, direttamente alla stazione destinazione. • Questo comporta velocità di trasferimento maggiori rispetto alle reti ad anello e stella. • Le reti con struttura a bus sono quelle più diffuse. Facoltà di Medicina e Chirurgia - Ezio M. Ferdeghini