Sistemi Operativi. Il sistema operativo: generalità Storia ed evoluzione dei sistemi operativi

Documenti analoghi
Sistemi Operativi. Il sistema operativo: generalità Storia ed evoluzione dei sistemi operativi

CLASSIFICAZIONE DEI SISTEMI OPERATIVI (in ordine cronologico)

Corso di Informatica

Sistemi Operativi. A.M. Fanelli Architettura dei Sistemi a. a Livello di Sistema Operativo. Livello di Linguaggi Applicativi

Sistemi Operativi: Concetti Introduttivi

MODULO 1: INTRODUZIONE

Introduzione ai sistemi operativi

TECNOLOGIA SISTEMI OPERATIVI

Lezione 2 Chiamate di procedura e risposta alle interruzioni

Informatica Generale 06 - Introduzione ai Sistemi Operativi

Capitolo 1: Introduzione

Fondamenti di Informatica T. Il Software

Interfaccia. Due sono i tipi di interfaccia più diffusi per interagire con un computer:

Capitolo 6 Le infrastrutture SoftWare

I SISTEMI OPERATIVI. Insieme di programmi che implementano funzioni essenziali per l uso di un sistema elaboratore.

Sistemi operativi. Motivazione. Tipi di software. Sistemi operativi. Un sistema operativo (SO) e un insieme di programmi che gestiscono le funzioni

Sistema Operativo. (hardware e software) della della macchina

Il Sistema Operativo fa parte del software di base; e` costituito da un insieme di programmi che interagiscono e cooperano per:

Informatica Generale 07 - Sistemi Operativi:Gestione dei processi

Capitolo 6 Le infrastrutture SoftWare

Lezione 5: Software. Firmware Sistema Operativo. Laboratorio di Informatica

L architettura del calcolatore

Architettura di Von Neumann. Architettura di Von Neumann. Architettura di Von Neumann INFORMATICA PER LE DISCIPLINE UMANISTICHE 2 (13042)

I sistemi operativi (prima parte) Agostino Lorenzi I sistemi operativi - Atlas

LEZIONE 4. Hardware (periferiche) Software (algoritmi)

Come funzionano i computer

Che cos e l Informatica. Informatica generale. Caratteristiche fondamentali degli algoritmi. Esempi di algoritmi. Introduzione

Struttura Logica del S.O:

Architettura dei calcolatori e Software di sistema

TEORIA DEI SISTEMI OPERATIVI. Sistemi monoprogrammatie multiprogrammati

Architettura dei calcolatori

Concetti Introduttivi

Gestione dei processi

Ogni computer ha un sistema operativo necessario per eseguire gli altri programmi Il sistema operativo, fra l altro, è responsabile di

Sistemi Operativi. La gestione delle risorse

INFORMATICA. L informatica comprende:

Sistemi Di Elaborazione Dell informazione

Lez. 4 L hardware. Prof. Pasquale De Michele Gruppo 2

Prof. Rossella Cancelliere

Capitolo 1 Introduzione. Il problema. Una transizione

L hardware da solo non è sufficiente per il funzionamento dell elaboratore È necessario introdurre il software:

Il calcolatore. Architettura di un calcolatore (Hardware)

Il software di sistema

Sistemi operativi 2003/2004. Danilo Bruschi Mattia Monga

Personal Computer: introduzione

Informatica Sistemi operativi Sistemi Operativi 1

Stadi evolutivi e modalità d'uso dei sistemi

Architettura di un calcolatore

Francia dalla contrazione delle parole INFORmazione e automatica. Elaborazione e trattamento automatico delle informazioni INFORMATICA

Memoria Secondaria o di Massa

Programmazione modulare

Parte II. Introduzione ai sistemi operativi e WindowsX. Parte II 1

Componenti principali

Il computer P R O F. L O R E N Z O P A R I S I

Architettura degli Elaboratori - 1

Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per l ambiente e il territorio

Corso di Informatica

Sistema operativo (SO)

Struttura hw del computer

interoperabilità fra dispositivi forniti da diversi produttori; superare i problemi legati alla limitazione del numero di risorse.

Architettura di Von Neumann

Architettura hardware

Sistemi Operativi (modulo di Informatica II) Introduzione

CALCOLATORI ELETTRONICI II

Macchina di von Neumann/Turing

Calcolatori Elettronici A a.a. 2008/2009

Fondamenti: Informatica, Computer, Hardware e Software

Il Sistema Operativo

Sistemi di Elaborazione delle Informazioni

Il computer P R O F. L O R E N Z O P A R I S I

Sistemi Operativi Modulo A a.a gruppo 1 (A-I)

Sistemi Operativi (prima parte) Appunti di TPI Elaborati dal prof. Ing. Mario Catalano Per la classe 3 Einf.

Corso di Calcolatori Elettronici I

Il Sistema Operativo (1)

Sistema operativo & file system 1

Componenti principali. Programma cablato. Architettura di Von Neumann. Programma cablato. Cos e un programma? Componenti e connessioni

Introduzione al funzionamento di un calcolatore elettronico

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.

Dal sistema operativo all' hardware

Lezione 16. Il Software di base

Sistemi Operativi. Lez. 0: Introduzione ai sistemi operativi

Programmazione A.A Architettura dei Calcolatori. ( Lezione V ) Componenti hardware e loro schema funzionale

Informatica A.A. 2006/2007. Università degli Studi di Catania. Giuseppe Nicosia

Lezione 3 Sistemi Operativi e misure di performance. Parleremo di

Architettura dei Calcolatori Elettronici

Input/Output (Cap. 7, Stallings)

Componenti e connessioni. Capitolo 3

Componenti di un sistema operativo

Programma del corso. Introduzione Rappresentazione delle Informazioni Calcolo proposizionale Architettura del calcolatore Reti di calcolatori

Fondamenti di programmazione!! Parte 2!

Dal sistema operativo all' hardware

Organizzazione strutturata

Il Software programmabili programma algoritmo

Bootstrap. Bootstrap. Shutdown. Struttura di un SO. Elementi principali di un SO:

CHE COS È L INFORMATICA. Prof. Enrico Terrone A. S. 2014/15

Informatica A. Allievi Gestionali A.A Nozioni di Base

Elementi base di un calcolatore. Hardware: Architettura di un elaboratore: il "Cuore" Obiettivo: introdurre un po di terminologia

Computer e Programmazione

Introduzione al Sistema Operativo MS-Windows ed all Uso dell IDE DEV-C++

FONDAMENTI DI INFORMATICA FONDAMENTI DI INFORMATICA UN POCO DI STORIA FONDAMENTI DI INFORMATICA. Lezione n. 1 UN POCO DI STORIA UN POCO DI STORIA

Transcript:

Sistemi Operativi Il sistema operativo: generalità Storia ed evoluzione dei sistemi operativi

Un sistema di elaborazione dati Sistema bancario Browser Web Prenotazioni aeree Editor Sistema Operativo Compilatori Interprete comandi Programmi applicativi Software di base Linguaggio macchina Microprogrammazione Hardware Dispositivi fisici Sistemi Operativi 16/17 Evoluzione 2

Un sistema di elaborazione dati dispositivi fisici: (CHIP, alimentatori, memorie) software primitivo che controlla i dispositivi del livello inferiore mediante codice di microprogramma (generalmente su ROM). OPZIONALE (Motorola sì, PowerPC no). Il set di istruzioni definisce il linguaggio macchina: istruzioni elementari per muovere dati, eseguire calcoli e comparare valori; su questo livello i dispositivi I/O sono controllati da valori caricati in speciali registri (registri d'interfaccia) sistema operativo vero e proprio, che nasconde la complessità dei livelli inferiori e fornisce al programmatore un insieme di istruzioni di alto livello (KERNEL MODE) software di sistema: interprete dei comandi (shell), web browser, editor, interfaccia grafica (USER MODE) programmi applicativi (Word, Excel, Eclipse, gcc,... ) Sistemi Operativi 16/17 Evoluzione 3

Concetti introduttivi Un moderno sistema di calcolo comprende una (ma generalmente più) CPU una memoria centrale (core memory) cache clock terminali dischi interfacce di rete input/output testuale input/output multimediale dispositivi di interfaccia ad altri sistemi Software che gestisca tutte le parti del sistema e che fornisca un'opportuna interfaccia all'utente Sistemi Operativi 16/17 Evoluzione 4

Concetti introduttivi Il Software: programmi di sistema (o di base) programmi applicativi Il software di base è l'insieme di programmi che rendono facilmente disponibile all'utente le potenzialità offerte dalla macchina (hardware) Una parte consistente del software di base è costituito dal Sistema Operativo Sistemi Operativi 16/17 Evoluzione 5

Concetti introduttivi Il S.O. può essere considerato come una interfaccia tra hardware e utente Il S.O. deve rendere la macchina trasparente all'utente Quindi saper utilizzare una macchina significa realmente conoscere e saper utilizzare il suo S.O. Macchine di architettura molto diversa a livello hardware possono utilizzare lo stesso S.O.: il S.O: svolge le stesse funzioni e si presenta all'utente nello stesso modo Sistemi Operativi 16/17 Evoluzione 6

Classificazione dei S. O. L'evoluzione delle architetture dei calcolatori segna anche l'evoluzione dei sistemi operativi In ordine cronologico 1. Dedicati 2. A lotti (batch) 3. Multiprogrammazione 4. Interattivi (Time-Sharing) 5. Quarta generazione (Personal computer) 6. Quinta generazione (Mobile) Sistemi Operativi 16/17 Evoluzione 7

Prima generazione 1945-1955 I calcolatori erano basati sulle valvole praticamente non vi era S.O. Howard Aiken John von Neumann Presper Eckert William Manchley Konrad Zuse Harvard Princeton Pensylvania Pensylvania Germania Sistemi dedicati quasi esclusivamente per il calcolo numerico/scientifico Sistemi Operativi 16/17 Evoluzione 8

Caratteristiche della 1 generazione un unico staff per progetto costruzione programmazione esecuzione manutenzione tutti i programmi erano scritti in linguaggi macchina (non esisteva l assembler) i linguaggi di alto livello di programmazione erano sconosciuti i sistemi operativi erano assenti (controlli fisici d'integrità delle valvole) negli ultimi anni, si introdussero i primi sistemi a schede perforate Sistemi Operativi 16/17 Evoluzione 9

Seconda generazione: 1955-1965 S.O. batch (gestione a lotti) è determinata dall'introduzione di importanti innovazioni tecnologiche: Transistor i calcolatori potevano essere prodotti e venduti a clienti nascono figure professionali distinte nel processo di produzione di un programma (JOB) costi di milioni di dollari (solo Università e grandi industrie) Sistemi Operativi 16/17 Evoluzione 10

Job (programma o insieme di programmi) un programmatore scrive il programma su carta (Fortran, Assembler), e perfora le schede; le riceve un operatore che le inserisce in una coda dei programmi, le immette nel calcolatore e, se necessario, carica l'opportuno compilatore; l'operatore consegna poi al programmatore l'output finale Sistemi Operativi 16/17 Evoluzione 11

Job (programma o insieme di programmi) problema: enorme spreco di tempo (set - up time) Caricamento nastro compilatore, esecuzione compilatore, scaricamento compilatore, caricamento assembler, esecuzione assembler, scaricamento assembler, caricamento oggetto, esecuzione programma.. soluzione: sistemi a lotti (batch) Sistemi Operativi 16/17 Evoluzione 12

Sistemi batch Nati per sfruttare meglio la velocità crescente delle macchine: eliminano i tempi morti tra programmi successivi di utenti diversi automatizzando le operazioni manuali Un insieme di lavori (jobs) viene accorpato in un lotto (batch) tramite un calcolatore ausiliario e trasferito su una unità di ingresso veloce (nastro) Ogni lavoro viene caricato da un operatore ed eseguito in sequenza senza interruzione fino al termine L'output viene scritto su un secondo nastro invece di essere stampato (stampa off line) La CPU viene ancora sottoutilizzata perché, durante le operazioni di I/O deve adeguarsi alla bassa velocità delle periferiche Sistemi Operativi 16/17 Evoluzione 13

Sistemi batch esecuzione I/O S.O. job 1 S.O. job 2 S.O. job 3 input output input output input output Sistemi Operativi 16/17 Evoluzione 14

Sistemi batch Si noti che servono due sistemi distinti. IBM 1401 per la gestione dei lotti IBM 7094 per l'esecuzione dei programmi Sistemi Operativi 16/17 Evoluzione 15

Terza generazione: 1965-1980 Circuiti integrati Multiprogrammazione Sistemi Operativi 16/17 Evoluzione 16

Sistemi operativi multitasking Con la multiprogrammazione (multitasking) più di un programma viene caricato in memoria contemporaneamente In genere si parla di processo: sequenza di istruzioni eseguite dalla CPU per portare a termine un programma Le operazioni di I/O di un programma sono sovrapposte temporalmente all'esecuzione delle istruzioni di un altro programma ciò è possibile grazie al canale che gestisce l'i/o CPU Memoria Canale Periferiche Sistemi Operativi 16/17 Evoluzione 17

Gestione dei processi esecuzione I/O attesa processo 1 processo 2 processo 3 inizio esecuzione processo 1 inizio I/O processo 1 fine I/O processo 1 ripresa esecuzione processo 1 fine esecuzione processo 1 Sistemi Operativi 16/17 Evoluzione 18

Gestione dei processi Il multitasking non è in grado di distinguere fra programmi che richiedono un uso frequente delle periferiche, da quelli che richiedono l'utilizzo per lunghi tempi della CPU (es: programmi di elaborazione matematica). Se uno di questi programmi ottiene la CPU non la rilascia spontaneamente, bloccando gli altri programmi esecuzione I/O attesa processo 1 processo 2 processo 3 Sistemi Operativi 16/17 Evoluzione 19

S.O. Time Sharing Nei S.O. interattivi (Time sharing) il tempo di utilizzo della CPU viene suddiviso dal sistema operativo in fette (time slice di durata 50-500 ms) Ogni processo in memoria riceve a turno l'uso della CPU per una unità di tempo Al termine del time slice il controllo torna comunque al S.O. che decide a chi affidare la CPU Sistemi Operativi 16/17 Evoluzione 20

Time Sharing Sono S.O. usati sopratutto per lo sviluppo di software in ambiente multiutente L'utente lavora al terminale riflette scrive riflette scrive. compila esegue e ha l'impressione di avere la macchina a sua completa disposizione L'overhead per la gestione della CPU può diventare significativo con molti processi attivi oppure con time slice molto piccolo Dopo i primi sistemi CTSS (MIT) (non aveva protezione hardware)e MULTICS (Multiplexed Information and Computing Service) (MIT + General Electric + Bell Labs) sono derivati gli attuali sistemi UNIX (Ken Thompson su PDP7) Sistemi Operativi 16/17 Evoluzione 21

Time Sharing esecuzione I/O attesa processo 1 processo 2 processo 3 processo a bassa priorità inizio esecuzione processo 1 time slice inizio I/O processo 1 fine esecuzione processo 1 Sistemi Operativi 16/17 Evoluzione 22

Batch e Time Sharing Batch Time Sharing Obiettivo principale Massimizza l uso del processore Minimizza il tempo di risposta Sorgente dei comandi al Sistema Operativo Job control language Comandi da terminale Sistemi Operativi 16/17 Evoluzione 23

Quarta generazione 1980- Sono basati sulla tecnologia VLSI (Very Large Scale Integration) Due sistemi operativi hanno dominato la scena dei Personal Computer e delle Workstation MS-DOS (Microsoft) con il derivato Windows L'utilizzo della CPU non è più critico (1 solo utente) Non vi è concorrenza (primi esemplari) Non vi sono meccanismi di protezione (vedi virus) UNIX (Bell Labs) Sistemi Operativi 16/17 Evoluzione 24

Quinta generazione 1990- Sistemi mobile Personal Digital Assistant (PDA) Telefoni cellulari Problemi: Memoria limitata Processori lenti Schermo piccolo Sistemi Operativi 16/17 Evoluzione 25

Reti La crescita di reti di PC e di WS ha permesso lo sviluppo di Network Operating Systems l'utente "vede" più calcolatori, può accedere a macchine remote e copiare file; ogni macchina ha il suo sistema operativo locale Distributed Operating Systems appare all'utente come un tradizionale sistema monoprocessore anche se è composto da più processori; l'esecuzione di programmi può essere a carico di macchine diverse (anche in parallelo) Due casi: gli N processori non condividono o condividono clock e/o memoria (loosely o tight coupled) Sistemi Operativi 16/17 Evoluzione 26

Sistemi operativi Real Time Sistemi operativi al servizio di una specifica applicazione che ha dei vincoli precisi nei tempi di risposta Il S.O. deve garantire un tempo massimo entro il quale mandare in esecuzione un programma a seguito di un evento Gestione di strumentazione Controllo di processo Gestione di allarme Sistemi transazionali (banche, prenotazioni) In generale si ha un sistema real-time quando il tempo di risposta dalla richiesta di esecuzione di un processo al completamento della stessa è sempre minore del tempo prefissato Sistemi Operativi 16/17 Evoluzione 27