Informatica (A-K) 25. Il sistema operativo



Похожие документы
ISTVAS Ancona Introduzione ai sistemi operativi Tecnologie Informatiche

Il Sistema Operativo (1)

Funzioni del Sistema Operativo

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi

Informatica e Bioinformatica: Sistemi Operativi

Il SOFTWARE DI BASE (o SOFTWARE DI SISTEMA)

Il Sistema Operativo. Introduzione di programmi di utilità. Elementi di Informatica Docente: Giorgio Fumera

Corso di Informatica

Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo

Il Sistema Operativo

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1)

IL SOFTWARE TIPI DI SOFTWARE. MACCHINE VIRTUALI Vengono definite così perché sono SIMULATE DAL SOFTWARE, UNIFORMANO L ACCESSO SISTEMA OPERATIVO

Il Software. Il software del PC. Il BIOS

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche

SISTEMI OPERATIVI. Prof. Enrico Terrone A. S: 2008/09

In un modello a strati il SO si pone come un guscio (shell) tra la macchina reale (HW) e le applicazioni 1 :

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino

Sistema Operativo e Applicativi

Laboratorio di Informatica

Le Infrastrutture Software ed il Sistema Operativo

IL SISTEMA OPERATIVO IL SISTEMA OPERATIVO INTERFACCE TESTUALI INTERFACCE TESTUALI FUNZIONI DEL SISTEMA OPERATIVO INTERFACCE GRAFICHE

Indice degli argomenti del s.o. Software. Software. Buona lezione a tutti!! SISTEMI OPERATIVI

Corso di Alfabetizzazione Informatica

Sistemi Operativi STRUTTURA DEI SISTEMI OPERATIVI 3.1. Sistemi Operativi. D. Talia - UNICAL

Software di base. Corso di Fondamenti di Informatica

Software relazione. Software di base Software applicativo. Hardware. Bios. Sistema operativo. Programmi applicativi

Sistemi operativi. Esempi di sistemi operativi

Introduzione al sistema operativo Il file system: file, directory,...

MODULO 02. Iniziamo a usare il computer

L informatica INTRODUZIONE. L informatica. Tassonomia: criteri. È la disciplina scientifica che studia

Introduzione ai Sistemi Operativi

Il sistema operativo. Sistema operativo. Multiprogrammazione. Il sistema operativo. Gestione della CPU

Nozioni di Informatica di base. dott. Andrea Mazzini

Approccio stratificato

Il sistema operativo

Il computer: primi elementi

Corso di Sistemi di Elaborazione delle informazioni

INTERAZIONE CON L UTENTEL

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.

Dispensa di Informatica I.1

INFORMATICA. Il Sistema Operativo. di Roberta Molinari

PROGRAMMI UTENTE INTERPRETE COMANDI FILE SYSTEM GESTIONE DELLE PERIFERICHE GESTIONE DELLA MEMORIA GESTIONE DEI PROCESSI (NUCLEO) HARDWARE

Parte V. Sistemi Operativi & Reti. Sistemi Operativi. Sistemi Operativi

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci

01/05/2014. Dalla precedente lezione. Ruolo dei sistemi operativi. Esecuzione dei programmi

LINUX. Che cos'e` un sistema operativo?

Il Sistema Operativo. Funzionalità. Sistema operativo. Sistema Operativo (Software di base)

Sistemi operativi e reti A.A Lezione 2

Il Sistema Operativo: il File System

Il Software e Il Sistema Operativo. Prof. Francesco Accarino IIS Altiero Spinelli A.S. 09/10

Sistemi Operativi. Modulo 2. C. Marrocco. Università degli Studi di Cassino

Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base

IL SOFTWARE. Giada Agostinacchio Classe 2^ Beat ISIS G.Meroni Lissone Anno Scolastico 2007/2008

Architettura di un sistema operativo

Infrastrutture Software

Classificazione del software

Sistemi Operativi: avvio

Hardware delle reti LAN

