Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli


Informatica (INF/01), Appunti di Elementi di Informatica

Appunti di informatica. Prima parte. Concetti principale, Hardware, Software, Ciclo macchina, etc...

Tipologia: Appunti

2019/2020

Caricato il 30/03/2020

paologuitardb
paologuitardb 🇮🇹

4

(2)

7 documenti

1 / 75

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
Capitolo 1/5
Informazione digitale = dati rappresentati in forma numerica.
Per rappresentare informazioni mediante simboli è necessario che i simboli siano ordinati.
Un dato digitale è la presenza/assenza di un fenomeno in un determinato luogo/momento.
Questo tipo di rappresentazione è detto PandA.
Un bit è un dato prodotto in una singola osservazione PandA, ed esso componendosi di
sole due alternative è un sistema binario.
Attraverso sequenze di bit possiamo arrivare a rappresentare
2"
simboli. In binario la
somma di due bit di valore 1 da 0 col riporto di uno a sinistra, quindi nelle sequenze di bit
la cifra più significativa è a sinistra.
Si è arrivati in seguito a definire degli standard, ad esempio il codice ASCII a 7 bit, a cui è
seguito l’Extended ASCII a 8 bit (8bit = 1 byte).
Capitolo 7
Processore: esegue le istruzioni del programma;
Sistema operativo: è il software che esegue operazioni comuni a tutte le
applicazioni;
Software: le istruzioni che poi l’hardware esegue;
Istruzioni;
Ciclo macchina: processo di esecuzione di un’istruzione (IF, ID, DF, EX, RR);
Memoria;
Hardware
Tutti i computer si compongono di 5 parti essenziali:
Memoria: contiene sia i programmi che i dati con cui i programmi operano ed ha le
seguenti proprietà:
o Locazioni discrete (8bit o 1 byte)
o Indirizzi per ogni locazione
o Valori, contenuti nelle locazioni
o Capacità finita delle locazioni
La RAM è così definita in quanto il computer può accedere alle locazioni in
qualsiasi ordine;
Unità di Controllo: è l’implementazione Hardware del Ciclo Macchina. I suoi circuiti
prelevano l’istruzione dalla memoria ed eseguono su di essa le altre operazioni del
ciclo. Essa si compone di due registri:
o MAR, quello degli indirizzi, in cui l’unità di controllo pone l’informazione su
cui sta lavorando;
o Il Program Counter, che contiene la locazione della prossima istruzione su
cui lavorerà l’unità di controllo.
ALU: l’unità aritmetico-logica
Unità di I/O: periferiche, memorie esterne, dischi fissi, etc.… (Driver)
Tutte le info passano attraverso i BUS.
Fasi del Ciclo Macchina:
1. IF (RAM -> CPU): Il program counter individua l’indirizzo della locazione di memoria
dell’operazione da eseguire e questa viene portata al circuito di decodifica dell’unità
di controllo. A seguire il program counter predispone l’informazione successiva
(date le stringhe di 4 bit possiamo abbreviare in pc+4).
2. ID (CPU): il decodificatore analizzando l’istruzione trova gli indirizzi di memoria
degli operandi e li passa al circuito che preleverà dalla memoria i relativi valori,
inserisce la locazione di destinazione nel registro di RR ed infine imposta l’ALU
secondo l’operazione da eseguire.
3. FD(RAM->CPU); l’unità di controllo trasferisce i valori degli operandi all’ALU;
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43
pf44
pf45
pf46
pf47
pf48
pf49
pf4a
pf4b

Anteprima parziale del testo

Scarica Informatica (INF/01) e più Appunti in PDF di Elementi di Informatica solo su Docsity!

