Risorsa informatica

Da Wikipedia, l'enciclopedia libera.
Jump to navigation Jump to search

Si definisce risorsa informatica o risorsa di sistema, in ambito informatico, ogni componente fisico o virtuale che offra una certa funzionalità con disponibilità limitata/finita all'interno di un sistema informatico.

Descrizione[modifica | modifica wikitesto]

Per risorsa, in informatica, si intende ogni elemento o componente, sia hardware, come la RAM o le periferiche I/O, sia software, come file, necessario al sistema.

Tali risorse vengono assegnate dal sistema operativo ai singoli processi in esecuzione su di esso, in modo che essi ne possano usufruire. Le risorse possono, però, sembrare insufficienti, in quanto, sono di numero limitato rispetto ai processi che le richiedono ed è per questo che si può parlare di risorse “condivise”. [1]

Classificazioni[modifica | modifica wikitesto]

In informatica, le risorse sono soggette a varie classificazioni che possono riguardare la modalità di assegnazione e la tipologia di utilizzo.

Classificazione per modalità di assegnazione[modifica | modifica wikitesto]

Le singole richieste possono essere assegnate ai processi tramite due modalità differenti:

  • Modalità statica:
    Questo tipo di assegnazione avviene al momento della creazione del processo interessato e la risorsa rimane assegnata fino alla sua terminazione.
  • Modalità dinamica:
    I processi richiedono una determinata risorsa in un qualunque momento della loro esistenza e si occupano di rilasciarla quando non è più necessaria.

Classificazione in base alla tipologia di risorsa[modifica | modifica wikitesto]

In base alla mutua esclusività[modifica | modifica wikitesto]

Questa classificazione ci permette di evidenziare due sotto-classificazioni:

  • Le risorse seriali:
    tutte le risorse che non possono essere assegnate a più di un processo contemporaneamente. In questo caso, i processi interessati non possono cooperare parallelamente sulla medesima risorsa. Ogni processo che vuole accedere alla specifica risorsa deve attendere che essa venga "rilasciata", per esempio la stampante e il processore.
  • Le risorse non seriali:
    si tratta, invece, di risorse che ammettono l’accesso a più processi contemporaneamente, per esempio i file di sola lettura.[2]

In base alla modalità di utilizzo[modifica | modifica wikitesto]

  • Risorse prerilasciabili (preemptable resource):
    questa tipologia di risorse può essere sottratta al processo interessato prima che esso abbia terminato di utilizzarle, senza creare effetti dannosi, un esempio è la memoria centrale.
  • Risorse non prerilasciabili (no preemptable resource):
    una volta acquisite da un processo, non possono essere sottratta ad esso prima che l’esecuzione sia terminata, un esempio possono essere i masterizzatori CD.[3]

Assegnazione delle risorse[modifica | modifica wikitesto]

Per poter definire conclusa  l’assegnazione di una risorsa ad uno specifico processo si devono sviluppare tre eventi:

  1. Richiesta della risorsa:  il processo interessato si occupa di richiedere la risorsa di cui ha bisogno, se la richiesta non può essere soddisfatta perché la risorsa è già stat assegnata ad un altro processo, esso deve attendere finché non viene ‘rilasciata’.
  2. Utilizzo della risorsa: Una volta che riesce ad accedere alla risorsa, il processo può operare su di essa.
  3. Rilascio: Quando il processo termina di utilizzare la risorsa esso la rilascia, in modo da garantire l’utilizzo ad altri processi.

Il sistema operativo si occupa di gestire costantemente  lo stato in cui si trovano le singole risorse.

Essendo le risorse in numero limitato, in alcuni casi ci troviamo di fronte a situazioni di stallo ( deadlock), ovvero quando uno o più processi attendono il rilascio da parte di un altro processo che sta utilizzando la risorsa richiesta.[4]

Condivisione[modifica | modifica wikitesto]

Essendo, le risorse, di numero finito spesso il sistema operativo attiva dei meccanismi di condivisione per i vari processi.

Tramite questi meccanismi, più processi possono operare sulla medesima risorsa e effettuare uno scambio di informazioni utilizzando la medesima area di memoria, dove vengono inserite delle variabili all’interno delle quali si memorizzati i risultati delle  singole elaborazioni.

Ognuna delle operazioni sopra descritte sono costantemente monitorate dal sistema operativo, il quale mette a disposizione per ciascuna risorsa un gestore, che ne regola l'utilizzo e un protocollo che permette l'accesso alla risorsa.[1]

Tipologia[modifica | modifica wikitesto]

Generalmente le risorse informatiche possono essere classificate in:

Note[modifica | modifica wikitesto]

  1. ^ a b Paolo Camagni, Riccardo Nikolassy, Tecnologie e progettazione di sistemi informatici e telecomunicazioni, 2016, p. 12.
  2. ^ Paolo Camagni, Riccardo Nikolassy, Tecnologie e progettazione di sistemi informatici e telecomunicazioni, 2016, p. 13-14.
  3. ^ Andrew S. Tanenbaum, I moderni sistemi operativi, 2002, p. 146.
  4. ^ Abraham Silberschatz, Peter Baer Galvin, Sistemi operativi, 1998, p. 198.

Bibliografia[modifica | modifica wikitesto]

  • Andrew S. Tanenbaum, I moderni sistemi operativi, Jackson Università, ISBN 8825618980
  • Abraham Silberschatz, Peter Baer Galvin, Sistemi operativi, Addison Wesley, ISBN 8871920643
  • Paolo Camagni, Riccardo Nikolassy, Tecnologie e progettazione di sistemi informatici e telecomunicazioni , Hoepli

Voci correlate[modifica | modifica wikitesto]

Informatica Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica