P. 1
SISTEMA OPERATIVO

SISTEMA OPERATIVO

|Views: 50|Likes:
Published by Alessio La Franca

More info:

Published by: Alessio La Franca on May 04, 2012
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as DOCX, PDF, TXT or read online from Scribd
See more
See less

05/04/2012

pdf

text

original

SISTEMA OPERATIVO Quando si opera con un computer , per scrivere una relazione con un programma di word processing o utilizzare

un programma di grafica oppure con un video gioco , tutte queste relazione questo dialogo tra utente e hardware del computer avviene mediante un sistema software , il sistema operativo , che si interfaccia da un lato con il programma di word processing e dall’altro con l’hardware del PC . In sintesi il sistema operativo si può evidenziare in diversi aspetti e compiti : * un sistema per gestire l’interazione utente – computer ; * un’interfaccia tra le applicazioni e le risorse del computer ; * un sistema per gestire la condivisione delle risorse ; * un sistema per ottimizzare l’uso delle risorse ; * un fornitore di servizi allo sviluppo del software e all’amministrazione del sistema. INTERAZIONE UTENTE-COMPUTER I personal computer possono funzionare attraverso diversi sistemi operativo , in questi ambienti , facendo un click sull’icona di un’applicazione , viene avviata l’esecuzione senza che l’utente sappia quello che sta realmente accadendo , tutte le operazioni per gestire il sistema sono effettuate digitando comandi da tastiera o attraverso una modalità grafica. INTERFACCIA APPLICAZIONI E RISORSE DEL COMPUTER Ha lo stesso scopo di quello precedente cioè nascondere la complessità dell’hardware all’utente e alle applicazioni software , fornendo servizi per lo svolgimento di determinati compiti. CONDIVISIONE DELLE RISORSE Cioè la condivisione di CPU quando noi eseguiamo molti programmi contemporaneamente , senza che si ostacolino fra di loro occupando lo spazio che è già destinato ad un altro processo , ma anche per le diverse risorse del computer avviene questa condivisione , come la memoria centrare , unità a disco ecc. OTTIMIZZAZIONE NELL’UTILIZZO DELLE RISORSE Cioè la condivisione oltre a essere possibile deve anche essere efficiente. La necessità di condivisione avviene attraverso la MULTIUTENZA , cioè la capacità di interagire contemporaneamente con molto utenti ( multiprogrammazione ) . MULTITASKING per indicare l’esecuzione contemporanea di più programmi del medesimo utente.

* Il software di sistema composto dagli applicativi utilizzati dai programmatori per lo sviluppo di un’applicazione . come compilatori . cioè quel programma che interagisce con l’utente per ricevere comandi per poi trasmetterli al sistema operativo. SISTEMI OPERATIVI MULTIPROGRAMMATI L’esigenza di aumentare il tempo di utilizzazione della CPU trova una soluzione con i sistemi multi programmati. 4.2. grazie ai quali il lotto di lavori è caricato su disco e più lavori possono essere caricati in memoria. cioè dai dispositivi fisici che forniscono le risorse elaborative . Questi comandi sono inviati al sistema operativo tramite la shell dei comandi . programmi per la posta elettronica. lo SPOOLING è una tecnica che risolve il problema del parallelismo delle periferiche I/O. per la gestione contabile di un’azienda . editor di sistema. i programmi per la grafica . SISTEMI TIME SHARING E SISTEMI BASATI SULLE PRIORITA’ Nei programmi in esecuzione possono avere due comportamenti diversi: IO BOUND = occupa poco la CPU e si interrompe spesso per fare operazioni di I/O terminali. * Multiprogrammazione con priorità cioè che hai programmi è assegnata una priorità che misura l’importanza dell’esecuzione e si eseguono in ordine di priorità. dal sistema operativo e dal software applicativo. * Limitare l’azione della CPU nella lettura e scritti dei dati grazie alla DMA * Gestire le interruzioni. RISORSE HARDWARE E SOFTWARE DEL COMPUTER Un computer è formato dall’hardware . La multiprogrammazione introduce infatti alcune esigenze specifiche : * Protezione per memoria (evitare interferenze tra programmi). con la multiprogrammazione la CPU esegue contemporaneamente più programmi . * Multiprogrammazione in time sharing è tipica dei sistemi interattivi ed evita tempi di attesa lunghi per gli utenti . CPU BOUND = Esegue operazioni di I/O per pochi millisecondi e usa la CPU per molti minuti. visualizzare file . * Implementare la tecnica di spooling nelle operazioni di input/output. Per l’utente finale il computer è un esecutore di applicazioni . . Il sistema operativo manda sempre in esecuzione il programma con la priorità più elevata. Il DMA è un dispositivo in grado di operare il trasferimento dei dati tra memoria e unità periferica senza coinvolgere il processore quando finisce il trasferimento il dma invia un segnale di completamento al processore. * Controllare che l’esecuzione di un programma non impedisce l’esecuzione di un altro. * Il software applicativo cioè i fogli elettronici . giochi . 5. spostarli. la visibilità del sistema operativo per gli utenti finali è limitata all’uso dei comandi di sistema : copiare file . questo avviene grazie alla presenza dei dischi magnetici . tutti i programmi sono eseguiti per un certo intervallo di tempo in modo ciclico. cancellarli . il sistema operativo ha la funzione di interfaccia per l’esecuzione delle applicazioni .

