Il sistema operativo BIOINGEGNERIA ELETTRONICA ED INFORMATICA 1 Lezione II - 2013/2014 Riepilogo lezione precedente L'informatica è la scienza che studia come trattare l'informazione in maniera automatica In realtà, l'informatica tratta sia i dati, che l'informazione, che la conoscenza Il dato è un valore, una misura di un certo fenomeno del mondo reale; il dato, posto in un certo contesto ed interpretato secondo un codice, diventa informazione; un insieme di informazioni, messe in relazione fra loro, possono fornire conoscenza Il calcolatore utilizza l'alfabeto binario per tutti i tipi di dati, mentre utilizza una semantica differente a seconda del tipo di informazione da trattare In medicina, il processo di codifica consiste essenzialmente nell'assegnazione di un codice ad un concetto medico (sia per le patologie, che per i costi, che per gli eventi clinici) 2 Lezione II - 2013/2014 Riepilogo lezione precedente: architettura di un calcolatore Unità di elaborazione La CPU si appoggia alla RAM per memorizzare i programmi e i dati intermedi Memoria RAM (Random Access Memory) Control Unit Dispositivi attraverso cui l’utente fornisce l’informazione (i dati) in ingresso Dispositivi di INPUT Tastiera, mouse, touchpad, microfono, webcam, … 3 Il calcolatore esegue calcoli su numeri e operazioni logiche ALU (Arithmetic Logic Unit) CPU (Central Processing Unit) Dispositivi attraverso cui l’utente riceve l’informazione (i dati) in uscita Dispositivi di OUTPUT Monitor, stampante, casse audio, … (Architettura di Von Neumann) Lezione II - 2013/2014 Software Il software è l’insieme dei programmi che operano sul calcolatore Software di base E’ dedicato alla gestione delle funzioni elementari dell'elaboratore, e lavora direttamente sull'hardware della macchina. Software applicativo 4 Implementa particolari esigenze dell'utente usando il software di base. Lezione II - 2013/2014 Che cos’è il sistema operativo? Il sistema operativo Il componente principale del software di base è il sistema operativo (SO), cioè il programma che permette l'interazione con le risorse fisiche dell'elaboratore. 1. Gestisce le risorse fisiche dell'elaboratore 2. 5 Processore memoria centrale memoria di massa dispositivi di input/output Fornisce l'interfaccia uomo-macchina Lezione II - 2013/2014 Struttura del sistema operativo Struttura a cipolla 6 Lezione II - 2013/2014 Gestione dei processi Processo Si definisce processo (o anche job, task) una istanza di un certo Programma. Un processo è composto da una parte statica (le istruzioni) e da una parte dinamica (i dati) SO Monotasking Il sistema operativo permette l'esecuzione di un unico processo alla volta 7 SO Multitasking Il sistema operativo permette l'esecuzione contemporanea di più processi Lezione II - 2013/2014 Monotasking In un sistema operativo monotasking, ciascun processo impegna la CPU in maniera esclusiva L'esecuzione di più processi avviene sequenzialmente C’è spreco di risorse sia durante l'input/output, sia durante l'attesa del lancio di un ulteriore processo 8 Lezione II - 2013/2014 Multitasking (1) In un sistema operativo multitasking, più processi possono essere eseguiti «contemporaneamente» Un solo processo e in esecuzione in un certo istante di tempo Gli altri processi sono o pronti ad andare in esecuzione, o in attesa del termine delle operazioni di I/O 9 Lezione II - 2013/2014 Multitasking (2) 1. 2. 3. Un processo entra in una coda di processi pronti e - al suo turno va in esecuzione L'esecuzione può essere interrotta da Interruzione interna - per eseguire operazioni di I/O Interruzione esterna - quando scade il tempo ad esso dedicato Termine - se il processo e terminato 10 Lezione II - 2013/2014 Multitasking (3) l metodo del time-sharing 11 a ciascun processo viene ciclicamente assegnato un tempo di esecuzione t (time-slice) in caso di una operazione di I/O, l'esecuzione passa al successivo processo, per poi essere ripresa al termine Lezione II - 2013/2014 Gestione della memoria La memoria è una risorsa generalmente scarsa e va quindi suddivisa tra i vari processi in competizione Nella realtà, i sistemi operativi: fanno vedere ai processi una quantità di memoria maggiore (memoria virtuale) di quella centrale tengono in memoria centrale solo porzioni dei processi in competizione, mentre le restanti parti restano sulla memoria di massa La gestione della memoria avviene utilizzando la tecnica della segmentazione o della paginazione 12 segmentazione, la memoria è assegnata in segmenti uguali alla parte di programma da caricare paginazione, la memoria è suddivisa in pagine di dimensioni fisse Lezione II - 2013/2014 La segmentazione Nella tecnica di segmentazione, la memoria è assegnata in segmenti uguali alla parte di programma da caricare 13 Lezione II - 2013/2014 La paginazione Nella tecnica di paginazione, la memoria è suddivisa in pagine di dimensioni fisse 14 Lezione II - 2013/2014 Gestione delle periferiche Per gestire una periferica, il sistema operativo utilizza i driver Deve esistere quindi un determinato driver per ogni periferica da gestire La gestione delle periferiche in un sistema multitasking è una attività «insidiosa» perché E’ necessario gestire correttamente errori di I/O E’ indispensabile adottare corrette politiche di utilizzo affinché 15 non si acceda a risorse attualmente in uso da un altro processo non si verifichino situazioni di blocco irreversibile Lezione II - 2013/2014 Accesso concorrente alle risorse Per permettere ai processi di accedere correttamente alle risorse, si usa il cosidetto lock nessuno la risorsa è libera in lettura il processo può leggere dei dati dalla risorsa in scrittura il processo può scrivere dei dati dalla risorsa in lettura/scrittura il processo è esclusivo proprietario della risorsa Un processo può richiedere 16 una risorsa libera e chiedere il suo lock in lettura e/o scrittura (a seconda dell'operazione che deve eseguire) al termine dell'operazione, la risorsa deve essere libera Lezione II - 2013/2014 Deadlock (1) Il deadlock è una situazione in cui alcuni membri di un gruppo di processi (che detengono risorse) sono bloccati indefinitamente nell'accesso ad altre risorse possedute da altri processi dello stesso gruppo 17 Un esempio e un incrocio che deve essere affrontato da quattro macchine che devono tutte girare alla propria sinistra Lezione II - 2013/2014 Deadlock (2) 18 Lezione II - 2013/2014 Deadlock (3) I metodi per risolvere i deadlock sono essenzialmente 19 semafori viene assegnato un ordine predefinito di accesso alla risorsa priorità viene assegnato un ordine di accesso alla risorsa sulla base di priorità (diritti di precedenza) attesa casuale quando un processo trova una risorsa occupata, attende un tempo casuale prima di provare nuovamente ad utilizzarla Lezione II - 2013/2014 Starvation La starvation è una situazione per cui un processo potrebbe restare indefinitamente in attesa che una risorsa si liberi 20 Un esempio è un incrocio attraversato da una serie di automobili, e una ulteriore automobile in attesa di attraversarlo Lezione II - 2013/2014 Il file system (1) Per organizzare la grande quantità di dati che possono essere stoccati nella memoria di massa, si ricorre ad una unità astratta di memorizzazione detta file un contenitore di file detta directory File system Il file system è l'insieme di programmi del sistema operativo che si occupano della gestione della memoria di massa. 21 Il file system è strutturato ad albero Il percorso di un file è dato dalla «somma» delle varie directory (partendo dalla radice, discendendo l'albero) e il nome del file Lezione II - 2013/2014 Il file system (2) 22 Lezione II - 2013/2014 L’interprete dei comandi L'interprete di comandi L'interprete dei comandi è lo strumento più spartano per dialogare con il sistema operativo 23 In Windows, l'interprete dei comandi è richiamabile lanciando il programma «COMMAND.COM» o «CMD.COM» In Linux/Unix, esistono vari interpreti dei comandi dotati di funzioni più o meno potenti (e.g., BASH) Lezione II - 2013/2014 Interfaccia grafica L'interfaccia grafica o offre una metafora visuale per l'interazione con il sistema operativo. Attualmente, la metafora usata per la gestione dei processi è la finestra, le icone identificano i file e/o le directory, mentre è usato il desktop (la scrivania) per organizzare i file Vantaggi di una interfaccia grafica Semplicità di utilizzo Rapidità di esecuzione di compiti complessi Vantaggi dell'interprete dei comandi 24 E’ possibile eseguire anche compiti non disponibili sull'interfaccia grafica Lezione II - 2013/2014 Reti e web BIOINGEGNERIA ELETTRONICA ED INFORMATICA 25 Lezione II - 2013/2014 Le reti di calcolatori Il computer networking è uno dei campi tecnologici più importanti della nostra epoca La «rete delle reti» è sicuramente Internet 26 Lezione II - 2013/2014 I «pezzi» di Internet Internet è l'insieme di 27 End-system (o host) mutuamente interconnessi, ciascuno dei quali esegue delle applicazioni di rete Link di rete: rame, fibra ottica, radio, satellitari Router: organizzano il traffico di informazioni attraverso la rete Lezione II - 2013/2014 I nodi terminali della rete Ai nodi terminali della rete ci sono gli end-system: eseguono applicativi (e.g. web, email) Modello client/server Il client invia le richieste, e riceve le risposte dal server (e.g., il client web riceve le pagine da un server) Modello peer-to-peer 28 Gli host interagiscono simmetricamente (e.g., il file sharing) Lezione II - 2013/2014 La sezione interna della rete È composta da griglie di router intercomunicanti, eventualmente raccolte in sottoreti Si occupa di come trasferire i dati attraverso la rete 29 Lezione II - 2013/2014 I servizi di Internet Internet è una infrastruttura di comunicazione che permette l'esecuzione di servizi come Web Posta elettronica Trasferimento file Condivisione di risorse Internet - quindi - non è il solo web! Possibile definizione 30 Internet è un insieme di reti collegate da protocolli comuni che consentono agli utenti di ciascuna rete di comunicare o di utilizzare i servizi situati su una qualsiasi delle reti componenti Lezione II - 2013/2014 Tipologie di rete (1) 31 Lezione II - 2013/2014 Tipologie di rete (2) 32 Lezione II - 2013/2014 Che cos’è un protocollo Un protocollo definisce il formato e l'ordine dei messaggi scambiati fra due o più entità comunicanti, così come le azioni che hanno luogo a seguito della trasmissione e/o ricezione di un messaggio o di altri eventi 33 Lezione II - 2013/2014 Un protocollo umano e una di retr 34 Lezione II - 2013/2014 Architettura stratificata Internet è un sistema estremamente complesso: deve far convivere differenti reti, differenti applicativi, differenti sistemi operativi, etc. Data questa grande complessità, la rete è organizzata tramite una architettura stratificata Si ha un'architettura stratificata quando è possibile identificare dei livelli (strati, layer ) di uniforme astrazione, in cui è possibile nominare consistentemente le entità che vi operano Vantaggi di un'architettura stratificata: 35 Separazione delle funzioni Semplicità di progetto Facilità di gestione Semplicità di standardizzazione Lezione II - 2013/2014 Architettura stratificata In ciascuno strato di una architettura stratificata vengono definiti dei protocolli (pila protocollare) La pila protocollare Internet è a 5 livelli 36 Lezione II - 2013/2014 Strato di collegamento/fisico Questi due strati non sono specificati da Internet Una rete che implementa questi soli due livelli è una rete locale Qualunque rete locale può utilizzare i propri specifici protocolli di collegamento e/o fisici, ma sarà collegabile ad Internet se e solo se renderà implementabile il protocollo IP Un esempio di rete locale è la rete Ethernet Le informazioni trasportate a questo livello vengono chiamate tecnicamente frame Lo strato di collegamento/fisico si occupa di trasferire frame attraverso un link 37 Lezione II - 2013/2014 Tipologie di link Esistono due tipologie di link 1. Link punto-a-punto: un singolo sender ad una estremità del link, e un singolo receiver all'altra estremità del link 2. Link broadcast: più sender e più receiver condividono un unico mezzo trasmissivo 38 Lezione II - 2013/2014 Stato di rete Lo strato di rete è responsabile dell'instradamento dei dati da un host all'altro Internet ha molti protocolli di instradamento che permettono di specificare come «districarsi» all'interno della rete per raggiungere il destinatario Contiene il protocollo IP e tutti i componenti che vogliono appartenere ad Internet devono impiegarlo Le informazioni trasportate a questo livello vengono chiamate tecnicamente datagrammi 39 Lezione II - 2013/2014 Indirizzi IP Un indirizzo IP è un insieme di quattro numeri (ciascuno da 0 a 255) separati da un punto 141.250.187.187. L'indirizzo IP e strutturato gerarchicamente Ad esempio, Gli indirizzi che cominciano per 141.250.187. sono di end-system appartenenti alla Facoltà di Medicina e Chirurgia di Perugia Il gruppo di indirizzi 141.250.187.xxx è detta una classe di indirizzi IP Una classe deve risiedere dietro un solo router 40 Lezione II - 2013/2014 Strato trasporto Lo strato di trasporto fornisce il servizio di trasporto dei messaggi provenienti dallo strato di applicazione Il servizio di trasporto può essere Orientato alla connessione Garantisce la consegna dei messaggi, un controllo di flusso e congestione Senza connessione Non garantisce niente alle applicazioni Le informazioni trasportate a questo livello vengono chiamate tecnicamente segmenti 41 Lezione II - 2013/2014 Strato applicazioni Lo strato di applicazione è responsabile del supporto delle applicazioni di rete Queste applicazioni comprendono molti protocolli (e.g., HTTP, FTP, SMTP) che forniscono le funzionalità più note presenti sulla rete Internet Le informazioni trasportate a questo livello vengono chiamate tecnicamente messaggi 42 Lezione II - 2013/2014 DNS Il DNS (Domain Name Service) è il servizio di strato di applicazione che permette di tradurre il nome di un host nel corrispondente indirizzo IP Il DNS è un servizio distribuito, cioè esistono più DNS che cooperano fra di loro al fine di offrire il servizio di traduzione. .it .net .google.com .unipg.it .med.unipg.it .com .ing-inf.unipg.it www.med.unipg.it IP 141.250.187.187 43 Lezione II - 2013/2014 Applicativi dello strato di applicazione Nello strato di applicazione trovano spazio numerosi applicativi, per ciascuno dei quali sono definiti uno o più protocolli A ciascun applicativo di rete è assegnato un numero di porta Si tratteranno le seguenti applicazioni di rete 44 DNS Web Posta elettronica Trasferimento file Condivisione risorse Lezione II - 2013/2014 Web e HTTP Il web nasce all'inizio degli anni '90 Il web opera su richiesta (al contrario delle trasmissioni televisive): gli utenti ricevono quello che vogliono, quando lo vogliono L'applicazione web è costituita da: 45 Gli standard per i formati dell'ipertesto (e.g. HTML) Il protocollo di strato di applicazione (HTTP) I browser web (e.g. Explorer, Mozilla) I server web (e.g. Apache, IIS) Lezione II - 2013/2014 URL Il web è un ipertesto di dimensioni «planetarie» Per individuare una risorsa in Internet, esiste l'URL (Uniform Resource Locator) [RFC 2396] Una URL è composta dalle seguenti tre parti: 1. 2. 3. Un ipertesto è un insieme di testi (documenti ipertestuali) collegati fra di loro, in maniera non sequenziale, tramite particolari parole chiamate collegamenti ipertestuali (hyperlink) il protocollo utilizzato per indirizzare la risorsa il nome dell'host il nome della risorsa Ad esempio: http://www.med.unipg.it/index.html protocollo 46 host risorsa Lezione II - 2013/2014 Posta elettronica La posta elettronica (e-mail) è sicuramente il servizio di rete più conosciuto e più usato attualmente I protocolli usati nella posta elettronica sono SMTP (invio), POP3 (ricezione), IMAP (consultazione) Tramite posta elettronica vengono resi possibili gli scambi di corrispondenza fra utenti residenti anche in zone del mondo lontanissime La metodologia di inoltro e la terminologia usata è la stessa della posta tradizionale Il mittente spedisce un messaggio, eventualmente dotato di oggetto, ad un altro utente, detto destinatario, dotato di un proprio indirizzo 47 Lezione II - 2013/2014 Posta Elettronica Certifica (PEC) La Posta Elettronica Certificata (PEC) è un sistema di posta elettronica nel quale è fornita al mittente documentazione elettronica, con valenza legale, attestante l'invio e la consegna di documenti informatici Elementi di sicurezza Ricevuta di accettazione Contiene i dati di certificazione del gestore del mittente quale prova dell’avvenuta spedizione Ricevuta di avvenuta consegna Costituisce prova della consegna del messaggio all’indirizzo elettronico dichiarato dal destinatario Contiene i dati di certificazione che certificano il momento della consegna Viene emessa unicamente a seguito di valida ricezione della busta di trasporto Avviso di mancata consegna Comunicato al mittente entro 24 ore dall’invio Indipendentemente dalla lettura del messaggio 49 Lezione II - 2013/2014 PEC Nella posta elettronica il documento informatico trasmesso per via telematica si intende inviato e pervenuto al destinatario, se trasmesso all’indirizzo elettronico da questi dichiarato Posta elettronica certificata 50 Il documento informatico trasmesso per via telematica si intende spedito dal Mittente se inviato al proprio gestore, e si intende consegnato al destinatario quando è reso disponibile all’indirizzo elettronico da questi dichiarato e, più precisamente, nella casella di posta elettronica certificata messa a disposizione dal gestore Lezione II - 2013/2014 PEC: schema funzionale mittente destinatario Documento informatico Indice gestori PEC Internet • Provider Del destinatario Ricevuta di presa in carico Ricevuta di consegna 51 Lezione II - 2013/2014 Trasferimento dei file Il trasferimento di file (file transfer) consente la copia di file tra due elaboratori collegati in rete Il servizio è estremamente semplice e richiede unicamente un programma di trasferimento file Gli elaboratori che offrono i file, richiedono una username ed una password per poter effettuare il trasferimento, oppure possono rendere disponibili le loro risorse anche ad utenti non registrati (trasferimento anonimo) 52 Lezione II - 2013/2014 Condivisione delle risorse L'utente di ogni singolo nodo della rete ha il possesso virtuale di tutta una serie di risorse (hard disk, stampanti, etc) messe a disposizione dal complesso degli elaboratori componenti la rete Un dispositivo che può essere condiviso è il disco rigido La condivisione delle unità disco presenta un duplice vantaggio: viene limitata la duplicazione dei dati, e si ottimizza l'utilizzo della memoria secondaria L'elaboratore che mette a disposizione i propri dischi viene detto le server e, se consente di condividere anche i programmi, è detto application server 53 Lezione II - 2013/2014