Sistemi Operativi. Libri di Testo



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

Sistemi di Elaborazioni delle Informazioni I

Il Sistema Operativo (1)

Corso di Informatica

TITLE Sistemi Operativi 1

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

Sistemi operativi e reti A.A Lezione 2

INFORMATICA. Il Sistema Operativo. di Roberta Molinari

Architettura di un sistema operativo

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

Lezione 4 La Struttura dei Sistemi Operativi. Introduzione

Approccio stratificato

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

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

Corso di Informatica

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

Fondamenti di Informatica Ingegneria Clinica Lezione 16/10/2009. Prof. Raffaele Nicolussi

PARTE 4 La Macchina Software

Sistemi Operativi. Introduzione UNICAL. Facoltà di Ingegneria. Domenico Talia A.A

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

Introduzione ai sistemi operativi

CdL in Medicina Veterinaria - STPA AA

Contenuti. Visione macroscopica Hardware Software. 1 Introduzione. 2 Rappresentazione dell informazione. 3 Architettura del calcolatore

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

LINUX. Che cos'e` un sistema operativo?

Sistemi Operativi UNICAL. Facoltà di Ingegneria. Domenico Talia A.A Sistemi Operativi. D. Talia - UNICAL

Come funziona un sistema di elaborazione

Informatica per la Storia dell Arte. Anno Accademico 2014/2015

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

GLI ARCHIVI DI DATI. File Un File è una sequenza di informazioni che costituisce una unità logica. Un file è un un contenitore di di informazioni

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

Capitolo 1: Introduzione

Il SOFTWARE DI BASE (o SOFTWARE DI SISTEMA)

Informatica di Base - 6 c.f.u.

I - Sistema Operativo Alberto Cammozzo La copia letterale di quest'opera è consentita purché questa nota resti inclusa.

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

Il Sistema Operativo. Di cosa parleremo? Come si esegue un programma. La nozione di processo. Il sistema operativo

Introduzione ai Sistemi Operativi

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

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

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

TEORIA DEI SISTEMI OPERATIVI

Il Sistema Operativo

Sistemi operativi. Esempi di sistemi operativi

Dispensa di Informatica I.1

I sistemi operativi. Università degli Studi di Salerno

Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo

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

Informatica e Bioinformatica: Sistemi Operativi

Vari tipi di computer

Sistema Operativo e Applicativi

ASPETTI GENERALI DI LINUX. Parte 2 Struttura interna del sistema LINUX

Calcolo numerico e programmazione. Sistemi operativi

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena

Classificazione del software

Infrastrutture Software

Il Software. Il software del PC. Il BIOS

Architettura hardware

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

Software di base. Corso di Fondamenti di Informatica

Definizione e storia dei sistemi operativi

Sistemi Operativi Kernel

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

Il computer: primi elementi

Le Infrastrutture Software ed il Sistema Operativo

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

Corso di Sistemi di Elaborazione delle informazioni

Architetture software. Virtualizzazione

Modulo 1 Test di verifica. Concetti teorici di base delle T.I.C.

1.4. Caratteristiche generali dei Sistemi Operativi

Scheduling della CPU Introduzione ai Sistemi Operativi Corso di Abilità Informatiche Laurea in Fisica

Calcolatori Elettronici A a.a. 2008/2009

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

Informatica: il sistema operativo

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

Architettura di un calcolatore

INFORMATICA. Corso di Laurea in Scienze dell'educazione

Corso di Informatica

Laboratorio di Informatica

Corso di Sistemi Operativi I. a.a. 2006/07

Introduzione. Corso di Sistemi Operativi I. a.a. 2006/07. Airline reservation. Banking system. Web browser. Application programs. Command interpreter

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

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro

VMware. Gestione dello shutdown con UPS MetaSystem

Input/Output. Moduli di Input/ Output. gestiscono quantità di dati differenti a velocità diverse in formati diversi. n Grande varietà di periferiche

1. Che cos è la multiprogrammazione? Si può realizzare su un sistema monoprocessore? 2. Quali sono i servizi offerti dai sistemi operativi?

Stadi evolutivi dei sistemi di elaborazione

Introduzione Ai Data Bases. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni

CAPITOLO 1 I SISTEMI OPERATIVI

Sistemi Operativi I Corso di Laurea in Ingegneria Informatica Facolta di Ingegneria, Universita La Sapienza Docente: Francesco Quaglia

Gestione della memoria centrale

Scheduling. Lo scheduler è la parte del SO che si occupa di

Laboratorio di Informatica. Il computer

COMPETENZE INFORMATICHE DI BASE PER ADULTI

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

