Archivio
mercoledì 22 gennaio 2014 - 15 Commenti
Texas Instruments TI-92 e TI-89, oltre la calcolatrice

Chi è appassionato di calcolatrici saprà sicuramente di cosa sto per parlare. L’ambito delle calcolatrici, specialmente quelle programmabili, vanta una numerosa schiera di appassionati, collezionisti e cultori di questi piccoli ed interessanti oggetti.
C’è chi preferisce le giapponesi, con Casio e Sharp a guidare la schiera orientale, chi preferisce le americane come Texas Instruments e HP in testa, ma tutti hanno in comune la passione per queste minuscole scatolette delle meraviglie che, spesso, si rivelano molto più che semplici calcolatrici.
In particolare, vorrei focalizzare l’attenzione su alcuni dei modelli di punta della …

mercoledì 22 agosto 2012 - 91 Commenti
5 cose che mi piacciono di Mac OS X

Completiamo la miniserie con la lista delle 5 cose che preferisco di Mac OS X. Nei due articoli precedenti ho trattato brevemente Windows e Linux.
Senza scendere troppo nel dettaglio tecnico, ma guardando il sistema dal punto di vista di un semplice utente, queste sono le cose che mi piacciono di Mac OS X
Cura dei dettagli
La prima cosa che salta all’occhio di Mac OS X è la cura maniacale dei dettagli della GUI, la pulizia dell’ambiente grafico e la generale reattività del sistema. Anche le applicazioni di terze parti, nella maggioranza …

lunedì 6 agosto 2012 - 108 Commenti
5 cose che mi piacciono di Linux

Prosegue la miniserie con le 5 cose che più apprezzo di Linux. Ammetto che questa volta ho avuto qualche difficoltà, perché dal punto di vista dell’utente non smanettone è arduo trovare dei validi motivi per preferire Linux rispetto agli altri due sistemi in esame.
Per chi si fosse perso il precente articolo può leggere qui le 5 cose che mi piacciono di Windows. Ma passiamo subito alla lista. Non mi sono basato su una distribuzione in particolare, ma faccio un ragionamento valido in generale per le maggiori distro Linux (Debian, Fedora, …

martedì 31 luglio 2012 - 121 Commenti
5 cose che mi piacciono di Windows

Spesso mi capita di discutere con amici e colleghi di computer e sistemi operativi, spesso la discussione verte sul solito paragone Mac vs PC, ma qualche volta anche Linux rivendica la sua fetta di utenza ed entra di prepotenza nella discussione.
Personalmente uso quasi quotidianamente tutti e tre i sistemi, con la predominanza netta di Windows. Dal mio punto di vista un computer è solo uno strumento di lavoro e svago, il fine ultimo è quindi la realizzazione di un progetto, la fruizione di contenuti multimediali o una sana partita ai …

giovedì 15 settembre 2011 - 14 Commenti
Dentro i Sistemi Operativi – Il Multitasking

Nell’articolo precedente abbiamo parlato del meccanismo delle Syscalls, e abbiamo visto come fare per passare il controllo al kernel, per poi tornare al codice utente.
In un sistema del genere, dove i task degli utenti sono separati rispetto al kernel del Sistema Operativo, è possibile eseguire un certo numero di task in modo concorrente. L’alternarsi dei task in rapida successione consente di rendere l’illusione che tali task vengano eseguiti contemporaneamente, anche se il sistema è dotato di una singola unità di calcolo (sistema con singola CPU).
Esistono svariati modi per raggiungere lo …

venerdì 2 settembre 2011 - 10 Commenti
Dentro i Sistemi Operativi – Syscalls su piattaforma ARM

Nel precedente articolo abbiamo parlato della separazione tra User e System Mode e abbiamo accennato al meccanismo delle syscalls, neessario per richiedere un servizio al kernel da parte di un task in User Mode.
Vediamo adesso come ciò avvenga concretamente nella piattaforma ARMv5 (tutti gli ARM della famiglia ARM9). Premetto che la piattaforma di riferimento è stata scelta appositamente per mostrare una tecnologia semplice da gestire, ma al tempo stesso molto diffusa sia in ambito industriale che in quello consumer. Architetture altrettanto semplici, come MIPS o AVR32, sono infatti meno note e diffuse, …

martedì 12 luglio 2011 - 10 Commenti
Dentro i Sistemi Operativi – Kernel e System Calls

Nel precedente articolo, abbiamo evidenziato la necessità di astrarre dati e codice di un programma, servendoci del concetto di task.
Analizziamo adesso un esempio di implementazione dei task: il modello dei processi introdotto da UNIX, adottato poi in varie forme da tutti gli OS moderni.
I processi di UNIX presentano una struttura molto complessa, che riflette il livello di sofisticazione necessario per un OS come UNIX, dotato di multiutenza e multitasking. In questo articolo non scenderemo nei particolari delle varie implementazioni di UNIX, ma ci limiteremo ad illustrarne a grandi linee alcuni …

venerdì 1 luglio 2011 - 52 Commenti
Dentro i Sistemi Operativi – il concetto di Task

Nel precedente articolo abbiamo parlato del KERNAL, un rudimentale OS di Commodore, ed abbiamo spiegato come esso implementi una forma di astrazione dell’hardware.
Tramite tale astrazione, il software può accedere alle funzioni base della macchina, controllarne le periferiche di I/O e gestirne le risorse, senza tuttavia conoscerne i dettagli implementativi. In termini tecnici, quella che si presenta al programmatore è una Interfaccia.
Studiando attentamente le funzioni del KERNAL ci si accorge facilmente che manca una precisa definizione del concetto di programma.
In poche parole, possiamo collocare dati ed istruzioni in modo sostanzialmente arbitrario. …

lunedì 20 giugno 2011 - 28 Commenti
Dentro i Sistemi Operativi – il KERNAL di Commodore

Nel precedente articolo abbiamo introdotto il Debug Monitor e abbiamo accennato alle funzioni base che dovrebbe avere un sistema operativo minimale, per consentire l’esecuzione di semplici programmi sulla macchina.
Ad essere precisi, su questo genere di macchine non è indispensabile un vero Sistema Operativo, ma torna molto utile avere a disposizione delle funzioni generiche che siano quanto più possibile indipendenti dalla piattaforma. L’indipendenza dalla piattaforma consente, teoricamente, di riutilizzare lo stesso codice su macchine diverse purché queste dispongano di un livello di astrazione compatibile.
In questa ottica di astrazione, parola chiave di …

giovedì 9 giugno 2011 - 18 Commenti
Dentro i Sistemi Operativi – il Debug Monitor

In questa serie di articoli analizzeremo il funzionamento di alcuni tipi di sistemi operativi, cercando di mostrarne le caratteristiche salienti ed i meccanismi interni.
Per iniziare, partiremo dall’analisi di un software che, pur non essendo un vero e proprio sistema operativo, presentava le funzioni basilari per leggere il contenuto della RAM, scrivere in essa e, opzionalmente, caricare e salvare intere regioni di memoria su dispositivi secondari (spesso unità a nastro magnetico o perforato).
Stiamo parlando del Machine Code Monitor.
Tali Monitor costituivano il principale software in dotazione dei primissimi sistemi di calcolo personale, …