La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Sistemi Operativi.

Presentazioni simili


Presentazione sul tema: "Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Sistemi Operativi."— Transcript della presentazione:

1 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Sistemi Operativi

2 1.2 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Informazioni Daniela Micucci Università di Milano – Bicocca Testo per approfondimenti: Sistemi operativi Concetti ed esempi 8° Edizione A. Silberschatz P. Galvin G. Gagne - Prentice Hall

3 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Introduzione

4 1.4 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Outline Una breve storia dei Sistemi Operativi Cosè un sistema operativo Organizzazione del sistema di calcolo Struttura del sistema operativo Attività del sistema operativo Gestione dei processi Gestione della memoria Gestione dei file

5 1.5 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Outline Una breve storia dei Sistemi Operativi Cosè un sistema operativo Organizzazione del sistema di calcolo Struttura del sistema operativo Attività del sistema operativo Gestione dei processi Gestione della memoria Gestione dei file

6 1.6 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Prima dei Sistemi Operativi Tra il 1945 e il 1955 gli elaboratori elettronici erano progettati con valvole termoioniche Occupavano intere stanze, erano lentissimi e costosi Soltanto grossi centri di calcolo o Università potevano permetterseli I calcolatori erano molto inaffidabili Le valvole che li componevano si rompevano spesso In questo periodo non esisteva ancora il concetto di Sistema Operativo Il programma da eseguire veniva inserito ad ogni esecuzione in codice binario attraverso dei primitivi lettori di schede perforate e dopo alcune ore il risultato veniva inviato ad una stampante

7 1.7 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition I primi Sistemi Operativi (anni 50) Tra il 1955 e il 1965, grazie ai transistor gli elaboratori (mainframe) divennero abbastanza affidabili da poter essere costruiti e venduti in serie, anche se erano comunque macchine grosse e costosissime Tale operazione era molto dispendiosa in termini di tempo e non permetteva di sfruttare la macchina durante le lunghe fasi di caricamento di dati e programmi Concetto di job Miscela di programmi (in Fortran o Assembler), dati e comandi al SO Un programmatore doveva: Scrivere il proprio programma su carta Trasferirlo su schede Caricarlo nel computer Attendere il termine dell'esecuzione e la stampa del risultato

8 1.8 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition I primi Sistemi Operativi (anni 50) Nasce lidea dei sistema batch (a lotti) ovvero l'idea di base era quella di dividere i tre lavori, ovvero il caricamento dei dati, il calcolo e la stampa I sistemi operativi tipici per questi elaboratori, per lo più programmati in FORTRAN e in Assembler erano il FMS (Fortran Monitor System) e IBSYS

9 1.9 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition La multiprogrammazione (anni 60) Introduzione dei circuiti integrati -> maggior velocità l Necessità di ridurre il tempo idle dovuto alla esecuzione di un solo job alla volta Per la prima volta è introdotta la multiprogrammazione, che rendeva possibile la presenza di più programmi in memoria contemporaneamente Quando un job in esecuzione aveva bisogno di effettuare una operazione di I/O il Sistema Operativo lo sospendeva e al suo posto faceva girare un altro job Nel 1964 IBM presenta una famiglia di computer chiamata IBM System/360, prima realizzazione di una netta distinzione tra architettura e software t job1 job2 job3

10 1.10 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition La multiprogrammazione (anni 60) Sviluppo dei sistemi di telecomunicazione delle reti Nascono i sistemi multiterminale Ogni utente dispone di un dispositivo di ingresso (la tastiera) e un dispositivo di uscita (un monitor o stampante) Si introduce anche il timesharing Ogni utente dispone di un dispositivo di ingresso (la tastiera) e un dispositivo di uscita (un monitor o stampante) Nel 1962 venne realizzato al MIT il primo sistema di timesharing su un IBM 7094: CTSS (Compatible Time Sharing System), La vera rivoluzione si ebbe con il MULTICS (MULTiplexed Information and Computing Service) sviluppato congiuntamente dal MIT, dalla General Electric e dai Bell Labs Ambizione: gestire centinaia di utenti con un 286

