Sei sulla pagina 1di 6

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 dallaltro con lhardware del PC . In sintesi il sistema operativo si pu evidenziare in diversi aspetti e compiti : * un sistema per gestire linterazione utente computer ; * uninterfaccia tra le applicazioni e le risorse del computer ; * un sistema per gestire la condivisione delle risorse ; * un sistema per ottimizzare luso delle risorse ; * un fornitore di servizi allo sviluppo del software e allamministrazione del sistema. INTERAZIONE UTENTE-COMPUTER I personal computer possono funzionare attraverso diversi sistemi operativo , in questi ambienti , facendo un click sullicona di unapplicazione , viene avviata lesecuzione senza che lutente 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 dellhardware allutente 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 NELLUTILIZZO 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 lesecuzione contemporanea di pi programmi del medesimo utente.

2. RISORSE HARDWARE E SOFTWARE DEL COMPUTER Un computer formato dallhardware , cio dai dispositivi fisici che forniscono le risorse elaborative , dal sistema operativo e dal software applicativo. * Il software applicativo cio i fogli elettronici , i programmi per la grafica , per la gestione contabile di unazienda , giochi , programmi per la posta elettronica. * Il software di sistema composto dagli applicativi utilizzati dai programmatori per lo sviluppo di unapplicazione , come compilatori , editor di sistema. Per lutente finale il computer un esecutore di applicazioni , il sistema operativo ha la funzione di interfaccia per lesecuzione delle applicazioni . la visibilit del sistema operativo per gli utenti finali limitata alluso dei comandi di sistema : copiare file , visualizzare file , cancellarli , spostarli. Questi comandi sono inviati al sistema operativo tramite la shell dei comandi , cio quel programma che interagisce con lutente per ricevere comandi per poi trasmetterli al sistema operativo.

4. SISTEMI OPERATIVI MULTIPROGRAMMATI Lesigenza di aumentare il tempo di utilizzazione della CPU trova una soluzione con i sistemi multi programmati. con la multiprogrammazione la CPU esegue contemporaneamente pi programmi , questo avviene grazie alla presenza dei dischi magnetici , grazie ai quali il lotto di lavori caricato su disco e pi lavori possono essere caricati in memoria. La multiprogrammazione introduce infatti alcune esigenze specifiche : * Protezione per memoria (evitare interferenze tra programmi). * Controllare che lesecuzione di un programma non impedisce lesecuzione di un altro. * Limitare lazione della CPU nella lettura e scritti dei dati grazie alla DMA * Gestire le interruzioni. * Implementare la tecnica di spooling nelle operazioni di input/output. lo SPOOLING una tecnica che risolve il problema del parallelismo delle periferiche I/O. 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. 5. 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; CPU BOUND = Esegue operazioni di I/O per pochi millisecondi e usa la CPU per molti minuti. * Multiprogrammazione con priorit cio che hai programmi assegnata una priorit che misura limportanza dellesecuzione e si eseguono in ordine di priorit. Il sistema operativo manda sempre in esecuzione il programma con la priorit pi elevata. * Multiprogrammazione in time sharing tipica dei sistemi interattivi ed evita tempi di attesa lunghi per gli utenti , tutti i programmi sono eseguiti per un certo intervallo di tempo in modo ciclico.

6.FUNZIONI E STRUTTURA DEL SISTEMA OPERATIVO Il sistema operativo ottimizza luso 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 dellesecuzione. * Memoria centrale : un programma in esecuzione deve risiedere in memoria. * Dispositivi i/o : i programmi richiedono al sistema operativo il trasferimento dei dati. * 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. Si tratta del modello a strati del sistema operativo : Lintero sistema visto come una serie di livelli : il livello inferiore rappresentato dallhardware sopra il quale ci sono 5 livelli , 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 , lidea alla base dei microkernel quella di avere un nucleo di sistema operativo che esegue un minimo di funzioni essenziali , tutte le altre funzione del sistema operativo che non sono incluse nel microkernel , sono raggruppate in un unico livello esterno. dove composto dallhardware al centro poi attorno ce il MICROKERNEL e la GESTIONE DEI PROCESSI E PROCESSORI e infine ce un altro rettangolo con allinterno la GESTIONE DELLA MEMORIA LA GESTIONE DELLE INFORMAZIONI LA GESTIONE DELLE I/O E LA SHELL DEI COMANDI.

