SlideShare uma empresa Scribd logo
1 de 31
Baixar para ler offline
OPERATING SYSTEM
 Tipologie e implementazioni
Who am i?
Casenove Matteo

      Studente dell’ Università di Pisa

      Vice Presidente @System

      Membro di MinixGroupPisa

Collaborazioni con:


AIPSI : Associazione Italiana Professionisti
          Sicurezza Informatica

Clusit : Associazione Italiana per la Sicurezza
            Informatica
Sommario
Definizione SO

Tipologie

Concetti di base

Implementazioni
    Windows
    Linux
    MINIX3

Linux Internals
    Processi
    Memoria
    FileSystem
    Periferiche
Definizione SO
Il Sistema Operativo è un insieme di programmi e strutture dati che
offre principalmente tre funzionalità:

     Supporto agli sviluppatori: permette utilizzo delle chiamate di
     sistema come interfaccia con la macchina(SysCall).

     Astrazione dalle risorse: crea un’astrazione dell’hardware e lo
     gestisce utilizzando politiche adeguate(Driver).

     Protezione delle risorse: impedisce un uso incauto delle risorse e
     un accesso non autorizzato alle informazioni(Livelli di Privilegi).
Tipologie di SO
Attualmente possiamo trovare 3 tipologie di SO
distinguibili in base alla loro struttura interna
    Monolitici
    Microkernel
    Ibridi


     Ognuno di questi ha delle particolarità che li
                  caratterizzano
SO Monolitici
   I kernel Monolitici hanno un corpo unico: un
   unico grande programma che gestisce risorse e
                   offre servizi.

Le varie parti del SO vengono integrate nel kernel tramite l’aggiunta di moduli
che pero’ risultano essere dipendenti l’uno dall’altro.
Il sistema in funzione delle operazioni da eseguire, ha due livelli di privilegio:
user mode e kernel mode.
I servizi offerti dal SO sono richiesti invocando delle system call che lavorano in
kernel mode.
Il meccanismo di comunicazione(IPC) è a memoria condivisa. Esso rende la
comunicazione veloce.
SO Monolitici
-   Il sistema risulta difficile da
    modificare e caratterizzato
    dall'interdipenza dei moduli.
    Ogni modifica comporta la
    ricompilazione dell'intero
    sistema e il singolo crash di un
    elemento porta al crash
    dell'intero sistema.

✓ Buona protezione dalla lettura
    del codice da terzi.

✓ Le chiamate di sistema
    risultano più efficienti,
    utilizzando una IPC a
    memoria condivisa.
SO Microkernel
      I microkernel hanno una struttura a livelli:
               kernel level e user level.

Il kernel level è minimale e diviso in piccoli moduli indipendenti che
implementano le funzionalità di base(system call, IPC, timer clock, scheduler).

Tutti gli altri servizi ( file system, driver ecc.) sono nello user level e sono tutti
dei processi indipendenti. Essi vengono chiamati Server.

Il meccanismo di comunicazione(IPC) è lo scambio di messaggi (send, receive).
SO Microkernel
-   Diminuzione dall’efficienza del
    sistema dovuta all’utilizzo dello
    scambio di messaggi.

✓ La comunicazione tra i vari
    processi viene fatta sfruttando le
    primitive dei livelli
    sottostanti( distinzione dei
    privilegi ).

✓ Ogni processo è indipendente,
    questo permette la modifica di
    uno senza la ricompilazione del
    tutto.

✓ Diminuzioni di vulnerabilità
    strutturali, maggiore robustezza.
SO Ibridi
      I Sistemi ibridi sono la combinazione di un
       sistema microkernel con uno monolitico.

Usa una struttura a microkenel ma implementata come sistema monolitico.

Usa Server separati per i servizi del kernel (filesystem, driver ecc ) ma li
incorpora a livello kernel.

Non hanno una struttura particolare vera e propria. Possono essere definiti
come un Microkernel modificato.

Su questa struttura ci sono parecchie controversie e linee di pensiero.
SO Ibridi
Vantaggi e svantaggi sono un mix di quelli del so monolitico e del so
microkernel considendo che non viene sfruttata al massimo nessuna
delle due strutture
Concetti di base
    Alla base di tutti i modelli di SO ci sono dei
                  concetti comuni:

          Il Processo

          La Memoria

          Il FileSystem

          I/O

! Ogni modello si caratterizza da come implementa questi concetti.
Il processo
     E’ l’unità di base del sistema operativo. Esso
        rappresenta l’istanza(esecuzione) di un
                       programma.

Ad un processo viene associata una memoria virtuale cioè uno spazio di
indirizzamento sul quale può leggero e scrivere. Essa non rappresenta la
memoria reale ma una sua astrazione.

Il SO tiene una tabella con tutti i processi e la utilizza per scegliere il
programma da eseguire.

Un processo ha un ciclo di vita nel quale può assumere diversi stati: creato,
esecuzione, pronto, bloccato, morto.

E’ rappresentato da una propria struttura che contiene tutte le informazioni che
lo descrivono.
Il processo: memoria
                virtuale
Essa è grande quanto il massimo
numero indirizzabile. Nei sistemi
        a 32bit è 4gb(232).

E divisa in 2 segmenti principali:

Il segmento testo

Il segmento data

   i dati statici

   lo heap

   lo stack
La memoria
       Per memoria del Sistema operativo si intende
        come esso gestisce la RAM (o memoria non
                       permanente).