Capitolo 1/ 5 Informazione digitale = dati rappresentati in forma numerica. Per rappresentare informazioni mediante simboli è necessario che i simboli siano ordinati. Un dato digitale è la presenza/assenza di un fenomeno in un determinato luogo/momento. Questo tipo di rappresentazione è detto PandA. Un bit è un dato prodotto in una singola osservazione PandA, ed esso componendosi di sole due alternative è un sistema binario. Attraverso sequenze di bit possiamo arrivare a rappresentare 2 "^ simboli. In binario la somma di due bit di valore 1 da 0 col riporto di uno a sinistra, quindi nelle sequenze di bit la cifra più significativa è a sinistra. Si è arrivati in seguito a definire degli standard, ad esempio il codice ASCII a 7 bit, a cui è seguito l’Extended ASCII a 8 bit (8bit = 1 byte). Capitolo 7

  • Processore: esegue le istruzioni del programma;
  • Sistema operativo: è il software che esegue operazioni comuni a tutte le applicazioni;
  • Software: le istruzioni che poi l’hardware esegue;
  • Istruzioni;
  • Ciclo macchina: processo di esecuzione di un’istruzione (IF, ID, DF, EX, RR);
  • Memoria;
  • Hardware Tutti i computer si compongono di 5 parti essenziali:
  • Memoria: contiene sia i programmi che i dati con cui i programmi operano ed ha le seguenti proprietà: o Locazioni discrete (8bit o 1 byte) o Indirizzi per ogni locazione o Valori, contenuti nelle locazioni o Capacità finita delle locazioni La RAM è così definita in quanto il computer può accedere alle locazioni in qualsiasi ordine;
  • Unità di Controllo: è l’implementazione Hardware del Ciclo Macchina. I suoi circuiti prelevano l’istruzione dalla memoria ed eseguono su di essa le altre operazioni del ciclo. Essa si compone di due registri: o MAR, quello degli indirizzi, in cui l’unità di controllo pone l’informazione su cui sta lavorando; o Il Program Counter, che contiene la locazione della prossima istruzione su cui lavorerà l’unità di controllo.
  • ALU: l’unità aritmetico-logica
  • Unità di I/O: periferiche, memorie esterne, dischi fissi, etc.… (Driver) Tutte le info passano attraverso i BUS. Fasi del Ciclo Macchina:
  1. IF (RAM - > CPU): Il program counter individua l’indirizzo della locazione di memoria dell’operazione da eseguire e questa viene portata al circuito di decodifica dell’unità di controllo. A seguire il program counter predispone l’informazione successiva (date le stringhe di 4 bit possiamo abbreviare in pc+4).
  2. ID (CPU): il decodificatore analizzando l’istruzione trova gli indirizzi di memoria degli operandi e li passa al circuito che preleverà dalla memoria i relativi valori, inserisce la locazione di destinazione nel registro di RR ed infine imposta l’ALU secondo l’operazione da eseguire.
  3. FD(RAM->CPU); l’unità di controllo trasferisce i valori degli operandi all’ALU;
  1. EX(CPU): l’ALU esegue il calcolo
  2. RR (CPU->RAM): il risultato viene restituito all’indirizzo di destinazione e il controllo invia alla memoria l’indirizzo del program counter in preparazione dell’indirizzo successivo. Il clock da la “velocità” del ciclo macchina. Ne hanno uno anche i bus. Il ciclo macchina viene messo in catena di montaggio (pipeline). Quindi i cicli macchina partono sequenzialmente fase dopo fase (finisce IF dell’istruzione 1, comincia IF dell’istruzione 2). Il linguaggio assembly è un linguaggio che usa parole al posto del codice binario. (È quello che usiamo con ADD…) ed impiega gli indirizzi. Esso verrà poi tradotto attraverso un compilatore. Un assemblatore è un programma che sostituisce l’assembly con il binario. Un sistema operativo svolge tutte le funzionalità chiave per il funzionamento di un computer. Controllano la memoria, gestiscono i dispositivi di I/O, connettono ad Internet, e quindi in generale si occupa di far funzionare le app. Multitasking: attraverso il time sharing. Multiuser. I software possono essere suddivisi in:
  • App,
  • Sistema, ovvero l’infrastruttura per il funzionamento del computer e delle App. o Utility, di gestione del computer o Sistema operativo, § Shell, che è l’interfaccia con l’utente § Kernel, che contiene i programmi base del SO
  • File manager
  • Driver
  • Memory manager (della RAM) (Memoria virtuale) Dispense Pelusi Le origini dell’informatica La macchina di Turing lMacchina teorica in grado di eseguire procedure logiche e matematiche lProcedure ó algoritmo Componenti:
  • un nastro diviso in celle (memoria esterna);
  • una unità di lettura e scrittura;
  • un insieme finito di simboli;
  • una memoria interna. La macchina permette di formalizzare la nozione di procedura effettiva di calcolo, o algoritmo. Teoria della macchina universale
  • Turing dimostrò che è possibile progettare una macchina universale in grado di imitare qualsiasi altra macchina di Turing. Tesi di Church
  • L’insieme dei problemi effettivamente risolvibili con qualsivoglia metodo meccanico coincide con quello dei problemi risolvibili dalla macchina di Turing. La macchina a registri a programma memorizzato
  • Ideata da von Neumann.
  • Ispirata dalla macchina (concettuale) di Turing.
  • Costituita da:
  • unità di elaborazione centrale (CPU); unità aritmetico-logica (ALU).
  • Anche la macchina di von Neumann è una macchina universale.

