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


Introduzione alle architetture dei computer: componenti e funzionamento, Sintesi del corso di Elementi di Informatica

Una panoramica introduttiva agli elementi base di un computer, compresi software e hardware come sistema operativo, cpu, memoria, unità di input e output. Viene inoltre discusso il concetto di bit, byte, grandezze di memoria e unità di controllo e aritmetico-logica. Il testo include anche una sezione sui dispositivi di input e output, la memoria cache e la memoria virtuale.

Tipologia: Sintesi del corso

2011/2012

Caricato il 21/03/2012

syrinx
syrinx 🇮🇹

3

(1)

1 documento

1 / 17

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
PDF 1.0
Information Technology (tecnologia dell’informazione): tutte le tecnologie per memorizzare, gestire o
diffondere l’informazione in diversi formati (testo, audio, video, ecc..). Serve per: elaborare i dati per
ottenere informazioni significative, mantenere le informazioni elaborate per utilizzarle in combinazione con
altri nuovi dati di un nuovo processo di elaborazione e organizzare le informazioni in una nuova forma in
modo da renderle più comprensibili o meglio accessibili.
Il termine informatica deriva dal Francese
Informatique= information+Automatique
In Italiano:
Informatica= Informazione+Automatica
Informatica: studio sistematico degli algoritmi che descrivono e trasformano l’informazione: la loro teoria,
analisi, progetto efficienza, realizzazione e applicazione. Studia la disciplina che studia l’I.T. e il suo impiego
in diversi domini applicativi in due campi:
-Tecnologico (funzionamento delle apparecchiature elettroniche per l’elaborazione di dati e la produzione di
informazioni) Computer Science.
- Applicativo (utilizzo delle applicazioni informatiche per la soluzione di problemi tecnici e organizzativi
delle diverse realtà) Software Engineering.
Un computer (elaboratore) è costituito da: Hardware e Software.
Dati: Un dato è ciò che è immediatamente presente alla conoscenza, può essere, ad esempio, una misura e
una sua elaborazione può portare alla conoscenza di una informazione. Sono: numeri, documenti di testo,
ipertestuali e multimediali (Immagini, suoni e filmati).
Hardware e Software hanno lo scopo di elaborare e presentare dati.
CICLO DI ELABORAZIONE DELL’INFORMAZIONE:
HARDWARE: sono le parti fisiche della macchina, i componenti elettronici e meccanici del computer e
delle periferiche (scheda madre, mouse, tastiera, video, stampante).
L’ELABORATORE è una macchina per l’elaborazione dei dati che avviene attraverso l’esecuzione di un
programma che esegue automaticamente una serie di istruzioni (algoritmo). L’elaboratore è costituito,
fisicamente da componenti elettronici, l’esecuzione di un programma avviene attraverso l’utilizzo dei
componenti elettronici.
UN SISTEMA, in generale è un insieme di elementi che operando in maniera congiunta consentono di
svolgere un determinato compito (es. corpo umano: sistema nervoso).
Un sistema INFORMATIVO è l’insieme delle informazioni gestite, generate, elaborate e utilizzate per
risolvere le problematiche degli utenti. Un sistema INFORMATICO è la parte del sistema informativo in cui
le informazioni sono raccolte, elaborate, archiviate e scambiate mediante l’utilizzo delle tecnologie
dell’informazione e della comunicazione (ICT).
SOFTWARE: è l’insieme di programmi che consentono alla macchina di funzionare e svolgono le funzioni
richieste dall’utente (sistema operativo, pacchetti office, programma grafici). Il Software può essere diviso
in: SOFTWARE DI SISTEMA E SOFTWARE APPLICATIVO.
SOFTWARE DI SISTEMA: garantisce le funzioni di base del computer e si occupa di interagire
con l’hardware. Esempi sono il BIOS e il SISTEMA OPERATIVO. IL SISTEMA OPERATIVO è un
programma che coordina le diverse componenti hardware e software del computer, facendo da
tramite tra l’utente, i programmi in dotazione e la macchina. Il sistema operativo dialoga con l’utente
mediante l’interfaccia utente.
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff

Anteprima parziale del testo

Scarica Introduzione alle architetture dei computer: componenti e funzionamento e più Sintesi del corso in PDF di Elementi di Informatica solo su Docsity!

PDF 1.

Information Technology (tecnologia dell’informazione): tutte le tecnologie per memorizzare, gestire o diffondere l’informazione in diversi formati (testo, audio, video, ecc..). Serve per: elaborare i dati per ottenere informazioni significative, mantenere le informazioni elaborate per utilizzarle in combinazione con altri nuovi dati di un nuovo processo di elaborazione e organizzare le informazioni in una nuova forma in modo da renderle più comprensibili o meglio accessibili.