Il problema della gestione della memoria è molto articolato in quanto le
problematiche che entrano in gioco sono diverse.

Nel corso della storia c’è stata una evoluzione sulla gestione della memoria.

  1.    Tutta la memoria del processo veniva caricata in memoria.

  2.    Si caricava la memoria del processo divisa in segmenti.

  3.    Venne introdotto lo swap della memoria quando un processo usciva dallo
        stato di esecuzione

  4.    Infine si introdussero i blocchi e le pagine.
La memoria
La maggior parte dei sistemi operativi attuali gestiscono la memoria usando il
paging e lo swap.

      Si dividono i vari blocchi della memoria virtuale in pagine.

      le pagine vengono caricate in memoria ogni volta che un indirizzo all’interno
      della pagina viene referenziato. Questo viene fatto tramite l’utilizzo di una
      struttura del sistema chiamata page table che mette in corrispondenza le
      pagine della memoria virtuale con l’indizzo della pagina nella memoria reale.

      Quando un processo cambia il suo stato la pagina viene swappata cioè viene
      fatta una sua immagine e salvata in un file di swap.
La memoria
Il FileSystem
    E’ la parte del Sistema Operativo che fornisce
i meccanismi necessari per l’accesso e l’archiviazione
    delle informazioni in memoria permanente.
                     (HD, DVD)
  Esso permette di rappresentare concetti astratti come:

                il File : unità logica di base
                    rappresentato da una struttura che contiene gli attributi che lo
                    descrivono( grandezza, tipo , proprietario ecc. ).
                    la struttura contiene anche gli indirizzi fisici di dove risiedono le
                    informazioni nella memoria(hd).

                la Directory : insieme di file



     Si posiziona tra le applicazioni e la periferica hardware creando un’interfaccia,
                               semplificando così l’accesso.
Il FileSystem
La directory ( cartella) è un’astrazione che raggruppa logicamente più
file :

           una cartella può contenere più file
           può contenere a sua volta altre cartelle

La struttura logica del file system è un albero di file e cartelle, la cui
                struttura è definita dalle cartelle stesse.
I/O
Per I/O si intendono tutte le periferiche di Input e
      Output che il sistema si trova a gestire.

Le periferiche di I/O si possono dividere in 3 categorie:
  Periferiche a blocchi ( HD,DVD ) : si caratterizzano dal fatto
  che permetto la lettura e la scrittura di un blocco
  indipendentemente dagli altri. Possono essere indirizzate.
  Periferiche a caratteri ( Tastiera, mouse, stampante ) : queste
  forniscono o accettano un flusso di caratteri. Non possono
  essere indirizzate.
  Periferiche particolari che generano interrupts per segnalare un
  particolare evento.
Implementazioni di SO
  Delle tipologie precedentemente descritte di SO
 esistono delle implementazioni più o meno famose
  che descriveremo focalizzandoci in particolare su
                        una.

Implementazioni:

            Monolitici       Linux ( !! Vedremo una spiegazione dettagliata)

            Microkernel       Minix3

            Ibridi        Windows ( NT, 2000, XP, Vista )
Windows
                         (Slide molto critica)


      Windows è un sistema implementato ibrido.
  La sua struttura complessa è fatta in modo da proteggere il più
                   possibile il codice del sistema.

In Windows sono implementate tutte le politiche che si possono trovare in giro:
            politiche molteplici di scheduling( priorità dei processi )
            politiche macchinose sui processi (creazione e comunicazione)
            filesystem complicati e poco compatibili con gli altri standard

    L’idea di implementare tutto nel sistema e non focalizzarsi in un aspetto in
               particolare crea la caoticità del sistema della Microsoft.
Minix3
I sistemi a microkernel non sono molto sviluppati, per quanto la
loro struttura offre maggiori vantaggi rispetto alle altre. Si trovano
principalmente in ambiti di ricerca eccetto alcuni casi(AIX della
IBM o Mach) e utilizzati spesso in sistemi Embedded.



Minix3 è un sistema a microkernel implementato per
       la didattica da Andrew S. Tanenbaum.

Semplice alla lettura e alla modifica.
  Completo
  Modulare
In molti aspetti simile a Unix (standard POSIX)
Open Source
Linux
  Linux è un sistema monolitico sviluppato da Linus
                      Torvald.

La licenza Open Source è stata il punto di forza di Linux che gli ha
permesso un grande sviluppo nel corso degli anni.
Le funzionalità del sistema vengono aggiunte tramite l’integrazione
di nuovi moduli al kernel.
I principi di base del sistema sono molto semplici permettendo una
buona scrittura degli applicativi.
Permette l’accesso e la gestione completa del sistema avendo un
pieno controllo della macchina e una sua configurazione oculata per
le proprie esigenze.
Linux: processi
 I processi in linux sono integranti con il concetto di
   thread. Essi sono implementati a livello kernel e
       vengono schedulati come unità di base.

I thread sono un flusso di esecuzione all’interno di un processo
           un processo può avere più thread
           i thread di uno stesso processo lavorano parallelamente
           e in modo indipendente l’uno dall’altro.
I processi in linux rispettano tutte le caratteristiche già descritte
precedentemente.
Ogni processo ha una propria e l’accesso è limitato a questa, cioè
non può accedere alla memoria di un altro processo.
La comunicazione tra i processi è permessa utilizzando meccanismi
forniti dal SO, ad esempio pipe o socket.
Linux
Un processo può essere creato(lanciato):
alucard@Gentoox /mnt/archivio/Musica/Afterhours $ mplayer Afterhours - Quello Che Non C'é.mp3

