1 Informatica Generale Marzia Buscemi Ricevimento: Giovedì ore 16.00-18.00, Dipartimento di Informatica, stanza 306-PS o per posta.

Slides:



Advertisements
Presentazioni simili
CONCLUSIONE - Nucleo (o Kernel) Interagisce direttamente con lhardware Interagisce direttamente con lhardware Si occupa dellesecuzione.
Advertisements

1 Introduzione ai calcolatori Parte II Software di base.
Il Software.
Introduzione Cosa è un Sistema Operativo? Una breve storia
Il Sistema Operativo Il Sistema Operativo fa parte del software di base; e` costituito da un insieme di programmi che interagiscono e cooperano per: gestire.
STRUTTURA DEL PERSONAL COMPUTER
Il Sistema Operativo.
Orario definitivo Martedì Aula 2 Polo Mercoledì Aula 1 Fondi Palazzina delle Scienze Giovedì 9-11 Aula 1 Fondi Palazzina delle Scienze Nota:
Elaboratore e Sistemi Operativo
Gestione del processore
Sistemi Operativi - C Susanna Pelagatti
INTRODUZIONE AI SISTEMI OPERATIVI
Il Software: Obiettivi Programmare direttamente la macchina hardware è molto difficile: lutente dovrebbe conoscere lorganizzazione fisica del computer.
Introduzione allinformatica. Cosè linformatica ? Scienza della rappresentazione e dellelaborazione dellinformazione ovvero Studio degli algoritmi che.
1 Corso di Informatica (Programmazione) Lezione 4 (24 ottobre 2008) Architettura del calcolatore: la macchina di Von Neumann.
Le prestazioni (velocità) di un singolo disco sono limitate dalla tecnologia usata, -per aumentare le prestazioni si può pensare di far operare in parallelo.
Struttura dei sistemi operativi (panoramica)
Software di base Il sistema operativo è un insieme di programmi che opera sul livello macchina e offre funzionalità di alto livello Es.organizzazione dei.
Linguaggi di programmazione
1 Gestione del processore Il modello a processi sequenziali.
Informatica Generale Susanna Pelagatti
2) Sistemi operativi Lab. Calc. AA2004/05 - cap.2.
Introduzione Cosa è un Sistema Operativo ?
Strutture dei sistemi di calcolo Funzionamento di un sistema di calcolo Struttura di I/O Struttura della memoria Gerarchia delle memorie Architetture di.
Il sistema operativo Vito Perrone
Informatica per medici
LEZIONI SUI SISTEMI OPERATIVI Ing. Ciro Riccio
INTRODUZIONE l sistema operativo è il primo software che lutente utilizza quando accende il computer; 1)Viene caricato nella memoria RAM con loperazione.
Modulo 1 - Hardware u.d. 3 (syllabus – 1.3.5)
STRUTTURA GENERALE DI UN ELABORATORE
L' ARCHITETTURA DI VON NEUMANN
Software e sistema operativo 19-22/5/08 Informatica applicata B Cristina Bosco.
Seconda Università degli Studi di Napoli Facoltà di Economia Corso di Informatica Prof.ssa Zahora Pina.
Il Sistema Operativo (1)
Il Software Programmare direttamente la macchina hardware è molto difficile: l’utente dovrebbe conoscere l’organizzazione fisica del computer e il suo.
Sistema Operativo (Software di base)
Prima di iniziare… Durata attività: due lezioni frontali + una lezione laboratorio + compiti per casa Prerequisiti: elementi base architettura dei calcolatori.
I processi.
1 Le applicazioni. 2 Quali sono tipici programmi applicativi ? Hardware Sistema Operativo Applicazioni È il livello di SW con cui interagisce l’utente.
Gestione del processore (Scheduler)
Tecnologie Informatiche ed Elettroniche per le Produzioni Animali (corso TIE) CORSO LAUREA MAGISTRALE IN SCIENZE E TECNOLOGIE DELLE PRODUZIONI ANIMALI.
Introduzione Cos’è un sistema operativo ?. Hardware Sistema Operativo Applicazioni È il livello di SW con cui interagisce l’utente e comprende programmi.
Informatica Lezione 8 Scienze e tecniche psicologiche dello sviluppo e dell'educazione Anno accademico:
1 Sommario degli argomenti  Sistemi operativi: DOS, Unix/Linux,Windows  Word processors: Word  Fogli elettronici: Excel  Reti: TCP/IP, Internet, ftp,
1 Input/Output. 2 Livelli del sottosistema di I/O Hardware Gestori delle interruzioni Driver dei dispositivi Software di sistema indipendente dal dispositivo.
1 Informatica Generale Susanna Pelagatti Ricevimento: Mercoledì ore presso Dipartimento di Informatica, Via Buonarroti,
Corso di Laurea in Scienze e Tecnologie Chimiche corso di Informatica Generale Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
1 Input/Output. 2 Livelli del sottosistema di I/O Hardware Gestori delle interruzioni Driver dei dispositivi Software di sistema indipendente dal dispositivo.
Informatica Generale Marzia Buscemi
1 Informatica Generale Alessandra Di Pierro Ricevimento: Giovedì ore presso Dipartimento di Informatica, Via Buonarroti,
Sistemi operativi di rete Ing. A. Stile – Ing. L. Marchesano – 1/18.
1 Informatica Generale Susanna Pelagatti Ricevimento: Mercoledì ore presso Dipartimento di Informatica, Via Buonarroti,
1 Processi e Thread Processi Thread Meccanismi di comunicazione fra processi (IPC) Problemi classici di IPC Scheduling Processi e thread in Unix Processi.
Elementi di Informatica SciGeo a.a. 2002/2003. Docente Giorgio Delzanno Ufficio 104 – I piano Dipartimento di Informatica e Sc. Inf. Tel
Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
Informatica Lezione 6 Psicologia dello sviluppo e dell'educazione (laurea magistrale) Anno accademico:
Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
Cos’è un sistema operativo ?
Informatica Generale Marzia Buscemi
Concetti di base Computer, HW e SW
Hardware Struttura fisica (architettura) del calcolatore formata da parti meccaniche, elettriche, elettroniche.
ISIA Duca degli Abruzzi a.s. 2010/2011 prof. Antonella Schiavon
INTRODUZIONE AI SISTEMI OPERATIVI. Introduzione Il software può essere diviso un due grandi classi: Il software può essere diviso un due grandi classi:
Le basi di dati.
Gli interrupt Richiesta di attenzione alla cpu. Viene generato un segnale detto di interrupt diretto alla cpu.
Il modello di Von Neumann
Gestione delle periferiche. Le periferiche sono dispositivi che permettono le operazioni di input/output.
1 Informatica di Base Facoltà di Lingue e Letterature Straniere Corso di laurea in Relazioni Pubbliche.
Struttura del Computer
Il Sistema Operativo Processi e Risorse
Transcript della presentazione:

1 Informatica Generale Marzia Buscemi Ricevimento: Giovedì ore , Dipartimento di Informatica, stanza 306-PS o per posta elettronica Pagina web del corso: (sommario delle lezioni in fondo alla pagina)

2 I sistemi operativi

3 Cos’è un sistema operativo ? Hardware Sistema Operativo Applicazioni È il livello di SW con cui interagisce l’utente e comprende programmi quali : Compilatori Editori di testi, Sistemi bancari, Navigatori per Web... Software È il livello di SW che interagisce direttamente con l’HW e che si occupa di un uso corretto ed efficiente delle risorse fisiche (processore, memorie, periferiche etc.) Windows Unix/Linux Mac OS gcc, Word, PowerPoint Excel, Explorer Fotoshop, Gimp L’architettura del calcolatore e i meccanismi di funzionamento sono mascherati dal SO e all’utente appare una “macchina virtuale”

4 Quali sono le funzioni di un SO ? Esegue applicazioni : carica il programma binario prodotto della compilazione (e residente su disco) nella RAM cede il processore all’applicazione da eseguire Facilita l’accesso ai dispositivi di I/O interagisce con le periferiche facendosi carico di tutti i dettagli fisici (es. modem, reti, video…) mette a disposizione operazioni di lettura/scrittura ad alto livello che possono essere usate senza conoscere i dettagli tecnici della periferica

5 Gestisce le risorse ripartisce le risorse disponibili fra le varie applicazioni (processore, RAM, periferiche) evita che ci siano malfunzionamenti dovuti all’uso contemporaneo di risorse es: un word processor e un web browser che inviano contemporaneamente dati alla stampante provocano una stampa erronea (il SO invece accoda le richieste e manda gli ordini di stampa in successione) ottimizza le prestazioni scegliendo delle politiche che permettano di sfruttare al meglio tutte le parti del computer Quali sono le funzioni di un SO ? 2

6 Archivia dati e programmi : mette a disposizione dell’utente una visione astratta della memoria secondaria (il file system basato sulle astrazioni : file/archivi e folder/cartelle) gestisce la realizzazione di queste astrazioni sul supporto fisico (disco) gestendo tutti i dettagli legati alla lettura/scrittura dei settori Quali sono le funzioni di un SO ? 3

7 Quali sono le funzioni di un SO ? 4 Gestisce malfunzionamenti del sistema rileva e gestisce situazioni anomale es: se il disco ha un settore difettoso, il SO può trasportare automaticamente le informazioni residenti su quel settore da un’altra parte es: se un’applicazione cerca di effettuare una operazione non permessa (come leggere i dati di un’altra applicazione) può bloccare l’applicazione segnalando all’utente la situazione erronea

8 Bootstrap e shutdown Quando si applica la corrente elettrica al calcolatore viene attivata una fase di bootstrap che comprende l’attivazione di: 1. programmi di diagnostica scritti in memoria ROM (non volatile), es. presenza moduli hardware e assenza guasti 2. un programma che contiene le istruzioni necessarie a caricare dalla memoria di massa (floppy, CD, HD) una prima parte del sistema operativo Quando si spegne il calcolatore è necessaria un procedura di shutdown per salvare le informazioni in transito

9 Astrazione delle risorse L’esecuzione contemporanea di più programmi da parte della CPU richiede che questi allo stesso tempo risiedano in memoria possano prendere il controllo delle stesse periferiche Per evitare conflitti è necessario virtualizzare le risorse: le richieste confluiscono sui programmi di sistema che le accodano (es. coda di stampa)

10 Stato utente e stato supervisore Stato utente : modalità di funzionamento del computer che permette l’accesso solo a un numero limitato di risorse es. un sottoinsieme delle istruzioni assembler (non si può accedere alle istruzioni che istruiscono le interfacce di I/O), una sola parte della RAM etc. Stato supervisore : modalità che permette l’accesso a tutte le risorse es. i processi mandati in esecuzione dal SO

11 Stato utente e in stato supervisore 2 I programmi che si eseguono in stato utente richiedono servizi al SO tramite invocazione di sottoprogrammi speciali, dette system call o chiamate di sistema Il SO decide come e quando effettuare il servizio Es. un processo richiede l’accesso a una risorsa come una stampante, etc.) Il SO può interrompere un programma in esecuzione in stato utente per eseguire altri programmi o per effettuare operazioni di ‘gestione’ della macchina (vedi dopo ‘Interruzione di programmi’) Es. una risorsa precedentemente occupata notifica al SO di essersi resa disponibile

12 Quali sono le parti di un SO ? Gestore dei processi Gestore dei processori File system Gestore della memoria Interfaccia grafica (desktop) Gestore dell’I/O nucleo del SO (kernel) lato utente servizi richiesti dagli utenti HW SISTEMAOPERATIVOSISTEMAOPERATIVO

13 Gestore dei processi

14 Esecuzione di un programma Algoritmo Codifica in un linguaggio di programmazione (C, Java etc) Programma Compilatore Input : programma Output : rappresentazione comprensibile alla macchina Eseguibile Passo 1 : scrivere e compilare il programma

15 Esecuzione di un programma 2 Come è organizzata la rappresentazione binaria eseguibile del programma (spazio di indirizzamento): testo dati Stack/pila Struttura che permette di realizzare correttamente il meccanismo di chiamata a sottoprogrammi Codifica binaria delle istruzioni assembler in cui il programma è stato tradotto Codifica binaria dei dati È un array di parole !

16 Esecuzione di un programma 3 Passo 2 : ricopiare lo spazio di indirizzamento di un programma da memoria secondaria a RAM Sistema Operativo Spazio programma 1 Area riservata, non accessibile in modalità utente Una possibile organizzazione della RAM con più programmi attivi contemporaneamente 0 Ampiezza RAM - 1 Spazio programma 2 Spazio programma 3

17 Esecuzione di un programma 4 Passo 3 : modificare il PC del processore in modo che contenga correttamente l’indirizzo della prima istruzione assembler da eseguire nel nostro programma Sistema Operativo Spazio programma 1 0 AmpiezzaRAM - 1 Spazio programma 2 Spazio programma Prima istruzione da eseguire nel programma 2 È l’indirizzo da scrivere nel PC

18 Esecuzione di un programma 5 Quando un programma utente è stato attivato il processore esegue una dopo l’altra le istruzioni assembler che lo compongono Un programma in esecuzione viene detto ‘processo’ ( parte statica [il programma] + parte dinamica [informazioni sullo stato di esecuzione del programma] ) Il gestore dei processi controlla la terminazione, interruzione e riattivazione, sincronizzazione dei processi

19 Terminazione di un processo Un processo termina : Quando esegue una istruzione assembler di terminazione Quando effettua una operazione illecita (es. cerca di accedere a memoria privata di altri processi) Quando c’è un errore che non gli permette di proseguire (es. overflow, etc) In tutti questi casi il processore ricomincia automaticamente ad eseguire il sistema operativo ad un indirizzo prefissato

20 Interruzione di un processo Il sistema operativo può bloccare un processo in un qualsiasi istante della sua esecuzione per effettuare qualche operazione di gestione della macchina Questo avviene attraverso il meccanismo hardware degli interrupt

21 Interruzione di un processo 2 Come funzionano gli interrupt: ogni periferica può ‘richiedere attenzione’ inviando un segnale di interrupt usando le linee di controllo del bus alla fine dell’esecuzione di ogni istruzione assembler il processore controlla la presenza di una interruzione se è presente il controllo passa automaticamente al sistema operativo

22 Sistemi monotasking I SO che gestiscono l’esecuzione di un solo processo per volta si chiamano monotasking. Non è possibile sospendere l’esecuzione di un processo per assegnare la CPU a un altro Sono storicamente i primi SO (MS-DOS)

23 Sistemi monotasking: diagramma temporale CBACBA in esecuzione (E) in attesa di I/O (A) pronto (P)

24 Sistemi multitasking I SO che permettono l’esecuzione contemporanea di più processi si chiamano multitasking (Windows-XP, Linux) Un processo può essere interrotto e la CPU passata a un altro processo

25 Sistemi multitasking: diagramma temporale CBACBA in esecuzione (E) in attesa di I/O (A) pronto (P) T_multi- tasking T_mono- tasking

26 Time-sharing È il meccanismo che permette di far condividere il processore a tutti i programmi attivi in modo corretto Ogni programma ha l’impressione di avere un suo processore ‘dedicato’ Per evitare che un processo resti troppo a lungo in attesa, le risorse sono ripartite tra i processi i processi vengono accodati e ciascuno ha a disposizione la CPU per un quanto di tempo (time-slice) quando il quanto finisce il processo viene messo in fondo alla coda Due tempi di esecuzione: elapsed time e CPU time

27 Time-sharing 2 Es: 3 programmi attivi Prog1, Prog2, Prog3 vengono mandati in esecuzione ciclicamente Quanto ms Eseguo Prog1 Eseguo Prog2 Eseguo Prog3 Periferica ‘orologio interno’ Eseguo Prog1 Interruzione : il SO riprende il controllo e decide chi eseguire nel quanto successivo

28 Sistemi real-time Nelle applicazioni real-time il tempo di completamento dell’esecuzione è un parametro critico (es. controllo rotta di un aereo, applicazioni multimediali) I sistemi real-time garantiscono che i requisiti temporanei vengano soddisfatti. Es.: Ad ogni istante si esegue il processo più critico I processi non vengono interrotti finché non arriva uno con priorità più alta La priorità è fissa (diversamente da time- sharing)

29 Tabella dei processi Ciascun processo ha un ciclo di vita: in esecuzione, pronto, bloccato. Per poter passare da uno stato all’altro le informazioni più importanti del processo devono essere salvate La tabella del processo risiede in memoria centrale e contiene: ID processo PC Registri Stato Informazioni gestione memoria Informazioni scheduling (priorità) Informazioni I/0 (dispositivi allocati, etc.)

30 Tabella dei processi 2 Permette le seguenti operazioni: creazione processo cambio priorità liberazione risorse (se il processo è bloccato) terminazione di un processo Context-switching: salvataggio dei registri e dello stato del processo che si è terminato di eseguire e di quello che si eseguirà

31 Comunicazione/sincronizzazione di processi Riguarda la condivisione di risorse fisiche, logiche, funzioni eseguite da più moduli (processi cooperativi/competitivi) Race condition: due processi competono per l’accesso a un dato o risorsa La comunicazione viene gestita con scambi di messaggi o memoria condivisa. Memoria condivisa: realizzata tramite semafori, monitor, rendezvous