Elaboratore e Sistemi Operativo

Slides:



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

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.
La struttura fisica e logica di un elaboratore
Introduzione allarchitettura dei calcolatori 2/ed Carl Hamacher, Zvonko Vranesic, Safwat Zaky Copyright © 2007 – The McGraw-Hill Companies srl Versione.
Il Sistema Operativo.
Orario definitivo Martedì Aula 2 Polo Mercoledì Aula 1 Fondi Palazzina delle Scienze Giovedì 9-11 Aula 1 Fondi Palazzina delle Scienze Nota:
Algoritmi e Programmazione
Architettura di un sistema informatico Hardware
Interfaccia del file system
Il Software: Obiettivi Programmare direttamente la macchina hardware è molto difficile: lutente dovrebbe conoscere lorganizzazione fisica del computer.
I file l I File sono l unità base di informazione nellinterazione tra utente e sistema operativo l Un file e costituito da un insieme di byte attinenti.
Architetture hardware e software dei calcolatori
2 Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione elaborazione dati memorizzazione dati trasferimento.
Introduzione allinformatica. Cosè linformatica ? Scienza della rappresentazione e dellelaborazione dellinformazione ovvero Studio degli algoritmi che.
1 Corso di Informatica (Programmazione) Lezione 4 (24 ottobre 2008) Architettura del calcolatore: la macchina di Von Neumann.
Struttura dei sistemi operativi (panoramica)
Il Linguaggio Macchina
Com’è fatto un elaboratore?
Software di base Il sistema operativo è un insieme di programmi che opera sul livello macchina e offre funzionalità di alto livello Es.organizzazione dei.
3. Architettura Vengono descritte le principali componenti hardware di un calcolatore.
Il sistema operativo Vito Perrone
SOFTWARE I componenti fisici del calcolatore (unità centrale e periferiche) costituiscono il cosiddetto Hardware (alla lettera, ferramenta). La struttura.
EVOLUZIONE DEL PC Legge di Moore: La potenza dei calcolatori raddoppia ogni 18 mesi Metà anni 80 (Personal Computer IBM AT) Architettura 16 bit interna,
Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per lambiente e il territorio Il calcolatore Stefano Cagnoni e Monica Mordonini Dipartimento.
UNIVERSITA’ STUDI DI ROMA “FORO ITALICO”
Architettura dell’elaboratore
ELETTRONICA DIGITALE (II Parte)
STRUTTURA GENERALE DI UN ELABORATORE
Appunti di Informatica
Architettura del calcolatore
Il Sistema Operativo (1)
Il Sistema Operativo: il File System
ARCHITETTURA DI UN ELABORATORE
LOGICA DI FUNZIONAMENTO
Sistemi di elaborazione e trasmissione delle informazioni
Unità centrale di processo
Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
Informatica Lezione 4 Scienze e tecniche psicologiche dello sviluppo e dell'educazione Anno accademico:
Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
Sistema Operativo (Software di base)
Il Sistema Operativo Il Sistema Operativo è costituito dall’insieme dei programmi necessari per far funzionare tutto l’hardware del calcolatore e per nascondere.
Architettura del calcolatore
INTERFACCE Schede elettroniche che permettono al calcolatore di comunicare con le periferiche, che possono essere progettate e costruite in modo molto.
Informatica Lezione 5 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico:
Corsi di Laurea in Biotecnologie
Tecnologie Informatiche ed Elettroniche per le Produzioni Animali (corso TIE) CORSO LAUREA MAGISTRALE IN SCIENZE E TECNOLOGIE DELLE PRODUZIONI ANIMALI.
Corso di Laurea in Informatica Architettura degli elaboratori a.a La macchina programmata Instruction Set Architecture (2) Istruzioni I-type Indirizzamento.
CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dell’Informazione Politecnico di Milano © 2001 William Fornaciari Architetture di calcolo.
I FILE I File sono l’ unità base di informazione nell’interazione tra utente e sistema operativo I File sono l’ unità base di informazione nell’interazione.
Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
Architettura di un calcolatore e linguaggio macchina.
Università degli Studi di Bergamo Facoltà di Lingue e Letterature Straniere Facoltà di Lettere e Filosofia A.A Informatica generale 1 Appunti.
L’esecuzione dei programmi
Informatica Generale Marzia Buscemi
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.
Il calcolatore Stefano Cagnoni e Monica Mordonini
1 Informatica Generale Marzia Buscemi Ricevimento: Giovedì ore , Dipartimento di Informatica, stanza 306-PS o per posta.
Esercizi.
Hardware Struttura fisica (architettura) del calcolatore formata da parti meccaniche, elettriche, elettroniche.
Informatica Lezione 4 Psicologia dello sviluppo e dell'educazione (laurea magistrale) Anno accademico:
Struttura Fondamentale degli Elaboratori Elaboratore –È un sistema numerico –È un sistema automatico –È un sistema a programamzione registrabile –Ha una.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Il sistema di elaborazione Marco D. Santambrogio – Ver. aggiornata al 15 Maggio.
Il Processore Il processore è la componente dell’unità centrale che elabora le informazioni contenute nella memoria principale L’elaborazione avviene eseguedo.
Dalla macchina di Von Neumann …
Click to add text L’ Unità di Elaborazione. Struttura : Unità di controllo: coordina attività CPU ALU: unità aritmetico-logica, esegue operazioni tra.
Il modello di Von Neumann
HARDWARE (2). MEMORIE Due classi di memoria MEMORIA CENTRALE –media capacità - ottima velocità MEMORIA DI MASSA elevata capacità - bassa velocità.
Hardware Struttura fisica (architettura) del calcolatore formata da parti meccaniche, elettriche, elettroniche.
Transcript della presentazione:

Elaboratore e Sistemi Operativo

Com’è fatto un elaboratore? Elaboratori basati sulla Architettura di Von Neumann che consiste di: Un’unità di Elaborazione (CPU) Memoria Centrale (RAM) per istruzioni e dati memorizzati come sequenze di dati Periferiche Bus di Sistema

Programmi e dati I programmi (seq. istruzioni) e i dati sono memorizzati in memoria di massa (lenta) Per essere eseguito, un programma deve essere caricato in memoria centrale (veloce) Occorre anche allocare spazio per i dati utilizzati dal programma (es. Variabili N,Ris) in memoria centrale

Come funziona l’elaboratore? Un programma viene caricato in memoria centrale Si alloca lo spazio per i dati necessari al programma La CPU estrae le istruzioni e dati dalla memoria centrale, le decodifica e le esegue utilizzando registri interni (accesso veloce) L’esecuzione può comportare il trasferimento di dati in input e output tra memoria centrale e periferiche attraverso il bus di sistema L’esecuzione viene scandita dal clock

Memoria Centrale (RAM) La RAM è una memoria utilizzata esclusivamente per l’esecuzione di un programma Accesso rapido Volatile La RAM è organizzata come una tabella di celle Cella = parola di memoria Parola = sequenza di byte Es. memoria da 16 bit (2 byte), 32 bit, 64 bit

Indirizzo di memoria Indirizzo di memoria = posizione relativa alla prima cella della memoria La CPU utilizza due registri di controllo: Registro di indirizzamento (RI) serve per recuperare le parole di memoria Registro dati (RD) mantiene dati input e output

Funzionamento RAM 1 2 RI RD : REG.INDIRIZZI K bit: REG. DATI. 16 bit m 1 2 RI RD : REG.INDIRIZZI K bit: REG. DATI. 16 bit m MEMORIA: parole da 16 bit

CPU: Central Processing Unit Rappresenta il cuore dell’elaboratore Unità Aritmetico-Logica (ALU) Circuiti per calcolo vero e proprio Registri Accumulatore, Program Counter, ... Decodificatore di istruzioni Tabella che estrae istruzioni

Registri Registro istruzione corrente (RIC) contiene l’istruzione correntemente eseguita Contatore di Programma (PC) indirizzo della prossima istruzione da eseguire Registro interruzioni (RINT) contiene informazioni riguardo lo status delle periferiche Accumulatore (ACC) Contiene valori utilizzati durante operazioni