.......

==========================================================================

AO: [oss] 44100Hz 2ch s16le (2 bytes per sample)

Inizio la riproduzione...

A: 10.6 (10.5) of 369.0 (06:09.0) 0.9%


E’ possibile vedere la lista dei processi attivi nel SO:
alucard@Gentoox ~ $ ps au

USER       PID %CPU %MEM VSZ RSS TTY                   STAT START TIME COMMAND

root      3923     3.4      4.7    33540 24376 tty7    Ss+   13:04 0:02 /usr/bin/X -nolisten tcp -br -deferglyphs 16 -auth /var/run/
slim.auth vt07

root      4071    0.0       0.1    1696 664 tty1      Ss+ 13:04 0:00 /sbin/agetty 38400 tty1 linux

alucard   4124     0.0      0.3    3064 1600 pts/0     Ss+ 13:04 0:00 bash


Un processo può essere ucciso:
alucard@Gentoox ~ $ kill -9 4071
Linux: fileSystem
La struttura che rappresenta il file è chiamata inode . Rispecchia
tutte le caratteristiche descritte nell’introduzione.
Quasi tutto in linux è visto come un file:

File regolari
Directory : Le directory sono semplicemente file che elencano un
insieme di file.
Link simbolici : File che si riferiscono al nome di un altro file
Device e periferiche : File speciali che rappresentano i dispositivi.
E’ possibile interfacciarsi con il dispositivo come se fosse un
normale file( read e write ).
Altri: pipe socket.
Linux: fileSystem
Il filesystem di linux rispecchia la struttura ad albero.
La radice chiamata / (root) ha diverse sottodirectory ognuna con un
particolare scopo.
Linux: varie versioni
                   ( distrubuzioni )
Di linux sono molte versioni che si differenziano da dettagli
implementativi anche se il kernel rimane sempre lo stesso.


Debian
Ubuntu*
Gentoo
Slackwere
RedHat
Suse
Mandriva
Ecc..
The end...
Thanks to Camelug( www.camelug.it )
Domande??


Italian grappa ,spaghetti ARP Spoofing.
          Thanks to Ryuw!

Mais conteúdo relacionado

Mais procurados

Mais procurados (6)

08 Introduzione All Architettura Di Un D B M S
08  Introduzione All Architettura Di Un  D B M S08  Introduzione All Architettura Di Un  D B M S
08 Introduzione All Architettura Di Un D B M S
 
Sistemi operativi
Sistemi operativiSistemi operativi
Sistemi operativi
 
Linux & Open Source - Lezione 2
Linux & Open Source - Lezione 2Linux & Open Source - Lezione 2
Linux & Open Source - Lezione 2
 
Sistema Operativo - LInux - Modulo 2.1
Sistema Operativo - LInux - Modulo 2.1Sistema Operativo - LInux - Modulo 2.1
Sistema Operativo - LInux - Modulo 2.1
 
Cpu
CpuCpu
Cpu
 
Sistemioperativi
SistemioperativiSistemioperativi
Sistemioperativi
 

Semelhante a operating system

Osiris Operating system
Osiris Operating systemOsiris Operating system
Osiris Operating systemDiego
 
Sistemi operativi
Sistemi operativiSistemi operativi
Sistemi operativiPaola Bez
 
Architettura elaboratore
Architettura elaboratoreArchitettura elaboratore
Architettura elaboratoreserex86
 
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° eLuca Marcella
 
Linux Device Drivers
Linux Device DriversLinux Device Drivers
Linux Device DriversFabio Nisci
 
Sistema operativo Unix e Linux
Sistema operativo Unix e LinuxSistema operativo Unix e Linux
Sistema operativo Unix e LinuxGiulia Shkreli
 
Lezione 3: Strumenti - Il Web
Lezione 3: Strumenti - Il WebLezione 3: Strumenti - Il Web
Lezione 3: Strumenti - Il WebStefano Epifani
 
Thread o processo quale usare - 2010-11-02
Thread o processo  quale usare  - 2010-11-02Thread o processo  quale usare  - 2010-11-02
Thread o processo quale usare - 2010-11-02Ionela
 
CodingGym - Lezione 1 - Corso Linux, Android e Internet of Things
CodingGym - Lezione 1 - Corso Linux, Android e Internet of ThingsCodingGym - Lezione 1 - Corso Linux, Android e Internet of Things
CodingGym - Lezione 1 - Corso Linux, Android e Internet of ThingsMirko Mancin
 
Sicurezza e protezione dati su raspberry
Sicurezza e protezione dati su raspberrySicurezza e protezione dati su raspberry
Sicurezza e protezione dati su raspberryOrazio Sarno
 

Semelhante a operating system (20)

Osiris Operating system
Osiris Operating systemOsiris Operating system
Osiris Operating system
 
Sistemi operativi
Sistemi operativiSistemi operativi
Sistemi operativi
 
Architettura elaboratore
Architettura elaboratoreArchitettura elaboratore
Architettura elaboratore
 
Corso linux base
Corso linux baseCorso linux base
Corso linux base
 
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
 
Linux Device Drivers
Linux Device DriversLinux Device Drivers
Linux Device Drivers
 
Sistema operativo Unix e Linux
Sistema operativo Unix e LinuxSistema operativo Unix e Linux
Sistema operativo Unix e Linux
 
Slide trentin
Slide trentinSlide trentin
Slide trentin
 