6. dove è composto dall’hardware al centro poi attorno c’e il MICROKERNEL e la GESTIONE DEI PROCESSI E PROCESSORI e infine c’e un altro rettangolo con all’interno la GESTIONE DELLA MEMORIA LA GESTIONE DELLE INFORMAZIONI LA GESTIONE DELLE I/O E LA SHELL DEI COMANDI.FUNZIONI E STRUTTURA DEL SISTEMA OPERATIVO Il sistema operativo ottimizza l’uso delle risorse e interfacciale software applicativo e risorse Le principali risorse che il sistema operativo deve gestire sono: * Il processore : il sistema operativo deve assegnare il processore ai programmi in attesa dell’esecuzione. sono raggruppate in un unico livello esterno. Si tratta del modello a strati del sistema operativo : L’intero sistema è visto come una serie di livelli : il livello inferiore è rappresentato dall’hardware sopra il quale ci sono 5 livelli . * Memoria centrale : un programma in esecuzione deve risiedere in memoria. l’idea alla base dei microkernel è quella di avere un nucleo di sistema operativo che esegue un minimo di funzioni essenziali . * Dispositivi i/o : i programmi richiedono al sistema operativo il trasferimento dei dati. che sono : * Gestione dei processi e processori * Gestione della memoria * Gestione dei dispositivi * Gestione delle informazioni * Shell per la gestione degli utenti e delle applicazioni Nei moderni sistemi operativi si parla spesso invece di architettura a microkernel . . tutte le altre funzione del sistema operativo che non sono incluse nel microkernel . * Informazioni : gli utenti archiviano nel sistema per potere elaborare. Il sistema operativo è quindi un software di grande complessità : nel tempo si è affermato un modello concettuale dei sistemi operativi di notevole utilità per comprendere i principi operativi.