Software. Algoritmo. Algoritmo INFORMATICA PER LE DISCIPLINE UMANISTICHE 2 (13042)

Gestione della memoria centrale

RETI E SISTEMI INFORMATIVI

Il sistema di I/O. Hardware di I/O Interfacce di I/O Software di I/O. Introduzione

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. D. Talia - UNICAL. Sistemi Operativi 9.1

Esercitazione su Windows. Introduzione al calcolatore Introduzione a Windows

Corso di Informatica

Un sistema operativo è un insieme di programmi che consentono ad un utente di

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux

Corso di Informatica

SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI

Il software: Istruzioni per il computer. I tre tipi di software di sistema. Compiti del sistema operativo

STRUTTURE DEI SISTEMI DI CALCOLO

Fondamenti di Informatica: Sistemi Operativi 1. Introduzione

CAPITOLO 5 - Sistemi Operativi Moderni

Il software. la parte contro cui si può solo imprecare. Il software

Dispensa di Fondamenti di Informatica. Architettura di un calcolatore

CAPITOLO 1 I SISTEMI OPERATIVI

Corso di Informatica

Sistemi Operativi di Rete. Sistemi Operativi di rete. Sistemi Operativi di rete

Come funziona un sistema di elaborazione

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. Implementazione del File System. Struttura del File System. Implementazione

Architettura hardware

Il software di base comprende l insieme dei programmi predisposti per un uso efficace ed efficiente del computer.

Lezione 5: Software. Firmware Sistema Operativo. Introduzione all'informatica - corso E

Sistemi Operativi ELEMENTI DI INFORMATICA CORSO DI. (Slide realizzate da Riccardo Lancellotti e Sara Casolari e integrate da Alberto Setti) 1 di 95

Транскрипт:

Il sistema operativo Informatica (A-K) 25. Il sistema operativo Corso di Laurea in Ingegneria Civile & Ambientale A.A. 2011-2012 2 Semestre Prof. Giovanni Pascoschi a cura di Pascoschi Giovanni 2 Cos è un sistema operativo #1 Cos è un sistema operativo #2 Il software può essere diviso in due grandi classi: i programmi di sistema, che gestiscono le funzionalità del sistema di elaborazione i programmi applicativi, che risolvono i problemi degli utenti L insieme dei programmi di sistema viene comunemente identificato con il nome di Sistema Operativo (SO) Definizione: Un sistema operativo è un programma che controlla l esecuzione l dei programmi applicativi ed agisce come interfaccia fra le applicazioni e l hardware l del calcolatore Tutte le piattaforme di elaborazione richiedono un sistema operativo Quando si accende un elaboratore, occorre attendere alcuni istanti per poter iniziare a lavorare: durante questa pausa il computer carica il SO Sistema Operativo a cura di Pascoschi Giovanni 3 a cura di Pascoschi Giovanni 4

Scopo del sistema operativo Percezione del sistema operativo Gestione EFFICIENTE delle risorse del sistema di elaborazione Rendere AGEVOLE l interfaccia tra l uomo e la macchina Dal punto di vista dell utente, la percezione del calcolatore dipende dall interfaccia del SO : SO progettato pensando alla facilità d uso Qualche attenzione alle prestazioni Scarsa attenzione all utilizzo delle risorse Dal punto di vista del sistema di elaborazione : Il SO viene percepito come un gestore di risorse (CPU, RAM, I/O) e come un programma di controllo Arbitra l esecuzione dei programmi utente a cura di Pascoschi Giovanni 5 a cura di Pascoschi Giovanni 6 Analogia : il SO come gestore di risorse #1 Analogia : il SO come gestore di risorse #2 Si consideri un ristorante con un capo cuoco (che dirige la cucina) ed i suoi aiutanti, camerieri e clienti: I clienti scelgono un piatto dal menù Un cameriere prende l ordine e lo consegna al capo cuoco Il capo cuoco riceve l ordine e assegna uno o più aiutanti alla preparazione del piatto Ogni aiutante si dedicherà alla preparazione di un piatto, il che potrà richiedere più attività diverse Il capo cuoco supervisiona la preparazione dei piatti e gestisce le risorse (limitate) disponibili Il capo cuoco cuoco è il sistema operativo! I clienti sono gli utenti Le ricette associate ai piatti sono i programmi Il menù ed il cameriere costituiscono l interfaccia verso il sistema operativo (grafica e non) Gli aiutanti sono i processi La cucina è il computer; pentole, fornelli, etc. sono le componenti hardware a cura di Pascoschi Giovanni 7 a cura di Pascoschi Giovanni 8

