Concetti Chiave

  • I sistemi monoprocessore hanno una sola CPU, limitando la potenza di calcolo e aumentando il rischio di guasti totali in caso di malfunzionamenti.
  • I sistemi multiprocessore migliorano l'affidabilità e l'efficienza, consentendo a più CPU di lavorare in modo coordinato e riducendo i costi rispetto ai monoprocessori.
  • I sistemi time sharing permettono a più utenti di interagire simultaneamente con il sistema, ottimizzando l'uso delle risorse e migliorando l'esperienza utente.
  • Il cloud computing offre accesso remoto a dati e applicazioni attraverso internet, garantendo flessibilità e scalabilità per gli utenti e le aziende.
  • I sistemi real time, sia soft che hard, sono progettati per fornire risposte rapide in intervalli di tempo definiti, essenziali per applicazioni critiche come i sistemi di controllo industriale.

- Sistemi monoprocessore;

- Sistemi multiprocessore o parallelo;

- Sistemi time sharing o multitasking;

- Sistemi distribuiti;

- Sistemi cloud computing;

- Sistemi embedded;

- Sistemi real time.

Indice

  1. Caratteristiche dei sistemi monoprocessore
  2. Funzionamento della CPU
  3. Quali sono i vantaggi dei sistemi multiprocessore?
  4. Architetture di calcolatori e flussi di dati
  5. Memorie condivise e distribuite
  6. Cloud computing e sue applicazioni
  7. Sistemi embedded e real time
  8. Differenze tra core e processore
  9. Importanza della multiprogrammazione

Caratteristiche dei sistemi monoprocessore

Sono sistemi che possiedono una sola CPU, un solo processore per scopi generali dotata di core. In realtà vi sono anche i processori specifici, per svolgere un determinato compito (es: quando digitiamo qualcosa alla tastiera, questo viene tradotto in binario grazie a un processore specifico della tastiera) , ma si chiama monoprocessore in quanto viene contato solo il processore per scopi generali.

Funzionamento della CPU

CPU: circuito elettronico interno di un pc che gestisce le istruzioni che riceve dall’hardware e dal software in esecuzione. Queste istruzioni vengono eseguite da delle unità di elaborazioni interne alla cpu, ovvero i core. Più core ha un computer, meglio è, perché viene aumentata la potenza del calcolo.

- Se si danneggia il processore, essendo uno, è finita, da buttare, il SO poi non funziona più;

- Thoughput (quantità di dati trasmessi in una determinata un’unità di tempo) non ottimale: perché ogni attività viene eseguita dallo stesso processore;

- Molto costoso per la sua potenza di elaborazione;

Quali sono i vantaggi dei sistemi multiprocessore?

Sistemi che contengono due o più processori (CPU) che sono in stretta comunicazione tra loro perché devono lavorare insieme per svolgere determinate attività.

Esso può essere di due tipi:

-Simmetrico: ci sono delle CPU che tutte insieme partecipano all’esecuzione delle attività (o processi);

-Asimmetrico: funziona secondo il rapporto master-slave (padrone-schiavo) cioè c’è un processore capo (master) che ordina ai suoi sottoprocessori (schiavi) di svolgere un compito che sarà diverso per ognuno di loro.

-Costano meno dei monoprocessori;

-Il guasto di un processore non arresta l’intero sistema, ma viene solo intaccata la velocità di thoughput.

Architetture di calcolatori e flussi di dati

I sistemi a partizione di tempo, time sharing in inglese, consentono a più utenti di interagire col sistema.

Si tratta di un sistema di classificazione delle architetture dei calcolatori.

Questa classificazione dipende da:

-Il flusso di dati;

-Il flusso di istruzioni:

- SISD (flusso di istruzioni e dati singolo): il classico computer che segue l’architettura di Von Neumann;

