Client/Server:
1 - Il server e' il computer
che per mezzo di uno o piu' processi,
gestisce ed offre l'informazione utile
per l'utente che vi accede, tramite un'applicazione chiamata
client (un altro processo).
Possono essere anche molti gli utenti
che contemporaneamente accedono tramite il loro client alle
informazioni (risorse) offerte dal server.
La comunicazione avviene con la richiesta di un servizio da parte del client
e la conseguente realizzazione del compito da parte del server, utilizzando
i protocolli necessari per la comunicazione,
per esempio quelli dello stack
TCP/IP.
Per compito si intende il funzionamento di qualcosa
come i database, l'elaborazione on-line
(server-side, ossia prodotta dal server e successivamente inviata
al client), videogames,
le pagine web, sistemi di posta
elettronica, newsgroup, ecc.
Ecco un esempio ludico:
i giochi Client/Server sono quelli che hanno bisogno di
almeno due computer collegati tra loro (quindi in rete)
e di due programmi: per esempio se pensiamo ad
un gioco di gare automobilistiche, ebbene il programma
del computer centrale a cui
siete collegati che gestisce coordinate, carburante e condizioni di gara e' il server,
che oltre a controllare il gioco terra' conto anche
delle auto di ciascun utente collegato il quel momento insieme a voi.
Il client invece e' il vostro computer che ha bisogno di un programma
freeware o di rado ottenibile versando una piccola quota
(shareware). Questo programma client fornisce l'utente di
un'interfaccia che consente di interagire sia con
la vostra automobile che con quella degli altri utenti connessi al server.
Ecco l'ottimo intervento di
Martino Pavan Perfetto:
Il paradigma client/server divide la comunicazione tra due
applicazioni,
non necessariamente presenti entrambe nello stesso
computer, in due
distinte categorie, caratterizzate da chi aspetta una comunicazione o da
chi la inizia. Chi inizia la comunicazione è denominato client (cliente),
server (servente) chi la aspetta. Normalmente l'applicazione client
contatta l'applicazione server e le invia una richiesta, dopo di ché si mette
nell'attesa della risposta, e quando questa sarà arrivata continuerà nella
sua esecuzione. L'applicazione server aspetta l'arrivo di una richiesta da
un'applicazione client, esegue la necessaria computazione e invia il risultato
al client (vedi figura a lato).
Quest'architettura della comunicazione è stata creata per risolvere il problema
di sincronizzazione noto con il nome di rendez-vous, decidendo a priori chi
"parla" e chi "ascolta" tra le due applicazioni coinvolte. L'architettura descritta
è da considerarsi di base, infatti, alcune applicazioni non ricadono esattamente
nella definizione di client o server, ma possono all'occorrenza comportarsi sia in
un modo sia nell'altro secondo l'obiettivo prospettato.
2 - nella programmazione ad oggetti per server si intende una classe, mentre con il
termine "client" si indica il codice che utilizza la classe.
Client side:
Il termine client side indica che tutto il lavoro di calcolo
viene eseguito sul proprio PC, quindi non richiede
specifici servizi dall'esterno, da un server.
Un semplice esempio di servizio client side e' quello offero dallo script java
del Dizionario Informatico,
Crittografia - il Metodo di
Cesare.
Clock:
Segnale periodico estremamente regolare, ottenuto dalle vibrazioni
di un cristallo di quarzo sottoposto al passaggio di una corrente
elettrica. Questo segnale viene poi normalizzato e stabilizzato
elettronicamente da un chip avente quella specifica
funzionalita'. Il
clock in uscita da quest'ultimo viene poi usato effettivamente per
sincronizzare tutte le varie parti della macchina.
Redatto da Antonio Menegazzo
Sincronizza le operazioni da compiere
tramite impulsi alla CPU o alla
scheda madre o ad altre
periferiche.
Nei processori l'esattezza dei tempi
è ottenuta tramite un cristallo al quarzo situato internamente o
esternamente alla CPU. La frequenza di clock, che si misura in MHz, non è l'unico e nemmeno il più importante
fattore che determina la velocità utile di un calcolatore; ad influire
sulla velocità di un calcolatore sono:
Ecco una rappresentazione del segnale di clock:
Clock cycle (time): tempo impiegato per un ciclo
di clock, es: 10
ns.
Clock rate: frequenza di clock, es: 100 MHz. Il Clock cycle time è
inversamente proporzionale al clock rate
(clock cycle time = 1/ clock
rate). Allora aumentando il clock cycle time si rallenta il clock rate. Es:
10 ns = 10/ 1.000.000.000 = 1/100.000.000 = 100 milioni
di cicli al secondo = 100 Mhz.
Cluster: Si veda Hard disk.
CMOS: Complementary Metal Oxyde Semiconductor.
Tecnologia costruttiva relativa ai circuiti integrati
e ad alcuni tipi di transistor.
La caratteristica fondamentale di questa tecnologia costruttiva e' il bassissimo assorbimento
di corrente che viene ottenuto tramite un accoppiamento capacitivo del pin fisico di ingresso.
Attualmente, praticamente tutti i microprocessori sono
realizzati con questa tecnologia, le
memorie (infatti anche grandi quantita' di memoria sono in grado di mantenere memorizzati i
dati con il solo ausilio di una piccolissima batteria, come nelle calcolatrici) e una parte
significativa degli integrati SSI logici.
Redatto da Marco Steccanella
COBOL: COmmon Business Oriented Language, linguaggio
di programmazione implementato nel 1959-60, molto diffuso anche oggi
in ambiente aziendale. Secondo la classificazione dei linguaggi, il COBOL, come
il FORTRAN, e' un
linguaggio statico ossia la memoria richiesta per l'esecuzione del programma
e' gia' nota in compilazione.
COBOL-85 e' il linguaggio standardizzato, promosso da
CODASYL.
Nonostante gli aggiornamenti e "tool" di sviluppo,
che permettono ai programmi
scritti con questo linguaggio di operare con
database relazionali e
Internet,
le applicazioni COBOL vengono definite
legacy.
Il COBOL ha introdotto per primo
il prodotto cartesiano.
I costruttori del prodotto cartesiano per questo linguaggio sono i
record. Le ennuple
di attributi quali (nome, cognome, indirizzo, citta', cap, etc.)
vengono descritte da record.
CODASYL: Conference on Data Systems Languages.
Code size: la grandezza di codice di un programma
compilato,
anche se è importante per lo spazio libero della RAM, non è un metodo per misurare la Performance come avveniva in passato. Per misurare le prestazioni
di un calcolatore non è sufficiente tener conto di una o due delle tre
componenti : clock cycle, CPI,
Instruction Count (attinenze:
assembly language).
Codice sorgente: Versione del
programma scritta con un
linguaggio ad alto livello (C,
C++, Basic,
Pascal, COBOL,
Java, ecc.) che necessita di compilazione
(vedi compilatore) oppure
di un interprete perche' sia eseguito.
Commodore 64:
Home computer prodotto nel 1980
della dalla CBM (Commodore Business Machine)
con processore 6510
ad 1 MHz di frequenza, con 64 KB
di RAM, risoluzione
video 320x200 a 16 colori. Vedi anche Vic 20. Per saperne di piu':
http://digilander.iol.it/xp64/
Compilatore:
Nell'accezione piu' generica, il compilatore e' quel programma
che traduce automaticamente il codice scritto in un linguaggio, in un altro (vedi
porting).
Un compilatore e' composto generalmente dalle seguenti componenti:
analizzatore lessicale, parser, ottimizzatore, generatore di
codice.
Generalmente un compilatore si utilizza per tradurre un
linguaggio ad alto livello, quale il C
(anche se in C si possono dare anche dei comandi di
basso livello), in
linguaggio assembly
(linguaggio abasso livello).
Grace Murray Hopper nella foto (prima contrammiraglio donna della marina americana),
e' la creatrice del primo compilatore, realizzato nel 1952.
I primi linguaggi di
programmazione erano strettamente legati alle macchine sulle quali venivano eseguiti,
in altri termini erano "astrazioni minime" sulle operazioni di una macchina.
Tali linguaggi si sono evoluti rendendo piu' semplice il lavoro del programmatore,
ma questo ha reso l'implementazione sulla macchina molto piu' complessa.
Astrarre dalla macchina significa poter programmare con linguaggio
piu' comprensibile all'uomo e non dover definire precise sequenze di 0 e 1 comprensibili
solo ad un preciso modello di processore.
Sara' compito del compilatore effettuare la traduzioni dal linguaggio ad alto livello
ad uno di livello piu' basso.
Ecco la consulenza offertami di Marco....
Componente biconnessa:
clicca qui.
Computer:
Macchina elettronica statica programmabile strutturata attorno ad un
microprocessore, in grado
di eseguire calcoli ad altissima velocita'.
Le applicazioni dei computer sono infinite, ma, da un punto di vista oggettivo, il computer e'
utile e applicabile in tutte quelle situazioni in cui esistono problemi che possono essere
tradotti in formule di tipo matematico.
Attualmente esistono tecnologie a livello sperimentale, sia software
che hardware, che hanno lo scopo di superare questo limite
(cioe' la possibilità di affrontare solo problemi
convertibili e convertiti in formule matematiche) quali reti neuronali, linguaggi di
autoapprendimento, ecc...; attualmente sono tutte tecnologie in fase di sviluppo, che si pensa
offrano grandissime prospettive, ma che non sono ancora applicabili ne' a livello commerciale
ne' a livello industriale. Gli elementi minimi costitutivi di un computer sono:
microprocessore;
memoria di tipo RAM;
memoria di tipo EPROM;
interfaccia per l'immissione dei dati (per esempio tastiera);
interfaccia per l'output dati (per esempio monitor).
Le due interfacce comunemente non sono considerate parte
del computer, ma comunque senza di
esse il funzionamento risulta impossibile... o meglio, per quanto il funzionamento in termini
di elaborazione possa essere possibile, senza le interfacce risulta impossibile ottenere i
risultati del lavoro eseguito e immettere comandi al fine di controllare il funzionamento
della macchina. Un esempio completo di computer e' una normale calcolatrice di tipo
scientifico. Esistono alcuni microprocessori particolari, detti microcontrollori, che
oltre a contenere al loro interno un microprocessore semplice, contengono anche una certa
quantità di memoria RAM ed EPROM, nonche' vari tipi di interfacce, per esempio seriali,
parallele o addiritura di conversione
analogico/
digitale: questi circuiti
integrati realizzano in un solo chip un computer completo.
Si veda anche l'Architettura Von Neumann
Redatto da Marco Steccanella
Congestione, controllo di:
Le cause di congestione sono dovute ai router
con buffer limitati,
processi calcolati
lentamente, bande ridotte, piu'
linee in input di un router che utilizzano una stessa linea in output,
time out di algoritmi di trasmissione troppo
brevi (Livello Network).
Neagle ha scoperto che se anche i Router avessero memoria infinita i
pacchetti
andrebbero, comunque, ripetitivamente in time out. Soluzione: bufferizzare la rete.
Algoritmi di prevenzione congestione applicabili non solo agli
host (p.e. un
PC connesso ad una rete) ma anche ai router.
LEAKY BUCKET: prima che i pacchetti siano inviati in rete, vengono memorizzati
in una coda di grandezza finita e spediti solo con cadenza prestabilita.
Se la coda e' piena per un eccessivo numero di
pacchetti inviati da un processo, questi vengono scartati.
Vantaggi: si evitano congestioni dovute all'invio di "raffiche" di pacchetti
spediti tutti su una volta.
Svantaggi: il tasso di uscita e' sempre costante anche se la rete ne
potrebbe ricevere di piu'.
TOKEN BUCKET ogni tot sec. si generano dei gettoni e
ogni pacchetto se ne deve impossessare.
Se non si generano tanti gettoni, si blocco il livello sovrastante
(Livello Trasporto) ma non si scarta mai il pacchetto da spedire.
Una variante di questo algortimo e'
quella di inviare un certo numero di byte e non il pacchetti
intero.
Con questi algoritmi i router possono controllare il traffico della rete.
Connectionless: vedi
Connection oriented,
servizio orientato alla connessione.
Connection Oriented:
Servizio orientato alla connessione. Con questo termine ci si riferisce spesso
alla connessione diretta (end to end) offerta dal
TCP oppure
a quella ATM, quando viene stabilito un
circuito virtuale definito dai router (a differenza di
quello fisico p.e. delle linee telefoniche).
Il servizio Connection Oriented viene stabilito
con tre operazioni: setup della connessione suo utilizzo
rilascio della connessione
Con questo tipo di organizzazione l'entita'
trasmittente, presente in un host, comunica con
l'entita' dell'host ricevente,
come attraverso una pipe (tubo - nel caso del Circuito Virtuale
ci sono vantaggi e svantaggi per questa scelta).
Diversamente i datagrammi IP sotto il TCP
(il Livello di Rete o Livello Network e' posto sotto al
Livello Trasporto del modello OSI) seguono un organizzazione
Connectionless poiche' non c'e' piu' una connessione "a tubo" tra mittente
e destinatario, ma ogni datagramma segue un percorso indipendente dagli altri, senza garantire un ordine di arrivo.
I router disposti tra il mittente e il destinatario
eseguono lo smistamento dei pacchetti. Questo tipo di
smistamento pero' non avviene quando parliamo della trasmissione connection
oriented ATM.
Infatti si avverte una certa inefficienza nell'utilizzare ATM insieme
a TCP perche' entrambi supportano una trasmissione connection oriented quando
ne basterebbe una sola.
Si veda l'illustrazione del modello TCP/IP
(vedi anche modello OSI).
Anche se TCP poggia su IP (connectionless), esso
non conosce come opera IP (astrae da IP, infatti il livello Network stesso offre al livello
Transport questo tipo di trasparenza). Del resto, ciascun livello offre solo servizi al
livello superiore e non conosce come operano le entita' presenti negli
altri livelli di comunicazione ne' verso il basso, ne' verso l'alto.
Consistenza: nelle
basi di dati e' sinonimo di coerenza,
conformita', non contradditorieta', affidabilita' dei dati.
Per esempio, se e' necessario modificare lo stato civile (entita')
del Sig. Rossi da celibe in coniugato (istanze), anche gli altri
campi che presentano
lo stato civile del Sig. Rossi, con riferimento al primo,
devono essere aggiornati, pena l'inconsistenza dei dati.
Un compito del DBMS e' quello di offrire il controllo
delle modifiche dei dati. Apportando una modifica su un campo del database,
il sistema dovrebbe riportate un aggiornamento anche sui quei campi che fanno riferimento
al primo (sempre rispettando i vincoli di integrita'). Se non ci fosse
tale controllo verrebbe meno la specifica della consistenza,
in altri termini non si saprebbe quali dei diversi valori sia
quello corretto. Durante la serie di aggiornamenti il DBMS deve impedire
l'eventuale intervento in scrittura dai programmi applicativi
(vd. Lock).
Contatore: (ing) counter.
Programma installato su un server che registra il numero di visite fatte
su una o piu' pagine web. FAQ:
Un contatore avanza ogni volta che torno nella home page?
Se si costruisce un sito web con un contatore, nulla vieta di fare reload
(ricarica della pagina) p.e per 200 volte in modo da incrementare il counter
di 200. Se il browser non utilizza la sua
cache per ricaricare la
homepage, ogni volta che ci si torna, supponendo che nella homepage ci sia il counter,
questo viene incrementato e quindi le stime non risultano affidabili.
Se il browser invece utilizza la cache per
ricaricare la homepage, il counter del sito non viene incrementato.
Il browser si comporta in un modo o nell'altro, secondo le impostazioni
stabilite nelle sue Preferenze.
Nota: Se il browser utilizza la cache, e si vuole comunque incrementare il
contatore e' necessario tener premuto anche il tasto
shift (maiuscolo) insieme al bottone di Ricarica (Reload).
Un secondo sistema per alterare il contatore potrebbe essere quello di
modificare a piacere il numero
presente nel file che tiene conto degli accessi. Per quanto detto si
deduce che il counter non sempre da modo di conoscere il reale
numero di visitatori.
A meno di counter "piu' intelligenti" (che controllino p.e.
l'IP del visitatore) gli altri aiutano a capire l'andamento delle visite se i
controlli del numero di visitatori vengono effettuati
p.e. nell'arco di una settimana e possibilmente alla stessa ora.
In questo modo solo a lungo termine si ha una stima utile,
ossia tenendo conto anche delle visite fatte nei giorni precedenti.
Se da un giorno all'altro ci si accorge che nella propria homepage ci sono stati
10000 accessi in piu' rispetto al giorno precedente e' consigliabile
controllare gli accessi anche nei giorni successivi per verificarne la veridicita' di tale
notevole incremento.
Se giungo ad una pagina specifica attraverso un link di un
sito esterno, e quindi non passo per l'home page, il contatore non mi "vede"?
Il contatore si incrementa se e' posizionato nella pagina visitata.
Se il contatore (anche nascosto) lo si mettesse su tutte le pagine non sarebbe di grande utilita'
perche' verrebbe incrementato inutilmente ad ogni pagina visitata e quindi verebbe meno al suo compito.
Context switch del processo: un
processo P1 in
esecuzione ha i suoi dati locali nello stack; P1 esegue una SVC per richiedere un operazione
di I/O che causa un interrupt
interna (trap sincrona) o esterna (interrupt asincrona).
Il contesto di P1 viene
messo in cima allo stack. In modo
monitor vengono salvati il PC e il PSW
con altri registri dallo stack al descrittore di P1.
(Durante il servizio di
interruzioni le eventuali pendenti vengono disabilitate e memorizzate per
impedire sovrascritture e servite all'atto di rientro dell'interruzione
corrente). Il kernel porta P1 in stato di attesa e P2 in
stato di exec dopo aver ripristinato il contesto P2 nello stack dal suo
descrittore. Il ritorno da un'interruzione (kernel che termina la routine della
SVC) ripristina il contesto del processo (i registri) con il contenuto
dello stack e riabilita le interruzioni. Nota: un context switch puo' durare 5 ms.
Controllo di flusso: Presente sia nel
livello Data Link (collegamento dati,
nel modello OSI)
che in quello Livello Trasporto (dei modelli TCP/IP e OSI).
Nella trasmissione dei dati tra mittente e ricevente e' necessario limitare il
traffico considerando la velocita' di smistamento e le capacita' di banda della rete. Il flusso e'
controllabile con il meccanismo di feedback.
Questo tipo di controllo permette di inviare dati dalla macchina A alla
macchina B (es.modem ecc..) secondo la velocita'
di elaborazione di B.
Se per ipotesi trasmettessi da un modem che opera a 56.000 (A)
bps ad uno a 14.400 (B) quest'ultimo comincerebbe a
perdere i bit in arrivo.
Per evitare questo sovraccarico esistono dei meccanismi di feedback
ossia vengono inviati dei segnali al sender per avvertire che la
trasmissione puo' avvenire solo a prestabilite velocita'. Questo controllo
e' noto anche come pacing.
Controllo di congestione: vd.
Congestione, controllo di
Cookies:
file di testo creati
dal server Web e archiviati
sul computer
dell'utente. Questi file contengono informazioni sulle preferenze dei siti
Internet visitati dall'utente.
Le informazioni vengono rispedite al server appena ci si riconnette al
sito che utilizza i cookies. L'utente e' libero di accettare o meno i cookie sul proprio
computer.
Copyleft: Ovvia "canzonatura" del piu' famoso (ed usato)
COPYRIGHT.
- 1. Nota per i diritti di autore ("General Public License") portata
dallo GNU EMACS e da svariato altro
software
della "Free Software
Foundation" che garantisce i diritti di riutilizzo e di riproduzione
del prodotto (generalmente fornito assieme al suo codice).
- 2. Di conseguenza, qualsiasi altra nota per i diritti di autore intesa
ad ottenere i medesimi scopi.
Redatto da Marco Lizza
CORBA: (Common Object Request Broker Architecture),
sono specifiche del consorzio chiamato Object Management Group (OMG).
CORBA permette di
realizzare un'architettura distribuita mediante la
definizione di standard per le chiamate alle funzioni
messe a disposizione da diversi
oggetti software installati su differenti
sistemi operativi,
in maniera che possano interagire tra loro.
Interfaccia di richiesta d'infomazione ad oggetti.
Core dump: Stampa del contenuto della memoria che permette
di diagnosticare il malfunzionamento di un programma.
Nell'immagine possiamo notare il
dump di
una stringa di
caratteri : ogni carattere, anche lo spazio, occupa un
byte e il quarto contiene l'esadecimale
63 ossia 01100011
corrispondente alla lettera c secondo il codice ASCII.
CPI sta per Clock Cycles Per Instruction ed
è la media del numero dei cicli di clock per ogni
istruzione. Infatti il
tempo di esecuzione per ogni istruzione non è costante perchè singole
istruzioni in assembly language possono impiegare tempi
differenti. Es: lw (load word), beq
(branch if equal) possono essere eseguite
rispettivamente in 40 e 25 ns e quindi implementate in cicli di clock distinti.
CPI = CPU clock cycles/ Instruction count
oppure
. . . .=
/
Instruction Count se vengono fornite le CPIi e le Ci. Ci è il numero
di istruzioni delle i classi eseguite, mentre CPIi è la media del numero di
cicli di clock per le classi di istruzione.
Confrontiamo due macchine M1 e M2
a parità di MHz e con due codici assembly da
eseguire, rispettivamente C1 e C2 ove C1 contiene un numero maggiore di
istruzioni. Se M1 esegue più istruzioni non è detto che sia
più lenta (RISC) perchè se in M1 il CPI
è più piccolo di quello di M2 può succedere che l'esecuzione
di C1 sia più veloce di quella fatta da M2. Vedi anche MIPS.
CPU:
Central Processing Unit, unita' di elaborazione centrale o processore. E'
la parte "pensante" di ogni
computer, costituita da un sottile cristallo
di silicio ottenuto dal
wafer. Il
processore ha un'area di circa un cm2
su cui vengono impressi
diodi, transistor
e circuiti. Esegue le istruzioni e i dati dei
programmi
presenti nella memoria RAM e nei
registri interni al processore. I registri sono
delle memorie particolari e piu' veloci, in termini di accesso,
ad ogni altro tipo di memoria. Qualora
il processore sia contenuto in un solo chip e' piu' corretto
parlare di
microprocessore. Al suo interno ci sono 4 componenti
principali e talvolta solo le prime due vengono definite con il termine
processore:
- control - (la mente) sincronizza le attivita' e dice cosa fare al
datapath, alla
memoria e ai dispositivi I/O
- datapath -
(il braccio) componente per l'elaborazione, che esegue le operazioni aritmetiche
(ALU).
- bus - l'interconnessione delle componenti
della CPU.
- cache.
specifiche tecniche
Premessa: escluse le
formule, i termini tra parentesi possono essere omessi.
Vedi anche un'immagine del 80486
Ecco un link ad una pagina esterna al Dizionario Informatico, che spiega come viene realizzato
il processore. Clicca qui. Si prega di segnalare
l'eventuale inattivita' del link.
CPU clock cycles: il numero totale di cicli di
clock per un programma
è: =
CPI x Instruction
count, o conoscendo i tipi differenti di
istruzione e le corrispondenti
CPI la formula è:
. Ci
è
il numero di istruzioni delle i classi eseguite, mentre CPIi è la media del
numero di cicli di clock per le classi di istruzione.
CPU (Execution) time e Performance: La
prestazione è inversamente proporzionale all' Execution time.
Performance = 1 / Execution time.
Performance ratio =
Performance A / Performance B ossia il rapporto di prestazione, es: un
programma viene svolto dalle macchine A e B rispettivamente in 5 e 10 sec. Il
rapporto di prestazione = 2, quindi la macchina A è 2 volte più
veloce di B.
L'execution time è il tempo speso dal processore per l'esecuzione di un
programma, escludendo
il tempo di I/O (disco, memoria) e l'esecuzione di altri programmi.
Si divide in user CPU time, tempo speso per il programma e system CPU time,
tempo speso dal sistema operativo per supportare il
programma.
CPU Time = Instruction count x CPI x Clock cycle time =
. . . . .= CPU clock cycles x Clock cycle time
( o 1/ Clock rate)
vedi anche MIPS
CR: L'acronimo sta per Condition Register,
ed e' definito nell'architettura dei
PowerPC.
E' un registro
di grandezza definita dall'implementazione
(32 bit
per i PowerPC dal 601 al 604e, e 64 bit per il 620),
ed e'
suddiviso in campi analoghi di 4 bit ciascuno: i bit dei campi
corrispondono all'esito delle
istruzioni di confronto (che possono
scrivere il risultato in un campo a scelta), il campo 0
viene modificato in base all'esito dell'ultima
istruzione intera che ha
avuto un risultato, ed il campo 1 dall'ultima istruzione
FP che ha
avuto un risultato.
Il fatto di avere piu' campi consente al PowerPC, al contrario delle
altre CPU,
di registrare il risultato di numerosi confronti ed istruzioni
ed operare dei
branch condizionali sul campo desiderato al momento
opportuno.
Redatto da Manta/Elven 11
Crack:
1) programma che tenta di indovinare la password (vedi
account) di un utente tramite ripetuti
tentativi di invio di stringhe casuali, oppure tratte
da un dizionario preparato dal mal intenzionato hacker (o meglio cracker,
termine introdotto nella meta' degli anni '80).
2) Programma che genera codici di registrazione
(vd. anche serial number),
senza averne l'autorizzazione - Crackare un programma.
Nota: non e' affatto detto che un hacker sia mal intenzionato; uno degli obiettivi degli
ethical hackers e' quello di rendere pubbliche certe informazioni che altrimenti
rimarrebbero segrete.
Crash:
Un computer (PC)
si dice in crash quando subentra un malfunzionamento inaspettato
del sistema operativo (crash di sistema) o causato dalle
applicazioni da esso gestite,
oppure per un problema del hardware.
Tipico comportamento di un PC in crash e' quello del blocco del puntatore del mouse sullo schermo o
l'impossibilita' di poter lavorare normalmente sulle applicazioni caricate in
RAM.
Nei macintosh si preferisce utilizzare il termine
bomba anziche' crash, poiche' all'atto del malfunzionamento del computer
compare sullo schermo l'immagine di una bomba.
Cray 1: Supercalcolatore creato nel 1976, il piu' costoso
e veloce di allora. Con una memoria RAM di 32
MB.
Costo: 4 milioni di dollari (prezzo
attualizzato al 1991 - 7,5 milioni di dollari)
CRC: Cyclic Redundancy Check,
(Controllo Ciclico di Ridondanza)
Schema di rilevamento errore. Nelle reti e' operante al
livello Data Link (collegamento dati)
nel quale il
carattere del controllo del pacchetto e' il resto
della divisione di tutti i bit serializzati di un pacchetto trasmesso per un numero
binario predefinito. Viene realizzato in hardware dagli adattatori di rete. Comunque puo' essere
consegnato un checksum errato ma che il CRC non rivela.
operazione crc:
messaggio m = mn-1...m0
il messaggio viene interpretato come un polinomio, cioe':
M(x) = mn-1xn-1+mn-2xn-2+..+m0
viene stabilito tra sender e receiver il polinomio CRC(x)
sia r il grado del polinomio generatore CRC(x).
Si moltiplica per xr il polinomio M(x) di grado i
ad es. se M(x)=
x7+x4+x3+x (=10011010) ed r=3, xrM(x) =
x10+x7+x6+X4 (= 1001101000)
si ottiene cioe' un nuovo polinomio di grado r+i, dal punto di vista
binario
non avremo fatto altro che shiftare verso sinistra i coefficienti del polinomio
M(x) di r (3), in altri termini aggiungiamo tanti zero finali quanto vale r.
Si divide xrM(x) per il polinomio generatore CRC(x)
cioe': xrM(x) / CRC(x) = P(x) +
R(x) (quest'ultimo e' il resto supponiamo x2+1 = 101).
Ora viene sottratto (o sommato, in complemento a 1 e' lo stesso),
viene eseguito uno XOR tra i primi r bit)
R(x) a xrM(x) e si otterra' la sequenza da trasmettere 10011010 101.
Il receiver all'arrivo di questi bit eseguira' la seguente operazione:
(xrM(x)+R(x))/ CRC(x) - se otterra' 0 come risultato ci saranno buone
probabilita' che la
trasmissione sia avvenuta senza errore altrimenti ci sara' un errore e il
frame
verra' ritrasmesso. Vedi anche Parita'.
Crittografia: o Criptografia, dal Gr. kryptós "nascosto" e
-graphía "scrittura".
La criptologia, ossia lo studio di sistemi per le comunicazioni segrete si divide in due campi
di studio: - Crittografia: progettazione di sistemi per le comunicazioni segrete
- Cripto-analisi: studio dei modi per intercettare le comunicazioni segrete.
Ecco un contributo
redatto da Angelo Conforti
Crittografare: contr. decriptare, decrittare (1964).
Cifrare un segnale o un insieme di dati, cosi da renderlo incomprensibile a
chi non possiede i diritti d'accesso.
Cristalli liquidi: vedi LCD.
CRM: Customer Relationship Management.
Crossbrowser: ing.,
indipendente dal browser.
Si dice p.e. che un javascript e' crossbrowser, ossia
funzionante sia con Netscape Navigator che con
Internet Explorer.
CRU: L'acronimo sta per Condition Register Unit,
ed e' una delle unita' di execute
del 604e. Nelle implementazioni precedenti del
PowerPC,
le sue funzioni erano svolte dalla $SCIU$, ed e' stata introdotta come unita'
indipendente per liberare le SCIU da certi compiti.
Si occupa delle operazioni di confronto, ed, in generale, delle operazioni
che agiscono sul CR.
Nel 604e condivide il
bus con la BPU,
quindi puo' venir lanciata o una
istruzioni di branch
o una di confronto per ciclo, ma 2 possono coesistere
nelle relative unita' o nelle relative Reservation
Station.
Redatto da Manta/Elven 11
CSIM:
Client Side Image Map. La mappa di un'immagine
GIF e' presente nella
stessa immagine e l'interpretazione delle coordinate viene fatta dal
Browser
che gira sul client. In questo caso il nostro
PC e' svincolato dal file
che contiene il mapping dell'immagine presente nel
server: vedi metodo NCSA.
CSMA/CD: Carrier Sense Multiple Access/Collision
Detection, accesso multiplo a rilevazione di portante
(carrier) con segnalazione di
collisione. In una LAN
Ethernet il sistema di controllo di collisione viene
realizzato da ciascun nodo.
Un nodo se vuole inviare un messaggio
(frame) ascolta per mezzo della
scheda di
interfaccia se qualche altro nodo
sta gia' trasmettendo poiche' qualsiasi macchina della rete locale puo' trasmettere
(accesso multiplo).
Se nessuno trasmette, ossia se la scheda di interfaccia (NIC) non avverte alcuna portante,
allora il nodo comincia la sua trasmissione di dati altrimenti attende un tempo
random prima di riascoltare e quindi di controllare
se la rete e' ancora occupata. C'e' un inconveniente pero':
nell'eventualita' che la rete sia libera e due o piu' macchine inizino a
trasmettere frame contemporaneamente, i segnali inviati da ciascuna stazione
comincerebbero ad interferire vicendevolmente distorcendo i segnali originali.
Per evitare queste collisioni le schede di interfaccia,
oltre a trasmettere, rimangono in ascolto tramite un circuito per controllare
se durante la trasmissione si siano verificate interferenze. In altri termini
questo circuito avverte se i segnali si sommano portando i valori di tensione a
valori superiori a quelli
normali, ecco perche' parliamo di collision detection.
CSS: Cascading Style Sheets,
modelli di stile di documento, introdotti
nell'HTML v.4, che controllano
il layout degli elementi HTML.
L'uso dei fogli di stile, permette di
specificare effetti speciali da applicare al testo, come pure di
scrivere codice HTML 'pulito'. Infatti la pagina html vera e propria non
conterra' piu' le impostazioni di background, dei font, dei
link, ecc. ma
soltando gli elementi, lasciando queste impostazioni sul file CSS, che verra'
poi interpretato dal Browser. L'uso dei CSS e'
molto comodo quando bisogna
creare piu' pagine con lo stesso aspetto, bastera' infatti usare lo stesso
foglio di stile.
Clicca qui per vedere un esempio dei fogli di stile.
Redatto da Angelo Cresta
CSV:
È l'acronimo di Comma-Separated Variables (or Values). Sono dei testi (sia in
formato ASCII che Windows)
che contengono dati organizzati in campi separati da virgole.
Questo formato è spesso usato per creare basi di dati
da utilizzare nel web, infatti è
molto facile attraverso un linguaggio di scripting (tipo il Perl)
accedere a queste
informazioni senza dover implementare un database vero e proprio, certamente a scapito delle
performances, ma di immediata realizzazione. Tramite i files
CSV si possono anche scambiare
dati fra i vari organizers (ACT, MS Outlook, Lotus Organizer,
ecc), infatti se non fosse
possibile importare o esportare in modo nativo i databases su cui si basano, è possibile
salvare i dati in formato CSV e poi leggerli con l'altra applicazione
o per esempio con un foglio di calcolo,
per poterli gestire a piacimento.
Redatto da Angelo Cresta
CTR: L'acronimo di CounTer Register,
ed e' definito nell'architettura dei
PowerPC.
E' un registro di grandezza definita
dall'implementazione
(32 bit
per i PowerPC dal 601 al 604e, e 64 bit per il 620), e puo'
contenere un dato qualunque, ma viene usato automaticamente come contatore
per le istruzioni di
branch condizionato con decremento.
Altrimenti puo' anche essere usato come target ausiliario per un branch
a counter-register (come se fosse un secondo
link-register, vd. LR).
Per il PowerPC e' un registro special purpose
come gli altri, e puo'
quindi essere utilizzato con le
istruzioni apposite per tali registri.
Questo registro e' una prova di come, nel PowerPC, e' stata mantenuta
la proprieta'general purpose
dei GPR adibendo un registro apposito
al salvataggio dell'indirizzo di ritorno, senza toccare nessun GPR (come
accade nei MIPS e negli Alpha) o lo
stack (come accade nei
680x0 e
negli x86).
Redatto da Manta/Elven 11.
Curve fitting:
Con curve fitting vengono indicate tecniche di regressione non-lineare
per approssimare dei valori ottenuti mediante misurazioni sperimentali e
pertanto, potenzialmente affette da errori (non sistematici).
Un tipico esempio di curve fitting, che possiamo tradurre molto
liberamente con approssimazione, si ha nel caso di una approssimazione
ai minimi quadrati, mediante la quale e' possibile tentare di approssimare N
punti o un polinomio di grado M < N (e di norma, molto minore).
Redatto da Marco Lizza
CTS: vedi
RTS/CTS.
Cyberspace: termine inventato da William Gibson
(scrittore di fantascienza)
e ripreso dal suo libro "Neuromante". E' stato inglobato nel linguaggio
informatico per definire l'ambiente dei calcolatori in rete.
CYMK:
La stampa dei colori si ottiene mescolando i tre colori fondamentali, C
(Cyan, ciano), M (Magenta),
Y (Yellow, giallo), e K (blacK, nero).
Diversamente dal mescolamento dei colori nella luce, i colori coprenti o di pigmento
come quello delle vernici o degli
inchiostri della stampante, se mescolati comportano un assorbimento della luce.
Quindi piu' colori mescoliamo e piu' le diverse lunghezze d'onda vengono eliminate.
Il mescolamento di questo tipo di colori viene definito processo sottrattivo
(per il processo additivo si veda RGB).
Se la stampante combinasse solo
ciano, magenta e giallo si otterrebbe un marrone scuro, ecco perche' e' stato aggiunto
anche il nero. I monitor diversamente, definiscono i colori delle immagini con i soli
tre colori RGB. Per una visualizzazione della combinazione
dei colori sulle stampanti e su monitor, si veda il termine
RGB.
Cyrix:
La Cyrix© Corporation e' una societa' che fa parte della National
Semiconductor©, e costruisce dei
processori con soluzioni innovative per il
mercato dei personal computer (PC).
Negli anni passati la Cyrix ha prodotto milioni di processori in tutto il mondo, ma
ormai il mercato si e' stabilizzato verso le 2 marche ormai piu'
conosciute: Intel e AMD.
La Cyrix, in collaborazione con l'IBM,
ha prodotto un processore chiamato MXII su socket 7, tuttavia la mancanza di innovazioni e la
fossilizzazione su di un tipo di architettura (il socket 7),
rende i processori Cyrix oggetti ormai obsoleti.
Redatto da Gianluca Galeandro
Termini mancanti/suggerimenti ?
© Copyright 1997-2001 by
Francesco Longo,
flongo@dsi.unive.it