I Sistemi Operativi PDF
Document Details
Uploaded by AffordableGroup7338
Università San Raffaele
M. Zaninelli
Tags
Summary
Questi appunti forniscono un'introduzione ai concetti fondamentali dei sistemi operativi, spiegando la loro funzione come interfaccia tra l'utente e l'hardware. Descrivono anche le diverse componenti di un sistema operativo, inclusi i processi e l'interfaccia utente. I sistemi operativi sono una parte essenziale della tecnologia dell'informazione.
Full Transcript
Prof. M. Zaninelli I Sistemi Operativi L’anima del calcolatore Sistemi operativi 1 di 20 Prof. M. Zaninelli Il Sistema Operativo (SO) È un programma, o m...
Prof. M. Zaninelli I Sistemi Operativi L’anima del calcolatore Sistemi operativi 1 di 20 Prof. M. Zaninelli Il Sistema Operativo (SO) È un programma, o meglio, un insieme di programmi. Serve a coordinare ed ottimizzare le varie parti hardware che compongono l‟elaboratore. Fa da interfaccia tra il computer e chi lo utilizza: l‟utente umano, un‟applicazione o un altro computer. Può essere arricchito, aggiornato ed integrato. Sistemi operativi 2 di 20 Prof. M. Zaninelli Alcuni esempi Microsoft DOS (Disk SUN Solaris V8 Operating System) 3.0 IBM VM (Virtual Machine) Microsoft Windows XP … Microsoft Windows Vista Microsoft Windows 7 Unix Linux (Red Hat V7.3) Sistemi operativi 3 di 20 Prof. M. Zaninelli Dov’è il Sistema Operativo? Utente Sistema operativo Hardware Sistemi operativi 4 di 20 Prof. M. Zaninelli Che cosa fa? Il SO si presenta come mediatore tra l‟utente umano e l‟hardware. L‟utente non “vede” le singole parti fisiche del computer ma solo la rappresentazione che ne da il SO. L‟utente dirige l‟hardware tramite un linguaggio compreso, tradotto ed eseguito dal SO. Sistemi operativi 5 di 20 Prof. M. Zaninelli Più in dettaglio Gestisce le periferiche per le operazioni di I/O: – Dischi, video, tastiere, stampanti, mouse, rete, … – Il File System, raccordando informazioni logiche e locazioni fisiche. Gestisce la CPU: – Elaborazione dei processi, elaborazioni grafiche, … Gestisce la memoria: – Trasferimento memoria RAM/disco, memoria virtuale, paging e swapping. Gestisce i processi: – Schedula, avvia e ferma i processi in macchina. Sistemi operativi 6 di 20 Prof. M. Zaninelli Lato macchina Si caratterizza per flessibilità e capacità d‟ integrazione: – È in grado di prevedere ed accettare aggiunte per la gestione o la modifica di apparati periferici: driver per dischi, stampanti, scanner, puntatori, … – È in grado di integrare modifiche HW o aggiornamenti funzionali: aumento di memoria, nuove schede grafiche, (es.: RAM > 2GByte => ricompilazione/aggiornamento) – È in grado di evolversi con versioni aggiornate in relazione alle evoluzioni della tecnologia HW (es.: nuova scheda grafica, dischi più veloci, schermi più ampi,...) Sistemi operativi 7 di 20 Prof. M. Zaninelli Lato utente Gestisce le risorse utente: file, direttori, quote, profili di accesso, privilegi, … Gestisce le risorse per l‟utente, rendendogliele disponibili in modo comprensibile ed utilizzabile. Può fornire un ambiente virtuale, emulando risorse o addirittura computer interi (una virtual machine per ogni utente). Può emulare ambienti multiutente differenti da sé: concetto di “macchina virtuale”. Sistemi operativi 8 di 20 Prof. M. Zaninelli Lato utente Fornisce sempre uno o più “linguaggi di controllo” che consentono un‟interazione con l‟utente. Ad esempio: 1. C:> dir (Windows, fornisce l’elenco dei file) 2. # ls –al (Unix, come sopra) 3. $ show default (VMS, fornisce la propria posizione) Sistemi operativi 9 di 20 Prof. M. Zaninelli Al suo interno È composto da (o contiene dei) programmi accessori per compiti particolari. Editor, per la composizione di testi e/o programmi – Notepad, Wordpad, Vi, ed, Pico, … Compilatori e debugger, per le attività di programmazione. Utility generali: sort, merge, diff, findstr, … Utility per configurazione e controllo della rete. Programmi per la gestione delle stampe. Programmi di partenza e arresto del sistema: halt, bootstrap, shutdown, … Sistemi operativi 10 di 20 Prof. M. Zaninelli Processi Tutti i calcolatori* moderni prevedono il concetto di “processo”: tutte le attività sono suddivise e riconducibili in entità fondamentali dette processi (immaginiamo delle “scatole”) individuate in maniera univoca, che contengono tutte e sole le risorse necessarie a realizzarle. I processi vengono creati (“nascono”) quando servono e vengono cancellati (“uccisi”) quando il risultato è ottenuto, o quando non servono più. Un processo – di norma – è inconsapevole dell‟esistenza degli altri processi anche se possono esistere processi che comunicano tra loro. Sussistono in genere delle gerarchie tra processi, (genitore => figli), ma di norma esiste un processo padre di tutti i processi e generato in modo differente. * per come li intendiamo comunemente in questo contesto Sistemi operativi 11 di 20 Prof. M. Zaninelli Similitudine Tavoli in un ristorante “classico”: – I tavoli (= i processi) sono numerati, – Esistono (= vanno in esecuzione) solo se esiste un cliente (= un servizio da realizzare), – Non c’è altro modo di mangiare (= svolgere un‟attività) se non al tavolo, – I clienti si siedono solo ai tavoli, – I tavoli hanno quello che serve per mangiare e un legame con la cucina (= l‟HW) e la cassa (= l‟output) che è il cameriere (= il SO), – I tavoli sono sparecchiati (eliminati) quando il cliente ha finito (ma il numero è riutilizzabile). Sistemi operativi 12 di 20 Prof. M. Zaninelli Sistema operativo e processi Tutte le attività svolte da un calcolatore sono realizzate tramite processi. Più processi sono in genere attivi contemporaneamente sul calcolatore, per questo si parla di sistemi multiprocessing. Però, un solo processo può essere fisicamente in esecuzione sulla CPU. Pertanto, tutti i restanti processi attivi devono essere ibernati in attesa che la CPU sia disponibile. E‟ il SO che gestisce i processi, per quanto riguarda tempi e risorse (CPU e RAM) assegnate. Ma va osservato che anche il SO, in quanto applicazione software, è composto da processi che però hanno in genere una priorità d‟esecuzione rispetto agli altri (ed inoltre, non necessariamente solo da processi*) *per il SO possono esiste in effetti attività non realizzate come processi Sistemi operativi 13 di 20 Prof. M. Zaninelli Interfacce Il modo con cui un sistema operativo si presenta al proprio utilizzatore viene spesso definito con il termine di interfaccia. Essa è il modo con cui il sistema rende disponibili ed utilizzabili le proprie funzionalità verso l‟esterno (in particolare verso il suo utilizzatore umano). Sistemi operativi 14 di 20 Prof. M. Zaninelli Tipi di interfacce Nei calcolatori più semplici, o più vecchi, esisteva un solo tipo di interfaccia di sistema operativo, molto semplice. Era rappresentata visivamente da un interprete dei comandi che si aspettava dei comandi testuali (solitamente simili a parole inglesi, vedi: linguaggi di programmazione, linguaggi interpretati, script di SO, script di “shell”), forniti tramite una tastiera e visualizzati su uno schermo. Lo schermo visualizzava anche il risultato dei comandi eseguiti. Interfaccia detta “a carattere”. Sistemi operativi 15 di 20 Prof. M. Zaninelli Esempio: DOS Sistemi operativi 16 di 20 Prof. M. Zaninelli Tipi di interfacce A partire dagli anni „80 si seguì invece un approccio più semplice da usare e più accattivante per l‟utente: l‟interazione tramite interfacce grafiche, gestite con un mouse. In questo caso si ha un device di I/O aggiuntivo oltre allo schermo e alla tastiera. A video vi è un menu più o meno ricco di funzionalità, attivabili con il mouse o, in alternativa, con una combinazione di tasti. Vi sono delle icone, rappresentazione visiva di programmi o funzionalità accessibili e/o utilizzabili tramite mouse, raggruppate in una scrivania virtuale, il Desktop. Sistemi operativi 17 di 20 Prof. M. Zaninelli Interfacce grafiche MacOs di Apple e, molto più tardi, Windows di Microsoft sono senz‟altro tra le più conosciute e diffuse Alcune (vedi distribuzioni LINUX) si sviluppano anche secondo filoni propri, in maniera indipendente dal sistema operativo che le ospita. Comunque, esse coesistono in genere anche con interfacce a carattere presenti e attive sullo stesso calcolatore. Possono infine coesistere contemporaneamente anche con altre interfacce grafiche residenti sullo stesso computer purché non attive contemporaneamente. Sistemi operativi 18 di 20 Prof. M. Zaninelli Esempio finale: il vostro PC Se riducete ad icona questa presentazione Se riducete ad icona tutte le altre applicazioni che potrebbero occupare l‟intero schermo Allora, guardando il video, quello che osserverete è un‟interfaccia grafica del sistema operativo che “gira” sul vostro PC; sia esso Mac, Windows, Linux, o altro … Infatti se vi muovete e cliccate con il mouse, anche con il tasto destro, succedono delle cose. Ad esempio, se fate // succede probabilmente qualcosa di strano. Tutto ciò che fate in realtà è interagire (o dare ordini, se preferite) con il sistema operativo del vostro computer. Sistemi operativi 19 di 20 Prof. M. Zaninelli Concetti fondamentali È un programma, o meglio un insieme di programmi. È un‟interfaccia uomo-macchina. Viene comandato da direttive, testuali o grafiche. Gestisce risorse. È un Sistema che rende il calcolatore Operativo. Sistemi operativi 20 di 20