CAPITOLO III SISTEMI OPERATIVI. Cos è un sistema operativo? A c osa serve? Come s v olge il suo lavoro?



Documenti analoghi
Il Sistema Operativo (1)

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

Corso di Informatica

Laboratorio di Informatica

Corso di Informatica

MODULO 02. Iniziamo a usare il computer

INFORMATICA. Il Sistema Operativo. di Roberta Molinari

Il SOFTWARE DI BASE (o SOFTWARE DI SISTEMA)

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

Sistemi operativi. Esempi di sistemi operativi

Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base

In un modello a strati il SO si pone come un guscio (shell) tra la macchina reale (HW) e le applicazioni 1 :

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro

Gestore di Memoria. Gestire le richieste di risorse di memoria Liberare le risorse non più utilizzate. Gestire la memoria virtuale (swap su disco)

Informatica 1 Lezione 1

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

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

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

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

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

1 -Introduzione MODULO L1

Il Software. Il software del PC. Il BIOS

Informatica. Teoria. L architettura dei PC Storia dell informatica Periferiche Reti - Software. Marco Brama

Il computer: primi elementi

NOZIONI ELEMENTARI DI HARDWARE E SOFTWARE

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

Architetture Informatiche. Dal Mainframe al Personal Computer

STRUTTURE DEI SISTEMI DI CALCOLO

Hardware delle reti LAN

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

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

Informatica e Bioinformatica: Sistemi Operativi

Architetture Informatiche. Dal Mainframe al Personal Computer

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

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

Software di base. Corso di Fondamenti di Informatica

Il sistema di elaborazione Hardware e software

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

Il software. Capitolo 3 La potenza non è nulla senza il software. Informatica di Base -- R.Gaeta 1

Parte V. Sistemi Operativi & Reti. Sistemi Operativi. Sistemi Operativi

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

Come funziona un sistema di elaborazione

CdL in Medicina Veterinaria - STPA AA

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

Sistemi operativi e reti A.A Lezione 2

All interno del computer si possono individuare 5 componenti principali: SCHEDA MADRE. MICROPROCESSORE che contiene la CPU MEMORIA RAM MEMORIA ROM

Lifephone. Introduzione. Database. Sito

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

IL SOFTWARE. Giada Agostinacchio Classe 2^ Beat ISIS G.Meroni Lissone Anno Scolastico 2007/2008

02 L Informatica oggi. Dott.ssa Ramona Congiu

Il Software e Il Sistema Operativo. Prof. Francesco Accarino IIS Altiero Spinelli A.S. 09/10

TITLE Sistemi Operativi 1

ISTVAS Ancona Introduzione ai sistemi operativi Tecnologie Informatiche

Esame di INFORMATICA

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

Scuola Secondaria di Primo Grado Anna Frank Nome Cognome classe anno sc. 2008/09 INFORMATICA

Crotone, maggio Windows. Ing. Luigi Labonia

Il Computer 1. A cosa serve un Computer? Scrivere, Calcolare, Disegnare, Giocare, Ricercare informazioni, Comprare

Corso di Informatica

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

Introduzione ai Sistemi Operativi

Architettura di un sistema operativo

Approccio stratificato

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

ISTITUTO COMPRENSIVO ENEA TALPINO Nembro. Curricolo verticale COMPETENZE DIGITALI

Corso di Alfabetizzazione Informatica

Modulo informatica di base 1 Linea 2

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

Alfabetizzazione Informatica. Prof. Giuseppe Patti

Architettura dei computer

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

DESKTOP. Uso del sistema operativo Windows XP e gestione dei file. Vediamo in dettaglio queste parti.

Informatica. Scopo della lezione

Classificazione del software

ISIS C.Facchinetti Sede: via Azimonti, Castellanza Modulo Gestione Qualità UNI EN ISO 9001 : 2008

Il Personal Computer. Cos è Lo schema di massima Che cosa ci possiamo fare. 1