3 database dbms
3 database dbms3 database dbms
3 database dbms
 
Lezione 3: Strumenti - Il Web
Lezione 3: Strumenti - Il WebLezione 3: Strumenti - Il Web
Lezione 3: Strumenti - Il Web
 
Thread o processo quale usare - 2010-11-02
Thread o processo  quale usare  - 2010-11-02Thread o processo  quale usare  - 2010-11-02
Thread o processo quale usare - 2010-11-02
 
Software7
Software7Software7
Software7
 
Oracle 1
Oracle 1Oracle 1
Oracle 1
 
CodingGym - Lezione 1 - Corso Linux, Android e Internet of Things
CodingGym - Lezione 1 - Corso Linux, Android e Internet of ThingsCodingGym - Lezione 1 - Corso Linux, Android e Internet of Things
CodingGym - Lezione 1 - Corso Linux, Android e Internet of Things
 
Ti base 2020b
Ti base 2020bTi base 2020b
Ti base 2020b
 
Ti base 2020
Ti base 2020Ti base 2020
Ti base 2020
 
Sicurezza e protezione dati su raspberry
Sicurezza e protezione dati su raspberrySicurezza e protezione dati su raspberry
Sicurezza e protezione dati su raspberry
 
Sist op
Sist opSist op
Sist op
 
Sistemi Operativi
Sistemi OperativiSistemi Operativi
Sistemi Operativi
 
Slides marcosabatini
Slides marcosabatiniSlides marcosabatini
Slides marcosabatini
 

Mais de itis e.divini san severino marche

Daniele Caschera, dall’Itis di San Severino al mondiale di Formula 1 in giro ...
Daniele Caschera, dall’Itis di San Severino al mondiale di Formula 1 in giro ...Daniele Caschera, dall’Itis di San Severino al mondiale di Formula 1 in giro ...
Daniele Caschera, dall’Itis di San Severino al mondiale di Formula 1 in giro ...itis e.divini san severino marche
 
Piano dell’Offerta Formativa 2014-15, ultima versione dicembre 2014
Piano dell’Offerta Formativa 2014-15, ultima versione dicembre 2014Piano dell’Offerta Formativa 2014-15, ultima versione dicembre 2014
Piano dell’Offerta Formativa 2014-15, ultima versione dicembre 2014itis e.divini san severino marche
 
Demolizione e ricostruzione dei capannoni ospitanti i laboratori dell'ITIS Di...
Demolizione e ricostruzione dei capannoni ospitanti i laboratori dell'ITIS Di...Demolizione e ricostruzione dei capannoni ospitanti i laboratori dell'ITIS Di...
Demolizione e ricostruzione dei capannoni ospitanti i laboratori dell'ITIS Di...itis e.divini san severino marche
 
Macerata, 23 ottobre 2014 Statistica e scuola nel territorio
Macerata, 23 ottobre 2014 Statistica e scuola nel territorioMacerata, 23 ottobre 2014 Statistica e scuola nel territorio
Macerata, 23 ottobre 2014 Statistica e scuola nel territorioitis e.divini san severino marche
 

Mais de itis e.divini san severino marche (20)

open day 2018
open day 2018open day 2018
open day 2018
 
L’Istituto DIVINI va a caccia di … fossili
L’Istituto DIVINI va a caccia di … fossiliL’Istituto DIVINI va a caccia di … fossili
L’Istituto DIVINI va a caccia di … fossili
 
Loccioni, classe virtuale 2016 - Report seconda settimana
Loccioni, classe virtuale 2016 - Report seconda settimanaLoccioni, classe virtuale 2016 - Report seconda settimana
Loccioni, classe virtuale 2016 - Report seconda settimana
 
Loccioni, classe virtuale 2016 - Report prima settimana
Loccioni, classe virtuale 2016 - Report prima settimanaLoccioni, classe virtuale 2016 - Report prima settimana
Loccioni, classe virtuale 2016 - Report prima settimana
 
Daniele Caschera, dall’Itis di San Severino al mondiale di Formula 1 in giro ...
Daniele Caschera, dall’Itis di San Severino al mondiale di Formula 1 in giro ...Daniele Caschera, dall’Itis di San Severino al mondiale di Formula 1 in giro ...
Daniele Caschera, dall’Itis di San Severino al mondiale di Formula 1 in giro ...
 
La Grande Guerra
La Grande GuerraLa Grande Guerra
La Grande Guerra
 
"Apprendimento attivo..." conferenza PROFILES
"Apprendimento attivo..." conferenza PROFILES"Apprendimento attivo..." conferenza PROFILES
"Apprendimento attivo..." conferenza PROFILES
 
Tipicità
TipicitàTipicità
Tipicità
 
Piano dell’Offerta Formativa 2014-15, ultima versione dicembre 2014
Piano dell’Offerta Formativa 2014-15, ultima versione dicembre 2014Piano dell’Offerta Formativa 2014-15, ultima versione dicembre 2014
Piano dell’Offerta Formativa 2014-15, ultima versione dicembre 2014
 
Demolizione e ricostruzione dei capannoni ospitanti i laboratori dell'ITIS Di...
Demolizione e ricostruzione dei capannoni ospitanti i laboratori dell'ITIS Di...Demolizione e ricostruzione dei capannoni ospitanti i laboratori dell'ITIS Di...
Demolizione e ricostruzione dei capannoni ospitanti i laboratori dell'ITIS Di...
 
