of 29/29
Operating System Concepts Silberschatz and Galvin 1999 1.1 CAP. 1 - INTRODUZIONE

Silberschatz and Galvin 1999 1.1 Operating System Concepts CAP. 1 - INTRODUZIONE

  • View
    230

  • Download
    0

Embed Size (px)

Text of Silberschatz and Galvin 1999 1.1 Operating System Concepts CAP. 1 - INTRODUZIONE

  • Slide 1
  • Silberschatz and Galvin 1999 1.1 Operating System Concepts CAP. 1 - INTRODUZIONE
  • Slide 2
  • Silberschatz and Galvin 1999 1.2 Operating System Concepts Cos un Sistema Operativo (S.O.) Un sistema che agisce da intermediario tra lutente e il computer Scopi del S.O.: Rendere il computer pi conveniente alluso (user-friendly) Utilizzare lhardware in maniera efficiente
  • Slide 3
  • Silberschatz and Galvin 1999 1.3 Operating System Concepts Un semplice schema
  • Slide 4
  • Silberschatz and Galvin 1999 1.4 Operating System Concepts e un dettaglio delle sue componenti 1. Hardware fornisce le risorse di base (CPU, memorie, dispositivi di I/O). 2. S.O. controlla e coordina luso dellhardware fra i vari programmi applicativi 3. Programmi di sistema definiscono il modo in cui le risorse di sistema sono utilizzate per risolvere i problemi dellutente (p.es., compilatori, database, fogli elettronici, ecc) 4. Programmi applicativi Applicazioni costruite per risolvere specifici problemi (p.es. sistema di prenotazione voli) 5. Utenti (persone, macchine o altri computer) possono utilizzare il sistema com e/o costruire programmi applicativi
  • Slide 5
  • Silberschatz and Galvin 1999 1.5 Operating System Concepts I compiti del S.O. Fa da interfaccia per lutente (convenienza!!!) Gestisce ed alloca le risorse (efficienza!!!) Kernel quel programma che sempre in esecuzione sul computer e i suoi confini
  • Slide 6
  • Silberschatz and Galvin 1999 1.6 Operating System Concepts convenienza efficienza kernel Es.: driver di uno scanner
  • Slide 7
  • Silberschatz and Galvin 1999 1.7 Operating System Concepts attenzione: sottile il confine tra programmi di sistema e S.O. intero ! e ancora sui confini
  • Slide 8
  • Silberschatz and Galvin 1999 1.8 Operating System Concepts Breve evoluzione dei sistemi di calcolo e dei relativi S.O. Prima generazione 1945 - 1955 Condensatori, programmazione wired Seconda generazione 1955 - 1965 transistors, sistemi batch Terza generazione 1965 1980 Circuiti integrati, multiprogrammazione Quarta generazione 1980 1995 Personal computers Quinta generazione 1995 oggi Computer tascabili (wireless)
  • Slide 9
  • Silberschatz and Galvin 1999 1.9 Operating System Concepts 1. Sistemi Batch Utente Operatore Schede perforate per I/O Primo rudimentale S.O. (sempre residente): il solo compito quello di trasferire il controllo da un job a quello successivo
  • Slide 10
  • Silberschatz and Galvin 1999 1.10 Operating System Concepts Organizzazione di memoria di un sistema batch
  • Slide 11
  • Silberschatz and Galvin 1999 1.11 Operating System Concepts Schede perforate Schede speciali dicono al S.O. quale programma eseguire $JOB $FTN $RUN $DATA $END Caratteri speciali distinguono schede di dati da schede di programmi $ in column 1 // in column 1 and 2 709 in column 1 Gli errori erano molto costosi!
  • Slide 12
  • Silberschatz and Galvin 1999 1.12 Operating System Concepts Problemi dei sistemi batch Dispositivi I/O meccanici molto pi lenti della CPU, quindi molti tempi morti per la CPU (lungo turnaround time) 2. Spooling e multiprogrammazione Assenza di interazione tra lutente e la macchina 3. Sistemi interattivi e time-sharing
  • Slide 13
  • Silberschatz and Galvin 1999 1.13 Operating System Concepts 2. Spooling Idea : sovrapporre operazioni di calcolo (CPU) con operazioni di I/O Prerequisito : possibilit di utilizzare un dispositivo di memoria ad accesso diretto (disco) come appoggio
  • Slide 14
  • Silberschatz and Galvin 1999 1.14 Operating System Concepts Caricamento dei jobs in memoria dai nastri e dalle schede, stampa dei risultati : off-line Mentre esegue un job il S.O.: pu leggere il prossimo job e caricarlo in unarea predefinita del disco pu stampare risultati di job precedenti conservati sul disco in pratica dispositivi input dispositivi output CPU disco
  • Slide 15
  • Silberschatz and Galvin 1999 1.15 Operating System Concepts Multiprogrammazione: organizzazione di memoria Job pool struttura dati che permette al S.O. di selezionare quale job eseguire per accrescere lutilizzazione della CPU Pi job sono tenuti in memoria allo stesso tempo, e la CPU pu essere condivisa tra essi S.O. delegato a decidere !!!
  • Slide 16
  • Silberschatz and Galvin 1999 1.16 Operating System Concepts Compiti di un S.O. per multiprogrammazione Scheduling della CPU (al termine di ogni job) Gestione della memoria Routines di I/O Allocazione di dispositivi Si condividono risorse, ma non c ancora interleaving di esecuzione tra i job
  • Slide 17
  • Silberschatz and Galvin 1999 1.17 Operating System Concepts 3. Sistemi interattivi e time-sharing Idea : rimpiazzare il job che utilizza la CPU con un altro, per esempio quando il primo ha bisogno di I/O (context-switching) Prerequisito : strutture dati ed algoritmi pi complessi per gestire il time-sharing
  • Slide 18
  • Silberschatz and Galvin 1999 1.18 Operating System Concepts La CPU condivisa tra un insieme di job tenuto in memoria Strategie per : scegliere il job che deve utilizzare la CPU, far entrare e uscire job da questo insieme I concetti INTERATTIVITA Comunicazione tra lutente e il sistema: quando il sistema finisce lesecuzione di un comando passa il controllo allutente Possibilit per lutente di accedere a codice e dati TIME_SHARING
  • Slide 19
  • Silberschatz and Galvin 1999 1.19 Operating System Concepts job1 job4 job2 job3 job6 Memoria job5 CPU SISTEMA DI CALCOLO UTENTI e una rappresentazione grafica
  • Slide 20
  • Silberschatz and Galvin 1999 1.20 Operating System Concepts Caratteristiche di un S.O. per Interattivit e Time-Sharing Scheduling della CPU (anche a intervalli di tempo, non solo quando ci sono operazioni di I/O!!!) Gestione della memoria (mantenere un insieme di job in memoria, non tutti quelli possibili) Allocazione di dispositivi in maniera consistente con il time-sharing File System accessibile dallutente Virtualizzazione della macchina
  • Slide 21
  • Silberschatz and Galvin 1999 1.21 Operating System Concepts 4. Personal Computers Nuovi dispositivi di I/O tastiera, mouse, schermi piccoli, piccole stampanti Maggiore necessit di conoscere S.O. da parte dellutente (tradeoff!) Convenienza (facilit duso) per lutente Diversa concezione delle protezioni e condivisioni rispetto a sistemi ad utenza multipla Computers dedicati ad un singolo utente
  • Slide 22
  • Silberschatz and Galvin 1999 1.22 Operating System Concepts 5. Sistemi paralleli Le CPU condividono memoria e temporizzazione Vantaggi: Maggiore throughput Minore costo ( pi economico condividere un disco tra n programmi che acquistare n PC !!! ) Maggiore affidabilit : degradazione lenta fault tolerance Sistemi con pi di una CPU in stretta collaborazione job7 CPU2 job5 CPU1 job1 CPU3
  • Slide 23
  • Silberschatz and Galvin 1999 1.23 Operating System Concepts e una semplice classificazione Symmetric multiprocessing Ogni CPU ospita una copia identica del S.O. Molti processi possono essere eseguiti allo stesso tempo senza degradazione delle prestazioni Asymmetric multiprocessing Ad ogni processore assegnato uno specifico compito Viene allocato un master che schedula e alloca lavoro per i processori slave
  • Slide 24
  • Silberschatz and Galvin 1999 1.24 Operating System Concepts 6. Sistemi distribuiti IDEA - Distribuire il lavoro su macchine: fisicamente differenti possibilmente non omogenee che non condividono memoria e temporizzazione che comunicano tra esse mediante buses e linee telefoniche (in debole collaborazione) PERCHE si decide di mettere queste macchine in comunicazione? - Condivisione di risorse (clustering) - Distribuzione del carico di lavoro - Affidabilit - Comunicazioni tra utenti (es., email)
  • Slide 25
  • Silberschatz and Galvin 1999 1.25 Operating System Concepts Caratteristiche di un S.O. per sistemi distribuiti Condivisione di file Schemi di comunicazione Virtualizzazione della rete Indipendenza dagli altri S.O. nella rete
  • Slide 26
  • Silberschatz and Galvin 1999 1.26 Operating System Concepts 7. Sistemi tascabili (handheld) Personal Digital Assistants (palmari) Telefonini cellulari con connessione a Internet Memoria limitata CPU lenta (potenza limitata) Schermo di piccole dimensioni Piccola taglia
  • Slide 27
  • Silberschatz and Galvin 1999 1.27 Operating System Concepts Evoluzione dei concetti e delle caratteristiche dei S.O.
  • Slide 28
  • Silberschatz and Galvin 1999 1.28 Operating System Concepts A. Sistemi real-time Spesso usati sui dispositivi di controllo di applicazioni critiche, quali esperimenti scientifici, sistemi di controllo di aerei, etc. Prefissati vincoli di tempo Hard real-time system Dati conservati in memorie veloci a breve termine Conflitto con time-sharing, quindi non supportati da comuni S.O. Soft real-time system Non tutti i vincoli devono necessariamente essere soddisfatti Utili in applicazioni multimediali o di realt virtuale
  • Slide 29
  • Silberschatz and Galvin 1999 1.29 Operating System Concepts B. Ambienti di elaborazione Elaborazione tradizionale (PC in configurazione da ufficio) : S.O. deve oggi fornire pi modi per accedere a questi sistemi, ma sono necessarie protezioni Elaborazione basata su WEB (vari dispositivi per accedere) : necessari strumenti di S.O. che permettano il bilanciamento del carico tra vari server Elaborazione embedded (chip integrati in strumenti di uso comune, es. Computer di bordo dellauto) : prevalentemente monitoraggio di congegni e segnalazione, quindi S.O. molto semplice