Your SlideShare is downloading. ×
0
Sistemioperativi
Sistemioperativi
Sistemioperativi
Sistemioperativi
Sistemioperativi
Sistemioperativi
Sistemioperativi
Sistemioperativi
Sistemioperativi
Sistemioperativi
Sistemioperativi
Sistemioperativi
Sistemioperativi
Sistemioperativi
Sistemioperativi
Sistemioperativi
Sistemioperativi
Sistemioperativi
Sistemioperativi
Sistemioperativi
Sistemioperativi
Sistemioperativi
Sistemioperativi
Sistemioperativi
Sistemioperativi
Sistemioperativi
Sistemioperativi
Sistemioperativi
Sistemioperativi
Sistemioperativi
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Sistemioperativi

119

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
119
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. SISTEMA OPERATIVO:È un insieme di programmi che gestisconole risorse dell’elaboratore (CPU, memoriacentrale, periferiche) in maniera trasparenteall’utente; in altre parole ha un ruolo diinterfaccia tra utente e macchinaHARDWAREPROGRAMMI APPLICATIVIUTENTIS.O.
  • 2. Poiché alcuni programmi dei s.o. interagiscono con le componentihardware, essi devono conoscerne le caratteristiche per poterleadoperare; in realtà il s.o. deve poter essere ampliatosuccessivamente, ogni volta che si deve inserire nel sistema unnuovo componente hardware.Plug and play (inserisci ed usa) è la tecnologia con la qualesono realizzati i dispositivi in grado di farsi riconoscere,ovvero di far istallare al s.o. i driver necessari al lorocorretto utilizzoStandard di compatibilità-CPU compatibili INTEL-Stampanti compatibili EPSON o HP-Ecc.
  • 3. Il s.o. ha una struttura gerarchica e modularei programmi che appartengono ad ununico livello si chiamano moduli, leprocedure per “dialogare “ tra moduli sichiamano primitivei programmi che lo compongono sicollocano a livelli diversi, in modo daservire i programmi dei livelli superiori edi servirsi di quelli di livello inferiore
  • 4. L’utente in realtà interagisce con una “macchina virtuale”, dipiù semplice utilizzo, formata dall’hardware + il s.o.nucleogestione della memoriainterprete dei comandifile systemgestione delle perifericheModello onion skin (a buccia dicipolla)
  • 5. 1. SISTEMA MONOPROGRAMMATOQuando la sua memoria centrale contiene in un certo istante codiceproveniente da un unico programma. Possibili alti tempi di inattività della CPUCLASSIFICAZIONE DEI S.O. IN RELAZIONE ALLAPOSSIBILITA’ DI ESEGUIRE UNO O PIU’ PROGRAMMICONTEMPORANEAMENTETempoutenteTempoutente Temposistema Tempoinattivo
  • 6. 2. SISTEMA MULTIPROGRAMMATOÈ un s.o. che consente di tenere in memoria centrale codice proveniente da piùprogrammi, portati avanti “contemporaneamente”; l’obiettivo è quello diridurre i tempi di inattività della CPU, soddisfacendo più rapidamente leesigenze degli utenti finalipolitiche di assegnazione della CPUmeccanismi di protezione tra i diversi programmirisoluzione di eventuali conflitti per l’utilizzo di una risorsasystem overhead ovvero carico di lavoro in più per il s.o.3. SISTEMA IN TIME SHARING (a partizione di tempo)È un s.o. multiprogrammato nel quale ciascun processo attivo non può utilizzare laCPU oltre un tempo massimo prefissato detto time slice (fetta o quanto di tempo)
  • 7. 1. SISTEMA DEDICATOE’ il sistema che prevede l’utilizzo da parte di un unico utente; è il caso deipersonal computerCLASSIFICAZIONE DEI S.O. IN RELAZIONE AGLI UTENTI MS DOS (fino agli anni ’90)WindowsLinuxI sistemi dedicati moderni consentono il multitasking ovveroun tipo particolare di multiprogrammazione che consente dieseguire più applicazioni (task), a volte alcune in background(attività come ascolto di musica, trasferimento di fileattraverso internet, ecc)
  • 8. 2. SISTEMA BATCH (A LOTTI )È un s.o. in cui l’utente non interagisce con la macchina durante l’esecuzionedei programmi; usato laddove occorre eseguire programmi lunghi che nonnecessitano di input dell’operatore (es. la stampa degli estratti conto di unabanca a fine mese, la stampa delle bollette della luce, ecc)Oggi è difficile trovare elaboratori che lavorino soltanto in modalità batch, piuttostoin modalità mista, lasciando che il lavoro batch venga svolto a volte fuoridall’orario di lavoro (es. di notte)3. SISTEMA INTERATTIVO MULTIUTENTEÈ il s.o. usato laddove ad un elaboratore sono collegati tanti terminali (video-tastiera); la CPU deve avere una grande velocità (MIPS – milioni di istruzioniper secondo) e la memoria centrale deve avere una considerevole dimensione
  • 9.  CPU ACTIVITY (attività della CPU) = (tempoutente +temposistema) * 100 / tempototale THROUGHPUT (produttività) = tempoutente / tempototale
  • 10. È un’insieme di istruzioni, ovvero latraduzione di un algoritmo in un linguaggio diprogrammazioneÈ l’insieme di istruzioni e dati coinvolti,ovvero è un programma in esecuzione, cioèqualcosa che evolve nel tempoÈ il dispositivo che causa l’evolvere di unprocesso
  • 11. In un s.o. multiprogrammato che lavora in modalità time sharingin un certo istante possiamo avere una situazione come quellarappresentata nella figuramemoria centralememoria di massaProcesso in esecuzione P1P3P2P6 P7P4 P5Processi prontiProcessi in attesa di I/OProcessi parcheggiati
  • 12. Vediamo come avviene la transizione di stato dei processistato di parcheggiostato di esecuzionestato di prontostato di terminazionestato di attesa fine I/Orichiesta operazione di I/Oscadenza time slicescadenza time sliceI/O terminato
  • 13. INTERRUPT (interruzioni): è unsegnale inviato alla CPU che lesegnala che è accaduto qualcosa eche deve interromperemomentaneamente la sua attivitàper eseguire un compito particolaresincrone , ad es. in caso di errore,fine del time sliceasincrone , generate solodall’hardware, come la fine di unastampa o di scrittura su disco
  • 14. Quando un processo viene interrotto e di conseguenza cambia il suo stato,prima di poter eseguire un altro processo il s.o. deve salvare tutte leinformazioni relative al processo che viene sospeso, in particolare il contenutodel suo registro di stato, che contiene tra l’altro l’indirizzo dell’istruzione dacui dovrà riprendere il processo; quindi dovrà caricare le informazioni relativeal nuovo processo che deve essere ripreso (il suo registro di stato), efinalmente riprendere il nuovo processo
  • 15. È la parte del s.o. più vicino all’hardware. Le sue funzioni sono: avvio e terminazione dei processi assegnazione della CPU ai vari processi (politiche di scheduling) sincronizzazione tra i processi sincronizzazione dei processi con l’ambiente esterno
  • 16.  semplice modalità f.i.f.o. (first in, first out): a ciascun processoviene assegnata la CPU , solo quando è in attesa di operazioni di I/Ocede la CPU al successivo processo in coda (gestione semplice, manon ottimizzata) round robin con modalità f.i.f.o. (first in, first out): a ciascunprocesso viene assegnata la CPU per un intervallo di tempo,terminato il quale il processo va in fondo nella coda dei pronti eriattende il proprio turno round robin con code di priorità: i processi in attesa vengonocollocati su code a priorità differenti, privilegiando la coda a prioritàalta
  • 17. 1. allocazione per partizioni fisse: la memoria centrale è divisa in blocchi(partizioni ) di uguali dimensioni; molto semplice ma con spreco di memorias.o.LIBEROBOB2B1B3B4P1P3P2MEMORIA CENTRALE1 P12 P33 P24TABELLA DI GESTIONEBLOCCHI PROGRAMMI
  • 18. 2. allocazione per partizioni variabili: i programmi vengono caricati all’inizio insequenza, quindi laddove c’è uno spazio libero sufficiente; la tabella di gestioneè più complessa, deve contenere anche la dimensione, quindi c’è un maggiorcarico di lavoro da parte del s.o., ma lo sfruttamento della risorsa è miglioreci sono svariati criteri per decidere dove allocare un processo in memoria: First fit : il processo viene allocato nella prima partizione liberaadeguata per dimensione Best fit : il processo viene allocato nella partizione libera piùadeguata per dimensione, ovvero quella che lascia il più piccolospazio inutilizzato Worst fit : il processo viene allocato nella partizione libera piùgrande, quella cioè che lascia uno spazio inutilizzato capace inseguito anche di contenere un altro processo
  • 19. Con questa tecnica il sistema“simula” una memoria centrale piùgrande di quella reale unendo duecomponenti: la memoria centrale e lamemoria di massa; quando non c’èmemoria sufficiente per caricare unprogramma in memoria centrale,questo viene diviso in parti, e vienecaricata in memoria centrale unaparte per volta. Si realizza con duedifferenti tecniche, la paginazione ela segmentazione
  • 20. 1. LA PAGINAZIONEOgni programma è suddiviso in blocchi detti pagine logiche tutti dellastessa dimensione, e la memoria centrale in blocchi della medesimadimensione detti pagine fisiche; la tabella di gestione della memoria è piùcomplessa perché per ogni pagina logica occorre sapere se è statacaricata in memoria e a quale indirizzo, altrimenti il suo indirizzo sullamemoria di massa. Quando una pagina deve essere caricata in memoriacentrale possono verificarsi due differenti situazioni, o c’è una paginafisica disponibile e allora quella logica vi viene caricata e vienecontemporaneamente aggiornata la tabella di gestione, oppure non ci sonoposti disponibili in memoria centrale e allora si ricopre una pagina fisicagià occupata scegliendola con una delle due differenti tecniche: FIFO : viene ricoperta la pagina logica caricata da più tempo inmemoria, la più vecchia LRU (LAST RECENTLY USED) : viene ricoperta la pagina logicache non viene usata da più tempo, ovvero quella più vecchia d’usoVANTAGGI: semplicità dovuta alla uguale dimensione delle pagineSVANTAGGI: l’arbitrarietà con la quale vengono create le pagine logicheaumenta il numero di “chiamate”
  • 21. 2. LA SEGMENTAZIONEOgni programma è suddiviso in blocchi detti segmenti sulla base di criterilogici, stabiliti dal programmatore (es. una certa area dati, una particolareroutine, ecc),non tutti della stessa dimensione, e di conseguenza lamemoria centrale non è a priori suddivisa in blocchi, ma si frammenta viavia nel corso delle elaborazioni.VANTAGGI: più processi possono condividere stessi segmenti; inoltrenon ci sono vincoli sul numero di segmenti da caricare in memoria nonessendo stabilito a priori il numero di blocchi in cui è divisa la memoriacentraleSVANTAGGI: la maggiore complessità delle tabelle di gestione ed ilconseguente maggior onere da parte del s.o.
  • 22. Avviene attraverso interfacce o nei casi più complessi elaboratoridi canale in maniera assolutamente trasparente per l’utenteCPUREGISTRODATI (BUFFER)PERIFERICHEbus busIl buffer è un’area di memoria “tampone” dovevengono appoggiati i dati in attesa di essere utilizzatidalla periferica o viceversa e serve a garantire unamaggiore efficienza del sistema poiché i tempi di“lavoro” della CPU e delle periferiche sono nettamentedifferentiCPUREGISTRODATI (BUFFER)PERIFERICHEbus busIl buffer è un’area di memoria “tampone” dovevengono appoggiati i dati in attesa di essere utilizzatidalla periferica o viceversa e serve a garantire unamaggiore efficienza del sistema poiché i tempi di“lavoro” della CPU e delle periferiche sono nettamentedifferenti
  • 23. CPUcanale1buscanale2Gli elaboratori di canale hanno una loro autonomacapacità di elaborazione per eseguire il trasferimentodati tra CPU e periferichecanale3
  • 24. Grazie a questi dispositivi il s.o. riesce ad “aumentare” in maniera virtuale ilnumero di periferiche, attuando quella che viene definita tecnica di SPOOL(Simultaneous Peripheral Operation On Line), che consente a diversi processidi utilizzare la stessa periferica, grazie alla gestione di una coda di spoolP1P2P3Output 1Output 2Output 3Output 3 Output 2 Output 1STAMPANTECoda di SPOOL
  • 25. E’ l’insieme dei programmi che consente all’utente di utilizzare filememorizzati sulle memorie di massa utilizzando semplicemente i loro nomisimbolici, e “ignorando” gli aspetti relativi alle tecniche di memorizzazione egestione delle memorie di massa. Il file system opera attraverso tabelle digestione dei file, dette directory o tabelle dei descrittori, che contengono unaserie di informazioni, tipo: il nome del file l’indirizzo la data di creazione la data dell’ultimo aggiornamento la grandezza l’eventuale password di protezione il tipo di accesso consentito (lettura, scrittura, ecc)
  • 26. Con l’uso continuo e frequente delle memorie di massa non è sempre possibileche un file sia memorizzato tutto insieme, ma può essere suddiviso in blocchifisici memorizzati in aree non contigue, e ciò crea un rallentamento e unappesantimento del lavoro a carico del file system.Per questo motivo è buona norma eseguire frequentemente l’operazione dideframmentazione del dispositivo di memoria di massa, operazione checonsente un “risistemazione” dei file contenuti, nel senso che vengonoeliminati tutti i “buchi” creati con l’uso per creare aree libere sufficientementeampie per poter contenere nuovi file interi.
  • 27. E’ un programma del s.o. che riceve in input le richieste di esecuzione dioperazioni. L’interprete standard del sistema DOS si chiama command.com econtiene alcuni semplici comandi di base per l’utilizzo dell’elaboratore, econsente anche la scrittura di script (i file BAT) da parte dell’utente più espertoche voglia personalizzare il suo elaboratoreI s.o. più recenti colloquiano con l’utente attraversointerfacce grafiche, di sempre più semplice utilizzo (userfriendly), che hanno nel tempo reso possibile l’utilizzo delcomputer anche ad utenti per niente espertiIl processo di esecuzione dell’interprete di comando viene considerato ilprocesso padre degli altri processi che verranno lanciati nell’ambito dellasessione di lavoro
  • 28. All’accensione del computer il s.o. deve essere caricato in memoria centrale, perpoi rimanervi fino allo spegnimento; tale compito è svolto da un programmaIPL (Initial Program Loader), che si trova sulla memoria ROM, memoriapermanente e di sola lettuta, che prima effettua un controllo sulle variecomponenti L’operazione di caricamento del s.o. prende il nome di bootstrap.La procedura di chiusura, shutdown, devecontrollare tutte le sessioni di lavoro aperteda eventuali utenti differenti edeventualmente mandare un messaggio diconferma dello spegnimento del computer,abortendo eventuali processi in corso e nonconclusi
  • 29. Sono un insieme di programmi, detti anche programmi di utilità, cheagevolano l’attività degli utenti. editor di testiCompilatoriLinkerInterpretiDebugger ecc.
  • 30. Tecniche per garantire la riservatezza di archivi “sensibili”, evitare la perdita didati e programmi, impedire l’accesso ad utenti non autorizzati, ecc backup: procedura per effettuare copie di salvataggio restore: procedura per il recupero delle copie di sicurezza antivirusE’ la figura professionale che si occupa dei s.o. e del software di base

×