Il sistema di elaborazione

Lezione 4 La Struttura dei Sistemi Operativi. Introduzione

Microsoft Office XP. dott. ing. Angelo Carpenzano. La suite Microsoft Office XP

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

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

Sistemi Operativi MECCANISMI E POLITICHE DI PROTEZIONE. D. Talia - UNICAL. Sistemi Operativi 13.1

MECCANISMI E POLITICHE DI PROTEZIONE 13.1

Calcolo numerico e programmazione. Sistemi operativi

CdL in Medicina Veterinaria - STPA AA

Funzioni del Sistema Operativo

Come usare P-touch Transfer Manager

Piano Nazionale di Formazione degli Insegnanti sulle Tecnologie dell'informazione e della Comunicazione. Percorso Formativo C1.

Preparazione di una immagine di Windows XP per la distribuzione

ECDL MODULO 1 Concetti di base della tecnologia dell informazione. Prof. Michele Barcellona

Informatica - A.A. 2010/11

La Filosofia ''Open Source'' ed il Sistema Operativo ''Linux''. Gabriele Turco e Tudor Trani.

Appunti di informatica. Lezione 6 anno accademico Mario Verdicchio

Il sistema operativo

Corso di Alfabetizzazione Informatica

Breve storia del calcolo automatico

01/05/2014. Dalla precedente lezione. Ruolo dei sistemi operativi. Esecuzione dei programmi

Benvenuti/e.

CHE COS È L INFORMATICA

I L C O M P U T E R COM E FATTO DENTRO (Unità 2)

Transcript:

CAPITOLO III SISTEMI OPERATIVI Cos è un sistema operativo? A c osa serve? Come s v olge il suo lavoro? Corso di Didactics of Computer Science Università degli Studi di Trento

Indice La storia dei sistemi operativi L architettura dei sistemi operativi Il coordinamento delle attività della macchina Sicurezza del computer

Definizione di SO Un sistema operativo (SO) è un insieme di programmi (software) che interagiscono da intermediari tra l utente e le risorse di un calcolatore. Quattro sono le caratteristiche principali: 1. controlla l insieme delle operazioni su un computer 2. fornisce i mezzi con cui un utente può memorizzare e recuperare i file 3. fornisce un interfaccia con cui l utente può eseguire i programmi 4. fornisce l ambiente necessario a eseguire i programmi richiesti

Un paragone.. - Hardware: struttura di una casa (i muri, il pavimento, le pareti) - SO: fornisce i servizi di base che rendono la casa abitabile (luce, acqua, gas, telefono) - Programmi applicativi: l'arredamento. Uno scrittore avrà bisogno di una scrivania (programmi di videoscrittura), chi ama la musica vorrà un impianto stereo (programmi per ascoltare musica), per un bambino servirà la stanza dei giochi (programmi per giocare) e così via..

Esempi di SO per computer Windows (Microsoft) Mac (Apple) Ubuntu (GNU/Linux ) Cosmetica vs pacchetti offerti, filosofia di progettazione, sicurezza e stabilità.

L evoluzione del SO Sito che racconta la storia hardware dei computer http://www.windoweb.it/edpstory_new/eh1960.htm 1950 1960: rivoluzionaria invenzione del transistor (dispositivi semiconduttori usati nell elettronica digitale per amplificare il segnale in entrata o svolgere il ruolo di interruttori) - gli elaboratori (o mainframe) costruiti e venduti in serie, - unici acquirenti: Centri di Calcolo, Università, banche - calcolatori erano molto inaffidabili - le valvole che li componevano si rompevano spesso - non esisteva ancora il concetto di SO - 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

L evoluzione del SO Per eseguire dei programmi o job un programmatore doveva: 1. Scrivere il proprio programma su carta 2. Trasferirlo su schede 3. Caricarlo nel computer 4. Attendere il termine dell'esecuzione e la stampa del risultato Tale operazione era molto dispendiosa in termini di tempo e non 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: manca DMA (direct memory access)

