Operating Systems: An Overview - Unich.it

Transcription

CHAPTER 15:Operating Systems: An OverviewThe Architecture of Computer Hardware,Systems Software & Networking:An Information Technology Approach5th Edition, Irv EnglanderJohn Wiley and Sons 2013PowerPoint slides authored by Angela Clark, University of South AlabamaPowerPoint slides for the 4th edition were authored by Wilson Wong, Bentley UniversityPowerPoint slides modified by Gianluca Amato, Univ. di Chieti-Pescara

Senza sistema operativo.! I programmi devono essere caricati inmemoria manualmente! Ogni programma deve prevedere le proprieprocedure di input/output! Nessuna capacità di manipolazione di file! Nessuna capacità di controllare le periferiche! Il sistema esegue un solo programma allavolta.! Il sistema non fa nulla quando è in attesa diun input dall'utenteCopyright 2013 John Wiley & Sons, Inc.15-2

Integrated Computer EnvironmentCopyright 2013 John Wiley & Sons, Inc.15-3

Definizione di sistema operativo“Una raccolta di programmi cheintegrano le risorse hardware delcomputer e rendono queste risorsedisponibili all'utente e ai programmiapplicativi, in maniera che l'utentepossa accedere al computer in manieraproduttiva, rapida ed efficiente.”Copyright 2013 John Wiley & Sons, Inc.15-4

Servizi di base di un S.O.! Accetta comandi e richieste dall'utente e daiprogrammi applicativi e risponde in manieraappropriata.! Gestisce, carica ed esegue programmi.! Gestisce le risorse hardware del computer,rendendone possibile la condivisione tra programmidifferenti! Nota: il sistema operativo può essere visto come unacollezione di centinaia o migliaia di programmi,ognuno specializzato per uno specifico compito.Copyright 2013 John Wiley & Sons, Inc.15-5

Multitasking! Multitasking (multiprogramming)! Tecnica che consente l'elaborazione simultanea dipiù programmi, anche in presenza di una solaCPU.! Multiprocessing! Esecuzione simultanea di più programmi inpresenza di più CPU.! Multiutenza! Evoluzione del multitasking nella quale più utentipossono accedere al computer in contemporanea.Copyright 2013 John Wiley & Sons, Inc.15-6

Servizi addizionali di un S.O.!!!!!!!Interfaccia per l'utente e i programmi applicativiServizi per supporto e gestione dei fileServizi di supporto del'I/OGestisco l'avvio del computer (booting o bootstrapping)Gestione delle interruzioniServizi di reteServizi per allocare risorse come memoria, tempo della CPU,dispositivi di I/O! Servizi di sicurezza e protezione! Amministrazione del sistemaCopyright 2013 John Wiley & Sons, Inc.15-7

Diagramma componenti di un S.O.Copyright 2013 John Wiley & Sons, Inc.15-8

Componenti del S.O.! Programma Bootstrap! Componenti residenti in memoria! Sempre presenti in memoria! Comunemente denominato kernel! Contengono servizi essenziali richiesti da altre parti del S.O.e dei programmi utente! Responsabili per la gestione della memoria primaria, deiprogrammi in esecuzione, e della memoria secondaria.! Componenti non residenti! Programmi usati poco frequentemente (formattazione disco)! ComandiCopyright 2013 John Wiley & Sons, Inc.15-9

Tipi di sistemi1. Singolo utente, singolo task (obsoleti)! MS-DOS2. Singolo/multiutente, multitasking! Sistema predominante! Macintosh OSX, Windows, Linux, Oracle Solaris3. Sistemi mainframe! Sviluppati per gestire risorse computazionali su larga scala! Estese capacità di I/O per gestire un numero enorme ditransazioni4. Server di rete! Focalizzati nel supportare client che ad esso si connettono! Sicurezza potenziata, alta affidabilità, backupCopyright 2013 John Wiley & Sons, Inc.15-10

Tipi di sistemi1. Sistemi operativi mobili!!!Disegnati per dispositivi come PDA, telefoni e tabletSimili a sistemi singolo utente multitasking, ma con vincolipiù stringenti su memoria princiaple e di massa, CPU econsumo di elettricitàNecessità di rimpiazzare la tastiera come mezzo di input2. Sistemi in tempo reale!!Alcuni processi devono essere in grado di reagire ad eventiesterni il più velocemente possibileEsempi"Sistemi di controllo degli aerei, dei propulsori a razzo o dei freni per leautomobiliCopyright 2013 John Wiley & Sons, Inc.15-11

