Archive for October, 2007

Calcolatore, AltaVista

Tuesday, October 30th, 2007

thumb|right|300px|Schermata di ALtavista

AltaVista (che significa “vista dall’alto”) è un motore di ricerca ideato dalla Digital Equipment Corporation, uno dei primi motori di ricerca veloci della rete. Venne realizzato nei laboratori di ricerca a Palo Alto, in California che disponevano di elaboratori con CPU Alpha AXP a 64 bit.

Il sistema di ricerca di pagine su Internet era un esercizio di potenza per il nuovo calcolatore; il tempo medio di ricerca, 0,7 secondi, era infatti il più breve sul mercato.

Dopo alcune prove all’interno della Digital, il 15 dicembre 1995 Altavista fu aperto al pubblico ed ebbe un successo strepitoso dovuto alla velocità di risposta, praticamente immediata. In un solo anno raggiunse la vetta dei 25 milioni di utenti mensili, superando Excite e Lycos.

Le vicende successive non furono tuttavia fortunate, a causa di scelte strategiche non dimostratesi azzeccate e ai cambi di proprietà.
Nel 1996 divenne fornitore esclusivo delle ricerche di Yahoo! (sostituito poi da Google). Nel 1998 la Digital venne acquistata dalla Compaq e AltaVista diventò un portale.
Alla fine del 2002 ci fu un rilancio con la nascita del primo traduttore automatico nelle principali lingue europee, accessibile a tutti: Babel Fish, primo ad offrire traduzioni in tempo reale di pagine web. Fu anche il primo motore di ricerca di immagini e anche il primo motore di ricerca multilingue. L’ascesa di Google fermò questi tentativi di recupero di fette di mercato.

Il declino iniziò quando, con i risultati a pagamento, il motore perse qualità e credibilità agli occhi del pubblico.

Nel 2004 Altavista diventò proprietà di Yahoo!, quando questa acquisì Overture, e ne condivise il database.


Collegamenti esterni

  • Altavista

Realtà, Soddisfazione

Tuesday, October 23rd, 2007

Soddisfazione è sinonimo di gratificazione e termine contrario di frustrazione. Viene solitamente utilizzato sia per designare un’esperienza soggettiva di piacere, costituita per lo più dall’emozione che accompagna il raggiungimento di una meta, sia per indicare quel particolare accadimento metapsicologico costituito dalla scarica dell’energia pulsionale, che secondo Sigmund Freud sarebbe il vero motore di tutta la vita psichica.

Pervaso dall’eccitazione di origine pulsionale, l’apparato psichico tenderebbe a ripristinare a tutti i costi lo stato di quiete attraverso la soddisfazione della pulsione, che avverrebbe secondo il cosiddetto principio del piacere, che tende alla scarica energetica prescindendo dai dati della realtà, oppure con quello che viene chiamato principio di realtà che dilaziona la scarica energetica ai momenti favorevoli in cui la realtà consente e favorisce l’incontro del soggetto con la meta della pulsione stessa.

Anche il godimento estetico dell’arte, per Freud, è costituito dalla soddisfazione sostitutiva delle più antiche rinunce imposte dalla civiltà. Per Melanie Klein, invece, la soddisfazione è, all’interno della relazione oggettuale, quella realizzazione propria della “posizione depressiva” che è costituita sia dal raggiungimento dell’oggetto (d’amore) intero, sia dai comportamenti diretti verso l’oggetto d’amore reale, comportamenti che consistono soprattutto in un interesse ed in una preoccupazione nei confronti dell’altro.

Per Harry Stack Sullivan una spinta, ai fini dello sviluppo della personalità, ancora più potente della tensione verso la soddisfazione biologico-pulsionale, è data dalla tensione verso la soddisfazione del bisogno di integrazione sociale, che passa attraverso la soddisfazione del bisogno.

Calcolatore, Scripting

Sunday, October 21st, 2007

Descrizione delle azioni richieste mediante opportuni linguaggi di programmazione, detti appunto linguaggi di scripting.

Il programma, detto script, definisce il controllo delle operazioni richieste al calcolatore. Spesso progettati per l’uso interattivo, e con molti comandi eseguibili individualmente di complessità anche elevata (ad esempio nella shell Unix sh la maggior parte delle operazioni sono programmi essi stessi). Gli script vengono spesso usati per compiti a singola passata, tipicamente di tipo amministrativo o di utilità. Il codice degli script è tipicamente contenuto in file di testo e vengono interpretati. In alcuni casi (come il Perl) vengono compilati ad ogni esecuzione.