. * Un programma in esecuzione che deve leggere dei dati da una periferica. non modifica lo stato della memoria è quindi un’entità statica. * area dati . le transizioni di stato di un processo sono : AMMISSIONE : è provocata da un utente che avvia un processo. Un ciclo per la gestione delle interruzioni viene chiamato ISR . RUNNING : quando il sistema operativo decide di eseguire il processo assegna ad esso il processore. processi.Il processo Un processo è un’entità dinamica : l’esecuzione di un processo modifica la stato della memoria e dei registri in sintesi potremmo dire che un processo è un programma in esecuzione. * trasferire il controllo al ciclo specializzato alla gestione del servizio richiesto. Riassumendo . cioè il processo abbandona il sistema. dove deve: * salvare lo stato del programma. WAITING : il processo richiede un’operazione di Input / Output e ne deve attendere il completamento. * identificare l’origine dell’interruzione. Stati di un processo e transizione di stato Il sistema operativo crea la struttura dati che rappresenta il processo . * codice. READY : cioè ritorna di nuovo in ready perché il tempo assegnato al processo e terminato e quindi si aspetta l’avvio di un nuovo processo. AVVIENE EVENTO : è causata da un evento esterno al processo. allo scadere di una quantità prefissata di tempo . il programma in esecuzione è interrotto per cedere il controllo dalla CPU ad un altro programma. ATTESA EVENTO : è causata dal processo stesso per eseguire operazioni di I/O. * risorse memoria . INTERRUZIONE : è causata da un’interruzione del processo da un evento esterno al processo. Il programma è un insieme di bit collocati in un file su disco : non cambia nel tempo . 3. Il processo è un programma in esecuzione con : * traccia di esecuzione. In un processo possono avvenire delle interruzione e questo avviene secondo diverse modalità e per differenti cause : * Il sistema operativo interrompe l’esecuzione di un programma a bassa priorità per assegnare il promesso a un programma con priorità maggiore. ASSEGNAZIONE : consiste nell’assegnare un processore a un processo. Programmi e processi Il programma è un insieme di bit collocati in un file su disco. * Nel caso dei sistemi a time sharing . Queste gestione delle interruzioni vengono gestiste dal sistema operativo che modifica il valore di un flag memorizzato nella PSW. e si suddivide in : NEW : cioè il sistema operativo assegna al processo le risorse richieste e lo colloca in memoria. 4. Ci possono essere delle interruzione e può eseguire quindi 3 strade diverse : TERMINATED : il processo completa la sua esecuzione e cede il controllo al sistema operativo . READY : è un processo che può essere eseguito e attende l’assegnazione di un processore. * Un evento esterno al sistema causa l’interruzione del programma in esecuzione .

* ATTIVAZIONE : processo riportato in memoria ( SWAP IN ). Schedulazione dei processi Il sistema operativo decide quali processi devono effettuare la transizione di stato e quali no . . * AVVIENE EVENTO : da waiting sospeso a ready sospeso . * anche nei sistemi a singoli processori l’esecuzione avviene in modo più veloce. Ci sono diversi tipi di schedulazione: * Schedulazione a lungo termine : decide quali di questi lavori possono essere caricati in memoria e avviene nella transizione NEW. processo inviato al disco ( SWAP OUT ). * IDENTIFICATORI : identifica un processo. * i thread collaborano durante l’esecuzione. * PSW : contiene le informazioni necessarie per far ripartire un processo dopo un’interruzione. questo può succede per due ragioni : * SWAP OUT : il sistema operativo rimuove i processi dalla memoria e li colloca sul disco per eseguire un processo con priorità maggiore. Le strutture per gestire i processi PCB è una struttura dati con le informazioni necessarie alla gestione del processo. I thread Il flusso di esecuzioni è dato dalla sequenza di valori assunti dal program counter durante l’esecuzione di un processo . tramite questi processi si attivano 3 nuove transizioni: * SOSPENSIONE : passaggio allo stato sospeso. * condividono lo spazio in memoria. 6. ( MULTIREADING ) Hanno il vantaggio : * l’esecuzione viene eseguita più rapidamente. * STATO DEL PROCESSO : priorità ed informazioni necessarie per l’esecuzione. cioè l’esistenza di un solo thread vuol dire che al processo può essere assegnato un solo processore. * migliora la progettazione del software. * SWAP IN : il sistema operativo porta in memoria processi presenti nel disco in grado di essere eseguiti. 7. 5. * Schedulazione e medio termine : Avviene nella transizione waiting sospeso e ready sospeso e decide quali processi scaricare sul disco. evento che fa bloccare il processo in waiting.Processi dormienti cioè quei processi rimossi dalla memoria centrale . * Schedulazione a breve termine : avviene nelle transizioni tra ready e running e avviene quando il processo rilascia il processore. questa componente del sistema operativo si chiama SCHEDULATORE. specifica l’utente associato al processo. nella PCB ci sono : * PUNTATORI : collegano i processi per costruire liste.

. Algoritmi di schedulazione Le tecniche usate dai sistemi operativi per la scelta del processo si chiamano algoritmi di schedulazione.8. * Schedulazione con prerilascio : cioè un processo running puà essere interrotto e portato nello stato ready per lasciare il posto ad altri processi. Gli algoritmi di schedulazione sono : * Schedulazione senza prerilascio : cioè un processo running non può essere interrotto durante l’esecuzione.

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->