Analogia : il SO come gestore di risorse #3 Il SO come macchina estesa #1 Problemi del capo cuoco: Esecuzione fedele delle ricette Allocazione efficiente delle risorse esistenti (aiutanti, fornelli, etc.) Coordinamento efficiente degli aiutanti Licenziamento degli aiutanti che non si comportano secondo le regole Problemi del sistema operativo: Esecuzione dei programmi utente Efficienza nell uso delle risorse (processori, memoria, dischi, etc.) Coordinamento dei processi Protezione nell uso delle risorse e abort dei processi che se appropriano indebitamente Visione a strati delle componenti hardware/software che compongo un sistema di elaborazione figure professionali a cura di Pascoschi Giovanni 9 a cura di Pascoschi Giovanni 10 Il SO come macchina estesa #2 Il SO come macchina estesa #3 Il SO può essere inteso come uno strumento che virtualizza le caratteristiche dell hardware sottostante, offrendo all utente la visione di una macchina astratta più potente e più semplice da utilizzare di quella fisicamente disponibile In questa visione, un SO nasconde a programmatori/utenti i dettagli dell hardware e fornisce un interfaccia conveniente e facile da usare agisce come intermediario tra programmatore/utente e hardware Parole chiave di un SO : Indipendenza dall hardware Comodità d uso Programmabilità L utente è in grado di utilizzare la macchina fisica senza conoscere i dettagli della sua struttura interna e del suo funzionamento 1. Hardware fornisce le risorse fondamentali di calcolo (CPU, memoria, dispositivi di I/O) 2. Sistema Operativo controlla e coordina l utilizzo delle risorse hardware da parte dei programmi applicativi dell utente 3. Programmi Applicativi definiscono le modalità di utilizzo delle risorse del sistema, per risolvere i problemi di calcolo degli utenti (editor testo, database, videogiochi, programmi gestionali) 4. Utenti persone, altri macchinari, altri elaboratori Applications Systems software Hardware software Visione a a cipolla del sistema di calcolo a cura di Pascoschi Giovanni 11 a cura di Pascoschi Giovanni 12

Architettura del sistema operativo Ancora sul sistema operativo I SO sono costituiti da un insieme di moduli, ciascuno dedicato a svolgere una determinata funzione I vari moduli del SO interagiscono tra loro secondo regole precise, al fine di realizzare le funzionalità di base della macchina Gestore dell I/O Gestore dei Processi Interfaccia utente L insieme dei moduli per la gestione della Gestore del File System Gestore della Memoria Centrale KERNEL CPU e della memoria centrale è il kernel Riassumendo: Il sistema operativo fornisce un ambiente per eseguire programmi in modo conveniente ed efficiente; funge infatti da Allocatore di risorse controlla, distribuisce ed alloca le risorse (in modo equo ed efficiente) Programma di controllo controlla l esecuzione dei programmi utente e le operazioni sui dispositivi di I/O Esempio: il filesystem esempio Esplora Risorse Si ha a che fare con file, directory, etc., e non ci si deve preoccupare di come i dati sono memorizzati sul disco a cura di Pascoschi Giovanni 13 a cura di Pascoschi Giovanni 14 Compiti del sistema operativo Compiti del sistema operativo Gestione dei processi Gestione della memoria principale Gestione della memoria di massa (file system) Gestione dei dispositivi di I/O Realizzazione/Gestione dell interfaccia utente Protezione e sicurezza Gestione dei processi Gestione della memoria principale Gestione della memoria di massa (file system) Gestione dei dispositivi di I/O Realizzazione/Gestione dell interfaccia utente Protezione e sicurezza a cura di Pascoschi Giovanni 15 a cura di Pascoschi Giovanni 16