Il termine informatica deriva dal Francese Informatique= information+Automatique In Italiano: Informatica= Informazione+Automatica

Informatica : studio sistematico degli algoritmi che descrivono e trasformano l’informazione: la loro teoria, analisi, progetto efficienza, realizzazione e applicazione. Studia la disciplina che studia l’I.T. e il suo impiego in diversi domini applicativi in due campi:

  • Tecnologico (funzionamento delle apparecchiature elettroniche per l’elaborazione di dati e la produzione di informazioni) Computer Science.
  • Applicativo (utilizzo delle applicazioni informatiche per la soluzione di problemi tecnici e organizzativi delle diverse realtà) Software Engineering. Un computer (elaboratore) è costituito da: Hardware e Software. Dati: Un dato è ciò che è immediatamente presente alla conoscenza, può essere, ad esempio, una misura e una sua elaborazione può portare alla conoscenza di una informazione. Sono: numeri, documenti di testo, ipertestuali e multimediali (Immagini, suoni e filmati). Hardware e Software hanno lo scopo di elaborare e presentare dati. CICLO DI ELABORAZIONE DELL’INFORMAZIONE:

HARDWARE : sono le parti fisiche della macchina, i componenti elettronici e meccanici del computer e delle periferiche (scheda madre, mouse, tastiera, video, stampante).

L’ELABORATORE è una macchina per l’elaborazione dei dati che avviene attraverso l’esecuzione di un programma che esegue automaticamente una serie di istruzioni (algoritmo). L’elaboratore è costituito, fisicamente da componenti elettronici, l’esecuzione di un programma avviene attraverso l’utilizzo dei componenti elettronici.

UN SISTEMA, in generale è un insieme di elementi che operando in maniera congiunta consentono di svolgere un determinato compito (es. corpo umano: sistema nervoso).

Un sistema INFORMATIVO è l’insieme delle informazioni gestite, generate, elaborate e utilizzate per risolvere le problematiche degli utenti. Un sistema INFORMATICO è la parte del sistema informativo in cui le informazioni sono raccolte, elaborate, archiviate e scambiate mediante l’utilizzo delle tecnologie dell’informazione e della comunicazione (ICT).

SOFTWARE : è l’insieme di programmi che consentono alla macchina di funzionare e svolgono le funzioni richieste dall’utente (sistema operativo, pacchetti office, programma grafici). Il Software può essere diviso in: SOFTWARE DI SISTEMA E SOFTWARE APPLICATIVO.

  • SOFTWARE DI SISTEMA : garantisce le funzioni di base del computer e si occupa di interagire con l’hardware. Esempi sono il BIOS e il SISTEMA OPERATIVO. IL SISTEMA OPERATIVO è un programma che coordina le diverse componenti hardware e software del computer, facendo da tramite tra l’utente, i programmi in dotazione e la macchina. Il sistema operativo dialoga con l’utente mediante l’interfaccia utente.
  • SOFTWARE APPLICATIVO : si occupa di problemi specifici e di determinate esigenze, interagisce c on l’hardware ed il sistema attraverso l’OS. Esempi sono I PACCHETTI OFFICE e i PROGRAMMI GRAFICI.

PDF 2.

Indipendentemente dalla loro tipologia i computer sono caratterizzati da:

Capacità di svolgere uno o più compiti, capacità di calcolo e capacità di memorizzazione.

Tipologie di computer:

  • I SUPERCALCOLATORI , sono macchine molto potenti, appositamente progettate per raggiungere altissime velocità di elaborazione. Sono dispositivi dotati di più unità centrali e si basano su architetture parallele; vengono utilizzati per specifici problemi, come nel settore delle previsioni del tempo o in campo militare.
  • (^) IL MAINFRAME è progettato per memorizzare Gbyte di dati e per supportare il collegamento contemporaneo di migliaia di terminali remoti. Viene utilizzato dalle grandi aziende, soprattutto quelle che si estendono sul territorio (banche, assicurazioni, pubblica amministrazione…), che hanno la necessità di conservare grosse moli di dati in un’unica sede, consentendo nel contempo a tutte le proprie filiali di accedere agli archivi centrali.
  • SERVER (Sia MAINFRAME che SUPERCALCOLATORI): vengono utilizzati nelle piccole e grandi aziende, e in molti casi, ricoprono quello che era il ruolo del mainframe. È progettato per supportare il collegamento contemporaneo di centinaia di utenti condividendo “risorse”: di calcolo, di storage (file server), condivisione di stampanti e di collegamenti esterni.
  • WORKSTATION : sono computer di dimensioni paragonabili a un personal computer. Possono essere “stand alone” o collegati in rete. Hanno elevate capacità di calcolo e specializzate in alcune funzioni: calcolo strutturale, calcolo scientifico, grafica, CAD (computer aided design), CAM (computer aided manufacturing). Servono per fare una cosa sola in particolare.
  • DESKTOP/ PERSONAL COMPUTER : sono quelli che vediamo nella vita di tutti i giorni, a seconda di dove sia il case prendono diversi nomi: sotto il desktop (DESKTOP), accanto (MINITOWER) e sotto il tavolo (TOWER).
  • Altre tipologie sono: NOTEBOOK, TABLET PC, NETWORK COMPUTER, PALMARE, SMARTPHONE.