L evoluzione del SO Soluzione: sistema batch (a lotti) l idea di base è dividere il job (istruzioni codificate secondo il job control language JCL) in 3 fasi : 1. caricamento dei dati (coda FIFO, LIFO) 2. calcolo 3. stampa Necessaria la presenza di un operatore che legga ed esegua le istruzioni Nessuna possibilità di modifica delle operazioni in corso il che va bene per attività decise in anticipo (ad esempio elaborazione buste paga) ma non per sistemi prenotazione, computer games etc

L evoluzione del SO 1960: Si riscontra la necessità di un dialogo continuo e veloce. Sviluppo dei Processi interattivi è la macchina che si adegua ai tempi dell utente e non il contrario Processi Real Time: computer è obbligato a eseguire gli ordini entro un tempo di scadenza Dati i costi ingenti si vuole soddisfare più utenti allo stesso tempo: Dati i costi ingenti si vuole soddisfare più utenti allo stesso tempo: Time-sharing (tecnica della multiprogrammazione)*

L evoluzione del SO Programmi vengono salvati nella memoria di massa e si eliminano le schede perforate con la conseguente riduzione degli spazi occupati Svanisce il ruolo dell intermediario tra l utente e la macchina (ad oggi siamo noi i responsabili totali delle nostre azioni sui nostri personal computer) Nascita del ruolo dell amministratore del sistema: controllo attività dei vari account e delle nuove componenti installate, imposta i limiti della memoria Se le istruzioni sono complesse è possibile assegnare compiti diversi a processori diversi per accelerare i tempi: nascono i multiprocessori. Problemi di load balancing (assegnare le attività ai processori in maniera efficiente) e scaling (suddividere le mansioni in sottomansioni in numero compatibile col numero di processori disponibili) E possibile far eseguire più compiti allo stesso utente: Multitasking E possibile connettere computer tra qualsiasi parte del mondo grazie al computer s network per gestire risorse su più macchine

L evoluzione del SO UNIX fu progettato a partire dal 1969 da un gruppo di ricercatori della AT&T, tra cui erano presenti Ken Thompson, Dennis Ritchie e Douglas Mcllroy presso i Bell Laboratories, NJ Si ispirò a Multics, e divenne un sistema molto interattivo, affidabile e ricco di funzionalità, tanto che tuttora domina il mercato delle workstation (tipologia di computer non destinato a specifici compiti)) Furono sviluppate diverse varianti di UNIX, come BSD (Berkley Software Distribution)e Minix (usato in ambito didattico) e successivamente (sulla base di MINIX e UNIX) l'ormai famosissimo Linux

