INDICE SOMMARIO Prefazione ..................................................................... Pag. XIII CAPITOLO I INTRODUZIONE E ASPETTI STORICI 1.1. Introduzione ................................................................ Pag. 1 1.2. Aspetti storici .............................................................. » 7 1.2.1. Primi strumenti di calcolo .................................. » 7 1.2.2. Avvento dell’elaboratore .................................... » 10 1.2.3. Alan Turing e John Von Neumann ..................... » 13 1.3. Evoluzione dei sistemi di elaborazione ....................... » 14 1.4. Classificazione dei sistemi di elaborazione ................ » 18 1.5. Moderni sistemi operativi ........................................... » 21 1.5.1. Tipologie di sistemi operativi ............................. » 24 1.6. Le 5 C .......................................................................... » 26 CAPITOLO II RAPPRESENTAZIONE DELL’INFORMAZIONE SISTEMI NUMERICI E NON NUMERICI 2.1. Rappresentazione Digitale dell’Informazione ............ Pag. 27 2.2. Sistemi di numerazione – notazione posizionale ........ » 29 2.3. Rappresentazione numerica in Base p ........................ » 32 2.3.1. Rappresentazione numerica in Base 2 – Il sistema binario ....................................................... » 33 2.3.2. Elaborazione dell’informazione e codifica binaria ......................................................................... » 34 X INDICE SOMMARIO 2.3.3. Sintesi della rappresentazione numerica: Base 10 e Base 2 ........................................................... » 38 2.3.4. Rappresentazione numerica in Base 8 – Il sistema ottale .......................................................... » 38 2.3.5. Rappresentazione numerica in Base 16 – Il sistema esadecimale ............................................... » 40 2.4. Sistemi di numerazione – Conversione di Base .......... 2.4.1. Conversione da Base p a Base 10 » 42 » 42 2.4.2. Conversione da Base 10 a Base p ...................... » 43 2.4.3. Conversione da Sistema Binario a Sistema Ottale e Sistema Esadecimale …....…....................... » 47 2.4.4. Rappresentazione binaria dei numeri interi negativi .................................................................... » 48 2.5. Rappresentazione Modulo e Segno » 49 2.6. Rappresentazione in Complemento a Due .................. » 51 2.7. Operazioni semplici fra numeri binari ….................... » 53 2.7.1. Somma di numeri binari interi …........................ » 53 2.7.2. Overflow ............................................................. » 53 2.7.3. Sottrazione di numeri binari interi ..................... » 54 2.7.4. Moltiplicazione di numeri binari interi .............. » 56 2.7.5. Divisione di numeri binari interi ........................ » 56 2.8. Rappresentazione Floating Point ................................ » 57 2.9. Rappresentazione dell’informazione testuale ............. » 62 2.10. Rappresentazione delle immagini ............................. » 64 2.11. Rappresentazione del suono ...................................... » 71 2.12. Algebra di Boole ....................................................... » 73 CAPITOLO III ELEMENTI DI ANALISI E DISEGNO DEGLI ALGORITMI 3.1. Concetto di problema e risoluzione .......................... Pag. 81 3.2. Concetto di Algoritmo .............................................. » 84 3.2.1. Algoritmi: proprietà ........................................ » 85 XI INDICE SOMMARIO 3.2.2. Concetto di Dato .............................................. » 88 3.3. Rappresemntazione degli algoritmi .......................... » 89 3.3.1. Esempio di algoritmo ...................................... » 91 3.3.2. Flusso di Controllo .......................................... » 95 3.4. Una base metodologica nell’analisi del problema ... » 105 4.1. Dati e Strutture Dati .................................................. Pag. 109 4.2. Strutture Dati astratte ................................................ » 113 4.2.1. Array ................................................................. » 113 4.2.2. Record ............................................................... » 117 4.2.3. Lista Concatenata ............................................. » 118 4.2.4. Grafi ed Alberi .................................................. » 123 4.3. Aspetti Software ........................................................ » 130 4.3.1. Linguaggi di Programmazione ......................... » 132 4.3.2. Linguaggi di Programmazione a Basso Livello » 133 4.3.3. Fasi di Traduzione dei Programmi .................. » 135 4.3.4. Linguaggi di Programmazione ad Alto Livello » 141 4.3.5. Paradigmi di Programmazione ........................ » 149 Pag. 153 5.1.1. Principi di funzionamento ................................ » 157 5.1.2. Evoluzione ed alternative al Modello Von Neumann ............................................................ » 159 5.2. Fasi di esecuzione delle istruzioni ............................. » 159 5.3. Memorizzazione delle Informazioni ......................... » 163 CAPITOLO IV STRUTTURE DATI E ASPETTI SOFTWARE CAPITOLO V ARCHITETTURA DEL SISTEMA DI ELABORAZIONE IL MODELLO VON NEUMANN 5.1. Modello di Von Neumann …..................................... XII INDICE SOMMARIO 5.3.1. Memoria principale .......................................... » 164 5.3.2. Memoria RAM e memoria ROM ....................... » 166 5.3.3. Memoria Cache e Memoria Virtuale ................ » 169 5.3.4. Memoria Secondaria ........................................ » 171 5.4. Clock di Sistema ........................................................ » 181 5.5. Registri della CPU …................................................. » 183 5.6. ALU …....................................................................... » 184 5.7. BUS …....................................................................... » 185 5.8. Sottosistema di Input/Output ..................................... » 188 6.1. Software di sistema e sistema operativo (SO) ........ Pag. 195 6.2. Processi e sincronizzazione ..................................... » 197 6.3. Gestione della memoria ............................................. » 202 6.4. File system e file ....................................................... » 209 6.4.1. File e attributi ................................................... » 210 6.4.2. File e metodi di accesso ................................... » 212 6.4.3. File – Organizzazione gerarchica. ................... » 213 6.5. Gestione dei dispositivi di I/O ................................... » 214 6.6. Interprete dei comandi ............................................... » 6.7. Avvio del sistema – Bootstrap .................................. » 217 218 Bibliografia essenziale ..................................................... » 221 CAPITOLO VI IL SISTEMA OPERATIVO PRINCÌPI E CONCETTI