Il bit (BInary digiT) è l’unità minima di informazione che può essere memorizzata, può assumere solo due stati: se passa corrente (valore 1) se non passa corrente (valore 2). Per rappresentare 2 stati (acceso e spento) ho bisogno di un solo interruttore.

Per rappresentare un’entità significativa (numero, lettera, simbolo, ecc) sono necessari più bit, raggruppati generalmente in configurazioni multiple dette parole o word.

La lunghezza della parola può essere diversa da macchina a macchina e può variare da un minimo di 8 bit (byte), procedendo per multipli: 16, 32, 64 bit, etc.

LE GRANDEZZE: Bit, byte, KB, MB, TB

Il byte, 8 bit, viene utilizzato per indicare la capacità della memoria.

13 1101 D 13 15

15 1111 F 15 17

Un primo esempio significativo di CODIFICA è la rappresentazione dei caratteri “utilizzati normalmente” nel loro equivalente all’interno di un computer. ASCII= American Standard Code for Information Interchange. La tabella ASCII è un codice usato per la rappresentazione dei caratteri di testo attraverso delle stringe binarie. In particolare si utilizza un byte per rappresentare un diverso carattere della tastiera (lettere, numeri, segni). Il codice EBCDIC è utilizzato nei mainframe e nei calcolatori più potenti. Il BCD è spesso utilizzato per la sua diretta corrispondenza con il codice ASCII. In BCD un numero è rappresentato da un codice binario di quattro bit, il cui valore è compreso tra 0 (0000) e 9 (1001). Le combinazioni restanti vengono usate per rappresentare simboli. Il codice UNICODE cerca di rappresentare un set di caratteri in lingue diverse (arabo, cinese, ebraico, ecc.) all’interno di un elaboratore. L’UNICODE utilizza 16 bit e, potenzialmente, è in grado di rappresentare 96mila caratteri differenti.

OPERAZIONI. In un’operazione matematica distinguiamo OPERATORI E OPERANDI. Per cui nella formula: A+B l’operatore “+”identifica la somma “A” e “B” sono gli operandi. OPERAZIONI: somma, moltiplicazione e negazione. FUNZIONI LOGICHE: TABELLE DI VERITà

PDF 2.

ARCHITETTURA DI UN ELABORATORE: organizzazione logica dei componenti interni della macchina. Modo in cui questi componenti cooperano per eseguire operazioni più o meno complesse. L’architettura di una macchina potrà essere dedotta dalla conoscenza della struttura interna e dal modo in cui è possibile far cooperare le unità fisiche tramite alcune istruzioni, che definiscono il linguaggio macchina. Tutti i computer moderni, dai palmari ai mainframe hanno tutti un’architettura interna che deriva dalla macchina ideale chiamata MACCHINA DI VON NEUMANN. MACCHINA DI VON NEUMANN:

SCHEMA DI PRINCIPIO DELLA MACCHINA DI VON NEUMANN: BUS DI COMUNICAZIONE:

la macchina di Von Neumann è uno schema ideato dal matematico John Von Neumann. Lo schema si basa su quattro componenti fondamentali:

  • CPU o unità di lavoro che si divide a sua volta in: unità di calcolo o ALU e unità di controllo o CU
  • Unità di memoria, intesa come memoria di lavoro o memoria principale (RAM, random access Memory)
  • Unità di input, tramite la quale i dati vengono inseriti nel calcolatore per essere elaborati
  • Unità di output, necessaria affinchè i dati elaborati possano essere restituiti all’operatore.

