Sistemi Operativi: avvio

Slides:



Advertisements
Presentazioni simili
1 Introduzione ai calcolatori Parte II Software di base.
Advertisements

Il Software.
Linguaggi di programmazione
Il Sistema Operativo Il Sistema Operativo fa parte del software di base; e` costituito da un insieme di programmi che interagiscono e cooperano per: gestire.
Interazione Uomo - Macchina
Sistema Operativo A. Ferrari.
I file system.
STRUTTURA DEL PERSONAL COMPUTER
Sistemi Operativi Menù: 1) Introduzione al sistema operativo
Da Unix a Linux Alessio Coraci V Dp.
Ogni PC, per iniziare a lavorare, ha bisogno di un sistema operativo. Infatti questo è il primo programma che viene eseguito e che permette all'utente.
Il Sistema Operativo.
Dr. Francesco Fabozzi Corso di Informatica
Strutture dei Sistemi Operativi
INTRODUZIONE AI SISTEMI OPERATIVI
Il Software: Obiettivi Programmare direttamente la macchina hardware è molto difficile: lutente dovrebbe conoscere lorganizzazione fisica del computer.
Introduzione allinformatica. Cosè linformatica ? Scienza della rappresentazione e dellelaborazione dellinformazione ovvero Studio degli algoritmi che.
Università degli Studi di Bergamo Facoltà di Lingue e Letterature Straniere Facoltà di Lettere e Filosofia A.A Informatica generale 1 Appunti.
Le prestazioni (velocità) di un singolo disco sono limitate dalla tecnologia usata, -per aumentare le prestazioni si può pensare di far operare in parallelo.
Struttura dei sistemi operativi (panoramica)
Software di base Il sistema operativo è un insieme di programmi che opera sul livello macchina e offre funzionalità di alto livello Es.organizzazione dei.
Linguaggi di programmazione
Laboratorio di Informatica
2) Sistemi operativi Lab. Calc. AA2004/05 - cap.2.
Windows Sistema operativo con interfaccia grafica per PC IBM compatibili (varie versioni dal 95) La gestione dei file viene fatta secondo le modalità.
SOFTWARE I componenti fisici del calcolatore (unità centrale e periferiche) costituiscono il cosiddetto Hardware (alla lettera, ferramenta). La struttura.
I SISTEMI OPERATIVI.
9. HARDWARE KERNEL O NUCLEO GESTORE DELLA MEMORIA GESTORE DELLE PERIFERICHE GESTORE DEI FILE INTERFACCIA UTENTE - GUI(Graphic Interface Unit) 2 ECDL MODULO.
Informatica per medici
INTRODUZIONE l sistema operativo è il primo software che lutente utilizza quando accende il computer; 1)Viene caricato nella memoria RAM con loperazione.
MODULO 01 Unità didattica 04
Modulo 1 - Hardware u.d. 3 (syllabus – 1.3.5)
Modulo 1 - Concetti di base della Tecnologia dell'Informazione
STRUTTURA GENERALE DI UN ELABORATORE
Software e sistema operativo 19-22/5/08 Informatica applicata B Cristina Bosco.
Concetti di base sul Software dei PC Unitre Anno
MicroSoft - Disk Operating System. MS-DOS è stato un sistema operativo commerciale della Microsoft Corporation dedicato ai personal computer con microprocessore.
VIRTUALIZZAZIONE Docente: Marco Sechi Modulo 1.
Il Sistema Operativo (1)
Laboratorio di Informatica Elisa Mori
prof. Antonella Schiavon ottobre 2009
Il Software Programmare direttamente la macchina hardware è molto difficile: l’utente dovrebbe conoscere l’organizzazione fisica del computer e il suo.
1 Il Sistema Operativo: Esempio n Le operazioni effettuate sembrano abbastanza semplici ma … n Provocano una serie di eventi in cui vengono coinvolte sia.
I sistemi operativi1 CONCETTI FONDAMENTALI l HARDWARE: il componente “materiale” di un sistema informatico l SOFTWARE: il componente “immateriale” di un.
Sistema Operativo (Software di base)
Autori:  Gazzola Alex  Cassol Simone  Kawkab Wassim Data: 14/04/2014 Classe: 3° INF.
Il Sistema Operativo Il Sistema Operativo è costituito dall’insieme dei programmi necessari per far funzionare tutto l’hardware del calcolatore e per nascondere.
Terza Lezione Il software.
INTERFACCE Schede elettroniche che permettono al calcolatore di comunicare con le periferiche, che possono essere progettate e costruite in modo molto.
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica
Introduzione Cos’è un sistema operativo ?. Hardware Sistema Operativo Applicazioni È il livello di SW con cui interagisce l’utente e comprende programmi.
1 Sommario degli argomenti  Sistemi operativi: DOS, Unix/Linux,Windows  Word processors: Word  Fogli elettronici: Excel  Reti: TCP/IP, Internet, ftp,
Il software Componente del computer costituita dai: –programmi di base per la gestione del sistema –programmi applicativi per l’uso del sistema Queste.
Corso di Laurea in Scienze e Tecnologie Chimiche corso di Informatica Generale Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
Sistema operativo Il sistema operativo è un insieme di programmi che gestiscono tutte le componenti hardware e software di un calcolatore. Spesso si può.
Sistemi operativi di rete Ing. A. Stile – Ing. L. Marchesano – 1/18.
Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per l’ambiente e il territorio Il software di base Stefano Cagnoni e Monica Mordonini.
Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
Informatica Lezione 6 Psicologia dello sviluppo e dell'educazione (laurea magistrale) Anno accademico:
Concetti di base Computer, HW e SW
ISIA Duca degli Abruzzi a.s. 2010/2011 prof. Antonella Schiavon
Sintesi da pag. 8 a pag. 21. L’ Informatica è la scienza che studia il trattamento automatico dell’informazione. Deriva dal francese «Informatique»
INTRODUZIONE AI SISTEMI OPERATIVI. Introduzione Il software può essere diviso un due grandi classi: Il software può essere diviso un due grandi classi:
I Sistemi Operativi. Che cosa sono? Il sistema operativo è un software di base che fa funzionare il computer. I Sistemi operativi più importanti sono:
I Sistemi Operativi. Definizione Per Sistemi Operativi (di seguito SO) si intendono quei pacchetti software, a loro volta costituiti da più sottoprogrammi.
I sistemi operativi Funzioni principali e caratteristiche.
 Negli anni 40 i sistemi operativi non esistevano, i programmatori infatti avevano un accesso diretto alle risorse hardware.  Il primo sviluppo dei.
COMPONENTI DI UN SISTEMA INFORMATICO HardwareSoftware Parte fisicaComponenti logiche Componenti fisiche (elettroniche e meccaniche) di un computer Istruzioni.
Un sistema operativo è un componente del software di base di un computer la cui funzione è quella di gestire le sue risorse hardware e software,fornendo.
Definizione e obiettivi del Sistema Operativo. DIFFERENZA TRA SISTEMA OPERATIVO – SOFTWARE APPLICATIVO Sistema operativo è un insieme organico di programmi.
Transcript della presentazione:

Sistemi Operativi: avvio All’avvio del computer, il BIOS (Basic Input-Output System) esegue una serie di test diagnostici per controllare lo stato di funzionamento dell'hardware e segnalare eventuali guasti rilevati tramite un codice sonoro (beep code); Fornire una interfaccia software per l'accesso alle periferiche e all'hardware del PC.

Il S.O. viene “caricato” dall’hard disk sulla memoria RAM, solo in quel momento sul monitor comparirà lo sfondo di windows Boot

Sistema Operativo: funzioni Due sono le funzioni principali svolte da un sistema operativo: gestione delle risorse hardware interfaccia verso l’utente

Dispositivi Esistono diversi dispositivi elettronici che per gestire la loro complessità si sono dotati di un sistema operativo. Tra questi, agende elettroniche e telefoni cellulari sono alcuni esempi. Palm m505 Sendo z100 Nokia 7650

Sistemi operativi: un po’ di storia

Sistemi operativi: storia I primi sistemi operativi sono stati progettati negli anni ’50 per i calcolatori allora disponibili. Consistevano in poche centinaia di istruzioni per il caricamento del programma in memoria centrale e per la produzione, su un dispositivo di output, dei risultati dell’elaborazione. L’interfaccia era quella comune allora – interruttori e spie luminose. I comandi venivano impartiti in codice binario.

Sistemi operativi: storia Anni ’60, alla AT&T nasce UNIX, capostipite di una numerosa e varia famiglia di sistemi operativi. Anni ’70, iniziano a diffondersi i primi micro computer. Anni ‘80, a Seattle venne sviluppato il sistema operativo QDOS (Quick and Dirty Operating System). AT&T: American Telephone & Telegraph Corporation. Prima di sviluppare UNICS, Thompson dovette anche scriversi l’assembler.. Meno male che lui e Dennis Ritchie avevano trovato un PDP-7 inutilizzato (?).

Sistemi operativi: storia (DOS) Dopo pochi mesi, un’altra ditta di Seattle, la Microsoft di Bill Gates, ne acquista i diritti per rivendere il DOS ad un cliente importante. Il cliente è l’IBM, che nel 1981 lancerà il primo PC, dando il via alla rivoluzione dei personal computer.

Sistemi operativi: storia (Win & Mac) 1984, lancio dell’Apple Macintosh, e del suo sistema operativo a interfaccia grafica, il System 1.0 http://it.wikipedia.org/wiki/Storia_del_Mac_OS#Pre-System_6 L’anno successivo, il 1985, la Microsoft lancia la prima versione di Windows. http://it.wikipedia.org/wiki/Windows#Storia_di_Microsoft_Win dows Nota: già dal 1985 la Microsoft aveva un modo particolare di inserirsi nel mercato: le interfacce grafiche (Xerox, Apple, X-Window) erano di tipo WIMP (Windows, Icons, Menus, Pointing Device). Di conseguenza la Microsoft pensò bene di battezzare il proprio sistema operativo con un nome che la legasse per sempre a un’interfaccia che non aveva inventato.

Sistemi operativi: storia (Linux) Nel 1991 uno studente finlandese, Linus Torvalds, sviluppò il kernel per un sistema operativo basato su una variante di UNIX. Lo distribuì in rete secondo la GNU General Public License, una licenza che ne consentiva l’uso, la redistribuzione e la modifica (a certe condizioni). Iniziò a ricevere da subito contributi da altri sviluppatori.

Sistemi operativi: storia (Linux) Nasceva così Linux, una delle varianti UNIX oggi più diffuse. Il kernel di Linux è continuamente aggiornato, e disponibile anche gratuitamente. Uno dei punti di forza di questo sistema è la comunità che lo supporta, e la filosofia su cui si basa, quella del software libero. Su Linux, aggiungere altre informazioni: che è stabile, che è uno dei sistemi più usati sui web server in combinazione con Apache, e così ia.

Sistemi operativi: struttura interna

Livelli La struttura di un sistema operativo, tipicamente, è quella a cipolla:

Livelli L’hardware è dunque “ricoperto” da una serie di strati di software. Ciascun livello: – usa le funzionalità di quello sottostante – fornisce servizi al livello che segue nella gerarchia – gestisce delle risorse mediante politiche invisibili ai livelli superiori

Si crea, in questo modo, una gerarchia di “macchine virtuali”. • l’esperto che scrive un sistema operativo vede il sistema come un insieme di risorse fisiche da comandare direttamente; • colui che progetta un ambiente di programmazione vede la macchina come l’insieme delle funzioni messe a disposizione dal sistema operativo;

Macchine virtuali • l’utente che usa un linguaggio di alto livello per progettare un programma applicativo vede l’elaboratore come l’insieme delle funzionalità messe a disposizione dall’ambiente di programmazione; • per l’utilizzatore di un programma applicativo, infine, il sistema appare virtualmente come l’insieme dei comandi che può fornire alla macchina per soddisfare le sue esigenze.

Macchine virtuali Riassumendo: l’utente finale del sistema interagisce solo con il livello più esterno della gerarchia. Idealmente, l’utente finale è ignaro di tutti i dettagli delle operazioni svolte dai livelli inferiori. Potrebbe (sempre idealmente) essere a conoscenza solo delle operazioni che è interessato ad effettuare.

Gestione CPU Il livello più basso è quello del kernel (nucleo). Questa parte del sistema operativo si occupa di gestire l’esecuzione dei programmi. Un programma in esecuzione è detto processo. Per analogia, si può considerare un programma come una ricetta e il processore come cuoco. L’esecuzione della ricetta, che comprende la lettura, la selezione degli ingredienti, la disposizione degli stessi a portata di mano in attesa di usarli, e così via, è il processo. Per risorse di calcolo, si intende il tempo che la CPU dedica ad un particolare processo. Il kernel distribuisce le risorse di calcolo tra i vari processi attivi.

Gestione CPU Una prima distinzione è dunque tra quei sistemi che eseguono un processo per volta e quelli in grado di gestirne diversi “contemporaneamente”. Questi ultimi sono detti multitasking. Analogia del barista come processore, che può essere adattata sia per i sistemi a task singolo che per quelli multitasking.

Gestione memoria La memoria è una risorsa essenziale e limitata. Essenziale, perché ogni programma in esecuzione (processo) deve essere “caricato” in memoria, e così i dati su cui opera. Limitata, perché nei sistemi moderni possono essere attivi più processi nello stesso tempo. In effetti non è necessario caricare per intero un programma in memoria, ma solo quelle sue parti che si stanno effettivamente utilizzando.

Gestione memoria Dal momento che la memoria di sistema (RAM) è una risorsa finita, nell’allocarla ai vari processi il sistema operativo deve risolvere vari problemi: trovare spazio per i vari processi; “rilocare” il codice caricato in memoria; ridurre la frammentazione.

Memoria virtuale L’elaboratore può disporre, in apparenza, di una quantità di memoria maggiore di quella fisica installata. L’utilizzo di una memoria secondaria (su disco) per estendere la memoria di sistema consente di parlare di memoria virtuale.

Gestione memoria: swapping Il sistema operativo può riservare un’area di un disco per lo swapping. C A A B B D D C C D viene caricato in memoria. In memoria sono presenti A, B, e C. D non trova spazio. C viene copiato su un disco dal gestore della memoria.

Gestione Input/Output L’accesso alle periferiche di I/O viene gestito dal sistema operativo insieme ai driver di periferica. Questi sono programmi specifici per ciascun dispositivo che si colleghi all’elaboratore (stampanti, scanner dischi…).

Gestione Input/Output L’interazione tra un programma e una periferica è standardizzata. Un programma di elaborazione testi, ad esempio, può inviare un comando di stampa senza curarsi del tipo di stampante collegata al computer. Spetta al sistema operativo smistare la richiesta al driver della stampante. L’interazione è standardizzata in questo senso: un programma di scrittura, ad esempio, può inviare un comando di stampa senza curarsi del tipo di stampante collegata al computer. Spetta al SO, insieme al driver della stampante, provvedere all’esecuzione dell’operazione.

Gestione Input/Output A questo livello è implementato anche un sistema di gestione degli errori di I/O (ad es. dischetto mancante o danneggiato, carta esaurita, ecc.). Anche il controllo dell’ordine di accesso ai dispositivi è cruciale. Il sistema operativo deve prevenire, o risolvere, eventuali conflitti. Il SO deve inoltre curarsi della gestione degli errori di I/O (dischetto mancante o danneggiato, carta esaurita) così come della corretta gestione della coda di accesso ai dispositivi stessi (se il programma P1, che sta usando la risorsa R1, vuole accedere anche alla risorsa R1, e il programma P2 sta usando la risorsa R2, allora P1 viene messo in attesa. Ma se P2 richiede la risorsa R1 per usarla contemporaneamente a R2, allora ci si può trovare potenzialmente in una fase di stallo – è il SO a doverla risolvere, o a doverla prevenire).

Gestione file Il file system è il modo in cui il sistema operativo organizza i file (documenti) sulle unità di memorizzazione. Un file è un’astrazione che rappresenta un insieme di byte logicamente collegati. Con “protezione” intendo la caratteristica per cui nei SO multiutente possono essere impostati dei permessi di accesso ai file basati su utenti e gruppi. I file e le directory sono in tal modo protetti da accessi non autorizzati.

Gestione file: funzioni Il file system deve mettere a disposizione diverse funzioni per la manipolazione dei file: creazione/eliminazione lettura/scrittura/esecuzione coordinamento accessi contemporanei controllo degli accessi (nei sistemi multiutente) Chiaramente la combinazione delle operazioni sopra elencate consente di compierne altre: leggere un file, crearne uno vuoto, scrivere in questo il contenuto letto in quello precedente equivale a copiare il file…

Inteprete dei comandi (shell) L’interprete dei comandi è quella parte del sistema operativo che riceve ed elabora le istruzioni impartite da un utente. E’ possibile utilizzare lo stesso sistema operativo con shell differenti. Questo può rendere molto diverso il modo di impartire comandi.

Inteprete dei comandi (shell) La shell è dunque lo strato più esterno di un sistema operativo. Di fatto, rappresenta l’interfaccia tra utente e sistema. MacOS X Windows XP Linux – KDE 3.0

Sistemi operativi: implicazioni La scelta di un sistema operativo ha un’importanza sia teorica che culturale. Un sistema operativo non è solo una realizzazione ingegneristica, ma rispecchia in qualche misura la filosofia che scegliamo di adottare nel nostro rapporto con il computer. Bisogna dunque guardarsi dal considerare il sistema operativo come una sorta di “dato” tecnologico: si tratta, piuttosto, del risultato di un processo che ha anche fondamentali aspetti culturali e comunicativi. Tale scelta non è sempre possibile. Vedi fallimento della Be, Inc. e questioni sulle licenze Microsoft per i rivenditori.

Inteprete dei comandi (shell) L’interprete dei comandi è quella parte del sistema operativo che riceve ed elabora le istruzioni impartite da un utente. Nota: sul modo di impartire comandi, cominciano a vedersi i primi timidi tentativi di implementare comandi basati su “gesti”, gesti fatti con il mouse: un gioco uscito nel 2001, Black & White, funzionava in questo modo (ed il cursore era in effetti una mano) e una libreria di Litestep fa la stessa cosa.

Inteprete dei comandi (shell) e interfaccia L’interprete dei comandi” o “shell” (letteralmente “guscio”), rappresenta lo strato più esterno di un sistema operativo. Shell vuol dire “guscio”. Il nome deriva dall’interprete dei comandi utilizzata nel sistema Multics.

Interfaccia L’interfaccia è il mezzo attraverso il quale l’utente invia comandi alla shell. Esistono diverse interfacce possibili per l’interazione uomo-macchina. Il loro successo dipende, oltre che da un’accurata progettazione, dal tipo di utente cui sono rivolte. In effetti, gli utenti sono in generale di bocca buona. Se effettivamente l’usabilità dell’interfaccia ne potesse decretare il successo, Windows non reggerebbe il confronto con altri sistemi più funzionali. La curva di apprendimento per interfacce poco intuitive può essere alta, ma la produttività, una volta “addestrati”, ne risente solo in minima parte – anche perché l’utente impara ad aggirare i lati negativi dell’interfaccia. Le interfacce a riga di comando, ad esempio, vanno benissimo per il tipo di comunità al cui interno sono state sviluppate: programmatori, o comunque persone dotate delle competenze, dell’interesse e del tempo necessari ad apprendere una sintassi e dei comandi, e il modo di combinarli.

Interfacce Due sono i tipi di interfaccia più diffusi per interagire con un computer: Interfacce a caratteri, dette “a riga di comando” (CLI, command line interfaces) Interfacce grafiche (GUI, graphical user interfaces), in particolare di tipo WIMP (Windows, Icons, Menus, Pointing device) Altri tipi di interfacce grafiche: Microsoft BOB, per restare nell’ambito dei sistemi operativi, o quelle fornite dai giochi per computer, spesso innovative (due esempi: Black & White [2001] e Monkey Island III [1997]).

Metafore La metafora più utilizzata nei personal computer, oggi, è quella della “scrivania” (in inglese, desktop). Dalla sua introduzione ad oggi sono state introdotte interfacce alternative, allo scopo di superarne le limitazioni, ma ancora senza successo. Da più parti si sente affermare che la metafora della scrivania, per quanto funzionante, è obsoleta. C’è del vero: è una metafora pensata per permettere di usare il computer ad utenti che avevano familiarità con un certo tipo di lavoro da ufficio, e il computer rappresentava un elemento nuovo in quel contesto. Tuttavia oggi il computer è uno strumento presente in molti contesti, lavorativi e non; il vantaggio che si aveva utilizzando una metafora basata su un contesto che gli utenti già padroneggiavano non c’è più; il computer non è, inoltre, un elemento sconosciuto. Molte attività sono state ormai ristrutturate profondamente attraverso l’uso del computer (le comunicazioni e il flusso dei documenti, ad esempio), e rimanere legati ad una metafora antiquata limita i potenziali sviluppi dell’interfaccia.

Xerox Star Da più parti si sente affermare che la metafora della scrivania, per quanto funzionante, è obsoleta. C’è del vero: è una metafora pensata per permettere di usare il computer ad utenti che avevano familiarità con un certo tipo di lavoro da ufficio, e il computer rappresentava un elemento nuovo in quel contesto. Tuttavia oggi il computer è uno strumento presente in molti contesti, lavorativi e non; il vantaggio che si aveva utilizzando una metafora basata su un contesto che gli utenti già padroneggiavano non c’è più; il computer non è, inoltre, un elemento sconosciuto. Molte attività sono state ormai ristrutturate profondamente attraverso l’uso del computer (le comunicazioni e il flusso dei documenti, ad esempio), e rimanere legati ad una metafora antiquata limita i potenziali sviluppi dell’interfaccia.

Interfacce grafiche: Magic Cap Magic Cap, della General Magic

Interfacce grafiche: BOB Microsoft BOB (1995).

Interfacce grafiche: Macintosh L’interfaccia grafica dell’Apple Macintosh: il Finder (ver. 0.97)

Interfacce grafiche: Windows 1.0 Un’interfaccia per il DOS: Windows 1.0

Interfacce grafiche: Windows 3.1 Un’interfaccia per il DOS: Windows 3.1

Interfacce grafiche: Windows 95 Confronto tra il primo sistema operativo Microsoft *realmente* dotato di interfaccia grafica e il Finder del Mac. Barra dei menu in alto nel Mac, Barra delle applicazioni in basso in Windows. Icone in alto a destra nel Mac, in alto a sinistra nel PC. Cestino sotto le icone principali nel PC, cestino in basso a destra, isolato, nel Mac. L’interfaccia del Mac è costruita secondo dei criteri precisi; la priorità data dalla disposizione delle icone è voluta, così come la barra dei menu (centralizzata per tutte le applicazioni, in modo da risparmiare spazio) in alto. E via dicendo… (per riferimenti: http://www.mackido.com)

Interfacce grafiche: Windows vista Confronto tra il primo sistema operativo Microsoft *realmente* dotato di interfaccia grafica e il Finder del Mac. Barra dei menu in alto nel Mac, Barra delle applicazioni in basso in Windows. Icone in alto a destra nel Mac, in alto a sinistra nel PC. Cestino sotto le icone principali nel PC, cestino in basso a destra, isolato, nel Mac. L’interfaccia del Mac è costruita secondo dei criteri precisi; la priorità data dalla disposizione delle icone è voluta, così come la barra dei menu (centralizzata per tutte le applicazioni, in modo da risparmiare spazio) in alto. E via dicendo… (per riferimenti: http://www.mackido.com)

Elementi grafici Come abbiamo visto le interfacce attuali, basate sulla metafora della scrivania, sono di tipo WIMP. Gli elementi che le compongono vengono detti widget (a small gadget) Una “widget” è un elemento che fornisce informazioni all’utente o gli permette di interagire con il sistema operativo o con un’applicazione.

Interfacce grafiche Esempi di widget sono le icone, i menu, i pulsanti, le finestre, le barre di scorrimento, le caselle di testo…

Interfacce grafiche Macintosh Windows Linux (KDE) Citare la possibilità, in ambiente Unix, di avere Desktop multipli – e dunque la necessità di poter rendere visibile una finestra in ciascuno di essi, e non solo in quello in cui è stata creata. In Windows XP le widget sono diverse, ma la disposizione è la stessa. Linux (KDE)