Il processore

  • C.P.U. Central Processing Unit • Esecutore dei programmi
  • Interagisce con la RAM
  • Composto da:
    • ALU
    • Unità di Controllo
    • Unità di Memoria La CPU CPU = Central Processing Unit, centro nevralgico del computer. Ogni CPU ha un set di istruzioni diverso, e incompatibile tra diversi produttori. Il software per Windows (CPU Intel) non può̀ funzionare su Apple (CPU Motorola). In molti computer, e anche all'interno di CPU particolarmente evolute, ci sono coprocessori e multiprocessori. Velocità del microprocessore = Velocità del clock
  • Megahertz (MHz o milioni di cigli al secondo)
  • Gigahertz (GHz o miliardi di operazioni al secondo) Tipi di memoria
    • ROM = memoria non volatile, in cui è memorizzato il firmware.
    • RAM = memoria volatile, random o Memoria centrale o memoria dell’utente • Memoria volatile - Ad accesso random - Primi PC: 128 KB - Oggi: almeno 2 GB - Circa 16.000 volte più̀ grande!
  • Memorie a stato solido Si tratta di memorie la cui tecnologia è simile a quella della RAM, ma in grado di registrare in modo permanente i dati (Memoria flash, PC CARD, Pen driver, SSD Disk (dischi allo stato solido) Sono utilizzate per molteplici applicazioni: (Telefoni cellulari, Fotocamere/Telecamere digitali, Registratori vocali, Elaboratori elettronici)
  • Non hanno parti mobili
  • Sono più̀ veloci dei dischi magnetici o ottici.
  • Hanno dimensioni molto ridotte.
  • Utilizzano meno energia rispetto ai dischi magnetici
  • Trovano diversi impieghi anche per dispositivi di tipo differente Accesso diretto e sequenziale
  • Accesso diretto o casuale (random):
  • le informazioni sono accessibili in maniera indipendente dall'ordine in cui sono state memorizzate (il CD/DVD, l'hard disk, ecc.).
  • Accesso sequenziale non si può̀ evitare di leggere i dati nell'ordine in cui sono stati memorizzati; (il nastro). Velocità e capacità
  • La velocità di reperimento dei dati memorizzati dipende dal tipo di tecnologia che usa il supporto.
  • In genere, velocità e capacità di memorizzazione sono inversamente proporzionali tra loro.

Importanza del backup Non sarà̀ mai data troppa importanza all'operazione di backup con la quale ricopiamo i nostri dati più̀ cari e importanti su altri supporti. Il computer ci trasmette spesso una sensazione di indistruttibilità̀ , ma non è affatto così. Non esiste utente di computer che, almeno una volta, non abbia perso dei dati per uno dei motivi illustrati qui a fianco. Funzionamento della memoria virtuale La memoria virtuale rallenta l'esecuzione dei programmi, ma permette di far funzionare applicazioni più̀ grandi della ram stessa. Funzionamento della cache La memoria cache è velocissima ma il suo contenuto può̀ essere superfluo per le operazioni in corso, quindi risultare inutile. I tipi di bus e le altre connessioni

  • Bus, di sistema oppure locale = connessione fisica tra CPU e le altre componenti del computer; trasporta i dati da un dispositivo all'altro.
  • Porta seriale o parallela = connessioni storiche dei computer, usate la prima per il modem e la seconda per le stampanti.
  • Porte USB e FireWire = più̀ recenti, hanno molti vantaggi rispetto alle precedenti connessioni.
  1. Velocità.
  2. Si possono connettere in serie, un dispositivo dopo l'altro.
  3. Riconoscimento automatico dei dispositivi connessi (Plug & Play). I linguaggi di programmazione Scrittura di un programma
  • I programmatori convertono le specifiche (descrizioni accurate) di un problema in una sequenza di istruzioni per risolvere una classe di problemi per mezzo del computer.
  • Per scrivere (codificare) un programma si utilizza un linguaggio di programmazione. Scrittura di un programma I linguaggi di programmazione si suddividono in:
  • generazioni;
  • livelli. La generazione indica il periodo di ideazione di un linguaggio di programmazione. Il livello indica il grado di vicinanza con il “linguaggio macchina” (insieme di 0 e 1). Linguaggi di basso e alto livello Prima e seconda generazione Linguaggio di programmazione = sintassi rigida + parole in numero fisso.

Il sistema OperativoIl sistema OperativoIl sistema OperativoIl sistema Operativo! Il sistema operativo (SO) è uno strato software che nascondeagli utenti i dettagli dell’architettura hardware del calcolatore ! Fornisce diverse funzionalità ad alto livello che facilitanol’accesso alle risorse del calcolatore ! Supporta l’esecuzione dei programmi applicativi definendouna macchina virtuale, cioè un modello ideale del calcolatore,sollevando il software applicativo dal compito di gestire ilimiti delle risorse disponibili

