Antoniopezzi
Ominide
4 min. di lettura
Vota 5 / 5

Concetti Chiave

  • Il software è essenziale per far funzionare l'hardware e si divide in software di base, come il sistema operativo, e applicativo, ossia programmi specifici per vari compiti.
  • Il sistema operativo gestisce le risorse hardware, supporta l'interazione con l'utente e si compone di sei livelli, tra cui il nucleo che gestisce la CPU per eseguire multiprogrammi.
  • Il file system organizza e protegge i dati archiviati, garantendo accesso sicuro e gestione ottimale dello spazio di memoria di massa.
  • L'interfaccia utente consente la comunicazione tra macchina e utente, disponibile in modalità CUI o GUI, per esempio MS-DOS per CUI e Windows per GUI.
  • Gli algoritmi e i linguaggi di programmazione sono fondamentali per risolvere problemi complessi, con il codice sorgente tradotto in linguaggio macchina dai compilatori per l'esecuzione.
Elementi di informatica

Il software
Il software consente il funzionamento di tutte le componenti hardware e senza di esso l’hardware sarebbe assolutamente inutile. Si suddivide in software di base e applicativo. Il software di base è rappresentato dal sistema operativo, che permette al computer di accendersi e di svolgere operazioni di fondamentale importanza. Quello applicativo invece è costituito dai programmi che svolgono dei compiti più disparati.

Il sistema operativo
1.

Gestisce le risorse Hardware;
2. Fornisce il supporto all’utente (l’utente può dialogare con la macchina senza approfondite conoscenze sull’Hw).
Risorse: sono gli elementi Hw e Sw del PC che vengono utilizzate da un programma per svolgere il proprio compito. Utente: utilizzatore del computer, cioè colui che può impartire dei comandi alla macchina grazie all’interfaccia utente.
Il software è formato da sei livelli:
1° livello: nucleo (Kernel);
2° livello: gestore della memoria centrale;
3° livello: gestore delle periferiche;
4° livello: file system;
5° livello: interfaccia utente;
6° livello: programmi applicativi.

Nucleo (Kernel)
Gestisce la CPU e associa un processo ad ogni programma in esecuzione. I moderni sistemi operativi possono eseguire contemporaneamente più programmi e perciò si dicono multiprogrammi.

Il gestore della memoria centrale
Il sistema operativo si occupa di frazionare la memoria e i programmi in sezioni chiamate pagine e segmenti, effettuando periodicamente il caricamento e lo scaricamento del programma man mano che viene eseguito, oppure termina la sua esecuzione. Inoltre, il sistema operativo garantisce sempre a ogni programma in esecuzione un'enorme quantità di memoria, detta memoria virtuale.

File system
Il file system provvede alla gestione di tutto quanto deve essere archiviato sulle memorie di massa: ogni “elemento” che viene registrato su memoria di massa prende il nome di file. Il file system deve:
1. gestire in modo ottimale lo spazio disponibile della memoria di massa per le registrazioni richieste dagli utenti;
2. garantisce all’utente l’accesso ai dati contenuti in un file;
3. fornire agli utenti meccanismi di protezione dai file, a diversi livelli rispetto a interventi dannosi o non autorizzati da parte di altri utenti;
4. rende disponibili in modo semplice le operazioni di uso comune sui file.

Interfaccia utente
L’interfaccia utente o shell indica quelle parti che si frappongono tra la macchina e l’utente. L’interfaccia utente può essere di tipo CUI (Command User Interface) o GUI (Graphical User Iterface).
Interfacce grafiche CUI: MS-DOS, Unix
Interfacce grafiche GUI: Windows, mac OS, Linux

Conosciamo gli algoritmi e i linguaggi
Il PC è una macchina complessa in grado di eseguire milioni di istruzioni al secondo, per poterle eseguire però ho bisogno di operazioni da compiere, quindi di dati, che consentono alla macchina di elaborare le informazioni.
Compito del calcolatore è risolvere un problema.
Il programmatore (analista) studia il problema e ne individua l’algoritmo risolutivo. Il programma viene scritto in linguaggio di programmazione. Il linguaggio di programmazione usato dal programmatore (linguaggio ad alto livello) è molto lontano dal codice binario (linguaggio a basso livello). Questa operazione viene eseguita dai compilatori che trasformano il codice sorgente in codice macchina. Alla base di un programma c’è l’esigenza di risolvere un problema. Per risolverlo si seguono due fasi:
1. comprensione del problema (analisi del problema);
2. come risolvere il problema (individuazione della strategia risolutiva).
L’algoritmo è una sequenza ordinata di passi semplici che hanno lo scopo di portare a termine un compito complesso. Per descrivere gli algoritmi vengono usate due modalità:
1. diagramma a blocchi (flow chart);
2. linguaggio di progetto (pseudolinguaggio).
L’algoritmo codificato in pseudolinguaggio è troppo complesso per essere eseguito dal calcolatore quindi attraverso il compilatore viene tradotto in linguaggio macchina.

Domande da interrogazione

  1. Qual è la funzione principale del software di base?
  2. Il software di base, rappresentato dal sistema operativo, permette al computer di accendersi e di svolgere operazioni fondamentali, gestendo le risorse hardware e fornendo supporto all'utente.

  3. Come il sistema operativo gestisce la memoria centrale?
  4. Il sistema operativo fraziona la memoria e i programmi in pagine e segmenti, caricando e scaricando periodicamente i programmi in esecuzione, garantendo una grande quantità di memoria virtuale.

  5. Quali sono le funzioni principali del file system?
  6. Il file system gestisce lo spazio della memoria di massa, garantisce l'accesso ai dati, fornisce protezione dai file e rende disponibili operazioni comuni sui file.

  7. Qual è la differenza tra interfaccia CUI e GUI?
  8. L'interfaccia CUI (Command User Interface) è basata su comandi testuali, mentre la GUI (Graphical User Interface) utilizza elementi grafici per interagire con l'utente.

  9. Qual è il ruolo del programmatore nella risoluzione dei problemi?
  10. Il programmatore analizza il problema, individua l'algoritmo risolutivo e scrive il programma in un linguaggio di programmazione, che viene poi tradotto in codice macchina dai compilatori.

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community