Il BUS è il canale di comunicazione che connette la CPU a tutti gli elementi, il blocco denominato Input serve ad immettere i dati iniziali ed il programma Memoria, la CPU(sigla inglese dalle iniziali di Central Processing Unit) è il blocco funzionale in cui vengono eseguite le elaborazioni; la memoria è un dispositivo in grado di memorizzare i dati in ingresso/uscita. Il blocco Output è il dispositivo mediante il quale sono resi disponibili i dati in uscita, per esempio su schema video.

La memoria è quel componente del calcolatore in grado di svolgere la funzione di memorizzare. Dovranno poter essere memorizzati: i programmi da eseguire, i dati sui quali il calcolatore deve operare , i risultati intermedi delle elaborazioni e i risultati finali delle elaborazioni.

Il processore (CPU Central Processing Unit) esegue i singoli passi di un programma e comunica attraverso le linee di comunicazione (il BUS) con la memoria e con le vie di ingresso/uscita. Le componenti fondamentali della cpu sono: unità di controllo; unità aritmetico-logica.

L’unità di controllo (CU) : organizza e gestisce l’elaborazione dei dati; controlla il funzionamento delle altre componenti del computer; L’unità aritmetico-logica (ALU) : esegue i calcoli aritmetici e le operazioni logiche.

Le unità di ingresso/uscita( spesso indicate come unità di input/output spesso abbreviato in unità di I/O) hanno il ruolo di introdurre i dati nell’elaboratore e di emetterli all’esterno. Sono unità di questo tipo la tastiera, la stampante, il video e tutte quelle unità accessorie che hanno il ruolo di comunicazione tra la macchina e l’uomo che la utilizza.

Memoria=memoria principale: le memorie di massa sono considerate dispositivi I/O, il motivo di ciò è innanzitutto storico, in quanto negli anni Quaranta non esistevano ancora hard disk, CD-ROM e i nastri magnetici. I dati da elaborati sono comunque caricati in RAM, (anche se provengono da tastiera o da hard- disk).

PDF 2.

Un sistema elettronico programmabile, capace di eseguire un insieme di istruzioni registrate in precedenza (programma), per la soluzione di problemi mediante l’elaborazione automatica di informazioni.

MEMORIA CACHE

  • La CPU elabora solo poche istruzioni per volta e quindi, per aumentarne le prestazioni, viene fornita di una piccola quantità di memoria che ricorda gli ultimi calcoli fatti per poterli ripetere, se necessario, senza sprechi di tempo.

La CPU scambia informazioni con la memoria di sistema (memoria centrale), tramite appositi circuiti (BUS) in cui i dati sono trasmessi sotto forma di segnali elettrici per cui attraverso due segnali “1” (passaggio di corrente) e “0” (mancato passaggio) è possibile rappresentare i valori numerici e tutti i caratteri alfanumerici, con opportuni sistemi di codifica.

MEMORIE:

  • Tempo di conservazione delle informazioni
    • Volatili
    • Permanenti
  • (^) Composizione fisica
    • Elettronica
    • Magnetica
    • Ottica
  • Accesso alle informazioni
    • Sequenziale
    • Casuale
  • Tipi di registrazione
    • Riscrivibili
    • A sola lettura

GERARCHIE DELLE MEMORIE:

MEMORIA CENTRALE E MEMORIA DI MASSA:

La CPU controlla il flusso dei dati e svolge i calcoli. I dati possono provenire dall’esterno, tramite i dispositivi di input, ed essere comunicati all’esterno, mediante i dispositivi di output ma non possono essere inviati direttamente alla CPU. Il calcolatore è dotato di supporti di memorizzazione che consentono la conservazione dei dati, sia durante il processo di elaborazione (memoria centrale RAM) che nel tempo (memorie di massa, dischi).

MEMORIA RAM:

Il microprocessore dell’elaboratore non riceve i dati da elaborare direttamente dalla tastiera, né tantomeno invia direttamente l’elaborazione di tali dati sullo schermo o sulla stampante. Esiste una zona di immagazzinamento temporaneo, la RAM, che serve come luogo di passaggio obbligatorio per accedere al microprocessore.

La memoria RAM, (RANDOM ACCESS MEMORY) è un dispositivo in grado di immagazzinare temporaneamente dati espressi in forma binaria (0,1). È composta da un insieme di circuiti detti registri che possono essere immaginati come piccole celle destinate a contenere i bit (binary digit, cifra binaria).

La RAM viene utilizzata per eseguire i programmi applicativi, poiché l’utente “scrive” (cioè carica) il programma che desidera utilizzare in memoria tutte le volte che si rende necessario.