rassegna stampa: Pmi Day: la scuola va in fabbrica
rassegna stampa: Pmi Day: la scuola va in fabbricarassegna stampa: Pmi Day: la scuola va in fabbrica
rassegna stampa: Pmi Day: la scuola va in fabbrica
 
Avviso colloqui con le famiglie
Avviso colloqui con le famiglie Avviso colloqui con le famiglie
Avviso colloqui con le famiglie
 
Macerata, 23 ottobre 2014 Statistica e scuola nel territorio
Macerata, 23 ottobre 2014 Statistica e scuola nel territorioMacerata, 23 ottobre 2014 Statistica e scuola nel territorio
Macerata, 23 ottobre 2014 Statistica e scuola nel territorio
 
Geoscienze nei mondi virtuali
Geoscienze nei mondi virtualiGeoscienze nei mondi virtuali
Geoscienze nei mondi virtuali
 
Notte dei Ricercatori nella città di san Severino Marche
 Notte dei Ricercatori nella città di san Severino Marche Notte dei Ricercatori nella città di san Severino Marche
Notte dei Ricercatori nella città di san Severino Marche
 
2 Ottobre , Convegno Dislessia – UNICAM
2 Ottobre , Convegno Dislessia – UNICAM 2 Ottobre , Convegno Dislessia – UNICAM
2 Ottobre , Convegno Dislessia – UNICAM
 
Apprendimento attivo secondo la filosofia PROFILES
Apprendimento attivo secondo la filosofia PROFILESApprendimento attivo secondo la filosofia PROFILES
Apprendimento attivo secondo la filosofia PROFILES
 
Divini, Excellence Day 2014
Divini, Excellence Day 2014Divini, Excellence Day 2014
Divini, Excellence Day 2014
 
6 gara podistica sabato 24 maggio 2014
6 gara podistica sabato 24 maggio 20146 gara podistica sabato 24 maggio 2014
6 gara podistica sabato 24 maggio 2014
 
Il “Divini” entra in azienda
Il “Divini” entra in azienda Il “Divini” entra in azienda
Il “Divini” entra in azienda
 

Último

Vuoi girare il mondo? educazione civica.
Vuoi girare il mondo? educazione civica.Vuoi girare il mondo? educazione civica.
Vuoi girare il mondo? educazione civica.camillaorlando17
 
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptx
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptxScienza Potere Puntoaaaaaaaaaaaaaaa.pptx
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptxlorenzodemidio01
 
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptxLorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptxlorenzodemidio01
 
Descrizione Piccolo teorema di Talete.pptx
Descrizione Piccolo teorema di Talete.pptxDescrizione Piccolo teorema di Talete.pptx
Descrizione Piccolo teorema di Talete.pptxtecongo2007
 
Aristotele, vita e opere e fisica...pptx
Aristotele, vita e opere e fisica...pptxAristotele, vita e opere e fisica...pptx
Aristotele, vita e opere e fisica...pptxtecongo2007
 
case passive_GiorgiaDeAscaniis.pptx.....
case passive_GiorgiaDeAscaniis.pptx.....case passive_GiorgiaDeAscaniis.pptx.....
case passive_GiorgiaDeAscaniis.pptx.....giorgiadeascaniis59
 
Presentazioni Efficaci e lezioni di Educazione Civica
Presentazioni Efficaci e lezioni di Educazione CivicaPresentazioni Efficaci e lezioni di Educazione Civica
Presentazioni Efficaci e lezioni di Educazione CivicaSalvatore Cianciabella
 
Lorenzo D'Emidio_Francesco Petrarca.pptx
Lorenzo D'Emidio_Francesco Petrarca.pptxLorenzo D'Emidio_Francesco Petrarca.pptx
Lorenzo D'Emidio_Francesco Petrarca.pptxlorenzodemidio01
 
Quadrilateri e isometrie studente di liceo
Quadrilateri e isometrie studente di liceoQuadrilateri e isometrie studente di liceo
Quadrilateri e isometrie studente di liceoyanmeng831
 
Scrittura seo e scrittura accessibile
Scrittura seo e scrittura accessibileScrittura seo e scrittura accessibile
Scrittura seo e scrittura accessibileNicola Rabbi
 
Lorenzo D'Emidio_Vita e opere di Aristotele.pptx
Lorenzo D'Emidio_Vita e opere di Aristotele.pptxLorenzo D'Emidio_Vita e opere di Aristotele.pptx
Lorenzo D'Emidio_Vita e opere di Aristotele.pptxlorenzodemidio01
 
Tosone Christian_Steve Jobsaaaaaaaa.pptx
Tosone Christian_Steve Jobsaaaaaaaa.pptxTosone Christian_Steve Jobsaaaaaaaa.pptx
Tosone Christian_Steve Jobsaaaaaaaa.pptxlorenzodemidio01
 
Oppressi_oppressori.pptx................
Oppressi_oppressori.pptx................Oppressi_oppressori.pptx................
Oppressi_oppressori.pptx................giorgiadeascaniis59
 
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptxLorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptxlorenzodemidio01
 
Nicola pisano aaaaaaaaaaaaaaaaaa(1).pptx
Nicola pisano aaaaaaaaaaaaaaaaaa(1).pptxNicola pisano aaaaaaaaaaaaaaaaaa(1).pptx
Nicola pisano aaaaaaaaaaaaaaaaaa(1).pptxlorenzodemidio01
 
LE ALGHE.pptx ..........................
LE ALGHE.pptx ..........................LE ALGHE.pptx ..........................
LE ALGHE.pptx ..........................giorgiadeascaniis59
 
discorso generale sulla fisica e le discipline.pptx
discorso generale sulla fisica e le discipline.pptxdiscorso generale sulla fisica e le discipline.pptx
discorso generale sulla fisica e le discipline.pptxtecongo2007
 
descrizioni della antica civiltà dei sumeri.pptx
descrizioni della antica civiltà dei sumeri.pptxdescrizioni della antica civiltà dei sumeri.pptx
descrizioni della antica civiltà dei sumeri.pptxtecongo2007
 

Último (18)

Vuoi girare il mondo? educazione civica.
Vuoi girare il mondo? educazione civica.Vuoi girare il mondo? educazione civica.
Vuoi girare il mondo? educazione civica.
 
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptx
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptxScienza Potere Puntoaaaaaaaaaaaaaaa.pptx
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptx
 
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptxLorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
 
Descrizione Piccolo teorema di Talete.pptx
Descrizione Piccolo teorema di Talete.pptxDescrizione Piccolo teorema di Talete.pptx
Descrizione Piccolo teorema di Talete.pptx
 
Aristotele, vita e opere e fisica...pptx
Aristotele, vita e opere e fisica...pptxAristotele, vita e opere e fisica...pptx
Aristotele, vita e opere e fisica...pptx
 
case passive_GiorgiaDeAscaniis.pptx.....
case passive_GiorgiaDeAscaniis.pptx.....case passive_GiorgiaDeAscaniis.pptx.....
case passive_GiorgiaDeAscaniis.pptx.....
 
Presentazioni Efficaci e lezioni di Educazione Civica
Presentazioni Efficaci e lezioni di Educazione CivicaPresentazioni Efficaci e lezioni di Educazione Civica
Presentazioni Efficaci e lezioni di Educazione Civica
 
Lorenzo D'Emidio_Francesco Petrarca.pptx
Lorenzo D'Emidio_Francesco Petrarca.pptxLorenzo D'Emidio_Francesco Petrarca.pptx
Lorenzo D'Emidio_Francesco Petrarca.pptx
 
Quadrilateri e isometrie studente di liceo
Quadrilateri e isometrie studente di liceoQuadrilateri e isometrie studente di liceo
Quadrilateri e isometrie studente di liceo
 
Scrittura seo e scrittura accessibile
Scrittura seo e scrittura accessibileScrittura seo e scrittura accessibile
Scrittura seo e scrittura accessibile
 
Lorenzo D'Emidio_Vita e opere di Aristotele.pptx
Lorenzo D'Emidio_Vita e opere di Aristotele.pptxLorenzo D'Emidio_Vita e opere di Aristotele.pptx
Lorenzo D'Emidio_Vita e opere di Aristotele.pptx
 
Tosone Christian_Steve Jobsaaaaaaaa.pptx
Tosone Christian_Steve Jobsaaaaaaaa.pptxTosone Christian_Steve Jobsaaaaaaaa.pptx
Tosone Christian_Steve Jobsaaaaaaaa.pptx
 
Oppressi_oppressori.pptx................
Oppressi_oppressori.pptx................Oppressi_oppressori.pptx................
Oppressi_oppressori.pptx................
 
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptxLorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
 
Nicola pisano aaaaaaaaaaaaaaaaaa(1).pptx
Nicola pisano aaaaaaaaaaaaaaaaaa(1).pptxNicola pisano aaaaaaaaaaaaaaaaaa(1).pptx
Nicola pisano aaaaaaaaaaaaaaaaaa(1).pptx
 
LE ALGHE.pptx ..........................
LE ALGHE.pptx ..........................LE ALGHE.pptx ..........................
LE ALGHE.pptx ..........................
 
discorso generale sulla fisica e le discipline.pptx
discorso generale sulla fisica e le discipline.pptxdiscorso generale sulla fisica e le discipline.pptx
discorso generale sulla fisica e le discipline.pptx
 
descrizioni della antica civiltà dei sumeri.pptx
descrizioni della antica civiltà dei sumeri.pptxdescrizioni della antica civiltà dei sumeri.pptx
descrizioni della antica civiltà dei sumeri.pptx
 

