Il software
Transcript
Il software
Simonotti Graziano Classe I IL SOFTWARE Il computer, sostanzialmente, è composto da due parti: COMPUTER Hardware Software L’hardware è formato da tutte le componenti rigide del computer delle quali circa il 90% è costituito da circuiti elettrici. Tuttavia l’hardware da solo non sarebbe in grado di svolgere alcuna operazione deve cioè essere “istruito” sui compiti che da eseguire. A questo punto c’è bisogno del software che “istruisca” l’hardware sulle operazioni che deve compiere. Il software comprende sia i dati che i programmi. Per quanto riguarda i programmi possiamo suddividere il software in due categorie Software Di base Android MS-DOS Windows Linux IOS OS X YOSENITE Applicativo Giochi Browser Editor di testi Spreadsheed Data base Come ragiona un computer Dato che un computer è uno strumento composto da circuiti elettronici gli unici valori che è in grado di leggere sono “acceso” e “spento”. In termini matematici avremo 0 per indicare che non vi è passaggio di corrente (spento) e 1 per indicare il passaggio di corrente. I valori 0 e 1 indicano la più piccola quantità di informazione che può ricevere un computer. Il software pagina 1 di 5 Simonotti Graziano Classe I Definizione di bit Il termine bit (binary digit) indica la più piccola quantità di informazione che un computer è in grado di ricevere. Prendiamo in considerazione un circuito composto da un interruttore e da una lampadina. Quando l’interruttore è su off (0) la lampadina è spenta mentre quando l’interruttore è su on (1) la lampadina è accesa. Supponiamo ora di aggiungere al circuito un altro interruttore e un’altra lampadina. In questo caso possiamo avere: Lampadina 1 Spenta Spenta Accesa Accesa Lampadina 2 Spenta Accesa Spenta Accesa Quindi gli stati possibili sono quattro, cioè 22. Se ogni lampadina equivale ad un bit risulta evidente che più bit si hanno a disposizione maggiori saranno i valori che si possono rappresentare. Dopo diversi studi si è deciso di utilizzare 8 bit, o i suoi multipli, per rappresentare l’informazione. A questa combinazione di bit è stato dato il nome di Byte. Quindi se con un bit posso rappresentare solo i numeri 0 e 1 con un Byte posso rappresentare 256 valori. La seguente tabella indica tutti i multipli del bit. Multipli del bit Nome Bit Byte Kilo byte Mega byte Giga byte Tera byte Peta byte Simbolo b B KB MB GB TB PB Potenza di 2 20 23 210 210 210 210 210 Equivale a 0 o 1 8 b 1024 B 1024 KB 1024 MB 1024 GB 1024 TB Risalendo la scala dei valori e usando le proprietà delle potenze notiamo che 1PB equivale a 253 bit. . . . . . (9 007 199 255 000 000 bit). Il software pagina 2 di 5 Simonotti Graziano Classe I La rappresentazione delle lettere e dei simboli Per rappresentare le lettere dell’alfabeto e i simboli in forma binaria non bisogna effettuare calcoli ma bisogna usare delle tabelle standard di conversione (tabelle di codifica) in cui ad ogni simbolo viene associato un codice binario. Le tabelle di codifica maggiormente utilizzate sono: ASCII (American Standard Code for Information Interchange) che utilizza 8 bit. Quindi con questo tipo di codifica si possono rappresentare 256 simboli diversi; UNICODE che utilizza 17 piani (plane)ciascuno dei quali rappresenta i simboli usando 16 bit. In pratica con questa tabella è possibile rappresentare 216x17=1114112 simboli. I codici vengono assegnati tenendo conto delle appartenenze linguistiche o logiche. Tgra gli insiemi di caratteri figurano anche i simboli grafici e matematici. Ogni gruppo viene detto blocco. Il primo plane si chiama BMP (Basic Multilingual Plane) e contiene i caratteri per quasi tutti i linguaggi moderni più l’insieme dei caratteri speciali. Nota: le lettere maiuscole e minuscole hanno rappresentazioni diverse in tabella. Nota: lo spazio viene considerato, nelle tabelle di conversione, come un simbolo. I linguaggi di programmazione I programmi vengono realizzati utilizzando degli appositi linguaggi di programmazione. I linguaggi di programmazione si dividono in: Linguaggi a basso livello: sono anche detti linguaggi Assembly o linguaggi macchina perché sono gli unici che l’hardware è in grado di eseguire. Le istruzioni di questo tipo di linguaggio sono scritte con pochi simboli mnemonici e con valori esadecimali (cioè in base 16) che sostituiscono, per comodìtà di rappresentazione, i valori binari. Linguaggi a medio livello: sono linguaggi di programmazione molto simili a quelli ad alto livello Il software pagina 3 di 5 Simonotti Graziano Classe I ma che presentano anche istruzioni che operano direttamente a basso livello. Linguaggi ad alto livello: sono linguaggi artificiali (creati cioè dall’uomo) le cui istruzioni sono scritte utilizzando i verbi e i termini dei linguaggi naturali. Il linguaggio naturale da cui si attinge per scrivere le istruzioni di un linguaggio ad alto livello è generalmente la lingua inglese. Si pone ora il problema di dover trasformare un linguaggio ad alto livello nel suo equivalente (cioè che faccia le stesse cose). Tesi di Church Tutti i programmi scritti utilizzando un linguaggio di programmazione si posso scrivere utilizzando un altro linguaggio di programmazione. In base alla tesi Church è quindi possibile trasformare un programma scritto utilizzando un linguaggio ad alto livello nel suo equivalente di basso livello. Questa operazione si realizza utilizzando due tipi di software che seguono: Interprete: come un interprete del linguaggio naturale traduce parola per parola le frasi da un linguaggio ad un altro, questo software traduce le istruzioni di un linguaggio ad alto livello istruzione dopo istruzione. È importante osservare che l’esecuzione di un programma scritto con un linguaggio ad alto livello che viene interpretato richiede una traduzione ogni volta che viene eseguito. (100 esecuzioni richiedono 100 interpretazioni). Compilatore: il programma sorgente, scritto utilizzando un linguaggio di programmazione ad alto livello, viene trasformato in un programma eseguibile con una traduzione globale. In pratica la compilazione equivale alla traduzione di un libro scritto utilizzando un certo linguaggio, nel suo equivalente in un altro linguaggio. La compilazione del programma scritto utilizzando un linguaggio ad alto livello avviene una sola volta. (100 esecuzioni richiedono 1 sola compilazione) Il software pagina 4 di 5 Simonotti Graziano Classe I Attualmente si utilizzano linguaggi di programmazione ad alto livello compilati perché non costringono gli utenti all’acquisto del programma di compilazione vendendo solo il codice eseguibile. Riassumendo abbiamo un software che ha come dato di ingresso un programma scritto con un linguaggio di programmazione ad alto livello e lo trasforma nel suo equivalente (dato di uscita) nel linguaggio a basso livello. Il software pagina 5 di 5