Tipi di sistemi1. Sistemi di controllo embedded!!!!Sistemi specializzati sviluppati per controllare un singolopezzo oggetto, come una automobile, un forno a microonde, una TVIl software è generalmente fornito su ROMSistemi real-time dedicati ad applicazioni specificheEsempio: General Motors Delphi system2. Sistemi distribuiti!!Potenza di elaborazione distribuita tra computer in unacluster o reteEsempio: Distributed Computing Environment (DCE)Copyright 2013 John Wiley & Sons, Inc.15-12

S.O. e utente! Interattivi! Anche noti come conversational systems! A lotti (batch)! L'utente sottomotte programmi o jobs perl'elaborazione! Poca o nessuna interazione con l'utenteCopyright 2013 John Wiley & Sons, Inc.15-13

Hardware e S.O.! Una piattaforma hardware può supportare varisistemi operativi.! Un sistema operativo può funzionare su una varietàdi piattaforme hardware! Un sistema operativo che lavora su piattaformedifferenti! Assicura portabilità di file e programmi! Aumenta l'efficienza degli utenti grazie ad una interfacciacomune! È implementato con linguaggi di programmazione amedio/alto livello (C/C ) piuttosto che in assemblyCopyright 2013 John Wiley & Sons, Inc.15-14

Servizi e funzioni!!!!!!!!!!Interfaccia utenteSistema di gestione fileSistema di controllo dell'I/OGestione dei programmi in esecuzione e dellacomunicazione tra programmiGestione della memoria primariaSchedulingGestione della memoria secondariaGestione della reteGestione della eicurezza e protezione dei sistemiAmministrazione di sistemaCopyright 2013 John Wiley & Sons, Inc.15-15

Interfaccia utente! Tipi di interfacce utente:! CLI - Command Line Interface! GUI - Graphical User Interface! Shell: programma che implementa la CLI! Uso interattivo o come linguaggio di programm.! UNIX/Linux: C, Bourne, bash and Korn shells! Command Languages! IBM Mainframes – JCL! MS Windows – .BAT files, Windows Powershell! UNIX/Linux – shell scriptsCopyright 2013 John Wiley & Sons, Inc.15-16

Gestione dei file! File – unità logica di memorizzazione! Un sistema di gestione file (file system) prevede:! Struttura a directory per ogni dispositivo di memoria sec.! Strumenti per copiare, spostare, memorizzare, recuperare emanipolare file! Informazioni su ogni file nel sistema file (ex. data dicreazione) e strumenti per accedervi! Meccanismi di sicurezza per proteggere i file! Caratteristiche addizionali!!!!Backup e recoveryCompressione dei fileJournalingAccesso trasparente ai file su reteCopyright 2013 John Wiley & Sons, Inc.15-17

Controllo dell'I/O! Device driver (o anche solo driver)! Controllano un dispositivo, implementandointerruzioni e controllo del DMA! Uniformano l'accesso a dispositivi differenti! Unico punto di accesso al dispositivo! Aggiunta di nuovi driver plug & play! Device driver durante il boot! I PC usano il BIOS (basic input/outputsystem) o UEFICopyright 2013 John Wiley & Sons, Inc.15-18

Gestione dei processi! Processo: programma in esecuzione! Memoria, risorse di I/O, registri, etc.! Servizi di comunicazione tra processi! Esempio: una pipe in Unix e Windows! Thread! Parte eseguibile individualmente di unprocesso! Condivide memoria e altre risorse con glialtri thread di un processoCopyright 2013 John Wiley & Sons, Inc.15-19

Gestione memoria primaria! Tiene traccia della memoria:!!!!Identifica i programmi caricati in memoriaAmmontare di spazio che ogni programma usaMemoria disponibileImpedisce ai programmi l'accesso a memoria di altriprogrammi! Mantiene code di programmi in attesa di esserecaricati! Alloca la memoria ai programmi caricati! Dealloca la memoria al termine dei programmi! Generalmente implementa la memoria virtualeCopyright 2013 John Wiley & Sons, Inc.15-20

Scheduling! Scheduling ad alto livello! Processi messi in coda sulla base di priorità edeventualmente messi pronti in esecuzione! Scheduling a basso livello (Dispatching)! Effettiva selezione dei processi da eseguire! Preempitivo / non-preempitivo! Context switching! Trasferimento del controllo al processo scelto! Ripristina rigistri e altre informazioni di stato! Tipi di processi: CPU vs. I/O bound vs. real-timeCopyright 2013 John Wiley & Sons, Inc.15-21