La gestione dei processi #1 La gestione dei processi #2 Unprocesso è un programma in esecuzione Un processo utilizza le risorse (memoria, dispositivi I/O, tempi, ecc) fornite dal sistema di elaborazione per assolvere ai propri compiti La terminazione di un processo prevede il recupero di tutte le risorse riutilizzabili ad esso precedentemente allocate Normalmente, in un sistema vi sono molti processi, anche di diversi utenti, che vengono eseguiti in concorrenza su una o più CPU Task Manager La concorrenza è ottenuta effettuando il multiplexing delle CPU fra i vari processi Il sistema operativo è responsabile delle seguenti attività riguardanti la gestione dei processi: creazione e terminazione dei processi sospensione e riattivazione dei processi gestione dei deadlock in alcuni casi non perfetta (Task Manager) comunicazione tra processi sincronizzazione tra processi Il gestore dei processi realizza una macchina virtuale in cui ciascun programma opera come se avesse a disposizione un unit unità di elaborazione dedicata a cura di Pascoschi Giovanni 17 a cura di Pascoschi Giovanni 18 Sistemi mono-tasking Sistemi multi-tasking I SO che gestiscono l esecuzione di un solo programma per volta (un solo processo) sono detti mono tasking Non è possibile sospendere un processo per assegnare la CPU ad un altro Sono storicamente i primi SO (es. MS DOS) I SO che permettono l esecuzione contemporanea di più programmi sono detti multi tasking tasking o multi programmati Un programma può essere interrotto e la CPU passata a un altro programma C B A T Tempo di utilizzo della CPU Tempo di attesa di eventi esterni t Tmulti-tasking Tmono-tasking a cura di Pascoschi Giovanni 19 a cura di Pascoschi Giovanni 20 C B A t Tempo di utilizzo della CPU Tempo di attesa di eventi esterni

Sistemi time-sharing Time-sharing : diagramma temporale Un evoluzione dei sistemi multi tasking sono i sistemi time sharing Ogni processo viene eseguito ciclicamente per piccoli quanti di tempo Se la velocità del processore è sufficientemente elevata si ha l impressione di un evoluzione parallela dei processi Esempio 0.00 Ipotesi: 1 MIPS, 4 processi, D A 0.25 s/utente Conseguenze: 0.25 MIPS/utente, 0.75 0.25 T ELA = 4 T CPU C B 0.50 D C B A Processo t CPU burst A 3 B 2 C 4 D 3 a cura di Pascoschi Giovanni 21 a cura di Pascoschi Giovanni 22 Compiti del sistema operativo La gestione della memoria principale #1 Gestione dei processi Gestione della memoria principale Gestione della memoria di massa (file system) Gestione dei dispositivi di I/O Realizzazione/Gestione dell interfaccia utente Protezione e sicurezza La memoria principale è un array di byte indirizzabili singolarmente è un deposito di dati facilmente accessibile e condiviso tra la CPU ed i dispositivi di I/O Il SO è responsabile delle seguenti attività riguardanti la gestione della memoria principale: Tenere traccia di quali parti della memoria sono usate e da chi Decidere quali processi caricare quando diventa disponibile spazio in memoria Allocare e deallocare lo spazio di memoria quando necessario Il gestore di memoria realizza una macchina virtuale in cui ciascun programma opera come se avesse a disposizione una memoria dedicata a cura di Pascoschi Giovanni 23 a cura di Pascoschi Giovanni 24