11 1.11 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition La multiprogrammazione (anni 60) Fenomenale crescita dei minicalcolatori, a partire dal PDP-1 del 1961 a motivo dei bassi costi ( $: 5% costo di un IBM 7094!!!!) Importante il PDP-7 Su cui Ken Thompson (e Dennis Ritchie e Douglas Mcllroy sempre presso i lab Bell) sviluppò per gioco UNICS (Uniplexed Information and Computing Service): versione ridotta per singolo utente di MULTICS Che divenne poi UNIX Furono sviluppate diverse varianti di UNIX, come System V, BSD (Berkley Software Distribution), Minix (usato in ambito didattico) e successivamente (sulla base di MINIX e UNIX) l'ormai famosissimo Linux sviluppato dallo studente finlandese Linux Torvalds

12 1.12 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition I personal computer (anni 80) Negli anni '80 la tecnologia LSI (Large Scale Integration) porta alla costruzione di chip integrati ed all'abbattimento dei prezzi dell'hardware, facendo sorgere l'era del Personal Computer (chiamati inizialmente microcalcolatori) I primi modelli erano dotati di Sistemi Operativi Monoutente Con accesso interattivo e Alcuni con supporto al timesharing Il più importante tra i primi Sistemi Operativi per Personal computer era il CP/M-80 (Control Program for Microcomputer) della Digital Research MS-DOS (o PC-DOS da IBM) era originariamente basato proprio sul CP/M- 80

13 1.13 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition I personal computer (anni 80) Negli anni 80 la Apple era uno dei pochi che credeva nell'idea Personal Computer All'epoca era difficile immaginare cosa potesse farsene una persona di un computer in casa La Xerox lancia il primo Sistema Operativo con interfaccia grafica La Apple prende in prestito questa idea e lancia nel 1984 il Mac OS, primo sistema operativo per Personal Computer Successivamente la Microsoft avrebbe commercializzato Windows (20 novembre 1985)

14 1.14 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition I Sistemi Operativi oggi Oggigiorno è disponibile una grande varietà di sistemi di elaborazione dalle più disparate dimensioni e performance a costi contenuti Tutte queste innovazioni hanno portato allo sviluppo di sistemi operativi per le più svariate architetture, in particolare per dispositivi handheld come cellulari (tra i quali il Symbian OS, Android) e PDA (con Windows Mobile e Palm OS) Per qualunque architettura venga sviluppato un Sistema Operativo moderno esso deve fornire il supporto, oltre a quanto visto sinora, a molteplici esigenze quali: Streaming audio/video (trasmissione ed elaborazione continua di dati multimediali) Supporto alle più diverse tecnologie di interconnessione (ad esempio Ethernet, Bluetooth e Wireless LAN) Integrazione di tecnologie per la fruizione di contenuti su Internet Gestione efficiente dell'energia

15 1.15 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Outline Una breve storia dei Sistemi Operativi Cosè un sistema operativo Organizzazione del sistema di calcolo Struttura del sistema operativo Attività del sistema operativo Gestione dei processi Gestione della memoria Gestione dei file

16 1.16 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Cosè un sistema operativo? Un Sistema Operativo è un insieme di programmi che: Gestisce gli elementi fisici del calcolatore Fornisce una piattaforma ai programmi applicativi Agisce da intermediario tra lutente e la struttura fisica del calcolatore Scopi del sistema operativo: Eseguire i programmi, supportando lutente nel risolvere problemi Rendere agevole linterfaccia fra luomo e la macchina il sistema di calcolo è conveniente da usare Gestire in modo efficiente le risorse (hardware/software) del sistema di calcolo

17 1.17 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Organizzazione del sistema di calcolo Il sistema di calcolo si suddivide in quattro componenti principali: Hardware Fornisce le risorse fondamentali di calcolo – e.g., CPU, memoria, device di I/O Sistema operativo Controlla e coordina lutilizzo delle risorse hardware da parte dei diversi programmi di sistema e applicativi Programmi applicativi Definiscono le modalità di utilizzo delle risorse del sistema, per risolvere i problemi di calcolo degli utenti – e.g., Word processor, compilatori, web browser, sistemi per basi di dati, video game Utenti Persone, macchine, altri computer

18 1.18 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Le componenti di un sistema di calcolo

19 1.19 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Definizione di sistema operativo - 1 Il Sistema Operativo (SO) è un assegnatore di risorse Gestisce tutte le risorse hardware/software del sistema di calcolo Arbitra i conflitti per lallocazione di risorse in base ad una politica equa ed efficiente Il SO è un programma di controllo Controlla lesecuzione dei programmi utente per prevenire errori e/o uso improprio delle risorse del sistema

