
























Studia grazie alle numerose risorse presenti su Docsity
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Prepara i tuoi esami
Studia grazie alle numerose risorse presenti su Docsity
Prepara i tuoi esami con i documenti condivisi da studenti come te su Docsity
Trova i documenti specifici per gli esami della tua università
Preparati con lezioni e prove svolte basate sui programmi universitari!
Rispondi a reali domande d’esame e scopri la tua preparazione
Riassumi i tuoi documenti, fagli domande, convertili in quiz e mappe concettuali
Studia con prove svolte, tesine e consigli utili
Togliti ogni dubbio leggendo le risposte alle domande fatte da altri studenti come te
Esplora i documenti più scaricati per gli argomenti di studio più popolari
Ottieni i punti per scaricare
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Sintesi di elementi di informatica e programmazione (suite e websuite di office automation, codifica non numerica, hardware, virtualizzazione, paradigmi applicativi, reti, modello ISO/OSI, modello TCP/IP
Tipologia: Sintesi del corso
1 / 32
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!

























Software : elemento con cui il computer riesce a risolvere il particolare problema per cui un determinato programma è stato progettato. Applicazioni desktop : applicazioni installate all’interno del disco fisso del PC. Web-applicazioni : applicazioni che non risiedono fisicamente sulle macchine dove vengono utilizzate, ma su server remoti. La loro interfaccia (front-end) è costituita da un semplice browser (Chrome, internet explorer, ecc), quindi esse sono utilizzabili online, sfruttando le capacità grafiche ed applicative dei browser. Front-end/Interfaccia : componente di un software che gestisce la comunicazione con l’utente, quindi si tratta della modalità con cui un programma comunica. Salvataggio : tutte le informazioni prodotte vengono salvate su una periferica di massa (es. Hard disk) per poter essere recuperate successivamente. Formato di salvataggio : modalità utilizzata da un’applicazione per registrare dati all’interno del suo file, ovvero per salvarli. Per leggere il contenuto di un determinato file, il programma deve conoscere il formato. Nativo : formato di salvataggio predefinito di un’applicazione. Portabile : formato che risulta leggibile da molti programmi. Importazione : funzione che consente ad una applicazione di leggere un formato non suo (non nativo). Estensione : sequenza di caratteri situata dopo l’ultimo punto all’interno del nome di un file. Esso è il metodo utilizzato da Windows per identificare il formato di un file. Open Source : applicazione il cui codice sorgente è disponibile gratuitamente a chiunque. Codice sorgente (di un programma): sequenza di istruzioni, scritte con linguaggio di programmazione, che definisce come operano le funzioni disponibili in un software. Si tratta della codifica di un algoritmo in un linguaggio di programmazione. Il nome “sorgente” è dovuto al fatto che il codice rappresenta il punto di partenza di tutto il processo di esecuzione del programma. Chi possiede il codice sorgente di un programma è in grado di modificarne i comportamenti. XML : metalinguaggio (ovvero un linguaggio utilizzato per creare nuovi linguaggi) usato per descrivere documenti strutturati. É utilizzato, inoltre, come mezzo per trasferire dei dati tra diversi archivi. Algoritmo : sequenza di istruzioni, umanamente comprensibili, che consentono la risoluzione di un problema. Di solito, viene rappresentato graficamente attraverso diagrammi di flusso. Server : componente hardware o software che eroga un servizio. Client : componente hardware o software che usufruisce dei servizi offerti da un server. Intranet : impiego dei medesimi servizi disponibili in Internet ma circoscritti all’interno di una rete locale (es. servizio di posta locale disponibile solo all’interno dell’azienda). Disco cloud : disco remoto che risulta accessibile online tramite una connessione Internet. Cloud storage : servizio che mette a disposizione spazio online in internet per archiviare documenti (es. disco cloud).
Cloud computing : paradigma di erogazione che consente di utilizzare online risorse informatiche sia hardware che software, il cui impiego è offerto come servizio. File hosting : servizio che permette di archiviare i propri file su un server (locale o remoto). File sharing : servizio che permette di condividere con altri utenti i file registrati su un server. Backup : copia di sicurezza dei propri documenti, così da poterli recuperare in caso di perdita o rottura del sistema. SUITE DI OFFICE AUTOMATION: Suite di Office Automation : insieme di applicazioni che consentono la creazione di contenuti come documenti di testo, presentazioni, archivi, schemi di calcolo, etc. Queste applicazioni offrono, in genere, queste funzionalità: videoscrittura, foglio di calcolo, presentazioni, grafica, gestione archivi e comunicazione. Ogni applicazione di una suite gestisce oggetti differenti, a cui a loro volta vengono assegnate proprietà specifiche: Videoscrittura: 1) pagine: margini, dimensioni del foglio, orientamento, numero di colonne
dal prodotto microsoft è la loro funzionalità che permette di collegare in sequenza i box testuali consentendo al testo in eccesso di fluire automaticamente verso i box successivi. I suoi files hanno estensione .pub. Si avvia dal menù con il comando mspub. Pianificazione: PROJECT , applicazione che si adopera per la gestione e il controllo delle attività necessarie alla realizzazione di un progetto (sforzo limitato nel tempo, con una data di inizio e una di fine, diretto a creare nuovi risultati, il quale quindi si differenzia dai processi operativi aziendali permanenti). Questo programma offre strumenti per ottimizzare le risorse e per non trascendere i vincoli del progetto (costi, tempi, qualità dei risultati, etc). La versione standard di Project è destinata a piccoli team o singoli collaboratori. La versione server permette la gestione di progetti più complessi, dove la forza lavoro può risultare distribuita anche a livello globale. La versione servente consente la creazione di un sito web dove si possono consultare i riepiloghi, i documenti, le attività e i calendari relativi al progetto.
iWork è la suite di produttività personale creata da Apple nel 2005. Essa include: PAGES : applicazione con funzionalità di videoscrittura e desktop publishing KEYNOTE : il software per le presentazioni NUMBERS : il foglio di calcolo
Apache OpenOffice è una suite per ufficio di tipo OpenSource che offre un buon livello di compatibilità con i formati di file di Microsoft Office, ma impiega come formati predefiniti quelli definiti dallo standard internazionale OpenDocument basato su XML. OpenOffice.org è utilizzabile liberamente, gratuitamente e legalmente in ogni contesto sia pubblico, privato, professionale o aziendale. Essa include: WRITER : l’applicazione di videoscrittura. I suoi file hanno estensione .odt. Si avvia dal menù esegui con il comando swriter. CALC : l’app per fogli di calcolo. I suoi file hanno estensione .ods. Si avvia dal menù esegui con il comando scalc. IMPRESS : la componente per le presentazioni. I suoi file hanno estensione .odp. Si avvia dal menù esegui con il comando simpress. BASE : il programma per database (gestione archivi). I suoi file hanno estensione .odb. Si avvia dal menù esegui con il comando sbase. DRAW : il software che consente la creazione di disegni in modalità vettoriale inseribili in qualsiasi documento prodotto con questa Suite. I suoi file hanno estensione .odg. Si avvia dal menù esegui con il comando sdraw. (In Microsoft Office questa funzionalità è fornita dalla componente “Forme”) MATH : l’app che consente la creazione di formule matematiche inseribili in qualsiasi documento prodotto con questa Suite. I suoi file hanno estensione .odf. Si avvia dal menù esegui con il comando smath.
(In Microsoft Office questa funzionalità è fornita dalla componente “Equation”)
LibreOffice è una suite per ufficio creata partendo dal codice sorgente di OpenOffice. È liberamente scaricabile e modificabile a proprio piacere, disponibile in ambiente Windows, Macintosh e Linux. I componenti di LibreOffice sono gli stessi di OpenOffice.org, da cui è derivato.
Star Office può essere considerata la versione a pagamento di OpenOffice. WEBSUITE DI OFFICE AUTOMATION: Attualmente internet fornisce dei servizi online, molto efficienti e gratuiti, che rientrano nelle suite di Office Automation. Solitamente queste Web-App necessitano dell’ultima versione del client http (cioè il browser).
Google Docs è la suite offerta da Google come parte del servizio Google Drive. I file creati con questa suite vengono salvati sul disco cloud Google Drive. Le applicazioni disponibili sono compatibili con i formati di Microsoft Office: GOOGLE DOCUMENTI : elaboratore testi (word processor). GOOGLE FOGLI : foglio elettronico (spreadsheet). GOOGLE PRESENTAZIONI : programma di presentazione (presentation). GOOGLE MODULI : app che consente la creazione di sondaggi, quiz e la raccolta di dati online. GOOGLE DISEGNI : programma di disegno vettoriale per creare flow chart e diagrammi. GMAIL : web client di posta (gratuito) con un ampio spazio di archiviazione per messaggi inviati e ricevuti. Le singole componenti della suite sono disponibili come: applicazioni web, applicazioni di Chrome (anche offline), applicazioni per dispositivi (portatili per Android e iOS). L’indirizzo di Google Docs è: https://docs.google.com. GOOGLE DRIVE è un servizio di memorizzazione e sincronizzazione online introdotto da Google nel 2012, che comprende il file hosting, il file sharing e la modifica collaborativa dei documenti mediante le app della suite Google Docs. Questo servizio è disponibile sia online che tramite un’applicazione desktop (installata sul computer) che sincronizza automaticamente la cartella locale sul pc con quella condivisa nel cloud.
Office (versione online) è la web suite di office automation offerta dalla Microsoft, che consente la creazione e la modifica di files utilizzando versioni ridotte delle seguenti app di Microsoft Office: Word , Excel , PowerPoint , Outlook , OneNote. Queste applicazioni “girano” all’interno di un browser.
Molte applicazioni informatiche elaborano testi composti da caratteri e simboli. I calcolatori codificano questi caratteri tramite sequenze binarie. Per scambiare dati di tipo testuale occorre utilizzare una codifica standard. ASCII : (American Standard Code for Information Interchange) codice standard più diffuso per la codifica dei caratteri. Utilizza 1 byte quindi codifica al max 256 simboli differenti: caratteri alfabetici (min e maiusc), numeri (cifre), caratteri speciali (segni di punteggiatura, etc). I caratteri di controllo corrispondono alle codifiche da 0 a 31. I restanti simboli si dicono stampabili. STRINGHE : sequenze di caratteri. Avvento di internet e globalizzazione introduzione NUOVE CODIFICHE ALTERNATIVE : per rappresentare i simboli di alfabeti diversi. UNICODE : sistema di codifica più utilizzato per la rappresentazione dei testi. Assegna un numero univoco per ogni simbolo indipendentemente dalla lingua, dalla piattaforma utilizzata e dal programma utilizzato. Utilizza 21 bit quindi codifica circa un milione di simboli differenti.
Esistono varie codifiche per rappresentare i colori. Solitamente si utilizzano come riferimento le gradazioni dei colori primari.
Il modello HSB si ottiene da una trasformazione non lineare che cambia lo spazio dei colori RGB (da cubo a cilindro/cono). Il solido piramidale ottenuto è caratterizzato da 2 coordinate lineari (B e S) e una angolare H. Derivando dal metodo RGB, HSB è un modello di tipo additivo devide-dependent. La tonalità specifica il colore puro (singola lunghezza d’onda) tra quelli presenti nello spettro della luce visibile dall’occhio umano. È descritta da un numero tra 0 e 360 gradi (0/360=rosso). La saturazione rappresenta la quantità di colore. I valori vanno da 0 (assenza di colore) a 1 (colore pieno). Una tinta molto satura ha un colore vivace. Invece, quando si azzera la saturazione, si ottiene una tonalità di grigio. La desaturazione di una foto digitale è una tecnica con cui si può rappresentare un’immagine a colori in una in bianco e nero. La brillanza esprime la quantità totale di luce emessa da una sorgente luminosa o da una superficie riflettente. Il modello HSB è utilizzato da software come Photoshop o Illustrator per visualizzare il colore sul pannello “selettore colore” (in termini di tinta, sfumatura e tono). CODIFICA LAB : sigla di Luminance e A e B che sono le componenti cromatiche. La componente A si estende dal verde al rosso, mentre la B da blu a giallo. Copre l’intero spettro visibile all’occhio umano. Rappresenta la totalità dei colori di RGB e CYMK. Software come Photoshop utilizzano LAB per passare da un modello all’altro. GAMUT di un modello di colore: insieme di tutti i colori descrivibili da quel particolare modello. Il gamut del modello LAB rappresenta tutte le cromacità percepibili dall’occhio umano (manca la luminanza).
IMMAGINE : insieme continuo di informazioni (luce, colore) in due dimensioni. Dato che in un calcolatore il numero di bit è predeterminato, le dimensioni della memoria sono limitate e il numero di operazioni elementari è finito, è necessario ricorrere ad un processo di discretizzazione delle immagini che consiste nel suddividere l’immagine in un reticolo di punti detti PIXEL. Ogni singolo pixel è rappresentato con la codifica del suo colore. RISOLUZIONE : numero dei punti della griglia di scomposizione. RISOLUZIONE DELL’IMMAGINE : numero di pixel presenti, espressi in termini di larghezzaaltezza (WH). PROFONDITÀ : numero di bit utilizzato per rappresentare il colore di un singolo pixel (es. immagine RGB pura ha una profondità di colore pari a 24 bit). DENSITÀ : viene espressa in dpi ovvero in numero di punti per pollice lineare. BITMAP / RASTER : immagine composta da una griglia di pixel. : numero di bit (profondità). Le immagini bitmap non possono essere ingrandite a piacere poiché, ad un certo punto, iniziano a distinguersi i singoli pixel. Una risoluzione più alta richiede maggior spazio di memoria. Ad ogni pixel si associa un colore mediante un numero k di bit (2k^ possibili sfumature). Se si utilizzano 2 bit, si possono gestire fino a 4 colori. Se si assegna un solo bit si ottengono immagini monocromatiche. Le diverse codifiche del colore influenzano la quantità di informazioni e quindi la dimensione del file. La quantità di bit richiesti per memorizzare un’immagine dipende sia dalla risoluzione che dalla profondità (WHk).
PALETTE : tabella numerica che funge da tavolozza contenente solo i colori realmente presenti all’interno dell’immagine. Tecnica efficace per ridurre l’occupazione di memoria. Ogni pixel può essere codificato con il numero che identifica la posizione del colore RGB all’interno della palette. Ogni immagine così organizzata deve essere necessariamente accompagnata dalla corrispondente palette. Una rappresentazione di questo tipo si dice RGB INDICIZZATA. Per memorizzare questo tipo di immagine servono una quantità di bit definita dalla formula: WHk
FORMATI RASTER : formati standard disponibili con cui le immagini possono essere salvate. JPEG (.jpg): standard utilizzato per immagini fotografiche. Utilizza una compressione di tipo lossy , per cui elimina alcuni pixel per diminuire la dimensione e poi li ricostruisce in fase di decompressione. I pixel eliminati sono quelli meno percettibili all’occhio umano (quando 2 pixel variano minimamente nel colore, JPEG ne conserva solo uno). Il metodo di compressione è parametrizzabile, cioè la quantità di pixel da eliminare può essere indicata dall’utente. Questo formato è adatto per comprimere immagini destinate ad esseri umani e non a computer. GIF : formato adatto sui disegni “al tratto” sia in bianco e nero che a colori. Supporta al massimo 256 colori, quindi non è adatto a immagini fotografiche o che presentano numerose sfumature. GIF è migliore per disegni al tratto, logo e fumetti. Questo formato supporta la trasparenza, l’interlacciamento (tecnica di visualizzazione che costruisce l’immagine componendola progressivamente in righe e colonne alterne in modo da presentare immediatamente un’anteprima poco definita ma interpretabile che via via diventa sempre più chiara) e l’animazione. Utilizza una compressione LZW , di tipo lossless ovvero che non deteriora l’immagine. Le società Unisys, IBM e Compuserve condividono i diritti di GIF. BITMAP (.bmp): è il più vecchio tra i formati grafici. Supporta il formato di compressione RLE (uno dei primi) e una profondità di 1, 4, 8, 24 bit. BITMAP sostituisce una sequenza di elementi consecutivi identici (quindi una zona di colore uniforme) con una sola istanza di quell’elemento preceduta da un carattere speciale (che consente di distinguere un elemento normale da uno compresso) seguito dalla lunghezza della sequenza. RLE sostituisce le sequenze composte da almeno 3 caratteri consecutivi identici. Questo metodo funziona bene solo con immagini con pochi colori distribuiti in modo uniforme. È poco utilizzato a causa del basso livello di compressione ottenibile. TIFF : questo metodo ha una profondità di colore di 8 o 16 bit per ognuno dei tre colori primari. L’immagine che ne risulta ha una profondità totale di 24 o 48 bit, con una resa finale senza pari ma con un’elevata dimensione del file. Grazie al risultato ottimale, questo formato è utilizzato ampiamente nell’ambito fotografico professionale. Utilizza l’algoritmo di compressione LZW. Un file TIFF può contenere immagini divise su più pagine (videate). PNG (.png): Portable Network Graphic è l’erede Open Source dei file GIF. Supporta colori con profondità fino a 48 bit (True Color) con uno spettro che copre tutti i colori visibili all’occhio umano. Comprime le immagini senza perdita di informazioni, producendo file di dimensioni inferiori al GIF. Non è in grado di raggiungere, però, l’efficienza del formato JPEG. Il formato PNG supporta la trasparenza, l’interlacciamento ma non l’animazione. Inoltre, questo metodo offre la possibilità di eseguire ricerche sulle immagini.
RAPPRESENTAZIONE DI IMMAGINI IN MOVIMENTO : sequenza di un numero abbastanza elevato di fotogrammi per far si che l’occhio umano percepisca la sequenza come un movimento continuo. MODALITÀ DI MEMORIZZAZIONE : metodo con cui si codifica solo le differenze tra un fotogramma e l’altro. VETTORE MOVIMENTO : utilizzato per informare esattamente il decoder su dove posizionare i dati rispetto all’immagine precedente o successiva. Questo vettore è nullo nelle immagini statiche. MPEG : Motion Picture Expert Group. Si tratta di una compressione con perdita permanente di qualità sia video che audio. Il primo livello applica ad ogni frame la classica compressione JPEG. Al secondo livello si rimuove la ridondanza tra i fotogrammi posti in sequenza.
SUONO : alterazione della pressione dell’aria che dall’orecchio umano viene trasformata in un particolare stimolo al cervello. Le grandezze fisiche che rendono un suono diverso dall’altro sono: durata, intensità e variazione nel tempo della pressione. PRESSIONE : l’onda di pressione può essere raffigurata sul piano cartesiano rappresentando il tempo sull’asse delle ascisse e la pressione sull’asse delle ordinate. Per rappresentare in forma digitale un’onda sonora occorre campionare il segnale e quantizzare i risultati. MP3 : tecnica di compressione dell’audio (12:1). Filtra un brano musicale digitale ed elimina tutte le informazioni non necessarie riducendone lo spazio. La codifica MP3 si basa su tre fattori: percezione uditiva, mascheramento (sovrapposizione di suoni deboli con suoni alti) e Joint Stereo (al di sotto di una certa frequenza, l’orecchio umano non percepisce la posizione spaziale e quindi questi suoni vengono registrati con un unico canale). ENCODER MP3 : programma che analizza un file audio digitale non compresso e lo trasforma in MP3. I dati ottenuti vengono compressi secondo la codifica di Huffmann che assegna codifiche più brevi ai segni più frequenti, così da incidere meno nella memorizzazione di dati. RANGE FREQUENZE : l’orecchio umano, nonostante sia in grado di riconoscere una banda più ampia di suoni (da 20 Hz a 20000 Hz), risulta più sensibile alle frequenze tra i 700 e i 6000 Hz (dove risiedono le informazioni utili).
Modello su cui si basano la maggior parte dei moderni computer. È costituito da quattro elementi funzionali:
ovvero che rappresentano la memoria a breve termine, sono composti da un numero fisso di bit (32 o 64), contengono gli operandi e salvano il risultato di un’istruzione. SPECIALI, ovvero che registrano operazioni specifiche:
CACHE HIT : dato subito disponibile in cache, senza dover ricorrere alla memoria centrale. ARCHITETTURA HARVARD : modello architetturale utilizzato all’interno della CPU, che permette a quest’ultima di accedere in modo indipendente a dati e istruzioni (dato che sono caricati su due memorie diverse e che quindi utilizzano due bus distinti). Grazie a questa architettura, si possono eseguire questi due compiti contemporaneamente.
Tb = Terabyte Pb = Petabyte Eb = Exabyte Zb = Zettabyte Yb = Yottabyte
MEMORIA DI MASSA : memoria utilizzata da un elaboratore per immagazzinare i programmi. Le caratteristiche di queste memorie sono: non volatilità (non vengono persi perché memorizzati in forma magnetica o ottica, non elettronica), grande capacità, bassi costi (costo per bit inferiore), minore velocità di accesso. Inoltre, i dati contenuti su una memoria secondaria devono comunque transitare nella memoria centrale prima di essere utilizzati dal processore. La memoria di massa rappresenta la biblioteca del calcolatore e contiene tutti i programmi e i dati disponibili mentre la memoria centrale è utilizzata per i programmi in esecuzione e i loro dati. Le memorie di massa utilizzano tecnologie magnetiche, ottiche ed elettroniche. DISCO MAGNETICO : composto da uno o più piatti di alluminio rotanti ricoperti di materiale magnetico. Su ogni piatto è presente una testina che permette la lettura o la scrittura dei dati (memorizzati sottoforma di stati di polarizzazione positiva o negativa). Ciascun piatto è composto da due facce, ciascuna delle quali è divisa in cerchi concentrici (tracce) dove è memorizzata l’informazione. Ogni faccia è suddivisa in settori. Un cilindro è l’insieme delle tracce poste alla stessa distanza dal centro. L’insieme dei settori posizionati allo stesso modo su ogni piatto si dice blocco. Questa struttura permette di identificare ciascun settore di traccia mediante una combinazione (coordinata CHS). Una volta acceso l’Hard disk, i dischi iniziano a girare ad una velocità di rotazione costante. Il tempo di accesso è la somma dei seguenti valori: SEEK TIME : tempo di posizionamento della testina sulla traccia. LATENCY TIME : tempo di attesa prima che il settore passi sotto la testina. TRANSFER TIME : tempo necessario per completare l’operazione di lettura e scrittura. DISCO OTTICO : i dati sono organizzati su un unico percorso a spirale dal centro alla periferia. L’informazione su questi dischi viene registrata rendendo opache o lucide (pit e land che corrispondo a 0 o 1) zone microscopiche di una pellicola in alluminio. La scrittura avviene tramite un raggio laser ad alta intensità. Per leggere, invece, un altro laser individua come bit a 0 le aree senza riflessione e a 1 quelle riflettenti (es. CD-ROM, DVD). SUPPORTI A TECNOLOGIA FLASH : PEN DRIVE : capacità di memorizzazione limitata. MEMORIE FLASH : utilizzate per macchine fotografiche digitali, riproduttori MP3. Sono memorie elettroniche riscrivibili non volatili. DISCHI A STATO SOLIDO (SSD) : memoria di massa basata su chip di memoria flash. Garantiscono prestazioni elevate.
Tramite le interfacce l’unità centrale di un sistema di elaborazione comunica con le sue periferiche. PERIFERICHE : dispositivi che permettono lo scambio di informazioni tra elaboratore e mondo esterno o la memorizzazione di grandi quantità di dati. Possono essere:
CASE : contenitore che accoglie la maggior parte dei componenti hardware di un computer. PROCESSORE CISC : tipologia di processori, in auge fino agli anni 80, caratterizzata da istruzioni macchina che svolgono operazioni complesse. Il codice CISC risulta quindi molto compatto e basta poca memoria a contenerlo. PROCESSORE RISC : processori composti da istruzioni macchina che eseguono operazioni estremamente semplici. Tutte le istruzioni hanno praticamente un tempo di esecuzione identico, solitamente breve che permette un aumento del clock e miglioramento della performance. Questa tipologia di processori è adatta ad essere programmata con linguaggi ad alto livello che poi, opportuni programmi ( COMPILATORI ), traducono in linguaggio macchina. GPU : processore grafico, tipologia particolare di coprocessore specializzata nel rendering di immagini grafiche (in gioco soprattutto nel 3D). ENIAC : primi computer della storia che, per essere programmate, richiedevano modifiche fisiche e non il caricamento di un programma in memoria centrale. Infatti nell’eniac un programma era rappresentato da una serie di cavi posizionati opportunamente.
LINGUAGGIO MACCHINA : linguaggio del microprocessore. PROGRAMMA ESEGUIBILE : programma costituito da una sequenza di istruzioni macchina che vengono interpretate ed eseguite direttamente dal microprocessore. Si presenta come una sequenza di 0 e 1 (codifica binaria). Un programma è specifico per una CPU specifica. Per utilizzarlo su diverse piattaforme hardware (o processori differenti) è necessario svilupparne diverse versioni ( PORTING ) attraverso:
- LINGUAGGIO ASSEMBLY : modalità per una scrittura più agevole dei programmi grazie alla maggior leggibilità del codice. Attualmente utilizzato solo quando
bisogna creare applicazioni estremamente veloci o nella programmazione dei microcontrollori (PIC), dove il sistema operativo è inesistente o quasi. ASSEMBLATORE : programma che effettua la traduzione.
- LINGUAGGI AD ALTO LIVELLO : umanamente più comprensibili e compatti, hanno semplificato lo sviluppo delle applicazioni. Sono incomprensibili per il microprocessore per cui si utilizza il COMPILATORE , programma che traduca le istruzioni ad alto livello in linguaggio macchina (linguaggio a basso livello). - API DEL SISTEMA (DLL in windows): funzioni del sistema operativo che rendono disponibili alcuni servizi che possono essere utilizzati dalle applicazioni senza sia necessario svilupparne uno specifico codice. Inoltre le API (application programming interface) controllano gli accessi alle risorse hardware e regolamentano l’uso delle risorse imponendo delle direttive che garantiscono un elevato livello di sicurezza e la stabilità del sistema. La presenza delle API all’interno del codice eseguibile rende un’applicazione, sviluppata in un determinato sistema operativo, incompatibile con ambienti differenti anche quando l’hardware utilizzato è lo stesso. Nell’attuale panorama informatico, la portabilità di una applicazione è un elemento fondamentale per la sua diffusione e il suo successo. KEYLOGGER : dispositivo per registrare tutta l’attività di input dell’utente. VIRTUALIZZAZIONE : consiste nell’implementare per ogni piattaforma che si intende supportare un FRAMEWORK (o virtualizzatore): software che mette a disposizione un BITCODE : una sorta di codice macchina virtuale. Le applicazioni scritte con questo bitcode possono essere eseguite sul virtualizzatore e quindi essere usate su differenti sistemi operativi. Lo scopo della virtualizzazione è quello di limitare i costi necessari ad ottenere applicazioni portabili evitando di dover scrivere per ogni s.o. la versione nativa. Il bitcode può essere: - VIRTUALIZZAZIONE HARDWARE : riproduzione di un codice macchina reale, specifico di una CPU effettivamente esistente. Particolari software creano un pc virtuale (Virtual Machine) all’interno del pc fisico, il quale si comporta a tutti gli effetti come un pc su cui possiamo installare un sistema operativo diverso. Il software di virtualizzazione hardware presenta nel pannello di gestione l’elenco delle macchine virtuali disponibili. Dal punto di vista pratico questa virtualizzazione crea all’interno del pc delle finestre applicative nelle quali vengono eseguiti interi sistemi operativi. Le applicazioni non native vengono eseguite all’interno di una finestra dove è evidente che gira un altro sistema operativo ( OS GUEST ). In alcuni casi succede che OS HOST (ospitante) e OS GUEST si integrano fortemente fino a presentare le applicazioni scritte per altri sistemi come se fossero applicazioni native del computer fisico. PROGRAMMI DI V. HARDWARE: QEmu , Virtual Box , Microsoft Virtual Pc , Parallel Desktop e VMWare. HALT : messaggio che si riceve all’avvio della virtual machine se al suo interno non abbiamo installato nessun sistema operativo. VANTAGGI : utilizzare la Virtual Machine come sistema di test antivirus, diffusione di applicazioni. SVANTAGGI : richiede macchine potenti TERMINAL SERVER : la virtualizzazione hardware rappresenta il punto di partenza per questo paradigma applicativo. - VIRTUALIZZAZIONE SOFTWARE : linguaggio macchina inventato non riferibile ad alcuna architettura, quindi indipendente da qualsiasi sistema operativo. FRAMEWORK : strato software che consente la virtualizzazione software. PROGRAMMI DI V. SOFTWARE: Java e Flash. Sia la v. hardware che la v. software possono essere applicate anche in contesti WAN (come ad esempio per internet).