La gestione della memoria principale #2 Allocazione lineare L organizzazione e la gestione della memoria centrale è uno degli aspetti più critici nel disegno di un SO Il gestore della memoria è quel modulo del SO incaricato di assegnare la memoria ai task (per eseguire un task è necessario che il suo codice sia caricato in memoria) La complessità del gestore della memoria dipende dal tipo di SO Nei SO multi tasking, più programmi possono essere caricati contemporaneamente in memoria Problema: come allocare lo spazio in maniera ottimale? Programma A Programma D PROBLEMA!!!! Programma B Programma C 0000x FRAMMENTAZIONE a cura di Pascoschi Giovanni 25 a cura di Pascoschi Giovanni 26 Memoria Paginazione della memoria Programma A Programma A Programma A Programma BE Programma B F Programma D Programma F 0000x La memoria virtuale #1 La memoria virtuale 1 Spesso la memoria non è sufficiente per contenere completamente tutto il codice dei processi Si può simulare una memoria più grande tenendo nella memoria di sistema (RAM) solo le parti di codice e dati che servono in quel momento Si usa il concetto di memoria virtuale I dati e le parti di codice relativi a programmi non in esecuzione possono essere tolti dalla memoria centrale e parcheggiati su disco nella cosiddetta area di swap Memoria a cura di Pascoschi Giovanni 27 a cura di Pascoschi Giovanni 28

La memoria virtuale #2 La memoria virtuale #3 Memoria Programma A-1A 0000x Memoria Programma A-2A 0000x Programma B-1B Programma D Swap Programma B-1B Programma D Swap Programma A-2A Programma A-1A Programma A-3A Programma A-3A Programma B-2B Programma B-2B a cura di Pascoschi Giovanni 29 a cura di Pascoschi Giovanni 30 Compiti del sistema operativo La gestione della memoria secondaria #1 Gestione dei processi Gestione della memoria principale Gestione della memoria di massa (file system) Gestione dei dispositivi di I/O Realizzazione/Gestione dell interfaccia utente Protezione e sicurezza Poiché la memoria principale è volatile e troppo piccola per contenere tutti i dati e tutti i programmi in modo permanente, il computer è dotato di memoria secondaria In generale, la memoria secondaria è data da hard disk e dischi ottici Il SO garantisce una visione logica uniforme del processo di memorizzazione: Astrae dalle caratteristiche fisiche dei dispositivi per definire un unità di memorizzazione logica il file Ciascuna periferica viene controllata dal relativo device driver (driver del dispositivo), che nasconde all utente le caratteristiche fisiche variabili dell hardware: modalità e velocità di accesso, capacità, velocità di trasferimento a cura di Pascoschi Giovanni 31 a cura di Pascoschi Giovanni 32

La gestione della memoria secondaria #2 La gestione del file system #1 Il SO è responsabile delle seguenti attività riguardanti la gestione della memoria secondaria: Allocazione dello spazio Gestione dello spazio libero Ordinamento efficiente delle richieste di accesso al disco (disk scheduling) Il file è l astrazione informatica di un archivio di dati Il concetto di file è indipendente dal mezzo sul quale viene memorizzato (che ha caratteristiche proprie e propria organizzazione fisica) Un file system è composto da un insieme di file Il SO è responsabile delle seguenti attività riguardanti la gestione del file system: Creazione e cancellazione di file Creazione e cancellazione di directory Manipolazione di file e directory Codifica del file system sulla memoria secondaria a cura di Pascoschi Giovanni 33 a cura di Pascoschi Giovanni 34 La gestione del file system #2 Organizzazione del file system Il gestore del file system è il modulo del SO incaricato di gestire le informazioni memorizzate sui dispositivi di memoria di massa Il gestore del file system deve garantire la correttezza e la coerenza delle informazioni Nei sistemi multi utente, fornisce meccanismi di protezione per consentire agli utenti di proteggere i propri dati dall accesso di altri utenti non autorizzati Le funzioni tipiche del gestore del file system sono: Fornire un meccanismo per l identificazione dei file (p.e. nome) Fornire metodi opportuni di accesso ai dati Rendere trasparente la struttura fisica del supporto di memorizzazione Implementare meccanismi di protezione dei dati Quasi tutti i SO utilizzano un organizzazione gerarchica del file system L elemento utilizzato per raggruppare più file insieme è la directory L insieme gerarchico delle directory e dei file può essere rappresentato attraverso un grafo (un albero nei SO più datati) delle directory a partire dalla root (directory radice) Directory File Grafo delle directory a cura di Pascoschi Giovanni 35 a cura di Pascoschi Giovanni 36