Multitasking! Mentre un programma è in attesa dellaterminazione di una richiesta di I/O gli altripossono essere eseguiti.! L'I/O è una percentuale consistente neltempo di esecuzione di un programma! Time-slicing! La CPU può passare da un processoall'altro sulla base di un orologioCopyright 2013 John Wiley & Sons, Inc.15-22

Multitasking e I/O! L'I/O rappresenta una porzione consistentedel tempo di esecuzione del programmaCopyright 2013 John Wiley & Sons, Inc.15-23

Time-slicing (preemption)Copyright 2013 John Wiley & Sons, Inc.15-24

Memoria secondaria e sicurezza! Gestione memoria secondaria! Ottimizza il completamento delle richieste di I/O! Combinazione di hardware e software! Sicurezza e protezione dei servizi!!!!Proteggere il S.O. dall'utenteProteggerre un utente da altri utentiImpedire accesso ad utenti non autenticatiImpedire azioni non autorizzate ad utentiautenticatiCopyright 2013 John Wiley & Sons, Inc.15-25

Servizi di rete e comunicazione! TCP/IP! Applicazioni di rete! Email, login remote, Web services, streamingmultimediale, telefonia VOIP! Funzioni avanzate! Supporto per cluster o altri sistemi distribuiti! Accesso comodo ai dati e dispositivipresenti in altri computerCopyright 2013 John Wiley & Sons, Inc.15-26

Amministrazione di sistema! Configurazione delsistema! Aggiunta ecancellazione utenti! Controllo e modificaprivilegi utenti! Sicurezza del sistema! Gestione del filesystemCopyright 2013 John Wiley & Sons, Inc.! Amministrazione di rete! Backup! Installazione e aggiorn.dei software! Installazione eaggiornamento del S.O.! Ottimizzazione delsistema! Monitoring delleprestazioni! Recupero dati perduti15-27

Metodi di amministrazione! Superutente! utente amministratore in grado di ignorare tutti I normalicontrolli di sicurezza! root in Unix/Linux, Administrator in Windows! Unix/Linux! pannello di controllo grafico! vari programmi per la CLI! file di testo con configurazioni di sistema! Windows! pannello di controllo! task manager (menù ottenuto con Ctrl-Alt-Del)! registro di sistemaCopyright 2013 John Wiley & Sons, Inc.15-28

Tipico report sullo stato di unsistemaCopyright 2013 John Wiley & Sons, Inc.15-29

Organizzazione del S.O.! Tre principali organizzazioni per unsistema operativo1. Monolitico"Unix/Linux2. Gerarchico"Windows 2000 e successivi3. Basato su microkernel"Mac OS XCopyright 2013 John Wiley & Sons, Inc.15-30

Kernel monolitico! Vantaggi: prestazioni! Svantaggi: difficile avere un sistema stabile! Examples: UNIX/LinuxCopyright 2013 John Wiley & Sons, Inc.15-31

S.O. Gerarchico! Ogni strato è indipendente dagli strati sottostanti! Le richieste sono passate da uno strato a quello sottoCopyright 2013 John Wiley & Sons, Inc.15-32

Microkernel! Kernel ha solo funzionalità essenziali! Cosa è funzionalità essenziale?! Sistema client-server: il client chiede servizi alkernel, che incarica il server appropriatoCopyright 2013 John Wiley & Sons, Inc.15-33

Copyright 2013 John Wiley & SonsAll rights reserved. Reproduction or translation of thiswork beyond that permitted in section 117 of the 1976United States Copyright Act without express permissionof the copyright owner is unlawful. Request for furtherinformation should be addressed to the PermissionsDepartment, John Wiley & Sons, Inc. The purchasermay make back-up copies for his/her own use only andnot for distribution or resale. The Publisher assumes noresponsibility for errors, omissions, or damages causedby the use of these programs or from the use of theinformation contained herein.Copyright 2013 John Wiley & Sons, Inc.10-34

Macintosh OSX, Windows, Linux, Oracle Solaris 3. Sistemi mainframe! Sviluppati per gestire risorse computazionali su larga scala! Estese capacità di I/O per gestire un numero enorme di transazioni 4. Server di rete! Focalizzati nel supportare client che ad esso si connettono! Sicurezza potenziata, alta affidabilità, backup