Esempi di Linguaggi di Scripting sono i seguenti:

  • ASP (Active Server Pages)
  • ActionScript
  • AppleScript
  • Awk
  • bash
  • Brain
  • CobolScript
  • E
  • Euphoria
  • Guile
  • ICI
  • JavaScript (ECMAScript)
  • BeanShell (scripting per Java)
  • Job Control Language (JCL)
  • Lua
  • mIRC Scripting
  • Miva
  • MUMPS
  • ObjectRexx
  • Perl
  • PHP
  • Pike
  • Pliant
  • Python
  • QuakeC
  • REBOL
  • REXX
  • Ruby
  • Scheme (esistono sia interpreti che compilatori)
  • ScriptBasic
  • sh
  • Simkin
  • Tcl
  • UnrealScript
  • VBScript
  • Visual DialogScript
  • ZZT-oop

Esso avvia, Gaunilone

Saturday, October 20th, 2007

Gaunilone (XI secolo) è stato un filosofo e un monaco benedettino dell’abbazia di Marmoutier, vicino a Tours.

Gaunilone divenne famoso per avere criticato, nel suo Liber pro insipiente (1070), la prova ontologica dell’esistenza di dio proposta da Anselmo d’Aosta. Contestando la relazione tra pensiero e essere, Gaunilone sostiene che non si può dedurre l’esistenza di un oggetto pensato per il solo fatto che esso esiste nella nostra mente. In particolare propose l’argomentazione secondo la quale, a partire dal pensiero di un’isola perfetta non si può dedurre l’esistenza dell’isola stessa. Questa argomentazione era stata proposta per confutare la tesi anselmiana che affermava l’esistenza di un essere supremo per il solo fatto che esso è “ciò di cui non si può pensare nulla di maggiore”.

Deve consegnare il, Private Pilot License

Tuesday, October 16th, 2007

La Licenza di Pilota Privato (PPL, Private Pilot License) è la prima licenza di volo ottenibile e abilita a pilotare un aereo esclusivamente secondo le regole VFR. Per iscriversi ad una scuola di volo il candidato deve aver compiuto almeno 16 anni, deve sottoporsi ad visita medica presso un centro dell’Aeronautica Militare Italiana e deve ottenere il “Certificato di Idoneità di Seconda Classe”. Tale certificato è rinnovabile ogni due anni fino al compimento del quarantesimo anno di età, anno in cui è necessario sottoporsi ad accertamenti medici ogni dodici mesi per poterlo rinnovare. Dopo l’iscrizione alla scuola di volo, il candidato deve aver compiuto almeno il diciassettesimo anno di età e deve avere al proprio attivo come minimo 47 ore di volo per poter sostenere gli esami e ottenere la licenza.

Calcolatore, Macchina virtuale

Thursday, October 11th, 2007

In informatica il termine macchina virtuale indica un software che crea un ambiente virtuale in cui l’utente può eseguire alcune applicazioni.


Significati


Significato originario

In origine, il termine virtual machine veniva usato per indicare la creazione di una molteplicità di ambienti di esecuzione identici in un unico computer, ciascuno con il proprio sistema operativo. Lo scopo di questa tecnica era quella di dividere tra più utenti l’uso di un singolo computer dando ad ognuno l’impressione di esserne gli unici utilizzatori, oltre ad avere vantaggi che le macchine reali non hanno (poniamo il caso di dover riavviare la macchina ad esempio, con macchine virtuali questa operazione è più veloce anche perché c’è la possibilità di poter scegliere quali componenti attivare e quali no). Il software che rende possibile questa divisione viene chiamato virtual machine monitor o hypervisor.
Questo genere di virtualizzazione è particolarmente utilizzata nel campo dei mainframe e dei supercomputer.
Esempi di virtualizzazioni di questo genere sono i sistemi operativi VM/CMS e OS/360 di IBM e Xen.

La virtualizzazione può essere vista in diversi modi:

  • Emulazione: la macchina virtuale simula completamente l’hardware, utilizzando un sistema operativo reale che poi “gira” per la CPU virtuale;
  • Paravirtualizzazione: la macchina virtuale non simula un hardware ma offre speciali API che richiedono modifiche nel sistema operativo;
  • Virtualizzazione nativa (o totale): la macchina virtuale simula solo parte dell’hardware e quindi il sistema operativo richiede modifiche ad hoc;
  • un ultimo modo di vedere macchine virtuali deriva dalla necessità di avere un alto grado di sicurezza in alcuni sistemi che contengono dati e informazioni segrete, per cui con la virtualizzazione si riesce ad ottenere un maggior grado di sicurezza (es. VMware).


Application virtual machine