Compiti del sistema operativo Gestione dei processi Gestione della memoria principale Gestione della memoria di massa (file system) Gestione dei dispositivi di I/O Realizzazione/Gestione dell interfaccia utente Protezione e sicurezza La gestione dei dispositivi di I/O La gestione dell I/O richiede: Un interfaccia comune per la gestione dei device driver Un insieme di driver per dispositivi hardware specifici Un sistema di gestione di buffer informazioni per il caching delle Il gestore dei dispositivi di I/O è il modulo del SO incaricato di assegnare i dispositivi ai task che ne fanno richiesta e di controllare i dispositivi stessi Da esso dipende la qualità e il tipo di periferiche riconosciute dal sistema Il gestore delle periferiche offre all utente una versione astratta delle periferiche hardware; l utente l ha a disposizione un insieme di procedure standard di alto livello per leggere/scrivere da/su una periferica che percepisce come dedicata a cura di Pascoschi Giovanni 37 a cura di Pascoschi Giovanni 38 Device driver Compiti del sistema operativo Il controllo dei dispositivi di I/O avviene attraverso speciali moduli software, detti device driver I device driver sono spesso realizzati dai produttori dei dispositivi stessi, che ne conoscono le caratteristiche fisiche in maniera approfondita (p.e. stampante) I device driver implementano le seguenti funzioni: Rendono trasparenti le caratteristiche fisiche tipiche di ogni dispositivo Gestiscono la comunicazione dei segnali verso i dispositivi Gestiscono i conflitti, nel caso in cui due o più task vogliano accedere contemporaneamente allo stesso dispositivo Gestione dei processi Gestione della memoria principale Gestione della memoria di massa (file system) Gestione dei dispositivi di I/O Realizzazione/Gestione dell interfaccia utente Protezione e sicurezza a cura di Pascoschi Giovanni 39 a cura di Pascoschi Giovanni 40

L interfaccia utente #1 L interfaccia utente #2 Interfaccia testuale: Tutti i SO implementano meccanismi per facilitare l utilizzo del sistema di calcolo da parte degli utenti L insieme di tali meccanismi di accesso al computer prende il nome di interfaccia utente Serve per attivare un programma, terminare un programma, etc. interagire con le componenti del sistema operativo (gestore dei processi, file system, etc.) Interprete dei comandi (shell) Esempio: MS DOS/UNIX Interfaccia grafica (a finestre): L output dei vari programmi viene visualizzato in maniera grafica all interno di finestre L utilizzo di grafica rende più intuitivo l uso del calcolatore Esempio: WINDOWS/Linux Differenze: Cambia il linguaggio utilizzato, ma il concetto è lo stesso Vi sono però differenze a livello di espressività/estetica a cura di Pascoschi Giovanni 41 a cura di Pascoschi Giovanni 42 L interfaccia utente #3 L interfaccia utente #4 Interfaccia a caratteri DOS Interfaccia grafica Apple a cura di Pascoschi Giovanni 43 a cura di Pascoschi Giovanni 44

L interfaccia utente #5 L interfaccia utente #6 Interfaccia grafica Windows 1.0 Interfaccia grafica Windows 3.0 a cura di Pascoschi Giovanni 45 a cura di Pascoschi Giovanni 46 L interfaccia utente #7 L interfaccia utente #8 Interfaccia grafica Windows 95 Interfaccia grafica SUN tridimensionale a cura di Pascoschi Giovanni 47 a cura di Pascoschi Giovanni 48

