Pillole di sistemi operativi

Una rubrica atta a spiegare con semplicità, ma senza sacrificare la precisione e l’attenzione ai dettagli, i principali argomenti riguardanti i sistemi operativi.

Programmazione di processi

Premessa: come detto nella pillola precedente, dovrò dare per scontata la conoscenza, almeno base, del C. Inoltre, è importante sottolineare che nelle pillole tratteremo sempre l’ANSI C compilabile mediante gcc su UNIX, mentre per l’implementazione su Windows (che non supporta nativamente il POSIX con le librerie standard del C) è necessario usare il Microsoft C …

Programmazione di processi Leggi altro »

Processi

Un programma qualunque, alla fine, non è che un insieme inanimato di righe di codice che sta da qualche parte nella memoria secondaria. È quando viene invocato che viene caricato nella memoria principale con i suoi dati per divenire un processo. Per cui, la più semplice definizione di processo è programma in esecuzione. Un programma …

Processi Leggi altro »

Accenni di assembly

Il linguaggio assembly è la forma più comprensibile del linguaggio macchina. Come detto precedentemente, in assembly alcune sequenze di bit diventano parole english-like per essere ricordate più facilmente. Si ricorda che, essendo una semplice astrazione del linguaggio macchina, un dato set di istruzioni assembly è solitamente valido per quella sola specifica architettura.Inizialmente in questa pillola …

Accenni di assembly Leggi altro »

Linguaggi di programmazione

Possiamo distinguere almeno tre tipi di linguaggi in ordine crescente di astrazione (ovvero vicinanza al linguaggio naturale): Linguaggio macchina: è quello compreso direttamente dal processore ed è sempre una sequenza di bit; Assembly: alcuni gruppi di bit assumono una denominazione english-like per essere più comprensibili. Parleremo un po’ di assembly in seguito; Linguaggi di alto …

Linguaggi di programmazione Leggi altro »

Accesso, trasferimento e gestione dati da e verso la CPU

DMA – Direct Memory Access Abbiamo detto, in una precedente pillola, che possiamo distinguere job di calcolo (detti anche processor-bound) e job che compiono operazioni di I/O (I/O-bound) e che per non lasciare inattivo il processore è stata introdotta la multiprogrammazione. Mediante la tecnica DMA si permette l’accesso alla memoria senza l’intervento del SO: la …

Accesso, trasferimento e gestione dati da e verso la CPU Leggi altro »

Introduzione ai concetti basilari dell’hardware

Abbiamo detto come il SO sia un gestore di risorse, sia hardware che software. Ma quali sono queste risorse? Tra quelle hardware sicuramente processore, memorie e dispositivi di I/O che, insieme alla scheda madre, costituiscono le componenti fondamentali di un calcolatore. Vediamole brevemente insieme. Scheda madre La scheda madre permette l’interconnessione fisica ed elettrica tra …

Introduzione ai concetti basilari dell’hardware Leggi altro »

Organizzazione generale di un sistema operativo

Per gli utenti, il sistema operativo è una “scatola chiusa”: gli si chiede un servizio e questo ci restituisce un risultato, senza che noi sappiamo nulla di ciò che è avvenuto, ed è esattamente questo che vedono le applicazioni che installiamo su di esso. Lo scopo di questi articoli è andare a scoprire cosa c’è …

Organizzazione generale di un sistema operativo Leggi altro »

Breve storia dei calcolatori e dei sistemi operativi

“Sistema operativo” è un concetto che storicamente associamo ai computer, ma nel corso degli ultimi anni ha sempre più preso piede anche in altri dispositivi come gli smartphone, i televisori, i dispositivi IoT, ecc. In genere, qualunque dispositivo con capacità di elaborazione avrà bisogno di un sistema operativo, più o meno complesso, che supporti le …

Breve storia dei calcolatori e dei sistemi operativi Leggi altro »