Il significato più comune oggi è quello di un programma che emula un calcolatore (di solito un calcolatore astratto, cioè a cui non corrisponde un calcolatore reale). I programmi applicativi vengono scritti in un linguaggio che viene compilato per questo calcolatore immaginario (cioè tradotti nelle sue istruzioni native) e, una volta compilati, vengono eseguiti sulla macchina virtuale software, che può agire o come interprete o come compilatore “al volo” (compilazione just in time). Dal momento che si possono scrivere diverse macchine virtuali per diverse piattaforme, il programma compilato può “girare” su qualsiasi piattaforma su cui “gira” la macchina virtuale.
L’Hypervisor è il componente chiave per un sistema basato sulla virtualizzazione.
Il Virtual Machine Monitor deve operare in maniera trasparente senza pesare con la propria attività sul funzionamento e sulle prestazioni dei sistemi operativi.

Un linguaggio moderno che fa uso della macchina virtuale è il Java: i programmi scritti in Java vengono infatti compilati (cioè tradotti) nel linguaggio bytecode, che gira sulla Java Virtual Machine.

Progenitori delle macchine virtuali odierne si possono considerare sia la “macchina p”, cioè il calcolatore astratto per cui venivano (e vengono tuttora) compilati i programmi in Pascal nelle prime fasi della compilazione (producendo il cosiddetto p-code), sia la “macchina S”, un altro calcolatore astratto (che però ebbe anche una realizzazione “concreta”, cioè hardware) per cui venivano compilati i programmi in Simula nelle prime fasi della compilazione (producendo il cosiddetto S-code).
L’Hypervisor alloca le risorse dinamicamente quando e dove necessario, riduce in modo drastico il tempo necessario alla messa in opera di nuovi sistemi, isola l’architettura nel suo complesso da problemi a livello di sistema operativo ed applicativo, abilita ad una gestione più semplice di risorse eterogenee e facilita testing e debuggin di ambienti controllati.


Emulazione di sistemi operativi

Talvolta viene utilizzato il termine Virtual Machine per indicare l’emulazione di una piattaforma. È possibile, infatti, realizzare, tramite software, un finto computer su cui può essere eseguito un sistema operativo diverso da quello che equipaggia realmente l’elaboratore. Uno degli usi originari di questa tecnica era la simulazione di piattaforme hardware ancora in fase di progettazione. Al giorno d’oggi non è raro che utenti di un sistema operativo, volendo utilizzare applicazioni esistenti solo per un sistema diverso dal proprio, ricorrano all’emulazione del sistema operativo necessario all’applicazione.

Un altro uso di questa tecnologia, piuttosto comune al giorno d’oggi, è quello del cosiddetto consolidamento. Quando un’organizzazione utilizza più server per fornire servizi, si tende a concentrarli su di un’ unica macchina. Questa esegue più istanze del sistema operativo, una per ogni servizio che viene fornito. Così, invece di avere x server per x servizi, si utilizza un unico server con x istanze del sistema operativo.

Per informazioni e test, nonché sistemi operativi liberi pronti per essere usati su una Macchina virtuale un buon punto di partenza è il sito internet FreeOsZoo


Parallel virtual machine

Se nella sua accezione originaria il concetto di virtual machine indicava la suddivisione di un singolo computer tra più utenti, la potenza sempre crescente dei computer ha fatto sorgere l’esigenza inversa: far percepire come unica entità un sistema composto da molti computer distinti. In questo caso si parla di Parallel Virtual Machine. L’uso più classico di questa tecnologia è quello della creazione di cluster di centinaia, se non migliaia, di elaboratori per sostenere carichi di lavoro massicciamente parallelizzabili.


Voci correlate

  • Bochs
  • Xen
  • Linguaggio di programmazione Java
  • Piattaforma Microsoft .NET

Calcolatore, Harvard Mark I

Tuesday, October 2nd, 2007

Harvard Mark I, o anche semplicemente Mark I, è il nome con cui è noto l’Automatic Sequence Controlled Calculator (ASCC), il primo calcolatore digitale automatico.

È stato progettato da Howard Hathaway Aiken, del dipartimento di fisica della Harvard University (Cambridge, Mass., U.S.A.) che venne affiancato nel suo lavoro dagli ingegneri meccanici C. D. Lake, F. E. Hamilton e B. M. Durfee.
thumb|right|350px|Porzione del calcolatore IBM Harvard Mark I.


Storia

thumb|right|350px|Dettagli di Input/Output e controllo

Aiken fece proprie le idee di Charles Babbage (1791-1871) e studiò il modo per costruire uno strumento di calcolo automatico.

Nel 1937 contattò i costruttori statunitensi di calcolatrici del tempo, compresa la Monroe, allora il più grande costruttore, ma la sua proposta venne rifiutata.

Alla fine del 1937, con l’aiuto di Theodore H. Brown, docente di Statistica economica, ottenne di venir presentato a James W. Bryce che ricopriva un ruolo importante nel settore ricerca dell’IBM (International Business Machines Corporation).