20 1.20 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Definizione di sistema operativo - 2 Non esiste una definizione universalmente accettata Unaltra possibile definizione: «tutto quello che il vostro rivenditore vi fornisce quando ordinate un sistema operativo» Unaltra ancora: «il Sistema Operativo è il solo programma sempre in esecuzione quando il computer è acceso - detto kernel» Il resto sono solo programmi applicativi

21 1.21 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition 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 lordine e lo consegna al capo cuoco Il capo cuoco riceve lordine 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 SO come gestore risorse – 1

22 1.22 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Il capo cuoco è il sistema operativo! I clienti sono gli utenti Il menù ed il cameriere costituiscono linterfaccia verso il sistema operativo (grafica e non) Le ricette associate ai piatti sono i programmi Gli aiutanti sono i processi La cucina è il computer; pentole, fornelli, etc., sono le componenti hardware SO come gestore risorse – 2

23 1.23 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Problemi del capo cuoco Esecuzione fedele delle ricette Allocazione efficiente delle risorse esistenti (aiutanti, fornelli, etc.) Coordinamento degli aiutanti Licenziamento degli aiutanti che non si comportano secondo le regole Problemi del sistema operativo Esecuzione dei programmi utente Efficienza nelluso delle risorse (processori, memoria, dischi, etc.) Coordinamento dei processi Protezione nelluso delle risorse SO come gestore risorse – 3

24 1.24 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Outline Una breve storia dei Sistemi Operativi Cosè un sistema operativo Organizzazione del sistema di calcolo Struttura del sistema operativo Attività del sistema operativo Gestione dei processi Gestione della memoria Gestione dei file

25 1.25 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Un sistema di calcolo può essere descritto attraverso i seguenti elementi Modello o funzionamento del sistema di calcolo Struttura della memoria Fatto in architetture Struttura di I/O Fatto in architetture Organizzazione di un calcolatore

26 1.26 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Modello del sistema Un sistema di calcolo è composto da una o più CPU, alcuni controllori di dispositivi di I/O (device) connessi attraverso un bus alla memoria Questi dispositivi operano in maniera concorrente per ottenere cicli di accesso alla memoria

27 1.27 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Startup Normalmente in un sistema di calcolo dopo laccensione la prima fase è il bootstrap program (programma di avviamento) Tipicamente è memorizzato in una ROM o in una EPROM e viene identificato con il termine firmware Inizializza ogni aspetto del sistema Registri della CPU, controllori dei diversi dispositivi Carica nella memoria il kernel del sistema operativo Il Sistema Operativo avvierà normalmente il primo processo (ad esempio sotto Linux è init ) Questo processo una volta avviato si metterà in attesa di un evento o di ulteriori istruzioni

28 1.28 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Gestione dei dispositivi di I/O La CPU e i device di I/O possono eseguire operazioni concorrenti Ogni dispositivo di I/O ha un controllore che gestisce le operazioni del dispositivo attraverso un buffer locale La CPU sposta i dati da/verso la memoria principale verso/da i buffer locali Il dispositivo di I/O fornisce normalmente nuovi dati allinterno di questo buffer locale Ogni qualvolta che un dispositivo ha nuovi dati causa un interrupt per richiamare lattenzione della CPU

29 1.29 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Gli interrupt Un interrupt generalmente trasferisce il controllo ad una routine di servizio Normalmente esiste una sequenza di indirizzi, detta vettore delle interruzioni, che punta alle diverse routine di servizio Il Sistema Operativo deve salvare lindirizzo dellistruzione appena interrotta per poterla continuare ad eseguire successivamente Ulteriori interrupt sono normalmente disabilitati per non causare incoerenze nella normale esecuzione dellinterrupt corrente Un trap (o eccezione) è normalmente un interrupt generato via software a seguito di un errore oppure da una richiesta utente Ad esempio una divisione per zero Un sistema operativo è quindi anche un gestore di interrupt

30 1.30 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Timeline delle interruzioni

31 1.31 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Interrupt di I/O Dopo linizio delloperazione di I/O, il flusso di esecuzione può seguire due percorsi distinti: I/O sincrono: si restituisce il controllo al processo utente solo dopo il completamento delloperazione di I/O I/O asincrono: si restituisce immediatamente il controllo al processo utente in questo modo lI/O può proseguire mentre il sistema esegue altre operazioni

32 1.32 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Outline Una breve storia dei Sistemi Operativi Cosè un sistema operativo Organizzazione del sistema di calcolo Struttura del sistema operativo Attività del sistema operativo Gestione dei processi Gestione della memoria Gestione dei file

