1.1 Corso di Laboratorio di Informatica: Sistemi Operativi Corso di Laurea in Informatica, Università di Firenze Anno accademico 2008/2009 Prof. Luca Ferrari.

Slides:



Advertisements
Presentazioni simili
STRUTTURA DEL SISTEMA OPERATIVO
Advertisements

Prof. Rebecca Montanari Anno accademico 2011/2012
1 Introduzione ai calcolatori Parte II Software di base.
Introduzione Cosa è un Sistema Operativo? Una breve storia
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.
Classe III A A.s – 2011 Sistemi di Elaborazione e Trasmissione dell’Informazione 4 ore settimanali (2 laboratorio) Docenti Prof. Alberto Ferrari.
Gestione Input Output A. Ferrari.
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.
Introduzione allo studio dell’informatica
Operating System Concepts
Strutture dei Sistemi Operativi
Strutture dei Sistemi Operativi
Silberschatz, Galvin and Gagne Operating System ConceptsIntroduzione Che cosè un Sistema Operativo? Sistemi batch semplici Sistemi batch multiprogrammati.
Il Software: Obiettivi Programmare direttamente la macchina hardware è molto difficile: lutente dovrebbe conoscere lorganizzazione fisica del computer.
IDUL 2010 RETI E PROTOCOLLI. INTERNET.. IDEE PRINCIPALI IN QUESTA LEZIONE Reti: Aspetto logico della rete e tipologie: peer-to-peer, a hub, a bus Trasmissione.
IDUL 2012 RETI E PROTOCOLLI. INTERNET.. IDEE PRINCIPALI IN QUESTA LEZIONE Reti: Aspetto logico della rete e tipologie: peer-to-peer, a hub, a bus Trasmissione.
IDUL 2009 RETI E PROTOCOLLI. INTERNET. IDEE PRINCIPALI IN QUESTA LEZIONE Reti: Aspetto logico della rete e tipologie: peer-to-peer, a hub, a bus Trasmissione.
Struttura dei sistemi operativi (panoramica)
Linguaggi di programmazione
2) Sistemi operativi Lab. Calc. AA2004/05 - cap.2.
Introduzione Cosa è un Sistema Operativo ?
Corso di Laurea in Ingegneria Informatica Laboratorio di Sistemi Operativi II anno, III periodo 2 crediti 13 ore di lezione 16 ore di esercitazione.
1 LINUX: struttura generale The layers of a UNIX system. User Interface.
Corso di Laurea in Ingegneria Gestionale
Fondamenti di Informatica
SOFTWARE I componenti fisici del calcolatore (unità centrale e periferiche) costituiscono il cosiddetto Hardware (alla lettera, ferramenta). La struttura.
Informatica giuridica Hardware e software: glossario Lucio Maggio Anno Accademico 2001/2002.
Modelli ed Applicazioni di Reti di Calcolatori L-S Anno Accademico Università degli Studi di Bologna Ing. Fabio Tarantino –
Corso di abilità informatiche
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 - Concetti di base della Tecnologia dell'Informazione
Silberschatz and Galvin Operating System Concepts CAP. 1 - INTRODUZIONE.
Il Sistema Operativo (1)
Programma di Informatica Classi Seconde
1 Il Sistema Operativo: Esempio n Le operazioni effettuate sembrano abbastanza semplici ma … n Provocano una serie di eventi in cui vengono coinvolte sia.
Sistema Operativo (Software di base)
Capitolo 0 : Introduzione al corso CdL in Ingegneria Elettronica e delle Telecomunicazioni: Fondamenti dei S.O. (6CFU) Capitolo 0 : Introduzione al corso.
Docente: G. Ianni Esercitatori: A. Martello (Sistemi Operativi), V. Lio (Reti) Sito del corso: Google ‘sistemi operativi e reti unical’ Gruppo FB («Sistemi.
INTERFACCE Schede elettroniche che permettono al calcolatore di comunicare con le periferiche, che possono essere progettate e costruite in modo molto.
Tecnologie dell’Informazione e della Comunicazione
IDUL 2013 RETI E PROTOCOLLI. INTERNET.. IDEE PRINCIPALI IN QUESTA LEZIONE Reti: Aspetto ‘logico’ della rete e tipologie: peer-to-peer, a hub, a bus Trasmissione.
TW Asp - Active Server Pages Nicola Gessa. TW Nicola Gessa Introduzione n Con l’acronimo ASP (Active Server Pages) si identifica NON un linguaggio di.
Sistemi Operativi.
Il software Componente del computer costituita dai: –programmi di base per la gestione del sistema –programmi applicativi per l’uso del sistema Queste.
1 Input/Output. 2 Livelli del sottosistema di I/O Hardware Gestori delle interruzioni Driver dei dispositivi Software di sistema indipendente dal dispositivo.
Corso di Laurea in Scienze e Tecnologie Chimiche corso di Informatica Generale Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
Sistemi operativi 2/ed – Ancilotti, Boari, Ciampolini,LipariCopyright © 2008 – The McGraw-Hill Companies srl Capitolo 1 – Concetti introduttivi 1.1Principali.
1 Input/Output. 2 Livelli del sottosistema di I/O Hardware Gestori delle interruzioni Driver dei dispositivi Software di sistema indipendente dal dispositivo.
Il Sistema Operativo.
1 Laboratorio di Reti Introduzione al corso. 2 Finalità del corso Vedremo alcuni argomenti legati alla rete Internet. Vedremo alcuni argomenti legati.
ELEMENTI DI INFORMATICA
Corso di Laboratorio primo modulo Introduzione all'uso di un sistema operativo. Introduzione all'uso della shell (bash). Java – –Introduzione – –Tipi di.
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.
1.1 Corso di Sistemi Operativi: Programmazione di Sistema Corso di Laurea in Informatica, Università di Firenze Anno accademico 2010/2011 Prof. Luca Ferrari.
Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per l’ambiente e il territorio Il software di base Stefano Cagnoni e Monica Mordonini.
Informatica Lezione 6 Psicologia dello sviluppo e dell'educazione (laurea magistrale) Anno accademico:
Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
Informatica e Informatica di Base
I primi elaboratori Anni ‘50 Rigidamente sequenziali
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. Definizione Per Sistemi Operativi (di seguito SO) si intendono quei pacchetti software, a loro volta costituiti da più sottoprogrammi.
La struttura di un computer
Il computer RAM: Unità di misura MByte e GByte MHz Processore: Unità di misura Singolo o multiprocessore 32/64 bit velocità GHz Mouse tastiera video stampante.
1 Informatica di Base Facoltà di Lingue e Letterature Straniere Corso di laurea in Relazioni Pubbliche.
Definizione e obiettivi del Sistema Operativo. DIFFERENZA TRA SISTEMA OPERATIVO – SOFTWARE APPLICATIVO Sistema operativo è un insieme organico di programmi.
Struttura del Computer
I L SO MS DOS … una breve guida…. C OS ’ È UN S ISTEMA OPERATIVO Un sistema operativo (SO) è un insieme di programmi che agisce come intermediario tra.
Transcript della presentazione:

1.1 Corso di Laboratorio di Informatica: Sistemi Operativi Corso di Laurea in Informatica, Università di Firenze Anno accademico 2008/2009 Prof. Luca Ferrari telefono: Ricevimento: contattatemi e ci metteremo senz’altro d’accordo. I lucidi delle lezioni ed altro eventuale materiale didattico potranno essere reperiti alla pagina

1.2 Introduzione 1. Preliminari sui sistemi operativi 2. Storia e sviluppo dei sistemi operativi Storia di UNIX e di Linux 1. Storia ed evoluzione di UNIX 2. I progetti di standardizzazione 3. Minix 4. Organizzazioni di sistema (monolitica e client/server) 5. Avvento di Linux 6. Concetto di Open Source e Free Software Foundation 5. Distribuzioni Struttura di UNIX e di Linux 1. Livelli e componenti di UNIX 2. Shell 3. Libreria Standard 4. Kernel 5. Kernel modulare di Linux 6. Introduzione al file system di Linux Programma del corso (1/2) I comandi principali 1. Avvio di un sistema Linux 2. Connessione e disconnessione dal sistema 3. Shell 4. Comandi 5. Filtri 6. Manuali: man, info 7. Comandi principali per la gestione di files e directories 8. Standard input, output, error e redirezionamento 9. Pipelines 10. Il comando find 11. Il comando grep 12. L’editor vi 13. Comandi per la stampa La gestione dei files 1. Implementazione del file system e dei files in un sistema UNIX 2. Index node 3. Link 4. Attributi dei files 6. Gestione dei permessi per files e directories 7. Il file system proc di Linux 8. Montare un file system 9. Compressione e uso del tar

1.3 Cenni al linguaggio C 1. Cenni storici 2. Libreria standard 3. Sintassi di base 4. Variabili e tipi 5. Espressioni e operatori; strutture di controllo 6. Funzioni 7. Puntatori La gestione dei processi 1. Introduzione ai processi 2. Stati di un processo 3. Comandi per la gestione dei processi UNIX 4. System calls per la gestione dei processi: fork(), wait(), exec(), exit(),… 5. Signals 6. Scheduling in UNIX La shell bash 1. Introduzione alle shell 2. Programmi e scripts 3. Introduzione agli script per bash 4. Gestione delle variabili; variabili d’ambiente 5. Sostituzione dei comandi 6. Operatori aritmetici e valutazioni aritmetiche 7. Strutture condizionali: if-then-else-fi; sintassi delle espressioni di controllo 8. Parametri posizionali e parametri speciali 9. Strutture condizionali: case-in-esac 10. Cicli: for-in-do-done 11. Arrays 12. Debugging 13. Cicli: while-do-done; utilizzo di continue e break 14. Cicli: until-do-done 15. Gestione delle stringhe e sostituzione dei parametri 16. Funzioni Programma del corso (2/2)

1.4 Modalità di esame L'esame consiste nella realizzazione di scripts che risolvono un esercizio assegnato dal docente. L'esercizio deve essere svolto individualmente o a gruppi di due persone. Gli scripts devono essere realizzati in una settimana. Successivamente alla consegna del programma al docente, lo studente sostiene una prova orale che consiste in una discussione sugli scripts realizzati più un paio di domande di teoria sul programma svolto durante l’anno. Prenotazione Esame Deve essere effettuata la prenotazione all'esame inviando una con soggetto Prenotazione Laboratorio di S.O. all’indirizzo: specificando inoltre: Nome, Cognome, Nome del corso, Corso di Laurea. Il docente invierà l'esercizio (sempre via ) al più tardi una decina di giorni prima della data fissata per l’orale. La consegna prevede una relazione che illustri i vari passi della procedura che risolve l'esercizio e gli scripts implementati; sia la relazione che gli scripts possono essere consegnati inviando una all'indirizzo: nel caso che lo script non funzioni e dunque non sia possibile passare alla prova orale, il docente manderà un messaggio opportuno.

1.5 Libri di Testo Linux La guida, M. Welsh, M. K. Dalheimwer, L. Kaufman, Apogeo Guida a Unix con Linux, di Jack Dent, Tony Gaddis, Apogeo Per ulteriori approfondimenti sui S.O. Sistemi Operativi, V Edizione, A. Silberschatz and P. B. Galvin, Addison Wesley. I Moderni Sistemi Operativi, A. S. Tanenbaum, Jackson Al Kelley. Sistemi Operativi, P. Ancillotti, M. Boari, A. Ciampolini, G. Lipari, McGraw-Hill. Manuali online Appunti_di_informatica_libera.html, Daniele Giacomini Linux Guida dell’Utente, Larry Greenfield Linux HOWTO - Installazione e Configurazione BASH Programming - Introduction HOWTO

1.6 Cos’è un sistema operativo? Un insieme di programmi che agisce come intermediario fra un utente di un computer e l’hardware del computer stesso. Scopi di un sistema operativo:  Fornire servizi ai programmi (I/O, read, write, timer, interrupt... ) utilizzando specifiche istruzioni (chiamate di sistema, o system calls).  Rendere la macchina conveniente da utilizzare, organizzando le sue risorse e condividendole fra gli utenti. Utilizzo efficiente dell’hardware.

1.7 Componenti di un calcolatore 1.Hardware – Fornisce le risorse di calcolo di base (CPU, memorie, dispositivi di I/O). 2.Sistema operativo – E’ un insieme di programmi speciale che controlla e coordina l’uso dell’hardware tra i vari programmi di sistema e applicativi per i vari utenti. 3.Programmi di sistema e applicativi – Definiscono il modo in cui le risorse del calcolatore vengono utilizzate per risolvere i problemi computazionali degli utenti (compilatori, sistemi di basi di dati, giochi, browsers). 4.Utenti (persone, macchine, altri calcolatori).

1.8 Visione astratta dei componenti di un calcolatore

1.9 Definizioni (funzioni) di un sistema operativo Allocatore di risorse – alloca le risorse nella maniera più conveniente da un punto di vista globale. Programmi di controllo – controlla l’esecuzione dei programmi dell’utente e le operazioni dei dispositivi di I/O. Kernel – l’unico insieme di programmi in continua esecuzione (a differenza dei programmi applicativi).

1.10 Storia dei sistemi operativi Prima generazione  tubi a vuoto, plance Seconda generazione  transistors, batch systems Terza generazione 1965 – 1980  multiprogrammazione Quarta generazione 1980 – oggi  personal computers

1.11 Batch Systems (2 a generazione) Batch system primitivi:  porta schede al 1401;  copia le schede dal lettore al nastro;  inserisci il nastro sul 7094 che elabora il job e prepara il nastro di output;  metti il nastro di output sul 1401 che stampa;

1.12 Batch Systems Struttura di un tipico job di compilazione di un programma Fortran.

1.13 Batch Systems Velocizzazione delle operazioni raggruppando più jobs separati (batch = raggruppare). Successione automatica dei jobs – trasferimento automatico del controllo da un job ad un altro. Primo rudimentale sistema operativo. Uso di una piccola macchina per scrivere i jobs su un nastro e stampare i risultati dal nastro. Si tratta comunque di una macchina priva di abilità computazionale.

1.14 Configurazione della memoria principale per un Batch System semplice

1.15 Batch Systems con multiprogrammazione (3 a generazione) Diversi jobs sono mantenuti nella memoria principale nello stesso tempo (pool di jobs), e la CPU viene suddivisa tra di essi (scheduling della CPU).

1.16 Caratteristiche di un SO necessarie per la multiprogrammazione Scheduling della CPU – Il sistema deve scegliere tra diversi jobs in memoria pronti per l’esecuzione. Gestione della memoria – Il sistema deve ripartire la memoria tra diversi jobs. Il sistema deve fornire opportune procedure di I/O. Sistemi di spooling (Simultaneous Peripheral Operation On-Line) per trattare gli output.

1.17 Sistemi Time-Sharing – Calcolo interattivo La CPU viene suddivisa fra diversi jobs che sono mantenuti in memoria e su disco (la CPU viene assegnata a un job solo se il job è in memoria). I jobs vengono continuamente scambiati fra memoria principale e secondaria. Viene fornita una comunicazione on-line fra l’utente e il sistema; quando il sistema operativo termina l’esecuzione di un comando, va in cerca del successivo dalla tastiera dell’utente. Un sistema on-line deve essere a disposizione degli utenti per avere accesso ai dati e ai programmi.

1.18 SO Time-Sharing CTSS (Compatible Time Sharing System ) MULTICS (MULTIplexed Information and Computing Service ) UNIX (1969)

1.19 Personal Computers (4 a generazione) Personal computers – Calcolatore dedicato a un singolo utente. Dispositivi I/O – Tastiere, mouse, schermi, piccole stampanti. Convenienza per l’utente e feedback immediato. Si può adottare la tecnologia sviluppata per grossi sistemi operativi. Spesso i singoli utenti utilizzano semplicemente il calcolatore e non hanno bisogno di utilizzare sistemi di protezione particolarmente avanzati della CPU. E’ possibile utilizzare differenti tipi di sistemi operativi (Windows, MacOS, UNIX, Linux).

1.20 Personal Computer MS-DOS (MicroSoft Disk Operating System -1980) Windows (1985) Windows 95, Windows 98 Windows NT, Windows 2000 (5 th version of NT), Windows XP UNIX Minix (1987) Linux (1994)

1.21 Sistemi di rete e distribuiti Necessitano di un’infrastruttura di rete. Local area networks (LAN) o Wide area networks (WAN). Possono essere sistemi client-server oppure peer-to- peer.