- SIMD (singolo flusso di istruzioni da eseguire su più flussi dati): hanno una sola CU e più ALU per lavorare; contemporaneamente su più flussi dati e registri detti vettoriali che servono per software multimediali (es: videogiochi);

- MISD (più flussi di istruzioni da eseguire su un singolo flusso di dati): è un modello che ancora esiste sotto forma teorica, non esistono in commercio architetture MISD. Secondo Flynn, questa architettura prevede l’esistenza di più processori ognuno con una propria memoria (registri), la quale a sua volta possiede dei flussi di istruzioni che verranno eseguite da un flusso dati comune;

- MIMD (più flussi di istruzioni da eseguire su più flussi dati): ha la capacità di eseguire più programmi contemporaneamente, come i multiprocessori simmetrici. Infatti ogni processore lavora in modo asincrono su un unico problema scomposto in sottoproblemi e comunicano tra loro tramite una memoria condivisa (molto grande e costosa per far comunicare tutti i processori). Questa architettura viene usata per i supercomputer che richiedono una capacità di elaborazione dati estremamente elevate per eseguire calcoli matematici ad alte prestazioni. (Es: computer usati dalla Nasa)

Memorie condivise e distribuite

Esistono due tipologie di memorie:

-Memoria condivisa: memoria accessibile a più processori in maniera contemporanea di un multiprocessore;

-Memoria distribuita: ogni processore possiede una memoria privata.
I sistemi distribuiti sono tutti quei sistemi che consentono a diversi computer autonomi di interagire e comunicare tra loro attraverso una rete.

Sono ad esempio i sistemi client/server dove un client richiede una risorsa al server che gliela fornisce. Un server può servire più client contemporaneamente comunicando con una rete.

Per soddisfare tutte le richieste dei client esiste il middleware. È un software che risiede tra il server e un certo numero di client che desiderano accedere alla determinata applicazione ed ha come la funzionalità di un ponte che permette alle varie applicazioni di comunicare tra loro. In poco tempo il middleware permette l’accesso a quest’ultima, permettendo così agli utenti di interagire tra loro.

- Consente un passaggio di informazioni in tempo reale;

- Garantisce la protezione delle informazioni che viaggiano in rete.

Cloud computing e sue applicazioni

Il cloud computing è una tecnologia che permette di elaborare ed archiviare dati in rete. Quindi se volessi accedere al server di posta elettronica, posso farlo ovunque e con qualsiasi dispositivo, basta solo avere una connessione internet e questo grazie al cloud. In poche parole, attraverso internet il cloud computing permette l’accesso ad applicazioni e a dati su un hardware remoto (remoto=lontano).

Un esempio di cloud: google. Quando faccio un account, sto usufruendo di uno spazio cloud di cui usufruiscono altri utenti. È come una casa. Ogni utente ha una sua stanza che contiene dati ed informazioni a cui altri utenti non possono accedere se non il server principale (il padrone della casa). Se volessi più spazio di quello che ho, es una seconda stanza, si deve pagare ma dipende anche dal server.

Esistono diversi tipi di cloud computing:

-Quello privato: offre la privacy, permettendo di non condividere il mio spazio digitale con nessun’altro, usate dalle aziende. Es: possedere una casa con stanze solo mie, dotata di firewall (protegge i miei dati da terze parti, come la chiave che chiude il portone di una casa per non farvi entrare altri).

-Quello pubblico: google – account;

Sistemi embedded e real time

Embedded=incorportato.

Un sistema embedded è un sistema di elaborazione dei microprocessori ASIC (appositamente costruiti per un’applicazione specifica), questo significa che non può essere riprogrammato dall’utente per svolgere altre applicazioni. Siccome svolge una sola applicazione, è veloce e fa bene il suo lavoro, ma è molto costoso in quanto unico da ASIC ad ASIC.