L interfaccia utente #9 L interfaccia utente #10 Interfaccia grafica Windows VISTA Interfaccia grafica Windows 7 a cura di Pascoschi Giovanni 49 a cura di Pascoschi Giovanni 50 Interfaccia grafica Compiti del sistema operativo Realizza la metafora della scrivania desktop Interazione semplice via mouse Le icone rappresentano file, directory, programmi, azioni, etc. I diversi tasti del mouse, posizionato su oggetti differenti, provocano diversi tipi di azione: forniscono informazioni sull oggetto in questione, eseguono funzioni tipiche dell oggetto, aprono directory folder, o cartelle, nel gergo GUI (Graphical User Interface) Gestione dei processi Gestione della memoria principale Gestione della memoria di massa (file system) Realizzazione/Gestione dell interfaccia utente Protezione e sicurezza a cura di Pascoschi Giovanni 51 a cura di Pascoschi Giovanni 52

Protezione e sicurezza #1 Protezione e sicurezza #2 Protezione è il meccanismo usato per controllare l accesso da parte di processi e/o utenti a risorse del sistema di calcolo Sicurezza è il meccanismo di difesa implementato dal sistema per proteggersi da attacchi interni ed esterni Denial of service, worm, virus, hacker In prima istanza, il sistema distingue gli utenti, per determinare chi può fare cosa L identità utente (user ID) include nome dell utente e numero associato uno per ciascun utente login/password L user ID garantisce l associazione corretta di file e processi all utente e ne regola la manipolazione L identificativo di gruppo permette inoltre ad un insieme di utenti di accedere correttamente ad un gruppo di risorse comuni (file e processi) In Linux $ ls l a cura di Pascoschi Giovanni 53 a cura di Pascoschi Giovanni 54 Sistemi operativi commerciali Windows In commercio sono presenti una grande quantità di sistemi operativi diversi In passato, la tendenza delle case costruttrici di sistemi di elaborazione era di sviluppare sistemi operativi proprietari per le loro architetture La tendenza attuale è quella dello sviluppo di sistemi operativi portabili su piattaforme hardware diverse (p.e. LINUX) CPU Intel (da 80386 in poi), ma anche per DEC AXP, MIPS R4000, etc. Multitask Monoutente/Multiutente NTFS (NT File System) Microkernel, thread Sistema a 32/64 bit a cura di Pascoschi Giovanni 55 a cura di Pascoschi Giovanni 56

Linux Conclusioni : i SO oggi Nato nel 91, grazie a Linus Torvalds, studente finlandese dell Università di Helsinki Sei fortunato che non sei un mio studente. Non prenderesti un buon voto per un tale progetto. (Andrew S. Tanenbaum, Università di Amsterdam, creatore del sistema operativo MINIX e professore di SO, dal quale Torvalds prese spunto per Linux) Sviluppato su piattaforma Intel 80386, fu distribuito da subito su Internet (free e open source source) Multitask Multiutente L'architettura del sistema è Unix like: un kernel molto piccolo che contiene solo funzioni fondamentali per la gestione delle risorse del computer (CPU, memoria, dischi, rete, I/O) ed una larga collezione di programmi di sistema che l utente usa per richiedere servizi al SO Sistemi complessi che presentano miriadi di problemi e milioni di linee di codice (100 1000 programmatori per anno) Interazioni complesse Universali (eseguiti su piattaforme diverse) Differenti classi di utenti hanno necessità diverse La performance è cruciale! Poco compresi: Il SO tipicamente dura più di chi lo ha programmato ed è troppo grande per essere compreso da una singola persona Mai completamente privi di errori (OS/360 rilasciato con 1000 bug); comportamenti difficili da prevedere; aggiustamenti spesso eseguiti per tentativi a cura di Pascoschi Giovanni 57 a cura di Pascoschi Giovanni 58 Sommario della lezione Fine della lezione Il Sistema Operativo Caratteristiche principali di un sistema operativo Compiti del sistema operativo Sistemi operativi commerciali Domande? a cura di Pascoschi Giovanni 59 a cura di Pascoschi Giovanni 60