33 1.33 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Struttura del Sistema Operativo I Sistemi Operativi possono essere progettati utilizzando diversi criteri, i più comuni sono: Multiprogrammazione Timesharing (o multitasking)

34 1.34 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Multiprogrammazione La multiprogrammazione consente di aumentare lefficienza della CPU e dei dispositivi di I/O, infatti: Un singolo utente non può tenere occupato la CPU e i dispositivi di I/O per tutto il tempo La multiprogrammazione organizza i lavori (o job) in modo tale da tenere sempre la CPU occupata Più job (un sottoinsieme dei totali) del sistema risiedono in memoria Un solo job alla volta è selezionato per essere mandato in esecuzione attraverso un algoritmo di scheduling Quando un job è in attesa di un I/O il Sistema Operativo può passare allesecuzione di un altro job

35 1.35 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Time sharing (o multitasking) Il timesharing (o multitasking) è una estensione logica della multiprogrammazione La CPU esegue per un istante un job per poi passare allesecuzione di un altro job e così via La sensazione è che la CPU sta eseguendo diversi job in parallelo Il tempo di risposta deve essere inferiore di 1 secondo Ogni utente ha almeno un programma «in esecuzione» in memoria chiamato processo Se diversi processi sono pronti per essere eseguiti nello stesso istante la CPU decide attraverso degli algoritmi di scheduling chi deve essere mandato in esecuzione Se la memoria non è sufficiente a contenere tutti i processi, mediante swapping, i processi vengono spostati fuori/dentro la memoria principale in base al loro stato di esecuzione effettivo La memoria virtuale permette lesecuzione di processi che non sono completamente in memoria

36 1.36 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Multiprogrammazione e memoria

37 1.37 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Outline Una breve storia dei Sistemi Operativi Cosè un sistema operativo Organizzazione del sistema di calcolo Struttura del sistema operativo Attività del sistema operativo Gestione dei processi Gestione della memoria Gestione dei file

38 1.38 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Doppia modalità di funzionamento Processi condividono il sistema I processi possono tentare di modificare lo spazio di memoria dedicato ad altri processi o al SO La modalità operativa dual-mode permette al SO di proteggersi e di proteggere le varie componenti del sistema di calcolo User mode e kernel mode Mode bit cablato in hardware Il valore assunto dal mode bit distingue le due situazioni in cui il sistema esegue codice utente o codice kernel; Le istruzioni privilegiate possono essere eseguite soltanto in modalità kernel Una system call effettua il passaggio in modalità kernel; il ritorno dalla chiamata riporta il sistema in modalità utente

39 1.39 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Transzione da modalià User a Kernel

40 1.40 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Timer Per prevenire processi che eseguano cicli infiniti senza più restituire il controllo al SO -> Timer Emissione di un interrupt dopo un dato periodo di tempo, mediante luso di un generatore di impulsi e di un contatore Il SO inizializza il contatore al tempo massimo (stimato) di esecuzione del processo Il contatore viene decrementato ad ogni impulso Quando il contatore ha valore zero, si genera un interrupt

41 1.41 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Gestione dei processi - 1 Un processo è un programma in esecuzione È una unità di lavoro del sistema Il programma è unentità passiva, il processo è unentità attiva Un processo necessità di risorse per poter compiere il proprio lavoro CPU, memoria, I/O, file Al termine dellesecuzione il processo rilascia tutte le risorse utilizzate

42 1.42 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Gestione dei processi - 2 Nei processi single threaded il program counter tiene traccia della prossima istruzione da eseguire Il processo esegue una singola istruzione per volta sino al suo termine Nei processi multi threaded ogni thread ha un suo program counter Un sistema solitamente ha diversi processi assegnati a diversi utenti e verranno eseguiti in maniera concorrente su una o più CPU Le CPU sono risorse da utilizzare per eseguire i processi/thread

43 1.43 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Attività del gestore dei processi Il Sistema Operativo attraverso il gestore dei processi ha il compito di: Create e rimuovere i processi degli utenti e di sistema Sospendere e riprendere lesecuzione dei processi Fornire dei meccanismo per la sincronizzazione dei processi Fornire dei meccanismo per la comunicazione tra processi Fornire dei meccanismo per la gestione dei deadlock