Modello Semplificato 0: decoder 1: 2: ACC : ALU PC RIC RAM

Istruzioni della Macchina Le istruzioni della macchina sono codificate in forma numerica ed inserite insieme agli altri dati nella memoria centrale Istruzione = operazione di base sui registri e sulla RAM Codifica delle istruzioni = Elenco ordinato Identificatore di un istruzione ~ Numero d’ordine

Esempio di Set Istruzioni Istruzione SUM con parametro N Nuovo valore del reg. ACC = ACC + RAM[N] Istruzione MOVE con parametro N Nuovo valore di RAM[N] = ACC Istruzione LOAD con parametro N Nuovo valore di ACC = RAM[N] Istruzione HALT: termina l’esecuzione

Programma in Linguaggio Macchina Sequenza di istruzioni Un programma viene interpretato sequenzialmente attraverso il registro PC che identifica la prossima istruzione da eseguire Per capire meglio occore introdurre il ciclo di interpretazione dei programmi

Stato iniziale della macchina Supponiamo di aver caricato le istruzioni nella RAM a partire dalla cella con indirizzo 0 Inoltre supponiamo di avere a disposizione una tabella che ci permette di recuperare l’istruzione e i relativi parameteri

Esecuzione tramite ciclo di fetch Inizializzazione: memorizza 0 nel registro PC Ciclo di Fetch: 1. Recupera il valore nella cella con indirizzo PC nella RAM e lo memorizza nel registro RIC (registro istruzione corrente) 2. Somma 1 al valore contenuto in PC e lo memorizza in PC 3. Decodifica il valore contenuto in RIC (estrae il codice operazione e il parametro) 4. Esegui l’istruzione 5. Torna al punto 1 a meno che l’istruzione non sia quella di `fine programma’

Esempio di programma Considerate la seguente conf. iniziale della RAM: RAM[0]= LOAD 4 RAM[1]= SUM 5 RAM[2]= MOVE 4 RAM[3]= HALT RAM[4]= 21 RAM[5]= 9 dove SUM N: ACC ’ = ACC + RAM[N] MOVE N : RAM[N] ’ = ACC LOAD N : ACC ’ = RAM[N] HALT: termina esecuzione N = parametro Cosa fa il programma?

Soluzione Il programma precedente esegue i seguenti passi: Copia il valore della cella 4 (=21) nel reg. ACC Somma il val. della cella 5 (=9) al valore in ACC e lo memorizza di nuovo in ACC (=30) Copia il valore del reg. ACC nella cella 4 (=30) Alla fine abbiamo che: ACC e RAM[4] contengono 30 RAM[5] contiene ancora 9

Compilatore I programmi in realtà si scrivono in linguaggi più semplici del linguaggio macchina chiamati linguaggi di programmazione ad alto livello (C, Java, Pascal) I programmi scritti in linguaggi di alto livello vengono poi tradotti automaticamente in linguaggio macchina per poter essere eseguiti Il compilatore di un linguaggio di programmazione (ad es. il compilatore C) è un programma che effettua la traduzione in linguaggio macchina Un programma eseguibile (.exe in Windows) è il risultato della compilazione

Programmi Esistono vari tipi di programmi Programmi di base: servono per gestire le risorse della macchina Es. Sistema operativo Windows Programmi applicativi: aggiungono nuove funzionalità Es. Word, Excel, etc.

Il Sistema Operativo

Sistema Operativo (Software di base) Il sistema operativo è un insieme di programmi che opera sul livello macchina e offre funzionalità di alto livello Es.organizzazione dei dati attraverso indici I sistemi operativi sono organizzati a strati Strato = macchina virtuale che maschera la macchina fisica (hardware)

Sistema operativo Interfaccia utente utente Sistema operativo Hardware

Funzionalità Possiamo identificare 5 strati tra macchina fisica e utente Gestore dei processi Gestore della memoria Gestore delle periferiche File system Interprete dei comandi

Gestore dei processi Gestisce l’esecuzione dei programmi Le unità di esecuzione vengono chiamate processi Per eseguire un programma occorre mantenere il corrispondente processo attivo nella CPU In ambiente multi-utente il gestore deve decidere a quale processo assegnare la CPU Inoltre deve reagire agli eventi esterni (le interruzioni provenienti dalle periferiche)

Cos’e’ un processo? Programma = lista di istruzioni = nozione statica Processo = programma in esecuzione = programma + stato corrente variabili = nozione dinamica Stato corrente= valori in memoria centrale valori nei registri della CPU In un PC un solo processo in esecuzione alla volta

Gestore della memoria Il gestore della memoria deve allocare la memoria partizionarla tra i processi che la richiedono Grazie al gestore della memoria gli strati superiori hanno l’illusione che ogni processo abbia una memoria dedicata

Gestore delle periferiche Maschera le caratteristiche hardware delle periferiche Gestisce le operazioni di input e output Fornisce procedure ad alto livello ad esempio per la lettura, scrittura di dati su memorie secondarie scrittura su stampanti, ecc

File System Gestisce i dati in memoria di massa Struttura i dati in modo gerarchico utilizzando file e directory Fornisce operazioni di alto livello per la gestione di file ad esempio creazione di un nuovo documento, directory ecc Protegge i dati da accessi esterni Garantisce la condivisione sicura dei dati

Interprete dei comandi Consente all’utente di attivare i programmi Sfrutta le funzionalità degli strati inferiori per cercare in memoria il programma invocato allocare la memoria richiesta dal programma attivare un processo per eseguire il programma

Evoluzione dei Sistemi Operativi Sistemi batch con schede (50’s-60’s) System/360 IBM compatibili (65-70’s) Sistemi operativi UNIX e DOS (80’s) WINDOWS (90’s)

Uno sguardo da vicino al sistema operativo Il File System

Gestione della Memoria Secondaria La memoria di massa serve per gestire grandi quantità di dati Persistentenza Sicurezza Classificazione Soluzione I dati vengono organizzati logicamente in file e gestiti dal sistema operativo

File Nome: Struttura: Tipo: Attributi: Identifica il file spesso con una estensione che indica il tipo di file es. Tesi.doc oppure somma.exe Struttura: Sequenza di byte Sequenza di blocchi (record) di byte Tipo: File di caratteri e binari (eseguibili) Directory Attributi: nome, diritti di accesso,proprietario

Operazioni su File Il file system consente di effettuare le seguenti operazioni: creare, cancellare, spostare, recuperare, modificare documenti in memoria di massa (memoria persistente) Modificare gli attributi di un file Ridenominare i file

Directory E’ un file di tipo speciale che mantiene informazioni su altri file permette di strutturare insiemi di file (dati) in maniera gerarchica contiene la lista dei nomi e attributi dei file e directory al suo interno Quindi: il file system ha una struttura ad albero Radice = radice del’intero file system Nodi interni = directory Foglie = documenti/programmi

File System in DOS/Windows Esistono delle directory predefinite che corrispondono alle unità di memoria secondaria Disco fisso indicato con C: Dischetto indicato con A:

Struttura ad albero

Struttura ad albero radice Floppy da 3.5 A: Hard Disk C: Biblioteca Applicazioni directory Elab_imm Elab_suoni Photoshop.exe file

Path names In un’organizzazione ad albero i nomi devono contenere informazioni sui cammini sui quali si trovano i corrispondenti file Nomi relativi: relativi ad una particolare directory Nomi assoluti: specificano il cammino a partire dalla radice (root) del file system (mai ambigui) Nei path names si possono utilizzare I due simboli speciali Il punto (.) rappresenta la directory corrente I due punti (..) rappresentano la directory immediatamente superiore nel’albero

Esempio cammini Floppy da 3.5 A: Applicazioni Elab_suoni Elab_imm cammino relativo da Elab_imm Photoshop.exe A:\Applicazioni\Elab_imm\Photoshop.exe cammino assoluto

Gestione File System File possono venire memorizzati con Allocazione continua di blocchi di byte Allocazione collegata (un blocco contiene l’indirizzo del prossimo) Allocazione con indice (si mantiene una tabella in memoria per recuperare i blocchi) – DOS - I-node: tabella con puntatori ad altre tabelle (combina le ultime due) – UNIX –