Il Software: Obiettivi Programmare direttamente la macchina hardware è molto difficile: lutente dovrebbe conoscere lorganizzazione fisica del computer.

Slides:



Advertisements
Presentazioni simili
CONCLUSIONE - Nucleo (o Kernel) Interagisce direttamente con lhardware Interagisce direttamente con lhardware Si occupa dellesecuzione.
Advertisements

1 Introduzione ai calcolatori Parte II Software di base.
Il Software.
Linguaggi di programmazione
Gestione della memoria centrale
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.
Software di base: Linguaggi di Programmazione
Interazione Uomo - Macchina
STRUTTURA DEL PERSONAL COMPUTER
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.
Elaboratore e Sistemi Operativo
Time Sharing Il termine “Time Sharing” proviene dall'inglese e significa letteralmente “partizione di tempo”. Questa è una tecnica sviluppatasi negli.
INTRODUZIONE AI SISTEMI OPERATIVI
Anno Accademico Corso di Informatica Informatica per Scienze Biologiche e Biotecnologie Anno Accademico
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.
SOFTWARE Lhardware è la parte che si può prendere a calci; il software quella contro cui si può solo imprecare. SOFTWARE E linsieme dei dati e dei programmi.
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
2) Sistemi operativi Lab. Calc. AA2004/05 - cap.2.
Introduzione Cosa è un Sistema Operativo ?
Fondamenti di Informatica1 Software di base Tra il linguaggio macchina (basso livello) e i linguaggi evoluti (alto livello) esiste uno strato di software.
SOFTWARE I componenti fisici del calcolatore (unità centrale e periferiche) costituiscono il cosiddetto Hardware (alla lettera, ferramenta). La struttura.
I SISTEMI OPERATIVI.
Informatica per medici
UNIVERSITA’ STUDI DI ROMA “FORO ITALICO”
INTRODUZIONE l sistema operativo è il primo software che lutente utilizza quando accende il computer; 1)Viene caricato nella memoria RAM con loperazione.
Il Software Una programmazione diretta della macchina hardware da parte degli utenti è molto difficile: lutente dovrebbe conoscere lorganizzazione fisica.
MODULO 01 Unità didattica 04
Modulo 1 - Hardware u.d. 3 (syllabus – 1.3.5)
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
VIRTUALIZZAZIONE Docente: Marco Sechi Modulo 1.
Il Sistema Operativo (1)
ECDL Patente europea del computer
Programma di Informatica Classi Prime
Il Software Programmare direttamente la macchina hardware è molto difficile: l’utente dovrebbe conoscere l’organizzazione fisica del computer e il suo.
1 Nomi di Unità n I sistemi sono dotati di più unità di memoria n DOS e Windows usano nomi di unità per distinguerle n In UNIX la gestione è trasparente.
Software Insieme dei programmi residenti nella memoria del computer o nei supporti di memorizzazione Modulo 1.
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)
INTERFACCE Schede elettroniche che permettono al calcolatore di comunicare con le periferiche, che possono essere progettate e costruite in modo molto.
Gestione del processore (Scheduler)
Tecnologie Informatiche ed Elettroniche per le Produzioni Animali (corso TIE) CORSO LAUREA MAGISTRALE IN SCIENZE E TECNOLOGIE DELLE PRODUZIONI ANIMALI.
Introduzione Cos’è un sistema operativo ?. Hardware Sistema Operativo Applicazioni È il livello di SW con cui interagisce l’utente e comprende programmi.
Informatica Lezione 8 Scienze e tecniche psicologiche dello sviluppo e dell'educazione Anno accademico:
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.
Corso di Architetetture degli Elaboratori, A.A. 2004/ Architettura degli Elaboratori Elisa B.P. Tiezzi Orario ricevimento: Giovedì, ( Il materiale.
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.
Elementi di Informatica SciGeo a.a. 2002/2003. Docente Giorgio Delzanno Ufficio 104 – I piano Dipartimento di Informatica e Sc. Inf. Tel
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:
Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
prof.ssa Giulia Quaglino
Architetture dei sistemi di calcolo, sistemi operativi, reti di calcolatori Dr. Luciano Bononi Facoltà di Scienze, Fisiche Naturali dell’Università di.
3  L’hardware da solo non è sufficiente per il funzionamento dell’elaboratore ma è necessario introdurre il software  … ovvero un insieme di programmi.
ISIA Duca degli Abruzzi a.s. 2010/2011 prof. Antonella Schiavon
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.
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.
Transcript della presentazione:

Il Software: Obiettivi Programmare direttamente la macchina hardware è molto difficile: lutente dovrebbe conoscere lorganizzazione fisica del computer e il suo linguaggio macchina; un programma dipenderebbe strettamente dalla struttura hardware e ogni piccola differenza hardware comporterebbe una riscrittura del programma.

Questo non è accettabile, vogliamo invece: astrarre dallorganizzazione fisica della macchina, in quanto vogliamo usare nello stesso modo, macchine leggermente diverse dal punto di vista hardware o, al limite, macchine con hardware molto diverso interagire in modo semplice con la macchina; programmare ad alto livello la macchina; infine vogliamo programmi applicativi per svolgere diversi compiti utili (videoscrittura, fogli di calcolo, database, editing di immagini, etc…)

Questi obiettivi vengono raggiunti grazie alla definizione di macchine virtuali che vengono realizzate al di sopra della macchina hardware reale HW macchina virtuale Utente Concetto di Macchina Virtuale

Macchine Virtuali Ogni macchina reale ha un suo linguaggio macchina L 0 le cui istruzioni sono direttamente eseguibili dal processore (HW) Al di sopra di questo linguaggio è possibile definire una gerarchia di linguaggi L i e fornire delle regole per tradurne le istruzioni in opportune sequenze di istruzioni in linguaggio macchina Linsieme di queste nuove istruzioni definisce una macchina virtuale in quanto non esiste fisicamente ma viene realizzata mediante il software La macchina virtuale si occupa della traduzione delle istruzioni al livello L i nell'opportuna sequenza di istruzioni di livello L i-1 che realizza la stessa funzione

Machine virtuali Hardware - Linguaggio macchina L0 Macchina virtuale N - sistema di comandi LN Utente Interprete dei comandi Interfaccia Macchina virtuale 1 - sistema di comandi L1 Interprete dei comandi

Il software fornisce: 1. Un sistema di interazione semplice con la macchina 2. Linguaggi ad alto livello per programmare la macchina; 3. Programmi applicativi per svolgere diversi compiti (videoscrittuta, fogli di calcolo, database, etc…)

supponiamo che l'utente voglia stampare un documento doc1 (un file). A livello fisico questa operazione è complessa e richiede operazioni di trasferimento dati ad esempio dal disco alla stampante (via memoria principale) La macchina virtuale potrebbe fornire all'utente un semplice comando di stampa del tipo: stampa doc1 1. Esempio esecuzione di un comando virtuale

La macchina virtuale deve innanzitutto verificare se si tratta di un comando valido Poi tradurlo nellopportuna sequenza di istruzioni a basso livello per la macchina fisica Grazie a questo livello software si può astrarre dalle caratteristiche fisiche della macchina e della periferica (la stampante) Si può anche fare in modo che macchine differenti siano usabili in modo simile: si tratta, infatti, di costruire al di sopra delle diverse macchine fisiche la stessa macchina virtuale Per ogni comando della macchina virtuale si dovranno però avere diversi programmi di traduzione, uno per ogni tipo di hardware

2. Linguaggi di programmazione Un programma scritto in un linguaggio di programmazione è costituito da una sequenza di istruzioni ad alto livello strutturate in modo complesso Compilatore: traduce il programma intero in un insieme di istruzioni macchina –il programma tradotto si chiama (file) eseguibile Interprete: traduce una istruzione per volta del linguaggio in una sequenza di istruzioni macchina e le esegue

Software di base Sistema Operativo: insieme di programmi che interagiscono e cooperano tra di loro per realizzare due obiettivi fondamentali: –gestire efficientemente il computer e le sue periferiche, cercando di sfruttare al massimo tutte le componenti hardware –creare un ambiente virtuale per facilitare l'interazione uomo-macchina Strumenti per luso di linguaggi ad alto livello: –Interpreti e compilatori –Strumenti per lesecuzione di programmi

Compiti del Sistema operativo Configurazione e accensione macchina Gestione del processore Gestione della memoria principale Gestione di informazione in memoria secondaria (File System) Gestione delle periferiche Interazione utente macchina: interfaccia e interprete comandi Protezione dei dati (sicurezza)

Tipi di sistemi operativi Esistono diversi tipi di sistemi operativi per diverse classi di computer Distinzione fondamentale –sistemi mono-utente –sistemi multi-utente

Il Sistema Operativo Sistemi mono-utente pensati per Personal Computer –IBM PC - Compatibili (DOS - Windows) –Macintosh Due diversi tipi di interazione utente/computer: –interazione testuale (es. MS-DOS per PC-IBM) –interazione grafica (es. Macintosh, Windows,Linux)

Sistemi operativi multi-utente: UNIX (Workstation, PC: LINUX) –Utilizzato per computer collegati in rete –supporta varie interfacce grafiche (a finestre) Windows NT,2000,XP –Utilizzato per computer collegati in rete

Gestione del processore e dei processi Il processore è la componente più importante di un sistema di elaborazione e pertanto la sua corretta ed efficiente gestione è uno dei compiti principali di un sistema operativo Il ruolo del processore è quello di eseguire programmi Si chiama processo un programma in esecuzione

Processore e processi La gestione del processore è in modo: mono-tasking: esegue un programma per volta (MS-DOS) multi-tasking: esegue più programmi contemporaneamente (Windows varie versioni dal 95, Macintosh, UNIX)

qualunque processo alterna fasi di esecuzione a fasi in cui è bloccato in attesa di qualche evento esterno Un processo può essere in attesa che sia terminata unoperazione di input di dati oppure in attesa di poter usare una risorsa in quel momento occupata mentre il processo è bloccato in attesa di eventi esterni, il processore rimane inattivo, in uno stato chiamato idle, e risulta pertanto sotto-utilizzato Limite del mono-tasking

I tempi di lavoro delle periferiche di input/output, o addirittura i tempi di reazione umani sono maggiori di molti ordini di grandezza della velocità del processore (quindi del tempo in cui un processo è in esecuzione)

Multi-tasking Come è possibile eseguire più programmi contemporaneamente sullo stesso processore? Ad ogni istante vi è un solo processo attivo Il processore alterna lesecuzione dei vari programmi Il tempo di lavoro della CPU viene suddiviso tra i vari programmi Se l'alternanza tra i processi è frequente (ad es.10 millisecondi), l'utente ha l'impressione che l'esecuzione dei programmi sia simultanea

A livello macroscopico si ha quindi l'impressione della contemporaneità, mentre a livello microscopico si ha una semplice alternanza sequenziale molto veloce Il tempo di esecuzione, cioè il tempo che intercorre tra l'inizio e la fine del processo, risulta aumentato rispetto al caso mono-tasking a causa dellalternanza con gli altri processi

Un processo può trovarsi in tre diversi stati: in esecuzione, quando sta utilizzando il processore; in attesa (bloccato), quando è in attesa del verificarsi di un evento esterno (terminazione di unoperazione di input/output o altro) pronto, quando è potenzialmente in condizione di utilizzare il processore che è occupato da un altro processo