Architettura del sistema operativoArchitettura del sistema operativoArchitettura del sistema operativoArchitettura del sistema operativo!

Il SO è tipicamente organizzato astrati

Ciascun strato costituisceuna

macchina virtuale che gestisce

una risorsa del calcolatore

Le principali funzionalità offertesono:

La gestione dei processi La gestione della memoria La gestione delle periferiche La gestione del file system La gestione della rete La gestione dell’interfaccia utente

Le prime tre funzionalità sonoindispensabili per il funzionamentodel sistema e pertantocostituiscono il nucleo del SO(Kernel)

Macchina fisica

Gestione dei processi

Gestione delle perifericheGestione della memoria

File system

Programmi utenteInterprete comandi

Kernel

Gestione dei processiGestione dei processiGestione dei processiGestione dei processi! Il SO si occupa di gestire l’esecuzione concorrente di piùprogrammi utente ! La CPU del calcolatore (o le CPU nei sistemi multiprocessore)deve essere distribuita in maniera opportuna fra i programmida eseguire ! Ogni programma eseguito ha a disposizione una macchinavirtuale realizzata dal SO che ne consente l’esecuzione comese la CPU del calcolatore fosse interamente dedicata a esso

Gestione della memoriaGestione della memoriaGestione della memoriaGestione della memoria! La gestione concorrente di molti programmi applicativicomporta la presenza di molti programmi in memoriacentrale ! Il SO offre a ogni programma applicativo la visione di unamemoria virtuale, che può avere dimensioni maggiori diquella fisica ! Per gestire la memoria virtuale il SO dispone di diversimeccanismi: Rilocazione Paginazione Segmentazione

La struttura ad alberoLa struttura ad alberoLa struttura ad alberoLa struttura ad albero

Organizzazione dei fileOrganizzazione dei fileOrganizzazione dei fileOrganizzazione dei file! A ciascun utente è normalmente associata una directoryspecifica, detta home directory ! Il livello di protezione di un file indica quali operazioni possono essere eseguite da ciascun utente ! Ciascun file ha un pathname (o nome completo) che include l’intero cammino dalla radice dell’albero ! Il contesto di un utente all’interno del file system è la directory in cui correntemente si trova

Gestione dellGestione dellGestione dellGestione dell’ ’’’interfaccia utente interfaccia utenteinterfaccia utenteinterfaccia utente ! Il SO fornisce un interprete dei comandi inseriti dall’utenteattraverso la tastiera o il mouse ! L’interfaccia utente può essere Testuale (esempio: DOS) Grafica (esempio: Windows) ! Consente l’inserimento di diversi comandi: Esecuzione di programmi applicativi Operazioni sulle periferiche Configurazione dei servizi del SO Operazioni sul file system (creazione, rimozione, copia,ricerca, ecc.)

Che cosaChe cosaChe cosaChe cosa è èèè un processo per il SO? un processo per il SO?un processo per il SO?un processo per il SO? ! Processo ≠ programma! ! Processo = esecuzione di un programma, composto da: codice eseguibile (il programma stesso) dati dell’esecuzione del programma informazioni relative al suo funzionamento (stato) ! Lo stesso programma può essere associato a piùprocessi: Un programma può essere scomposto in varie partie ognuna di esse può essere associata a un diversoprocesso Lo stesso programma può essere associato adiversi processi quando esso viene eseguito piùvolte, anche simultaneamente

Il sistema operativo e le macchine virtualiIl sistema operativo e le macchine virtualiIl sistema operativo e le macchine virtualiIl sistema operativo e le macchine virtuali! Il sistema operativo può gestire più processisimultaneamente ! Rende quindi visibile ad ogni processo una macchina virtualead esso interamente dedicata e quindi con risorse proprie CPU A RAM A OD A HD A Rete A I/O A proc. A CPU B RAM B OD B HD B Rete B I/O B proc. B CPU D RAM D OD D HD D Rete D I/O D proc. D CPU C RAM C OD C HD C Rete C I/O C proc. C bus

Il sistema operativo e la macchina realeIl sistema operativo e la macchina realeIl sistema operativo e la macchina realeIl sistema operativo e la macchina reale CPU

A, B, C, D

RAM

A B C D

HD

A B C D

OD

A B C D

Rete

A, B, C, D

I/O

A, B, C, D

bus

utilizzo a rotazione

suddivisione in blocchi

suddivisione in blocchi

suddivisione in blocchi

utilizzo a rotazione

utilizzo a rotazione