I sistemi real time sono quei sistemi che forniscono supporto ai software real time, cioè che necessitano una risposta in un determinato intervallo di tempo (tempo massimo di risposta) ma deve garantire una rapida elaborazione dei calcoli. (Es: il tabellone di wall street deve fornire in un determinato intervallo di tempo la visualizzazione delle quotazioni delle azioni di borsa).

I sistemi real time possono essere di due tipi:

- Soft real time: caratterizzato dal fatto che se un tempo di risposta non viene rispettato, non è minacciato il funzionamento dell’intero sistema, quindi l’inesattezza temporale può essere tollerata;

- Hard real time: caratterizzato dal fatto che i tempi di risposta devono assolutamente c x

Differenze tra core e processore

1) Core e processore, stessa cosa?

- No. Il processore (CPU) è il circuito elettronico interno al PC che riceve istruzioni dai componenti hardware e dai software in esecuzione che devono essere eseguite. Un sottocomponente della CPU, il core, si occupa di eseguire le istruzioni. Quindi la CPU ha riceve l’ordine di esecuzione delle istruzioni che dice di svolgere ai core.
2)Multiprocessore e multi processing, stessa cosa?

- Multiprocessore: sistema che contiene due o più processori;

-Multiprocessing: termine usato per indicare l’esecuzione di più processi simultanei in un sistema.

3) Multiprocessing e multitasking, stessa cosa?

-No. Il multi processing indica l’esecuzione di più attività in più processori. Il multitasking indica, invece, l’esecuzione di più attività contemporaneamente in un solo processore.

Importanza della multiprogrammazione

La multiprogrammazione è molto importante, perché se ogni calcolatore eseguisse un programma alla volta e non contemporaneamente, il processore sarebbe spesso inattivo perché in attesa del completamento dell’esecuzione del programma.

La memoria è obbligata a contenere un certo numero di job(qualcosa che deve essere eseguito) per non lasciare inattiva la CPU.

Multiprogrammazione: abilità di eseguire più programmi della cpu. La cpu è obbligata a sfruttare le sue risorse al meglio, per questo, per non rimanere inattiva, contiene un certo numero di job(qualcosa che deve essere eseguito). Ma non permette l’interazione con l’utente.

Il multitasking o time sharing è come il multiprogrammazione, ma permette la possibilità di comunicare con l’utente perché il passaggio tra un job e un altro avviene molto velocemente. Permette anche agli utenti di condividere il computer contemporaneamente.

Domande da interrogazione

  1. Quali sono le principali caratteristiche dei sistemi monoprocessore?
  2. I sistemi monoprocessore possiedono una sola CPU per scopi generali, e se il processore si danneggia, l'intero sistema diventa inutilizzabile. Inoltre, il throughput non è ottimale poiché tutte le attività vengono eseguite dallo stesso processore, rendendoli costosi per la loro potenza di elaborazione.

  3. Quali sono i vantaggi dei sistemi multiprocessore?
  4. I sistemi multiprocessore, che contengono due o più CPU, costano meno dei monoprocessori e, in caso di guasto di un processore, non arrestano l'intero sistema, ma solo ne intaccano la velocità di throughput.

  5. Come funzionano i sistemi di time sharing?
  6. I sistemi di time sharing consentono a più utenti di interagire con il sistema, classificando le architetture dei calcolatori in base al flusso di dati e istruzioni, come SISD, SIMD, MISD e MIMD, ognuna con caratteristiche specifiche.

  7. Qual è la differenza tra memoria condivisa e memoria distribuita?
  8. La memoria condivisa è accessibile a più processori contemporaneamente in un sistema multiprocessore, mentre la memoria distribuita implica che ogni processore possiede una memoria privata, tipica dei sistemi distribuiti.

  9. Cosa distingue i sistemi real time dai sistemi embedded?
  10. I sistemi real time forniscono risposte in un determinato intervallo di tempo, con due categorie: soft e hard real time, mentre i sistemi embedded sono progettati per eseguire un'unica applicazione specifica e non possono essere riprogrammati dall'utente.

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community