44 1.44 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Gestore della memoria Il gestore della memoria si occupa di cosa tenere allocato in memoria in ogni istante È un importante modulo della Sistema Operativo in quanto rende più efficiente lutilizzo della CPU Alcune attività del gestore della memoria sono: Tenere traccia di quale parte della memoria è occupata e da chi è usata Decidere quali processi e dati spostare dentro o fuori la memoria Allocare e deallocare blocchi di memoria quando è richiesto

45 1.45 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Gestione del file system Il Sistema Operativo garantisce una visione uniforme e logica delle informazioni memorizzate sulle memorie di massa Il Sistema Operativo Astrae dalle caratteristiche fisiche dei dispositivi per definire ununità di memorizzazione logica, il file Grazie ai device driver (che controllano la periferica), nasconde allutente le caratteristiche fisiche variabili dellhardware l Permette di organizzare i file in directory Permette di controllare laccesso per determinare quali utenti possono accedere e come a quali risorse (file) Le attività includono: Creazione e cancellazione di file e directory Fornire primitive elementari per la gestione di file e directory Associare file ai dispositivi di memoria di massa

46 1.46 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Gestione della memoria di massa La memoria centrale è volatile e troppo piccola per contenere permanentemente tutti i dati: Il sistema operativo deve consentire larchiviazione secondaria, per salvare i contenuti della memoria centrale La maggior parte dei moderni sistemi impiega i dischi come principale mezzo di memorizzazione La gestione efficiente della memoria secondaria è fondamentale per le prestazioni del sistema, che risentono fortemente della velocità del sottosistema di gestione dei dischi e della bontà degli algoritmi di scheduling Il SO è responsabile delle seguenti attività: Gestione dello spazio libero Allocazione dello spazio Scheduling del disco

47 1.47 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Gestione della memoria terziaria I dispositivi di memoria terziaria non devono essere particolarmente veloci Le memorie terziarie includono i dischi ottici ed i nastri magnetici Devono comunque essere gestite in modo efficiente Variano tra memorie WORM (write-once, read-many) e RW (read-write) Supporto del SO: installazione/rimozione dei media, allocazione dei dispositivi ai processi che ne richiedono luso

48 1.48 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Performance dei vari livelli di storage

49 1.49 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Sottosistema di I/O Uno degli scopi del SO consiste nel nascondere allutente le caratteristiche dei dispositivi hardware Il sottosistema di I/O è responsabile della gestione della memoria dellI/O includendo: il buffering (la memorizzazione temporanea di dati in memorie locali alle periferiche, durante il trasferimento) il caching (la memorizzazione parziale dei dati in memorie ad accesso rapido) lo spooling (per la realizzazione della memoria virtuale) Fornisce uninterfaccia generale per i driver dei dispositivi Contiene i driver per i dispositivi specifici presenti nel sistema di calcolo

50 1.50 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Protezione e Sicurezza In un Sistema Operativo sono necessari dei meccanismi di Protezione: meccanismo usato per controllare laccesso da parte di processi o utenti a risorse del sistema di calcolo Sicurezza: meccanismo di difesa implementato dal sistema per proteggersi da attacchi interni ed esterni Un sistema operativo normalmente distingue i diversi utenti in modo da poter determinare chi può fare cosa Normalmente ad ogni utente corrisponde un user ID Ogni userID ha quindi i permessi su quali file accedere e su quali file mandare in esecuzione Il group ID identifica un insieme di utenti che hanno permessi su alcune risorse

51 1.51 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Sistemi ad orientamento specifico Sistemi integrati real time Sono progettati imponendo dei forti vincoli sui tempi di risposta a carico del processore e del flusso dei dati Sistemi multimediali Progettati tenendo conto flussi di dati video o audio che devono essere disponibili a velocità costanti Sistemi palmari Sono progettati tenendo in considerazione le scarse risorse Le limitazioni delle periferiche di I/O …e del consumo della batteria!

52 1.52 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Open-Source Operating Systems Disponibili in formato sorgente anziché come codice binario compilato Vantaggi Nessuna necessità di effettuare processi di reverse engineering per comprendere il funzionamento del sistema Costituzione di una comunità di programmatori interessati e non retribuiti che contribuiscono allo sviluppo, al debugging ed allassistenza e al supporto gratuito agli utenti Codice più sicuro e privo di bug Esempi: GNU/Linux and BSD UNIX (includendo il coreb core of Mac OS X), and many more

53 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Fine Introduzione


Scaricare ppt "Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Sistemi Operativi."

Presentazioni simili


Annunci Google