operating system

  • 1. OPERATING SYSTEM Tipologie e implementazioni
  • 2. Who am i? Casenove Matteo Studente dell’ Università di Pisa Vice Presidente @System Membro di MinixGroupPisa Collaborazioni con: AIPSI : Associazione Italiana Professionisti Sicurezza Informatica Clusit : Associazione Italiana per la Sicurezza Informatica
  • 3. Sommario Definizione SO Tipologie Concetti di base Implementazioni Windows Linux MINIX3 Linux Internals Processi Memoria FileSystem Periferiche
  • 4. Definizione SO Il Sistema Operativo è un insieme di programmi e strutture dati che offre principalmente tre funzionalità: Supporto agli sviluppatori: permette utilizzo delle chiamate di sistema come interfaccia con la macchina(SysCall). Astrazione dalle risorse: crea un’astrazione dell’hardware e lo gestisce utilizzando politiche adeguate(Driver). Protezione delle risorse: impedisce un uso incauto delle risorse e un accesso non autorizzato alle informazioni(Livelli di Privilegi).
  • 5. Tipologie di SO Attualmente possiamo trovare 3 tipologie di SO distinguibili in base alla loro struttura interna Monolitici Microkernel Ibridi Ognuno di questi ha delle particolarità che li caratterizzano
  • 6. SO Monolitici I kernel Monolitici hanno un corpo unico: un unico grande programma che gestisce risorse e offre servizi. Le varie parti del SO vengono integrate nel kernel tramite l’aggiunta di moduli che pero’ risultano essere dipendenti l’uno dall’altro. Il sistema in funzione delle operazioni da eseguire, ha due livelli di privilegio: user mode e kernel mode. I servizi offerti dal SO sono richiesti invocando delle system call che lavorano in kernel mode. Il meccanismo di comunicazione(IPC) è a memoria condivisa. Esso rende la comunicazione veloce.
  • 7. SO Monolitici - Il sistema risulta difficile da modificare e caratterizzato dall'interdipenza dei moduli. Ogni modifica comporta la ricompilazione dell'intero sistema e il singolo crash di un elemento porta al crash dell'intero sistema. ✓ Buona protezione dalla lettura del codice da terzi. ✓ Le chiamate di sistema risultano più efficienti, utilizzando una IPC a memoria condivisa.
  • 8. SO Microkernel I microkernel hanno una struttura a livelli: kernel level e user level. Il kernel level è minimale e diviso in piccoli moduli indipendenti che implementano le funzionalità di base(system call, IPC, timer clock, scheduler). Tutti gli altri servizi ( file system, driver ecc.) sono nello user level e sono tutti dei processi indipendenti. Essi vengono chiamati Server. Il meccanismo di comunicazione(IPC) è lo scambio di messaggi (send, receive).
  • 9. SO Microkernel - Diminuzione dall’efficienza del sistema dovuta all’utilizzo dello scambio di messaggi. ✓ La comunicazione tra i vari processi viene fatta sfruttando le primitive dei livelli sottostanti( distinzione dei privilegi ). ✓ Ogni processo è indipendente, questo permette la modifica di uno senza la ricompilazione del tutto. ✓ Diminuzioni di vulnerabilità strutturali, maggiore robustezza.
  • 10. SO Ibridi I Sistemi ibridi sono la combinazione di un sistema microkernel con uno monolitico. Usa una struttura a microkenel ma implementata come sistema monolitico. Usa Server separati per i servizi del kernel (filesystem, driver ecc ) ma li incorpora a livello kernel. Non hanno una struttura particolare vera e propria. Possono essere definiti come un Microkernel modificato. Su questa struttura ci sono parecchie controversie e linee di pensiero.
  • 11. SO Ibridi Vantaggi e svantaggi sono un mix di quelli del so monolitico e del so microkernel considendo che non viene sfruttata al massimo nessuna delle due strutture
  • 12. Concetti di base Alla base di tutti i modelli di SO ci sono dei concetti comuni: Il Processo La Memoria Il FileSystem I/O ! Ogni modello si caratterizza da come implementa questi concetti.
  • 13. Il processo E’ l’unità di base del sistema operativo. Esso rappresenta l’istanza(esecuzione) di un programma. Ad un processo viene associata una memoria virtuale cioè uno spazio di indirizzamento sul quale può leggero e scrivere. Essa non rappresenta la memoria reale ma una sua astrazione. Il SO tiene una tabella con tutti i processi e la utilizza per scegliere il programma da eseguire. Un processo ha un ciclo di vita nel quale può assumere diversi stati: creato, esecuzione, pronto, bloccato, morto. E’ rappresentato da una propria struttura che contiene tutte le informazioni che lo descrivono.
  • 14. Il processo: memoria virtuale Essa è grande quanto il massimo numero indirizzabile. Nei sistemi a 32bit è 4gb(232). E divisa in 2 segmenti principali: Il segmento testo Il segmento data i dati statici lo heap lo stack
  • 15. La memoria Per memoria del Sistema operativo si intende come esso gestisce la RAM (o memoria non permanente). Il problema della gestione della memoria è molto articolato in quanto le problematiche che entrano in gioco sono diverse. Nel corso della storia c’è stata una evoluzione sulla gestione della memoria. 1. Tutta la memoria del processo veniva caricata in memoria. 2. Si caricava la memoria del processo divisa in segmenti. 3. Venne introdotto lo swap della memoria quando un processo usciva dallo stato di esecuzione 4. Infine si introdussero i blocchi e le pagine.
  • 16. La memoria La maggior parte dei sistemi operativi attuali gestiscono la memoria usando il paging e lo swap. Si dividono i vari blocchi della memoria virtuale in pagine. le pagine vengono caricate in memoria ogni volta che un indirizzo all’interno della pagina viene referenziato. Questo viene fatto tramite l’utilizzo di una struttura del sistema chiamata page table che mette in corrispondenza le pagine della memoria virtuale con l’indizzo della pagina nella memoria reale. Quando un processo cambia il suo stato la pagina viene swappata cioè viene fatta una sua immagine e salvata in un file di swap.
  • 18. Il FileSystem E’ la parte del Sistema Operativo che fornisce i meccanismi necessari per l’accesso e l’archiviazione delle informazioni in memoria permanente. (HD, DVD) Esso permette di rappresentare concetti astratti come: il File : unità logica di base rappresentato da una struttura che contiene gli attributi che lo descrivono( grandezza, tipo , proprietario ecc. ). la struttura contiene anche gli indirizzi fisici di dove risiedono le informazioni nella memoria(hd). la Directory : insieme di file Si posiziona tra le applicazioni e la periferica hardware creando un’interfaccia, semplificando così l’accesso.
  • 19. Il FileSystem La directory ( cartella) è un’astrazione che raggruppa logicamente più file : una cartella può contenere più file può contenere a sua volta altre cartelle La struttura logica del file system è un albero di file e cartelle, la cui struttura è definita dalle cartelle stesse.
  • 20. I/O Per I/O si intendono tutte le periferiche di Input e Output che il sistema si trova a gestire. Le periferiche di I/O si possono dividere in 3 categorie: Periferiche a blocchi ( HD,DVD ) : si caratterizzano dal fatto che permetto la lettura e la scrittura di un blocco indipendentemente dagli altri. Possono essere indirizzate. Periferiche a caratteri ( Tastiera, mouse, stampante ) : queste forniscono o accettano un flusso di caratteri. Non possono essere indirizzate. Periferiche particolari che generano interrupts per segnalare un particolare evento.
  • 21. Implementazioni di SO Delle tipologie precedentemente descritte di SO esistono delle implementazioni più o meno famose che descriveremo focalizzandoci in particolare su una. Implementazioni: Monolitici Linux ( !! Vedremo una spiegazione dettagliata) Microkernel Minix3 Ibridi Windows ( NT, 2000, XP, Vista )
  • 22. Windows (Slide molto critica) Windows è un sistema implementato ibrido. La sua struttura complessa è fatta in modo da proteggere il più possibile il codice del sistema. In Windows sono implementate tutte le politiche che si possono trovare in giro: politiche molteplici di scheduling( priorità dei processi ) politiche macchinose sui processi (creazione e comunicazione) filesystem complicati e poco compatibili con gli altri standard L’idea di implementare tutto nel sistema e non focalizzarsi in un aspetto in particolare crea la caoticità del sistema della Microsoft.
  • 23. Minix3 I sistemi a microkernel non sono molto sviluppati, per quanto la loro struttura offre maggiori vantaggi rispetto alle altre. Si trovano principalmente in ambiti di ricerca eccetto alcuni casi(AIX della IBM o Mach) e utilizzati spesso in sistemi Embedded. Minix3 è un sistema a microkernel implementato per la didattica da Andrew S. Tanenbaum. Semplice alla lettura e alla modifica. Completo Modulare In molti aspetti simile a Unix (standard POSIX) Open Source
  • 24. Linux Linux è un sistema monolitico sviluppato da Linus Torvald. La licenza Open Source è stata il punto di forza di Linux che gli ha permesso un grande sviluppo nel corso degli anni. Le funzionalità del sistema vengono aggiunte tramite l’integrazione di nuovi moduli al kernel. I principi di base del sistema sono molto semplici permettendo una buona scrittura degli applicativi. Permette l’accesso e la gestione completa del sistema avendo un pieno controllo della macchina e una sua configurazione oculata per le proprie esigenze.
  • 25. Linux: processi I processi in linux sono integranti con il concetto di thread. Essi sono implementati a livello kernel e vengono schedulati come unità di base. I thread sono un flusso di esecuzione all’interno di un processo un processo può avere più thread i thread di uno stesso processo lavorano parallelamente e in modo indipendente l’uno dall’altro. I processi in linux rispettano tutte le caratteristiche già descritte precedentemente. Ogni processo ha una propria e l’accesso è limitato a questa, cioè non può accedere alla memoria di un altro processo. La comunicazione tra i processi è permessa utilizzando meccanismi forniti dal SO, ad esempio pipe o socket.
  • 26. Linux Un processo può essere creato(lanciato): alucard@Gentoox /mnt/archivio/Musica/Afterhours $ mplayer Afterhours - Quello Che Non C'é.mp3 ....... ========================================================================== AO: [oss] 44100Hz 2ch s16le (2 bytes per sample) Inizio la riproduzione... A: 10.6 (10.5) of 369.0 (06:09.0) 0.9% E’ possibile vedere la lista dei processi attivi nel SO: alucard@Gentoox ~ $ ps au USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 3923 3.4 4.7 33540 24376 tty7 Ss+ 13:04 0:02 /usr/bin/X -nolisten tcp -br -deferglyphs 16 -auth /var/run/ slim.auth vt07 root 4071 0.0 0.1 1696 664 tty1 Ss+ 13:04 0:00 /sbin/agetty 38400 tty1 linux alucard 4124 0.0 0.3 3064 1600 pts/0 Ss+ 13:04 0:00 bash Un processo può essere ucciso: alucard@Gentoox ~ $ kill -9 4071
  • 27. Linux: fileSystem La struttura che rappresenta il file è chiamata inode . Rispecchia tutte le caratteristiche descritte nell’introduzione. Quasi tutto in linux è visto come un file: File regolari Directory : Le directory sono semplicemente file che elencano un insieme di file. Link simbolici : File che si riferiscono al nome di un altro file Device e periferiche : File speciali che rappresentano i dispositivi. E’ possibile interfacciarsi con il dispositivo come se fosse un normale file( read e write ). Altri: pipe socket.
  • 28. Linux: fileSystem Il filesystem di linux rispecchia la struttura ad albero. La radice chiamata / (root) ha diverse sottodirectory ognuna con un particolare scopo.
  • 29. Linux: varie versioni ( distrubuzioni ) Di linux sono molte versioni che si differenziano da dettagli implementativi anche se il kernel rimane sempre lo stesso. Debian Ubuntu* Gentoo Slackwere RedHat Suse Mandriva Ecc..
  • 30. The end... Thanks to Camelug( www.camelug.it )
  • 31. Domande?? Italian grappa ,spaghetti ARP Spoofing. Thanks to Ryuw!