Il processo Un processo unentit dinamica : lesecuzione di un processo modifica la stato della memoria e dei registri in sintesi potremmo dire che un processo un programma in esecuzione. Il programma un insieme di bit collocati in un file su disco : non cambia nel tempo , non modifica lo stato della memoria quindi unentit statica. In un processo possono avvenire delle interruzione e questo avviene secondo diverse modalit e per differenti cause : * Il sistema operativo interrompe lesecuzione di un programma a bassa priorit per assegnare il promesso a un programma con priorit maggiore. * Nel caso dei sistemi a time sharing , allo scadere di una quantit prefissata di tempo , il programma in esecuzione interrotto per cedere il controllo dalla CPU ad un altro programma. * Un programma in esecuzione che deve leggere dei dati da una periferica. * Un evento esterno al sistema causa linterruzione del programma in esecuzione . Queste gestione delle interruzioni vengono gestiste dal sistema operativo che modifica il valore di un flag memorizzato nella PSW. Un ciclo per la gestione delle interruzioni viene chiamato ISR , dove deve: * salvare lo stato del programma. * identificare lorigine dellinterruzione. * trasferire il controllo al ciclo specializzato alla gestione del servizio richiesto. 3. Programmi e processi Il programma un insieme di bit collocati in un file su disco. Il processo un programma in esecuzione con : * traccia di esecuzione. * codice. * area dati . * risorse memoria , processi. 4. Stati di un processo e transizione di stato Il sistema operativo crea la struttura dati che rappresenta il processo , e si suddivide in : NEW : cio il sistema operativo assegna al processo le risorse richieste e lo colloca in memoria. READY : un processo che pu essere eseguito e attende lassegnazione di un processore. RUNNING : quando il sistema operativo decide di eseguire il processo assegna ad esso il processore. 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 , cio il processo abbandona il sistema. READY : cio ritorna di nuovo in ready perch il tempo assegnato al processo e terminato e quindi si aspetta lavvio di un nuovo processo.

WAITING : il processo richiede unoperazione di Input / Output e ne deve attendere il completamento. Riassumendo , le transizioni di stato di un processo sono : AMMISSIONE : provocata da un utente che avvia un processo. ASSEGNAZIONE : consiste nellassegnare un processore a un processo. INTERRUZIONE : causata da uninterruzione del processo da un evento esterno al processo. ATTESA EVENTO : causata dal processo stesso per eseguire operazioni di I/O. AVVIENE EVENTO : causata da un evento esterno al processo.

Processi dormienti cio quei processi rimossi dalla memoria centrale , 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. * SWAP IN : il sistema operativo porta in memoria processi presenti nel disco in grado di essere eseguiti. tramite questi processi si attivano 3 nuove transizioni: * SOSPENSIONE : passaggio allo stato sospeso, processo inviato al disco ( SWAP OUT ). * ATTIVAZIONE : processo riportato in memoria ( SWAP IN ). * AVVIENE EVENTO : da waiting sospeso a ready sospeso , evento che fa bloccare il processo in waiting.

5. Le strutture per gestire i processi PCB una struttura dati con le informazioni necessarie alla gestione del processo. nella PCB ci sono : * PUNTATORI : collegano i processi per costruire liste. * IDENTIFICATORI : identifica un processo, specifica lutente associato al processo. * PSW : contiene le informazioni necessarie per far ripartire un processo dopo uninterruzione. * STATO DEL PROCESSO : priorit ed informazioni necessarie per lesecuzione.

6. I thread Il flusso di esecuzioni dato dalla sequenza di valori assunti dal program counter durante lesecuzione di un processo , cio lesistenza di un solo thread vuol dire che al processo pu essere assegnato un solo processore. ( MULTIREADING ) Hanno il vantaggio : * lesecuzione viene eseguita pi rapidamente. * anche nei sistemi a singoli processori lesecuzione avviene in modo pi veloce. * i thread collaborano durante lesecuzione. * migliora la progettazione del software. * condividono lo spazio in memoria.

7. Schedulazione dei processi Il sistema operativo decide quali processi devono effettuare la transizione di stato e quali no , questa componente del sistema operativo si chiama SCHEDULATORE. 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. * Schedulazione e medio termine : Avviene nella transizione waiting sospeso e ready sospeso e decide quali processi scaricare sul disco. * Schedulazione a breve termine : avviene nelle transizioni tra ready e running e avviene quando il processo rilascia il processore.

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