TIPI DI MEMORIA RAM:

DRAM (Dynamic Ram): le celle mantengono i dati per breve tempo e sono aggiornate centinaia di volte al secondo.

SRAM (Static Ram): le celle mantengono i dati per lungo tempo e sono aggiornate a richiesta.

MEMORIA ROM:

La ROM (READ ONLY MEMORY), invece, può essere solo letta e non modificata, e contiene routine fondamentali per il funzionamento dei componenti hardware del PC. Le istruzioni contenute nella ROM dei PC formano il BIOS – Basic Input/Output System che governa ogni operazione di scambio tra l’unità centrale e le periferiche.

La memoria ROM è utilizzata per memorizzare le routine di base a libello di hardware, per esempio il programma di inizializzazione che fa partire il computer e gestisce il controllo della memoria e dei dispositivi presenti: quando si accende un computer, questo programma è il primo che si avvia e cerca subito un sistema operativo nel disco fisso cedendogli il controllo appena lo trova.

CACHE MEMORY:

La RAM opera a velocità inferiori rispetto alla CPU e al suo ciclo macchina e ne rallenterebbe le operazioni. La CACHE MEMORY è una memoria ad alta velocità in cui il sistema conserva durante le elaborazioni le informazioni che verranno utilizzate con maggiore probabilità.

CACHE MEMORY DI LIVELLO 1: detta anche interna, primaria o L1, fa parte fisicamente del processore ed è di circa 256 Kbyte.

CACHE MEMORY DI LIVELLO 2: detta anche esterna, secondaria o L2, non fa parte del processore, sono chip installati immediatamente a ridosso del processore ed è di circa 2Mbyte.

BUFFER: alcuni programmi che utilizzano una parte della memoria RAM dell’elaboratore come “memoria di transito” in modo tale da velocizzare le operazioni del processore.

Un DVD ROM può memorizzare 4,7 gb su un solo strato e su una sola faccia e fino a 17 GB su doppio strato e doppia faccia. La traccia scorre a spirale ed è divisa in settori che hanno tutti le stesse dimensioni fisiche, a differenza di quanto accade nei normali dischi magnetici.

In questo modo, grazie al fatto che la velocità con cui gira il disco varia in continuazione , accelerando nello spostamento verso il centro, la quantità di informazioni registrabili è decisamente maggiore, potendo sfruttare tutta la superficie. I CD-ROM scrivibili si basano sullo stesso principio; la testina di scrittura del laser segue un solco a spirale stretto, dotato di uno strato colorato in modo da assorbire la luce, inviata a sua volta con un impulso laser ad alta potenza e ad una specifica frequenza. Le modifiche apportate al colorante sono permanenti e questi dischi di norma sono scrivibili una sola volta. I CD-ROM riscrivibili possono essere riscritti più volte.

BACKUP DEI DATI:

Backup significa fare una copia dei propri dati per ovviare a eventuali malfunzionamenti hardware o software. Il backup deve essere fatto con regolarità. La copia di backup deve essere custodita in modo sicuro

PDF 2.

LA SCHEDA VIDEO:

Funzioni: visualizza sullo schermo l’immagine che il processore ha creato nella memoria del computer.

Al crescere della velocità di elaborazione dei computer le immagini da visualizzare sono diventate sempre più complesse. Per tale motivo si iniziano a progettare schede grafiche con a bordo dei processori grafici la cui funzione è quella di liberare la CPU da tutti i calcoli necessari a posizionare correttamente gli oggetti sullo schermo.

STAMPANTI?

SCHEDA AUDIO: permette di riprodurre, “sintetizzare” e registrare i suoi utilizzando il computer. Ad essa possono essere collegati dispositivi di output o di input.

LA “VELOCITà” DI UN COMPUTER:

i MHz del processore poiché indicano solo la velocità con la quale la CPU esegue le istruzioni che le vengono inviate, sono soltanto un indicatore generale della velocità di svolgimento delle operazioni complessive richieste al PC. La CPU è, infatti, collegata agli altri componenti del sistema (memoria RAM, unità disco, BUS) e per ottenere buone prestazioni bisogna tenere in considerazione le loro caratteristiche cercando di bilanciare l’efficienza di tutti i dispositivi, facendo si che lavorino in modo da ottenere il miglior rapporto possibile tra le diverse velocità. Dobbiamo inoltre considerare che il computer esegue programmi e si appoggia a un sistema operativo e il modo in cui è realizzato il software influisce sempre sulla velocità di elaborazione di un sistema.