Organizzazione Monolitica

Architettura del calcolatore

Lezione 2 Principi Fondamentali di SO Interrupt e Caching. Sommario

Introduzione alla Virtualizzazione

Transcript:

Sistemi Operativi Rocco Aversa Tel. 0815010268 rocco.aversa@unina2.it Ricevimento: Ma 14.00-16.00 Gi 14.00-16.00 1 Libri di Testo Testo Principale A.S. Tanenbaum, I moderni sistemi operativi (3 ed), Prentice- Hall 2009 A.S. Tanenbaum, Modern Operating Systems (2 ed), Prentice- Hall 2002 Approfondimenti Lucidi dalle lezioni e materiale vario disponibili di volta in volta sul sito del corso: http://193.206.100.156/~aversa/sistemiop03/ 2 1

Introduzione Cos è un sistema operativo? 3 Cos è un sistema operativo? Software Applicazioni Sistema Operativo Hardware È il livello di SW con cui interagisce l utente e comprende programmi quali : Compilatori i Editori di testi Fogli elettronici Sistemi bancari Navigatori per Web.. gcc, Word, PowerPoint Excel, Explorer Photoshop Windows Unix/Linux Mac OS È il livello di SW che interagisce direttamente con l hw e che rende possibile un uso semplice, efficiente corretto e sicuro delle risorse fisiche (processore, memorie, periferiche etc.) 4 2

Cosa è un sistema operativo? Macchina Virtuale di livello 3: estende il livello sottostante fornendo operazioni astratte per l interazione con dispositivi di I/O eper l esecuzione contemporanea di più programmi. i Gestore di risorse: coordina l uso condiviso delle risorse del sistema (CPU, memorie, dischi, stampanti, ecc.) da parte di più programmi (in esecuzione simultanea) cercando di utilizzarle al meglio (minimizzare itempi morti). Controllore: controlla che un programma in esecuzione non acceda ad informazioni di altri programmi esecuzione odel sistema operativo, compromettendone la riservatezza oil buon funzionamento in 5 Macchina virtuale di livello 3 L5 LIVELLO APPLICATIVO Traduzione (compilatore) o interpretazione L4 LIVELLO DEL LINGUAGGIO ASSEMBLATIVO Traduzione (assemblatore) L3 LIVELLO DEL SISTEMA OPERATIVO Interpretazione parziale L2 LIVELLO DEL LINGUAGGIO MACCHINA Interpretazione (microprogramma) o esecuzione diretta L1 LIVELLO DELLA MICROARCHITETTURA Hardware L0 LIVELLO DELLA LOGICA DIGITALE 6 3

Quali sono le funzioni di un SO? (Estensioni) 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 alle periferiche/dispositivi mette a disposizione operazioni di lettura/scrittura, invio/ricezione dati ad alto livello che possono essere usate senza conoscere i dettagli tecnici della periferica 7 Quali sono le funzioni di un SO? (2) (Estensioni) 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 8 4

Quali sono le funzioni di un SO? (3) (Gestione) Gestisce le risorse Ripartisce, secondo opportune politiche, le risorse disponibili (processore, RAM, periferiche) fra le varie applicazioni/utenti 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 ottimizza le prestazioni scegliendo delle politiche che permettano di sfruttare al meglio tutte le parti del computer 9 Quali sono le funzioni di un SO? (4) (Gestione e controllo) Gestisce malfunzionamenti del sistema rileva e gestisce situazioni anomale es: (1) se il disco ha un settore difettoso, il SO può ricopiare le informazioni residenti su quel settore da un altra parte (in modo trasparente all utente) Controlla che non ci siano interazioni potenzialmente dannose tra diversi programmi e utenti es: se un applicazione cerca di effettuare una operazione non permessa (come leggere i dati di un altra applicazione) il SO può bloccare l applicazione segnalando all utente la situazione 10 5

Un po di storia Prima generazione 1945-1955 valvole, programmi hardwired Seconda generazione 1955-1965 transistor, sistemi batch Terza generazione 1965 1980 Circuiti integrati (IC) e multiprogramming Quarta generazione 1980 oggi personal computers, reti 11 La seconda generazione:sistemi batch Nei primi sistemi batch l operatore: porta le schede al 1401 che trasferisce il contenuto delle schede su nastro inserisce il nastro nel 7094 (che effettua la vera e propria computazione) inserisce il nastro su un altro 1401 che stampa i risultati Prime idee: disaccoppiare I/O lento dalla computazione 12 6