Fu così che nel 1939 ad Harvard iniziò la costruzione del calcolatore, immediatamente spostata nei laboratori dell’IBM ad Endicott. Il calcolatore venne ultimato nel gennaio del 1943 e costò alla IBM 250.000 dollari.

Durante la Seconda Guerra mondiale rimase a disposizione unicamente della Marina degli Stati Uniti. In seguito, come da accordi precedenti, venne donato dalla stessa IBM all’Università di Harvard: nel febbraio 1944 venne spedito via mare a Cambridge, dove fu in seguito assemblato, ed il 7 agosto 1944 venne data a mezzo stampa notizia ufficiale della donazione all’Università. Quest’ultimo fatto ebbe vasta risonanza mediatica e suscitò grandi polemiche ed attriti il ruolo di comparsa minore in cui venne relegata la IBM in quella occasione.


Composizione e funzionamento

Il Mark I era costituito da interruttori, relè, alberi di rotazione e frizioni. Per la sua costruzione sono stati utilizzati 765.000 componenti e centinaia di chilometri di cavi. Una volta ultimato occupava una lunghezza di 16 m., si sviluppava in altezza per 2,4 m. ed aveva una profondità di circa 0,5 metri; raggiungeva un peso di circa 4 tonnellate e mezzo (4.500 chilogrammi).

È stato necessario sincronizzare meccanicamente le unità calcolatrici di base, in modo da farle funzionare grazie ad un asse di rotazione di 15 metri, messo in movimento da un motore elettrico di 4 kW. Il Mark I poteva memorizzare 72 numeri di 23 cifre decimali ciascuno. Poteva eseguire tre addizioni o sottrazioni al secondo, una moltiplicazione in 6 secondi, una divisione in 15,3 secondi ed un logaritmo oppure una funzione trigonometrica in più di un minuto.

Il Mark I leggeva le sue istruzioni su delle schede perforate e, eseguita l’istruzione corrente, passava alla successiva. I programmi complessi erano fisicamente lunghi. Il ciclo veniva compiuto unendo l’estremità della scheda contenente il programma con la parte iniziale della scheda. Questa separazione dei dati e delle istruzioni è conosciuta come Architettura Harvard.

La pioniera in informatica Grace Hopper è stata la prima programmatrice per il Mark I.


Utilizzo

Con la comparsa dell’ENIAC nel 1946 il Mark I divenne presto obsoleto, ma rimase in funzione ad Harvard fino al 1959. Venne impiegato principalmente per risolvere problemi di carattere scientifico (di interesse prettamente militare in un primo momento) e per il calcolo di tavole (vedi ad es. le funzioni di Bessel).

Al Mark I seguirono nel 1947 il Mark II, nel 1949 il Mark III e nel 1952 il Mark IV.


Voci correlate

  • Architettura Harvard
  • Storia dell’informatica


Collegamenti esterni

ASCC Chronology dagli Archivi IBM]

Calcolatore, TACACS

Tuesday, October 2nd, 2007

TACACS è l’acronimo di “Terminal Access Controller Access Control System” ed è un protocollo per l’autenticazione e l’autorizzazione remota (non quindi AAA, in quanto manca la funzionalità di Account), nato e usato principalmente nelle reti UNIX, progettato per la rete ARPANET. Esso permette a un server ad accesso remoto di comunicare (nella maggior parte dei casi un NAS) con un server per autenticazione allo scopo di determinare se l’utente ha accesso alla rete. È stato specificato nella RFC 1492.

TACACS permette ad un client avente un username e di una password, e di inviare una richiesta al server di autenticazione TACACS, che viene anche chiamato TACACS Daemon o semplicemente TACACSD. Tale server era nella maggior parte dei casi un programma eseguito in un determinato calcolatore, il quale elaborando la richiesta del client, permetteva o negava l’accesso.

In questo modo il processo di decisione è di tipo aperto, cioè l’algoritmo e i dati usati per stabilire il permesso è implementato nel TACACS daemon da parte dell’amministratore. Il protocollo solo si interessa della comunicazione della richiesta e dell’esito della stessa.

Il protocollo sfrutta la comunicazione con pacchetti UDP, e usa di default la porta 49. I dati vengono scambiati tra client e server attraverso i pacchetti TACACS (aventi una lunghezza tra 6 e 516 byte), che sono inseriti nel campo dati dei pacchetti UDP. Username e password vengono inviati senza criptazione e vengono valutati in modalità case-insensitive. RFC 1492]

Una modifica all’originale protocollo è stata introdotta da CISCO nel 1990, con XTACACS (Extended TACACS), il quale aggiunge la funzionalità di Accounting, rendendo quindi il protocollo di tipo AAA. Un’altra aggiunta è la possibilità di operare con più server XTACACS la quale aumenta la robustezza del sistema, evitando mal funzionamenti generali dell’intera rete generati da un singolo server non funzionante.