Il microprocessore è certamente una componente essenziale nel condizionare le prestazioni di un elaboratore, essendo il “motore” di tutto il sistema. La capacità di memoria RAM incide sulla quantità dei dati che il processore può elaborare senza ricorrere a pesanti accessi al disco, una parta del quale viene considerata come una estensione della memoria centrale. Inoltre, per i dati che stanno su disco fisso, la velocità di accesso al disco fisso indice a sua volta sul sistema, così come la sua capienza.

PDF 3.

Il SISTEMA OPERATIVO: programma che coordina le diverse componenti hardware e software del computer, facendo da tramite tra l’utente, i programmi in dotazione e la macchina. Il sistema operativo

dialoga con l’utente mediante l’interfaccia utente. Il SO fa da tramite tra l’utente, i programmi in dotazione e la macchina.

All’accensione dell’elaboratore viene caricato il BIOS: BIOS: basic input output system; effettua il POST e riconosce e avvia i dispositivi hardware avviando il caricamento del SO in memoria.

DEFINIZIONI:

  • MONOTASKING: in memoria centrale risiede, oltre al sistema operativo, al più un programma applicativo. Tutte le risorse hardware e software del sistema sono dedicate ad un solo programma (sistema monoutente) e si ha una bassa utilizzazione della CPU. Eseguono un solo programma alla volta.
  • MULTITASKING: gestione contemporanea di più programma indipendenti presenti nella memoria principale. Si suddivide il tempo di lavoro della CPU tra i vari programmi in esecuzione. C’è una riduzione dei tempi morti e una migliore utilizzazione delle risorse. Ad ogni programma il OS assegna ciclicamente un intervallo di tempo della CPU, fino al suo completamento. Tiene conto della priorità dei processi.
  • MULTITHREADING: svolgere contemporaneamente più funzioni di un determinato programma.
  • MULTIPROCESSING: gestione di sistemi dotati di più processori o di coprocessori. Il carico di lavoro è bilanciato su entrambi i processori che contribuiscono entrambi all’elaborazione dei dati. Il coprocessore, invece , si occupa in generale di effettuare una determinata categoria di operazioni.
  • PORTABILITà: la portabilità di un SO ne indica la sua indipendenza dalla specifica piattaforma hardware dell’elaboratore.

PDF 3.

Il sistema operativo può essere visto e studiato a due angolazioni:

  • (^) Come macchina virtuale = permette di programmare come se si avesse a disposizione una macchina funzionalmente estesa;

funzioni che gestiscono in modo standard situazioni quali operazioni di ingresso e uscita, presenza contemporanea di più programmi in memoria che si alternano nell’esecuzione (multitasking), risposta ad eventi esterni, adattamenti alla varietà dei dispositivi di memoria e esterni in modo da consentire la programmazione di applicazioni come si disponesse di una macchina più completa, indipendenza del software applicativo da modifiche apportate all’hardware (trasparenza).

  • Come gestore di risorse = controlla e coordina il funzionamento contemporaneo dei componenti del sistema;

gestisce le risorse del sistema (componenti, sottosistemi, tempo di elaborazione, etc) distribuendole agli utenti e ai procedimenti in corso (processi), utilizza la CPU a turno per i diversi processi, conserva più programmi e dati in memoria evitando interferenze , sincronizza le attività comuni e l’uso di informazioni condivise, regolamentazione dell’impiego delle risorse evitando conflitti di accesso, stabilisce le priorità di intervento necessarie nei vari casi, protegge le informazioni private degli utenti da accessi non autorizzati, simula per ogni utente un sistema di elaborazione dedicato e completo (macchina virtuale).

PDF 3.

LICENZE SOFTWARE:

  • (^) OPEN SOURCE : il codice sorgente viene fornito gratuitamente. Ognuno è libero di apportarvi modifiche a patto di renderle note e rendere noto chi aveva realizzato la prima versione del software;
  • FREEWARE : il programma compilato viene fornito con una licenza d’uso gratuita. Posso usare il programma liberamente ma il codice sorgente non viene reso disponibile.
  • SHAREWARE : il programma viene fornito con una licenza d’uso gratuita e temporanea. Scaduti, ad esempio, 30 giorni bisogna acquistare una licenza d’uso del programma.
  • A PAGAMENTO : viene acquistato il programma o meglio la licenza d’uso. oltre al software viene messa a disposizione anche l’assistenza tecnica su di esso.

PDF 4.

LINGUAGGI DIPROGRAMMAZIONE:

i programmi vengono realizzati al fine di risolvere alcuni problemi pratici, il linguaggio, definito anche linguaggio macchina è molto lontano dal linguaggio naturale. Il linguaggio di programmazione utilizza, invece, una serie di comandi comprendi sibili al programmatore che devono poi essere tradotti in linguaggio macchina.

Il linguaggio macchina (prima generazione ) : i primi programmi erano scritti direttamente in linguaggio macchina. In un programma in linguaggio macchina le istruzioni vengono scritte in modo da indicare esattamente all’elaboratore la sequenza di operazioni da effettuare sui dati, le istruzioni e sui registri di memoria che li contengono. Nei programmi in linguaggio macchina sia le istruzioni sia i dati sono scritti sotto forma di stringhe di bit. I programmi in linguaggio macchina variano il loro aspetto in funzione dall’elaboratore sul quale dovranno essere eseguiti. Scrivere un programma in linguaggio macchina comporta uno sforzo enorme da parte del programmatore e, soprattutto vi è un’elevata probabilità di errori.

  • Il linguaggio macchina viene anche definito linguaggio di basso livello.
  • I linguaggi di programmazione, come il linguaggio umano, hanno una sintassi, ossia una grammatica.
  • I linguaggi di programmazione sono anche noti come linguaggi di alto livello.

Il primo passo per svincolarsi dal linguaggio macchina è l’assembler o linguaggio assemblativo.

In assembler (seconda generazione) : A ciascuna istruzione numerica viene assegnato un nome convenzionale mnemonico, a ciascuna posizione di memoria viene assegnato un nome convenzionale. Poiché l’assembler è diverso dal linguaggio macchina è comunque necessario un processo di traduzione del programma assembler in una sequenza di istruzioni in linguaggio macchina. La traduzione avviene utilizzando una tabella che indica le corrispondenze fra ciascuna istruzione nel codice sorgente (assembler) e nelle corrispondenti istruzioni nel cosiddetto codice oggetto ( linguaggio macchina ).

L’ASSEMBLER è un linguaggio in cui le istruzioni, formate da brevi combinazioni di lettere e numeri, corrispondono ciascuna ad una singola azione eseguibile dalla macchina. La presenta di un numero maggiore di simboli, anche alfabetici, consente di esprimere un’operazione in una forma mnemonica, di più semplice utilizzo rispetto al linguaggio macchina. L’assembler è, comunque, un linguaggio molto vicino alla logica

della macchina e ancora molto distante da quella dell’uomo. Per questo motivo viene usato solo quando bisogna utilizzare al meglio le potenzialità del calcolatore.

I linguaggi procedurali ( terza generazione ), o di alto livello, nascono con i seguenti obiettivi: offrire milgiori possibilità di programmazione rispetto all’assembler o al linguaggio macchina; realizzare i programmi che siano il più possibile indipendenti dall’hardware e permettere la realizzazione di programmi modulari. I linguaggi ad alto livello tentano di avvicinarsi il più possibile al linguaggio e alla logica umana. Sono costituiti da insiemi di simboli e di parole chiave, termini mnemonici in lingua inglese e da un insieme di regole sintattiche molto rigide e definite in modo da evitare ogni ambiguità.

Un linguaggio di alto libello ha bisogno di un traduttore che traduca ciascuna istruzione in sequenze di istruzioni in linguaggio di basso livello. I traduttori si occupano di analizzare il programma in linguaggio procedurale e di tradurlo in linguaggio macchina.

I traduttori possono essere:

  • (^) Compilatori
  • Interpreti

I compilatori:

CODICE SORGENTE COMPILATORE CODICE OGGETTO

  • Analizzano il codice sorgente (cioè il programma scritto nel linguaggio procedurale) ;
  • Effettuano la traduzione in codice oggetto
  • Salvano il codice oggetto su una memoria di massa.

L’elaboratore leggerà dalla memoria di massa il codice oggetto eseguendolo.

Gli interpreti:

PROGRAMMA IN LINGUAGGIO PROCEDURALE INTERPRETE ESECUZIONE

  • (^) Analizzano il programma,
  • Traducono al volo ciascuna istruzione dal linguaggio procedurale al linguaggio macchina
  • Il sistema esegue il programma.

La traduzione avviene in modo progressivo e l’interprete non salva il codice oggetto.

DIFFERENZA TRA COMPILATORI E INTERPRETI :

  • Il compilatore effettua la traduzione dal codice sorgente in codice oggetto in modalità asincrona rispetto all’esecuzione del programma.
  • L’ interprete effettua la traduzione dal codice sorgente in linguaggio macchina in modalità sincrona rispetto all’esecuzione del programma. L’interprete e il programma sono entrambi presenti nella memoria dell’elaboratore.

Gestione semplificata della connessione. On e Off Gestione più complessa canale condiviso. Il pacchetto ha informazioni su origine destinazione, collegamento con altri pacchetti della sequenza La comunicazione verbale avviene fra due soggetti contemporaneamente

Elaboratori diversi possono lavorare a velocità differente Un ritardo di trasmissione può rendere non intellegibile la comunicazione verbale.

Posso avere un ritardo di trasmissione perché nel ricevere e trasmettere pacchetti sono in grado di ricostruire la sequenza di informazioni completa. Un errore di trasmissione è meno grave. Il cervello è in grado di riconoscere il significato delle parole o il tono delle voci anche se la linea è rumorosa

Un errore di trasmissione può compromettere l’integrità dei dati trasmessi. Sono presenti meccanismi di controllo dei dati trasmessi/ ricevuti.

IL CONCETTO DI RETE.

  • MEZZO FISICO: utilizzo il mezzo fisico (cavo di rame, fibra ottica, onde radio) per il trasporto dei segnali?
  • TRASPORTO INFORMAZIONI: come gestisco le risorse trasmissive della rete per far si che un’informazione trasmessa sia ricevuta a destinazione (ricostruzione pacchetti…)
  • DAL PUNTO DI VISTA SOFTWARE: gli applicativi come possono interagire fra di loro utilizzando le infrastrutture hardware e dei “servizi software” che consentono ai diversi applicativi di “parlare” fra loro.

LE TOPOLOGIE DI RETE:

crescendo il numero di elaboratori, o meglio di terminali da collegare, la rete diventa diversa, più complessa, richiede quindi più manutenzione, più costi ecc..

TOPOLOGIA A BUS : nel modello BUS abbiamo un mezzo trasmissivo bidirezionale sul quale vengono connessi i terminali, in questa topologia i problemi di manutenzione sono bassi e i componenti sono di costo limitato. L’utilizzo di un mezzo trasmissivo condiviso riduce l’efficienza d’uso del mezzo stesso. [se tutti i pacchetti vengono trasmessi contemporaneamente potrebbero darsi fastidio uno con l’altro]

TOPOLOGIA A STELLA : nella topologia a STELLA i terminali sono tutti collegati a un nodo centrale detto “centro stella” la cui funzione è quella di collegare fisicamente gli elaboratori in rete ripetendo il segnale che riceve verso tutte le altre interfacce di comunicazione. Il centro stella non opera una commutazione. La stella si realizza collegando ogni macchina al centro stella attraverso un doppio collegamento, uno per direzione.

TOPOLOGIA AD ANELLO: ogni macchina è collegata alla macchina successiva ed ha anche la funzionalità di “ripetere” i messaggi delle altre macchine. L’ultima macchina viene collegata alla prima. Quando una macchina deve trasmettere, inserisce il messaggio sull’anello, trasmettendolo alla macchina a valle. La topologia ad anello è poco affidabile perché un guasto può compromettere la funzionalità di tutta la rete. Per evitare ciò all’anello principale se ne aggiunge un secondo di emergenza. [i pacchetti non possono collidere] (maggior numero di terminali)

  • TOPOLOGIA AD ALBERO O GERARCHICA
    • TOPOLOGIA A MAGLIA COMPLETA : il traffico attraversa tutta la rete, ridondanza massima, nessun elemento critico, nessun link critico.
  • TOPOLOGIA A MAGLIA INCOMPLETA.

Per la copertura territoriale (scala dimensionale) e tecnologia trasmissiva:

  • (^) LAN (Local Area Network)
  • WAN (Wide Area Network)

LAN: il numero di terminali connessi è relativamente basso (al massimo 250). In una LAN le distanze sono contenute (max 100m) spesso non consentono alcun tipo di accesso dall’esterno. Ciascun terminale sulla rete trasmette i suoi dati verso la sua destinazione ma di fatto li invia contemporaneamente a tutti i terminali collegati in rete. Ogni elaboratore si comporta come se fosse l’unico a essere collegato in un momento.

BANDA DI RETE: la banda effettiva disponibile agli utenti è minore di quella prevista. Ogni terminale può ricevere e trasmettere sulla rete. All’aumentare del numero di terminali aumenta la “congestione della rete”. Aumentano i pacchetti che “collidono”. La banda effettiva si riduce del 50% circa.

BROADCAST: si intende la trasmissione di informazioni da un sistema trasmittente ad un insieme di sistemi riceventi non definito a priori.

MANCA IL PDF 4.