Chi ha inventato Linux? 1991: "Hello everybody out there [...] i'm doing a (free) operating system, just a hobby, won't be big and professional [...]". Linus Torvalds, studente finlandese dell università di Helsinki, è colui che ha iniziato lo sviluppo del kernel Linux. Il sistema operativo GNU/Linux, é entrato nella storia come valida alternativa ai sistemi operativi commerciali a licenza chiusa (come Microsoft Windows, Mac OS X); a differenza di questi ultimi sistemi, infatti, Linux è software libero rilasciato sotto licenza General Public License GPL (chiunque può accedere al codice sorgente del SO, modificarlo, usare l'eseguibile per ogni scopo e copiare legalmente tale software) La popolarità di Torvalds ebbe inizio a seguito di una disputa di carattere tecnico con il professor Andrew Tanenbaum che aveva realizzato per scopi didattici Minix, un SO simile a Unix che veniva distribuito con il codice sorgente ma vietava di apportare modifiche al codice senza l'autorizzazione dell'autore. L'idea di Tux, la mascotte di Linux, è attribuita alla moglie.

L evoluzione del SO 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 Negli anni 80 la Apple era uno dei pochi che credeva nell'idea Personal Computer : un computer ad uso generico le cui dimensioni, prestazioni e prezzo di acquisto lo rendano adatto alle esigenze del singolo individuo. All'epoca era difficile immaginare cosa potesse farsene una persona di un computer in casa, figuriamoci di un computer per quasi ogni componente della stessa famiglia 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 (novembre 1985)

L evoluzione del SO Oggigiorno è disponibile una grande varietà di sistemi di elaborazione dalle più disparate dimensioni e performance a costi contenuti : - SO per cellulari: Android, Apple ios, BlackBerry,Symbian OS. - smartphone cellulare intelligente : dispositivo portatile che abbina funzionalità di telefono cellulare a quelle di gestione di dati personali. - sistemi embedded (incorporati): progettati appositamente per una determinata applicazione ovvero non riprogrammabili. Esempi: sportelli bancomat, apparecchi POS, decoder digitali, elettrodomestici, dispositivi medici, navette spaziali.. Forse un giorno riusciremo ad avere dei computer pesanti solo 1 tonnellata e grandi qualche metro quadrato. (Dipendente IBM verso gli anni 50)

Analisi dell architettura del SO Programmi utili per l utente: -Fogli di calcolo -Database -Editoria -Giochi Programmi non inclusi ma che utente sceglie in base ai propri gusti: -compressione dati -multimedialità -chat -creazione cd Fornisce infrastrutture richieste dall application software per regolarne attività

Interfaccia Permette la comunicazione tra le azioni richieste dall utente e il computer Quelle più datate (shell) comunicavano tramite messaggi sullo schermo inseriti con la tastiera Quelle più moderne GUI (graphical user interface) permettono la manipolazione degli oggetti rappresentati da icone tramite il mouse, dispositivi touch o puntatori grafici Qualche SO permette di sceglierne fra varie Una componente importante è il Windows Manager (WM) che riserva porzioni dello schermo (finestre) per visualizzare le applicazioni in uso. E il WM che reagisce nel punto corretto e con l applicazione selezionata quando clicchiamo il mouse.

Kernel Contiene le informazioni per svolgere le funzioni di base al momento dell installazione del SO: Componenti del kernel (nucleo): File manager (contiene l annotazione di tutti i file salvati nella memoria, dove sono e quali utenti possono accedervi. Per convenienza permette un organizzazione gerarchica delle cartelle espressa dal percorso) Driver delle periferiche: unità del software che comunicano con stampanti, monitor, etc Memory manager: incaricata di coordinare l uso della memoria principale quando i programmi vengono eseguiti. Quando lo spazio di memoria richiesta eccede lo spazio libero crea l illusione di avere dello spazio di memoria addizionale: Paging. E possibile caricare i blocchi di memoria solo quando necessario tramite una memoria virtuale poiché i programmi raramente utilizzano tutte le parti del loro codice contemporanemante Scheduler: fa avanzare più processi parallelamente interrompendoli quando opportuno ed eseguendo un cambio di contesto (switch) Dispatcher:controlla il tempo per queste attività

Windows Manager e interfaccia Mac OS e DOS

Cosa succede all accensione della macchina? Procedura Boot strapping (booting) : SO viene trasferito dalla memoria di massa dove è memorizzato permanentemente alla memoria principale che è volatile quindi vuota ad ogni accensione. Dopo il booting è il SO che controlla l attività della macchina Problema: la memoria principale essendo volatile perde tutti i dati ad ogni arresto Soluzione: si inserisce un programma chiamato Boot Loader che fa eseguire alla CPU le istruzioni iniziali nella ROM (read only memory) porzione di memoria principale non alterabile Domanda: perché non caricare tutto il SO sulla memoria principale ed evitare il booting? Non sarebbe una scelta efficiente in termini di occupazione spazio e non sarebbero possibili gli aggiornamenti di cui un SO necessita ai fini della sicurezza Firmware Update: aggiorna il SO Firmware system: attività fondamentali di I/O prima che SO diventi funzionante, include la BIOS (basic input output system)

Il SO come coordina l attività della macchina? Differenza tra programma (spartito) ed esecuzione di un programma (suonatore) Processo: attività di eseguire un programma sotto il controllo della CPU Stato di un processo: stato corrente dell attività eseguita identificato dai valori del registro della CPU e dalle relative celle assegnate La gestione dei processi è affidata a: - Scheduler: sa quali processi sono presenti nel computer, introduce quelli da eseguire e cancella quelli eseguiti. Per tenere traccia di tutte le informazioni usa una memoria chiamata tavola dei processi. Ogni volta che è richiesta l esecuzione di un programma crea una nuova entrata per quel processo nella tavola assegnandogli una priorità: vi sono due tipi di priorità, processi pronti o in attesa - Dispatcher: controllo l esecuzione e i tempi dei processi scheduled, indispensabile per la tecnica della multiprogrammazione

Multiprogrammazione tra i processi A e B Azionato da un circuito a tempo interrompe lavoro CPU che salva posizione corrente Esempi: Click, tasto, power Microsecondi: 10 6 s Fondamentale è la capacità si saper riprendere lavoro e ricreare l ambiente

Sicurezza del sistema informatico Vogliamo un SO ben progettato, affidabile, protetto e sicuro (evitare danneggiamento file o perdita dati causa crash del sistema) Ingegneria del software Per evitare attacchi esterni è conveniente: - se il computer è utilizzato da più persone servirsi di account con username e password (procedura Login), - creazione del ruolo dell amministratore: account che detiene privilegi speciali come ad esempio il poter monitorare il comportamento degli altri utenti e modificare i pacchetti del software - sviluppo di Auditing software: segnalano comportamenti insoliti rispetto alle azioni svolte dall utente in genere o vari tentativi errati di inserimento password Pericolo degli Sniffing software: memorizzano le attività svolte dall utente e le riportano a un intruso Il rischio principale resta la noncuranza degli utenti che usano password troppo facili come nomi o date, non le cambiano mai e le passano tra amici. Un sito per creare password robuste: http://www.marbaro.it/creare_password_complesse.htm

Sicurezza del sistema informatico Una volta ottenuto l access0 come amministratore si possono esplorare tutte le informazioni contenute e inserire software distruttivi. Ad esempio si può indurre il Memory Manager a permettere accessi fuori dall area assegnata occupando spazi di altri programmi, se un processo diventa capace di alterare gli intervalli di tempo che regolano la multiprogrammazione allora è in grado di dominare la macchina intera, etc.. Protezione da attacchi interni: oggi le CPU sono dotate di meccanismi per sventare tali attacchi, ma è necessario continuare a lavorare in questo settore! CPU ha una modalità privilegiata (istruzioni limitate) e una non privilegiata Il tentativo di svolgere un istruzione privilegiata quando la CPU è in modalità non privilegiata causa un arresto. All accensione è in modalità privilegiata, dopo il booting e all inizio di ogni time slice è in modalità non privilegiata così da permettere gli arresti

Che cos è l hacking? La pirateria informatica Un video (in inglese) che ce lo spiega in tre minuti: http://www.youtube.com/watch?v=hzc6bonjgsq Hacker: un esperto informatico con ottime capacità d'uso del pc, che nell'ampliamento delle sue conoscenze. Si differenziano in white hat e black hat (dai film western) si diverte White hat: crede che la rete internet sia un grande mezzo per permettere la comunicazione di notizie in tutto il mondo da parte di tutti e s'impegna nella difesa d'integrità di questo strumento. Ad esso contrapposto, il Black hat o cracker. Molti hacker tentano di convincere l'opinione pubblica che gli intrusi che entrano all'interno dei sistemi informatici senza autorizzazione con l'unico scopo di causare danno dovrebbero essere chiamati cracker piuttosto che hacker, ma l'uso errato permane nel vocabolario comune della gente.

Fine