Multitasking potrebbe apparentemente causare un computer per eseguire in che modo?
doc-3763
In apparenza, il multitasking farebbe sì che un computer che sta passando da un programma all' altro funzioni più lentamente, in proporzione diretta al numero di programmi che sta eseguendo, ma la maggior parte dei programmi impiega molto del loro tempo aspettando che i dispositivi di input/output lenti completino i loro compiti. Se un programma è in attesa che l' utente clicchi sul mouse o prema un tasto sulla tastiera, non ci vorrà una "fetta di tempo" fino a quando non si verifica l' evento atteso. Ciò consente di risparmiare tempo per l' esecuzione di altri programmi in modo che molti programmi possano essere eseguiti contemporaneamente senza perdite di velocità inaccettabili.
None
doc-3762
Un mezzo per farlo è un segnale speciale chiamato interrupt, che periodicamente può indurre il computer a interrompere l' esecuzione delle istruzioni dove si trovava e a fare qualcos' altro. Ricordando dove è stato eseguito prima dell' interruzione, il computer può tornare all' attività successiva. Se più programmi sono in esecuzione "contemporaneamente". il generatore di interruzione potrebbe causare diverse centinaia di interruzioni al secondo, provocando ogni volta un cambio programma. Poiché i computer moderni solitamente eseguono le istruzioni molto più velocemente della percezione umana, può sembrare che molti programmi stiano eseguendo allo stesso tempo, anche se solo uno è mai in esecuzione in un dato istante. Questo metodo di multitasking è talvolta chiamato "time-sharing" in quanto ad ogni programma viene assegnata una "fetta" di tempo a turno.
None
doc-3742
L' esecuzione del programma potrebbe essere paragonata alla lettura di un libro. Mentre una persona normalmente legge ogni parola e riga in sequenza, a volte può saltare indietro in un posto precedente nel testo o saltare sezioni che non sono di interesse. Allo stesso modo, a volte un computer può tornare indietro e ripetere le istruzioni in alcune sezioni del programma più e più volte fino a quando non viene soddisfatta una condizione interna. Questo è chiamato il flusso di controllo all' interno del programma ed è ciò che permette al computer di eseguire attività ripetutamente senza l' intervento umano.
None
doc-3743
Nella maggior parte dei computer, le istruzioni individuali vengono memorizzate come codice macchina e ad ogni istruzione viene assegnato un numero univoco (codice di funzionamento o opcode). Il comando per aggiungere due numeri insieme avrebbe un opcode; il comando per moltiplicarli avrebbe un opcode diverso, e così via. I computer più semplici sono in grado di eseguire una manciata di istruzioni diverse; i computer più complessi hanno diverse centinaia di opzioni tra cui scegliere, ognuna con un unico codice numerico. Poiché la memoria del computer è in grado di memorizzare i numeri, può anche memorizzare i codici di istruzione. Questo porta al fatto importante che interi programmi (che sono solo elenchi di queste istruzioni) possono essere rappresentati come elenchi di numeri e possono essere manipolati all' interno del computer allo stesso modo dei dati numerici. Il concetto fondamentale di memorizzare i programmi nella memoria del computer accanto ai dati su cui operano è il nocciolo dell' architettura von Neumann, o programma memorizzato[citazione necessaria]. In alcuni casi, un computer potrebbe memorizzare parte o tutto il suo programma in una memoria separata dai dati sui quali opera. Questo è chiamato l' architettura Harvard dopo il computer Harvard Mark I. I moderni computer von Neumann mostrano alcuni tratti dell' architettura Harvard nei loro progetti, come ad esempio nelle cache CPU.
None
doc-3768
La possibilità di memorizzare ed eseguire liste di istruzioni chiamate programmi rende i computer estremamente versatili, distinguendoli dalle calcolatrici. La tesi Church-Turing è una dichiarazione matematica di questa versatilità: qualsiasi computer con una capacità minima (essere Turing-completo) è, in linea di principio, in grado di svolgere gli stessi compiti che qualsiasi altro computer può svolgere. Pertanto, qualsiasi tipo di computer (netbook, supercomputer, automi cellulari, ecc.) è in grado di eseguire gli stessi compiti di calcolo, dato il tempo sufficiente e la capacità di archiviazione.
None
doc-3755
L' insieme delle operazioni aritmetiche che una particolare ULA supporta può limitarsi all' aggiunta e alla sottrazione, o può includere la moltiplicazione, la divisione, le funzioni trigonometriche come seno, coseno, ecc. e radici quadrate. Alcuni possono operare solo su numeri interi (integer) mentre altri utilizzano la virgola mobile per rappresentare numeri reali, anche se con una precisione limitata. Tuttavia, qualsiasi computer in grado di eseguire solo le operazioni più semplici può essere programmato per suddividere le operazioni più complesse in semplici passi che può eseguire. Pertanto, qualsiasi computer può essere programmato per eseguire qualsiasi operazione aritmetica, anche se ci vorrà più tempo per farlo se la sua ALU non supporta direttamente l' operazione.
None
doc-8529
Il calcolo stocastico fu introdotto per la prima volta in un documento pionieristico da von Neumann nel 1953. Tuttavia, la teoria non poteva essere attuata fino a quando i progressi nel calcolo degli anni sessanta. Creò anche il campo degli automi cellulari senza l' ausilio di computer, costruendo i primi automi auto-replicanti con matita e carta da disegno. Il concetto di costruttore universale si è concretizzato nella sua opera postuma Teoria dell' Auto-riproduzione di Automata. Von Neumann ha dimostrato che il modo più efficace per eseguire operazioni minerarie su larga scala, come l' estrazione di un' intera cintura lunare o asteroide, consisterebbe nell' utilizzare veicoli spaziali autoriplicanti, sfruttando la loro crescita esponenziale. La sua rigorosa analisi matematica della struttura dell' auto-replicazione (della relazione semiotica tra costruttore, descrizione e ciò che è costruito), ha preceduto la scoperta della struttura del DNA. A partire dal 1949, il progetto di von Neumann per un programma per computer auto-riproduttore è considerato il primo virus informatico al mondo, ed è considerato il padre teorico della virologia informatica.
None
doc-4152
Fisicamente, i server di database sono computer dedicati che contengono i database reali ed eseguono solo il DBMS e il relativo software. I server di database sono solitamente computer multiprocessore, con memoria generosa e array di dischi RAID utilizzati per una memorizzazione stabile. Il RAID viene utilizzato per il ripristino dei dati in caso di guasto di uno qualsiasi dei dischi. Gli acceleratori di database hardware, collegati a uno o più server tramite un canale ad alta velocità, sono utilizzati anche in ambienti di elaborazione delle transazioni di grandi volumi. I DBMS si trovano al centro della maggior parte delle applicazioni database. I DBMS possono essere costruiti attorno a un kernel multitasking personalizzato con supporto di rete integrato, ma i DBMS moderni si basano in genere su un sistema operativo standard per fornire queste funzioni. da database prima dell' inizio della lingua delle query strutturate (SQL). I dati recuperati erano disparati, ridondanti e disordinati, poiché non esisteva un metodo adeguato per recuperarli e disporli in una struttura concreta.
None
doc-3725
I primi computer digitali erano elettromeccanici; interruttori elettrici azionavano relè meccanici per eseguire il calcolo. Questi dispositivi avevano una bassa velocità di funzionamento e alla fine sono stati sostituiti da computer completamente elettrici molto più veloci, utilizzando inizialmente tubi a vuoto. La Z2, creata dall' ingegnere tedesco Konrad Zuse nel 1939, fu uno dei primi esempi di un computer a relè elettromeccanico.
None
doc-3756
I computer Superscalari possono contenere più ALU, permettendo loro di elaborare più istruzioni contemporaneamente. I processori grafici e i computer con funzioni SIMD e MIMD spesso contengono ALU in grado di eseguire aritmetica su vettori e matrici.
None
doc-3741
In termini pratici, un programma per computer può essere solo qualche istruzione o estendersi a molti milioni di istruzioni, così come i programmi per elaboratori di testi e browser web, ad esempio. Un computer moderno tipico può eseguire miliardi di istruzioni al secondo (gigaflop) e raramente commette un errore per molti anni di funzionamento. Grandi programmi per computer costituiti da diversi milioni di istruzioni possono richiedere squadre di anni di programmatori per scrivere, e a causa della complessità del compito quasi certamente contenere errori.
None