Struttura di un job (seconda-terza generazione) Sistemi NON INTERATTIVI: un operatore si occupa di far eseguire i job L unica componente di sistema operativo erano le routine per gestire l I/O 13 La terza generazione e la multiprogrammazione L avvento dei dischi ha permesso di escludere i nastri: tecnica dello SPOOLING (Simultaneous Peripheral Operation On-Line). Obiettivo: utilizzare al massimo la CPU evitando i tempi morti dovuti alla lentezza dell I/O rispetto alla CPU I job (programmi) in esecuzione sono costituiti da una sequenza di CPU burst alternati ad I/O burst CPU burst I/O burst CPU burst I/O burst CPU burst 14 7

Tempo Esecuzione in un sistema multiprogrammato P1 P2 P3 La CPU viene assegnata a turno ai vari programmi in esecuzione: quando il programma a cui è assegnata la CPU chiede (al S.O.) l esecuzione di una operazione di I/O, la CPU viene assegnata ad un altro programma. Se il livello di multiprogrammazione è alto, la CPU non sarà mai inutilizzata. Context switch Indica chi è running in ogni istante t Indica per chi lavora il disco in ogni istante Indica un processo in attesa di iniziare I/O 15 La multiprogrammazione: vantaggi e problemi Vantaggi: mentre un programma deve attendere la fine di una operazione di I/O, un altro puo essere eseguito, quindi la CPU viene sfruttata meglio. Problemi: Bisogna far convivere diversi programmi, appartenenti anche ad utenti diversi, senza che interferiscano. Occorre gestire in modo appropriato le risorse (CPU e Memoria, in primo luogo) e assicurare una esecuzione protetta. Esempio (context switch): trasferimento della CPU da un programma ad un altro; ad ogni evento di questo tipo, il S.O. deve salvare lo stato del programma (i registri della CPU) in esecuzione e caricare lo stato salvato del programma prescelto tra quelli in attesa della CPU. 16 8

Dalla multiprogrammazione al time sharing Tempo P1 P1 termina P2 P2 termina P3 Obiettivo: garantire tempi di reazione rapidi ai programmi interattivi. P3 termina La CPU viene assegnata a turno ai vari programmi in esecuzione (un time-slice ciascuno). Un dispositivo hardware, il timer, invia dei segnali (interrupt) alla CPU per garantire che ciascun programma non occupi mai la CPU più a lungo di un time slice. Indica chi è running in ogni istante Timer 17 Sistemi Operativi in rete Oltre ai compiti tradizionali di un Sistema Operativo vengono fornite al programmatore ulteriori funzionalità per consentire l utilizzo di risorse disponibili in rete. host A host B host C applicazioni distribuite servizi di rete servizi di rete servizi di rete del SO del SO del SO kernel kernel kernel rete 18 9

Tipologie di Sistemi Operativi (1) S.O. per mainframe (es: IBM sistema z/os) Calcolatori con capacità di I/O molto elevata (molti dischi veloci e enorme spazio centinaia di Gbyte e oltre). Vengono utilizzati come server per grandi aziende o come Web server capaci di servire tantissime richieste simultanee. Gestiscono un misto di job batch, transaction processing, time sharing. S.O. per Server (es: UNIX, Windows NT/Windows Server 2003/2008) Sono fatti per servire molte richieste provenienti da diversi utenti collegati in rete. Rendono possibile la condivisione di risorse di vario tipo (print server, file server, mail server, file server). S.O. per PC/Workstation: Windows 95/98/2000/XP/Vista/7, Linux, MacOS A differenza dei precedenti, orientati a servire molti utenti, questi sono orientati a servire un singolo utente (o almeno un utente alla volta). 19 Tipologie di Sistemi Operativi (2) S.O.per sistemi real time (hard e soft): QNX, VxWorks,UnixRT(soft) Sono caratterizzati dalla necessità di soddisfare determinate deadline: hard se mancare la deadline può fare danni (controllo di un robot in una catena di montaggio), soft se mancare la deadline significa solo fornire un servizio degradato (es. streaming audio/video) S.O. per sistemi embedded. Windows C.E., Android, PalmOS, legos Smartphone PDA (Personal Digital Assistant) sistemi on board Lego Mindstorms. S.O. per smart card (rudimentali: pochissimo spazio) pagamenti elettronici Java-oriented: eseguono una JVM, possono ricevere applet ed eseguirli 20 10

Virtualizzazione Sullo stesso elaboratore possono essere eseguiti indipendentemente e simultaneamente sistemi operativi diversi (es. VMware, Microsoft Virtual PC, Xen, Virtual Box) Il VMM replica per ogni macchina virtuale le stesse interfacce hardware funzionalmente identiche a quelle della sottostante macchina fisica 21 11