際際滷

際際滷Share a Scribd company logo
CAPITOLO III
SISTEMI OPERATIVI


  Cos竪 un sistema operativo?

            A cosa serve?

  Come svolge il suo lavoro?


    Corso di Didactics of Computer Science
        Universit degli Studi di Trento
Indice

La storia dei sistemi operativi

Larchitettura 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 lutente e le risorse di un calcolatore.
Quattro sono le caratteristiche principali:
1.    controlla linsieme delle operazioni su un computer
2.   fornisce i mezzi con cui un utente pu嘆 memorizzare e recuperare i
     file
3.   fornisce uninterfaccia con cui lutente pu嘆 eseguire i programmi
4.   fornisce lambiente 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.
Levoluzione 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 nellelettronica 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
Levoluzione 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
     permetteva di sfruttare la macchina durante le lunghe fasi di
     caricamento di dati e programmi: manca DMA (direct memory access)
際際滷 trentin
Levoluzione del SO

  Soluzione: sistema batch (a lotti)
  lidea 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
Levoluzione del SO

1960: Si riscontra la necessit di un dialogo continuo e veloce. Sviluppo
dei Processi interattivi
 竪 la macchina che si adegua ai tempi dellutente 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:
Time-sharing (tecnica della multiprogrammazione)*
Levoluzione 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 dellintermediario tra lutente 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
computers network per gestire risorse su pi湛 macchine
Levoluzione 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 delluniversit 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.
Levoluzione 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)
Levoluzione 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 dellarchitettura del SO




                                           Fornisce infrastrutture
                                           richieste dallapplication
Programmi utili                            software per regolarne
per lutente:                              attivit
-Fogli di calcolo
-Database
-Editoria
-Giochi Programmi non inclusi ma
           che utente sceglie in base ai
           propri gusti:
           -compressione dati
           -multimedialit
           -chat
           -creazione cd
Interfaccia

Permette la comunicazione tra le azioni richieste dallutente 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 lapplicazione
selezionata quando clicchiamo il mouse.
Kernel

Contiene le informazioni per svolgere le funzioni di base al momento dellinstallazione
  del SO:
Componenti del kernel (nucleo):
  File manager (contiene lannotazione 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 luso della memoria principale
  quando i programmi vengono eseguiti. Quando lo spazio di memoria richiesta
  eccede lo spazio libero crea lillusione 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 allaccensione 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 lattivit 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 lattivit 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 dellattivit 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
lesecuzione 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 lesecuzione 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          Esempi: Click,
   lavoro CPU che salva posizione corrente             tasto, power




                                                Fondamentale 竪 la
                                                capacit si saper
      Microsecondi: 106 s                      riprendere lavoro e
                                                ricreare lambiente
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 dellamministratore: 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 dallutente in genere o vari tentativi errati di inserimento password
  Pericolo degli Sniffing software: memorizzano le attivit svolte dallutente 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 laccess0 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 dallarea
  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 unistruzione privilegiata quando la CPU 竪 in modalit non
   privilegiata causa un arresto.

Allaccensione 竪 in modalit privilegiata, dopo il booting e allinizio di ogni time slice 竪
   in modalit non privilegiata cos狸 da permettere gli arresti
Che cos竪 lhacking? 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 si diverte
 nell'ampliamento delle sue conoscenze.
        Si differenziano in white hat e black hat (dai film western)
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

More Related Content

What's hot (20)

Ti base 2020b
Ti base 2020bTi base 2020b
Ti base 2020b
Salvatore Cianciabella
Architettura elaboratore
Architettura elaboratoreArchitettura elaboratore
Architettura elaboratore
serex86
Concetti base di informatica
Concetti base di informaticaConcetti base di informatica
Concetti base di informatica
Gianni Locatelli
La struttura del pc
La struttura del pcLa struttura del pc
La struttura del pc
Erasmo Modica
Modulo 1 Concetti Generali
Modulo 1 Concetti GeneraliModulo 1 Concetti Generali
Modulo 1 Concetti Generali
massimotto65
Sistemi operativi: confronto tra linux, windows e mac
Sistemi operativi: confronto tra linux, windows e macSistemi operativi: confronto tra linux, windows e mac
Sistemi operativi: confronto tra linux, windows e mac
Giovanni Mennea
Architettura e nozioni di base
Architettura e nozioni di baseArchitettura e nozioni di base
Architettura e nozioni di base
Franco Marra
Software open
Software openSoftware open
Software open
Salvatore Cianciabella
Concetti Di Base Di Informatica
Concetti Di Base Di InformaticaConcetti Di Base Di Informatica
Concetti Di Base Di Informatica
Francesco Caliulo
Architettura di un computer, istituto tecnico
Architettura di un computer, istituto tecnicoArchitettura di un computer, istituto tecnico
Architettura di un computer, istituto tecnico
cesarem
Lezione 1
Lezione 1Lezione 1
Lezione 1
Francesco Caliulo
Alfabetizzazione informatica 8 ore
Alfabetizzazione informatica 8 oreAlfabetizzazione informatica 8 ore
Alfabetizzazione informatica 8 ore
Bruno Marzemin
Informatica Concetti Di Base - prima parte
Informatica Concetti Di Base - prima parteInformatica Concetti Di Base - prima parte
Informatica Concetti Di Base - prima parte
Anna Rita Colella
Informatica di base
Informatica di baseInformatica di base
Informatica di base
Bruno Montalto
Corso base introduzione pc
Corso base introduzione pcCorso base introduzione pc
Corso base introduzione pc
claudiatti
Ti 2021 22_new
Ti 2021 22_newTi 2021 22_new
Ti 2021 22_new
SalvatoreCianciabell
Concetti di base della tecnologia dell'informazione
Concetti di base della tecnologia dell'informazioneConcetti di base della tecnologia dell'informazione
Concetti di base della tecnologia dell'informazione
Stefano Di Battista
Presentazione Sistemi Operativi
Presentazione Sistemi OperativiPresentazione Sistemi Operativi
Presentazione Sistemi Operativi
Michele Simonetti
Architettura elaboratore
Architettura elaboratoreArchitettura elaboratore
Architettura elaboratore
serex86
Concetti base di informatica
Concetti base di informaticaConcetti base di informatica
Concetti base di informatica
Gianni Locatelli
La struttura del pc
La struttura del pcLa struttura del pc
La struttura del pc
Erasmo Modica
Modulo 1 Concetti Generali
Modulo 1 Concetti GeneraliModulo 1 Concetti Generali
Modulo 1 Concetti Generali
massimotto65
Sistemi operativi: confronto tra linux, windows e mac
Sistemi operativi: confronto tra linux, windows e macSistemi operativi: confronto tra linux, windows e mac
Sistemi operativi: confronto tra linux, windows e mac
Giovanni Mennea
Architettura e nozioni di base
Architettura e nozioni di baseArchitettura e nozioni di base
Architettura e nozioni di base
Franco Marra
Concetti Di Base Di Informatica
Concetti Di Base Di InformaticaConcetti Di Base Di Informatica
Concetti Di Base Di Informatica
Francesco Caliulo
Architettura di un computer, istituto tecnico
Architettura di un computer, istituto tecnicoArchitettura di un computer, istituto tecnico
Architettura di un computer, istituto tecnico
cesarem
Alfabetizzazione informatica 8 ore
Alfabetizzazione informatica 8 oreAlfabetizzazione informatica 8 ore
Alfabetizzazione informatica 8 ore
Bruno Marzemin
Informatica Concetti Di Base - prima parte
Informatica Concetti Di Base - prima parteInformatica Concetti Di Base - prima parte
Informatica Concetti Di Base - prima parte
Anna Rita Colella
Informatica di base
Informatica di baseInformatica di base
Informatica di base
Bruno Montalto
Corso base introduzione pc
Corso base introduzione pcCorso base introduzione pc
Corso base introduzione pc
claudiatti
Concetti di base della tecnologia dell'informazione
Concetti di base della tecnologia dell'informazioneConcetti di base della tecnologia dell'informazione
Concetti di base della tecnologia dell'informazione
Stefano Di Battista
Presentazione Sistemi Operativi
Presentazione Sistemi OperativiPresentazione Sistemi Operativi
Presentazione Sistemi Operativi
Michele Simonetti

Similar to 際際滷 trentin (20)

HARDWARE & SOFTWARE
HARDWARE & SOFTWAREHARDWARE & SOFTWARE
HARDWARE & SOFTWARE
GiuseppeSquillaci1
Ti base 2020
Ti base 2020Ti base 2020
Ti base 2020
Salvatore Cianciabella
Sistemi operativi
Sistemi operativiSistemi operativi
Sistemi operativi
AlessioBarretta
Introduzione al computer e a Internet
Introduzione al computer e a InternetIntroduzione al computer e a Internet
Introduzione al computer e a Internet
Carlo Vaccari
Power point sistemi operativi , luca marcella 3属 e
Power point sistemi operativi , luca marcella 3属 ePower point sistemi operativi , luca marcella 3属 e
Power point sistemi operativi , luca marcella 3属 e
Luca Marcella
Guida ai Sistemi Operativi Windows 10 e Windows 11
Guida ai Sistemi Operativi Windows 10 e Windows 11Guida ai Sistemi Operativi Windows 10 e Windows 11
Guida ai Sistemi Operativi Windows 10 e Windows 11
Salvatore Cianciabella
dispense del corso di Architetture degli Elaboratori e Sistemi Operativi
dispense del corso di Architetture degli Elaboratori e Sistemi Operatividispense del corso di Architetture degli Elaboratori e Sistemi Operativi
dispense del corso di Architetture degli Elaboratori e Sistemi Operativi
casalithomas
La storia dei computer
La storia dei computerLa storia dei computer
La storia dei computer
Alessio_Ventura
Sistemi operativi proprietari
Sistemi operativi proprietariSistemi operativi proprietari
Sistemi operativi proprietari
Giadarossi
Storia del computer
Storia del computerStoria del computer
Storia del computer
Diego Del Pupo
Storia del computer singolo
Storia del computer singoloStoria del computer singolo
Storia del computer singolo
scaliafrancesco
Sistemi 2 (4' ITI) - Lezione 1
Sistemi 2 (4' ITI) - Lezione 1Sistemi 2 (4' ITI) - Lezione 1
Sistemi 2 (4' ITI) - Lezione 1
Emanuele Alberto Vecchi
Storia del computer singolo
Storia del computer singoloStoria del computer singolo
Storia del computer singolo
scaliafrancesco
Storia del computer singolo
Storia del computer singoloStoria del computer singolo
Storia del computer singolo
Francesco Scalia
MODULO 1-Informatica di Base
MODULO 1-Informatica di BaseMODULO 1-Informatica di Base
MODULO 1-Informatica di Base
Leonardo Pergolini
Elementidi informatica
Elementidi informaticaElementidi informatica
Elementidi informatica
giu89
Presentazione sistemi operativi meli marco
Presentazione sistemi operativi meli marcoPresentazione sistemi operativi meli marco
Presentazione sistemi operativi meli marco
Marco Meli
Da Thompson a Torvalds: passato, presente e futuro del mondo *nix
Da Thompson a Torvalds: passato, presente e futuro del mondo *nixDa Thompson a Torvalds: passato, presente e futuro del mondo *nix
Da Thompson a Torvalds: passato, presente e futuro del mondo *nix
Felice Pescatore
Introduzione al computer e a Internet
Introduzione al computer e a InternetIntroduzione al computer e a Internet
Introduzione al computer e a Internet
Carlo Vaccari
Power point sistemi operativi , luca marcella 3属 e
Power point sistemi operativi , luca marcella 3属 ePower point sistemi operativi , luca marcella 3属 e
Power point sistemi operativi , luca marcella 3属 e
Luca Marcella
Guida ai Sistemi Operativi Windows 10 e Windows 11
Guida ai Sistemi Operativi Windows 10 e Windows 11Guida ai Sistemi Operativi Windows 10 e Windows 11
Guida ai Sistemi Operativi Windows 10 e Windows 11
Salvatore Cianciabella
dispense del corso di Architetture degli Elaboratori e Sistemi Operativi
dispense del corso di Architetture degli Elaboratori e Sistemi Operatividispense del corso di Architetture degli Elaboratori e Sistemi Operativi
dispense del corso di Architetture degli Elaboratori e Sistemi Operativi
casalithomas
La storia dei computer
La storia dei computerLa storia dei computer
La storia dei computer
Alessio_Ventura
Sistemi operativi proprietari
Sistemi operativi proprietariSistemi operativi proprietari
Sistemi operativi proprietari
Giadarossi
Storia del computer
Storia del computerStoria del computer
Storia del computer
Diego Del Pupo
Storia del computer singolo
Storia del computer singoloStoria del computer singolo
Storia del computer singolo
scaliafrancesco
Storia del computer singolo
Storia del computer singoloStoria del computer singolo
Storia del computer singolo
scaliafrancesco
Storia del computer singolo
Storia del computer singoloStoria del computer singolo
Storia del computer singolo
Francesco Scalia
MODULO 1-Informatica di Base
MODULO 1-Informatica di BaseMODULO 1-Informatica di Base
MODULO 1-Informatica di Base
Leonardo Pergolini
Elementidi informatica
Elementidi informaticaElementidi informatica
Elementidi informatica
giu89
Presentazione sistemi operativi meli marco
Presentazione sistemi operativi meli marcoPresentazione sistemi operativi meli marco
Presentazione sistemi operativi meli marco
Marco Meli
Da Thompson a Torvalds: passato, presente e futuro del mondo *nix
Da Thompson a Torvalds: passato, presente e futuro del mondo *nixDa Thompson a Torvalds: passato, presente e futuro del mondo *nix
Da Thompson a Torvalds: passato, presente e futuro del mondo *nix
Felice Pescatore

際際滷 trentin

  • 1. CAPITOLO III SISTEMI OPERATIVI Cos竪 un sistema operativo? A cosa serve? Come svolge il suo lavoro? Corso di Didactics of Computer Science Universit degli Studi di Trento
  • 2. Indice La storia dei sistemi operativi Larchitettura dei sistemi operativi Il coordinamento delle attivit della macchina Sicurezza del computer
  • 3. Definizione di SO Un sistema operativo (SO) 竪 un insieme di programmi (software) che interagiscono da intermediari tra lutente e le risorse di un calcolatore. Quattro sono le caratteristiche principali: 1. controlla linsieme delle operazioni su un computer 2. fornisce i mezzi con cui un utente pu嘆 memorizzare e recuperare i file 3. fornisce uninterfaccia con cui lutente pu嘆 eseguire i programmi 4. fornisce lambiente necessario a eseguire i programmi richiesti
  • 4. 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..
  • 5. Esempi di SO per computer Windows (Microsoft) Mac (Apple) Ubuntu (GNU/Linux ) Cosmetica vs pacchetti offerti, filosofia di progettazione, sicurezza e stabilit.
  • 6. Levoluzione 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 nellelettronica 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
  • 7. Levoluzione 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 permetteva di sfruttare la macchina durante le lunghe fasi di caricamento di dati e programmi: manca DMA (direct memory access)
  • 9. Levoluzione del SO Soluzione: sistema batch (a lotti) lidea 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
  • 10. Levoluzione del SO 1960: Si riscontra la necessit di un dialogo continuo e veloce. Sviluppo dei Processi interattivi 竪 la macchina che si adegua ai tempi dellutente 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: Time-sharing (tecnica della multiprogrammazione)*
  • 11. Levoluzione 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 dellintermediario tra lutente 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 computers network per gestire risorse su pi湛 macchine
  • 12. Levoluzione 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
  • 13. 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 delluniversit 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.
  • 14. Levoluzione 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)
  • 15. Levoluzione 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)
  • 16. Analisi dellarchitettura del SO Fornisce infrastrutture richieste dallapplication Programmi utili software per regolarne per lutente: attivit -Fogli di calcolo -Database -Editoria -Giochi Programmi non inclusi ma che utente sceglie in base ai propri gusti: -compressione dati -multimedialit -chat -creazione cd
  • 17. Interfaccia Permette la comunicazione tra le azioni richieste dallutente 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 lapplicazione selezionata quando clicchiamo il mouse.
  • 18. Kernel Contiene le informazioni per svolgere le funzioni di base al momento dellinstallazione del SO: Componenti del kernel (nucleo): File manager (contiene lannotazione 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 luso della memoria principale quando i programmi vengono eseguiti. Quando lo spazio di memoria richiesta eccede lo spazio libero crea lillusione 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
  • 19. Windows Manager e interfaccia Mac OS e DOS
  • 20. Cosa succede allaccensione 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 lattivit 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)
  • 21. Il SO come coordina lattivit 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 dellattivit 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 lesecuzione 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 lesecuzione e i tempi dei processi scheduled, indispensabile per la tecnica della multiprogrammazione
  • 22. Multiprogrammazione tra i processi A e B Azionato da un circuito a tempo interrompe Esempi: Click, lavoro CPU che salva posizione corrente tasto, power Fondamentale 竪 la capacit si saper Microsecondi: 106 s riprendere lavoro e ricreare lambiente
  • 23. 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 dellamministratore: 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 dallutente in genere o vari tentativi errati di inserimento password Pericolo degli Sniffing software: memorizzano le attivit svolte dallutente 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
  • 24. Sicurezza del sistema informatico Una volta ottenuto laccess0 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 dallarea 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 unistruzione privilegiata quando la CPU 竪 in modalit non privilegiata causa un arresto. Allaccensione 竪 in modalit privilegiata, dopo il booting e allinizio di ogni time slice 竪 in modalit non privilegiata cos狸 da permettere gli arresti
  • 25. Che cos竪 lhacking? 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 si diverte nell'ampliamento delle sue conoscenze. Si differenziano in white hat e black hat (dai film western) 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.
  • 26. Fine