Universita degli studi di Napoli FedericoII Facoltà di Scienze MM FF NN Corso di laurea in informatica Studenti: Bonaiuto Bruna 566/316 Capano Fabrizio.

Slides:



Advertisements
Presentazioni simili
Traduzione ed Interpretazione
Advertisements

CONCLUSIONE - Nucleo (o Kernel) Interagisce direttamente con lhardware Interagisce direttamente con lhardware Si occupa dellesecuzione.
1 Introduzione ai calcolatori Parte II Software di base.
Il Software.
Gestione della memoria centrale
Digital FX!32 Conte Davide Crivello Emanuele Ferrando Elisa.
Interazione Uomo - Macchina
Modulo 1 – Ambiente di lavoro Windows 7
INTRODUZIONE Il framework.NET. Un po di storia Sin dalla prima versione del sistema operativo Windows (1990 circa), nacque la necessità di far comunicare.
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità A1 Introduzione a Java.
STRUTTURA DEL PERSONAL COMPUTER
Sistemi Operativi Menù: 1) Introduzione al sistema operativo
Il Sistema Operativo.
Massa Laura Mela Enrica
Time Sharing Il termine “Time Sharing” proviene dall'inglese e significa letteralmente “partizione di tempo”. Questa è una tecnica sviluppatasi negli.
Scheduling in Linux (Kernel 2.6)
Strutture dei Sistemi Operativi
INTRODUZIONE AI SISTEMI OPERATIVI
Anno Accademico Corso di Informatica Informatica per Scienze Biologiche e Biotecnologie Anno Accademico
Il Software: Obiettivi Programmare direttamente la macchina hardware è molto difficile: lutente dovrebbe conoscere lorganizzazione fisica del computer.
Introduzione allinformatica. Cosè linformatica ? Scienza della rappresentazione e dellelaborazione dellinformazione ovvero Studio degli algoritmi che.
Introduzione al linguaggio Java
Processi e Thread.
Le prestazioni (velocità) di un singolo disco sono limitate dalla tecnologia usata, -per aumentare le prestazioni si può pensare di far operare in parallelo.
Introduzione ai PLC.
Gestione di Progetti Software 2 (A.A. 2004/2005) - Lezione 2 1 JAVA: obiettivi di progetto del linguaggio Nota storica: Il linguaggio JAVA (inizialmente.
Struttura dei sistemi operativi (panoramica)
I Thread.
Software di base Il sistema operativo è un insieme di programmi che opera sul livello macchina e offre funzionalità di alto livello Es.organizzazione dei.
Linguaggi di programmazione
CAPITOLO 2 INTRODUZIONE AL LINGUAGGIO JAVA E ALL'AMBIENTE HOTJAVA.
FACOLTÁ DI INGEGNERIA CORSO DI LAUREA INGEGNERIA INFORMATICA Progetto e Sviluppo di un Algoritmo di Scheduling per il Sistema RTAI Candidato: Luca Marzario.
Sistemi Operativi GESTIONE DEI PROCESSI.
Fondamenti di Informatica1 Software di base Tra il linguaggio macchina (basso livello) e i linguaggi evoluti (alto livello) esiste uno strato di software.
UNIVERSITA’ STUDI DI ROMA “FORO ITALICO”
INTRODUZIONE l sistema operativo è il primo software che lutente utilizza quando accende il computer; 1)Viene caricato nella memoria RAM con loperazione.
Università Politecnica delle Marche
MODULO 01 Unità didattica 04
Modulo 1 - Hardware u.d. 3 (syllabus – 1.3.5)
PRESENTAZIONE di RICCARDO
Modulo 1 - Concetti di base della Tecnologia dell'Informazione
STRUTTURA GENERALE DI UN ELABORATORE
Software e sistema operativo 19-22/5/08 Informatica applicata B Cristina Bosco.
VIRTUALIZZAZIONE Docente: Marco Sechi Modulo 1.
Il Sistema Operativo (1)
Servizi Grid ed agenti mobili : un ambiente di sviluppo e delivering
Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
Insegnamento “Tecniche audiovisive” Corso di Laurea in Ingegneria delle Comunicazioni Symbian Marco Teodori Assistente Ricercatore - Fondazione Ugo Bordoni.
Sistema Operativo (Software di base)
Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
INTERFACCE Schede elettroniche che permettono al calcolatore di comunicare con le periferiche, che possono essere progettate e costruite in modo molto.
Tecnologie Informatiche ed Elettroniche per le Produzioni Animali (corso TIE) CORSO LAUREA MAGISTRALE IN SCIENZE E TECNOLOGIE DELLE PRODUZIONI ANIMALI.
TW Asp - Active Server Pages Nicola Gessa. TW Nicola Gessa Introduzione n Con l’acronimo ASP (Active Server Pages) si identifica NON un linguaggio di.
1 Sommario degli argomenti  Sistemi operativi: DOS, Unix/Linux,Windows  Word processors: Word  Fogli elettronici: Excel  Reti: TCP/IP, Internet, ftp,
Sistema operativo Il Sistema Operativo gestisce le risorse hw e sw del sistema di elaborazione Facilita l'interazione tra utente e sistema Esistono diversi.
Sistemi operativi di rete Ing. A. Stile – Ing. L. Marchesano – 1/18.
Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
Hardware Struttura fisica (architettura) del calcolatore formata da parti meccaniche, elettriche, elettroniche.
INTRODUZIONE AI SISTEMI OPERATIVI. Introduzione Il software può essere diviso un due grandi classi: Il software può essere diviso un due grandi classi:
I Sistemi Operativi. Definizione Per Sistemi Operativi (di seguito SO) si intendono quei pacchetti software, a loro volta costituiti da più sottoprogrammi.
Quante tipologie di computer esistono?
Architetture software
Architettura del computer Il computer menù I L C O M P U T E R Il computer, quindi, é una macchina programmabile, cioè una macchina che può essere utilizzata.
Il computer RAM: Unità di misura MByte e GByte MHz Processore: Unità di misura Singolo o multiprocessore 32/64 bit velocità GHz Mouse tastiera video stampante.
Programmazione orientata agli Oggetti Introduzione a Java.
1 Informatica di Base Facoltà di Lingue e Letterature Straniere Corso di laurea in Relazioni Pubbliche.
Hardware Struttura fisica (architettura) del calcolatore formata da parti meccaniche, elettriche, elettroniche.
Transcript della presentazione:

Universita degli studi di Napoli FedericoII Facoltà di Scienze MM FF NN Corso di laurea in informatica Studenti: Bonaiuto Bruna 566/316 Capano Fabrizio 566/1334

Seminario

Sistemi Operativi embedded I sistemi operativi per sistemi di elaborazione incorporati seguono i principi classici dei SO ma devono tener conto di particolari aspetti: Memoria limitata Velocità della cpu Schermi di piccole dimensioni

Sistemi Operativi embedded Memoria limitata La quantità di memoria di questi dispositivi varia da qualche mega a qualche decina di mega per questo motivo i sistemi operativi devono gestire la memoria in modo efficiente, assicurandosi che questa venga rilasciata al gestore della memoria ogni volta che non è più usata, oppure implementando tecniche di memoria virtuali. Inoltre è possibile realizzare un kernel estremamente contenuto che implementi solo i servizi strettamente necessari.

Sistemi Operativi embedded Velocità della cpu Le cpu integrate in questo tipo di sistemi sono più lente sia a causa della dimensione ridotta dei dispositivi sia perché cpu più veloci consumano più energia. Il sistema operativo deve essere progettato in modo da non gravare eccessivamente sulle cpu.

Sistemi Operativi embedded Schermi ridotti A causa delle dimensioni dello schermo, per consentire le diverse operazioni che ormai sono svolte da questi dispositivi (come la navigazione in rete, giochi e molto altro), i sistemi operativi devono gestire il layout delle immagini in modo efficiente.

Sistemi Operativi embedded Palm OS Palm OS Symbian OS Symbian OS Windows CE Windows CE Embedded Linux Embedded Linux Java Card Java Card

Sistemi Operativi : Palm OS Sistema operativo per palmari PDA(Personal Digital Assistant). Sistema operativo per palmari PDA(Personal Digital Assistant). Implementato su CPU Motorola a 16 bit Implementato su CPU Motorola a 16 bit Versione corrente : 5.2 con supporto Bluetooth e 65K colori per PDA/cellulari multimediali. Versione corrente : 5.2 con supporto Bluetooth e 65K colori per PDA/cellulari multimediali.

Sistemi Operativi : Palm OS

User Interface riguarda la gestione dellI/O grafico, e del menu. riguarda la gestione dellI/O grafico, e del menu. Memory Management Memory Management DB, runtime space, system space, variabili globali. DB, runtime space, system space, variabili globali.

Sistemi Operativi : Palm OS System Management: System Management: eventi, alarms, time, … eventi, alarms, time, … Communication Layer Communication Layer I/O seriale, TCP/IP, Infrared Data Association (IrDA). I/O seriale, TCP/IP, Infrared Data Association (IrDA).

Sistemi Operativi : Palm OS User management: SO single user. User management: SO single user. Dimensione: v 3.5 richiede circa 1.4 MBytes. Dimensione: v 3.5 richiede circa 1.4 MBytes. Task Management: una applicazione per volta con chiamate ad alte applicazioni. Palm OS è un sistema a single task guidato dagli eventi. Task Management: una applicazione per volta con chiamate ad alte applicazioni. Palm OS è un sistema a single task guidato dagli eventi. Power Management: tre stati (sleep, doze, running) Power Management: tre stati (sleep, doze, running)

Sistemi Operativi : Palm OS Memory Management: Memory Management: Le applicazioni non sono separate (una applicazione può causare il crash del sistema). Le applicazioni non sono separate (una applicazione può causare il crash del sistema). Il file system tradizionale è sostituito da un insieme di database gestiti da un Database Manager Il file system tradizionale è sostituito da un insieme di database gestiti da un Database Manager

Sistemi Operativi : Palm OS La memoria è separata in: La memoria è separata in: Dynamic heap: dimensione tra 64Kb e 256Kb e serve a contenere le variabili globali, lo stack, e la memoria allocata dinamicamente durante luso. Dynamic heap: dimensione tra 64Kb e 256Kb e serve a contenere le variabili globali, lo stack, e la memoria allocata dinamicamente durante luso. Storage: contiene dati permanenti (DB, files) Storage: contiene dati permanenti (DB, files) che non vanno cancellati allo spegnimento. che non vanno cancellati allo spegnimento.

Sistemi Operativi: Palm OS – Sviluppo SW Sviluppo del Software in C e C++. Esiste un Palm Emulator per sviluppare e fare il test delle applicazioni prima di eseguirle su Palm OS.

Sistemi Operativi: Symbian OS Creato come SO per telefonia mobile. Creato come SO per telefonia mobile. Attualmente sviluppato da Symbian. Attualmente sviluppato da Symbian. Usato in cellulari NOKIA e Sony Ericsson e su diversi processori (anche in emulazione). Usato in cellulari NOKIA e Sony Ericsson e su diversi processori (anche in emulazione). Caratteristiche: multi-tasking, real-time pre-emptive. Caratteristiche: multi-tasking, real-time pre-emptive.

Sistemi Operativi : Symbian OS

User management: SO single user. User management: SO single user. Task Management: microkernel real- time, multitasking con scheduling pre- emptive e con priorità. Task Management: microkernel real- time, multitasking con scheduling pre- emptive e con priorità.

Sistemi Operativi : Symbian OS Memory User interface: con interfaccia standard: grafica, suoni e tastiera. Memory User interface: con interfaccia standard: grafica, suoni e tastiera. Management: MMU con spazi di indirizzi separati per applicazioni. Management: MMU con spazi di indirizzi separati per applicazioni.

Sistemi Operativi : Symbian OS Sviluppo del Software in C++, Java e OPL (Basic-like). Sviluppo del Software in C++, Java e OPL (Basic-like). Esiste un Simulatore per sviluppare e fare il test delleapplicazioni prima di eseguirle su Symbian OS Esiste un Simulatore per sviluppare e fare il test delleapplicazioni prima di eseguirle su Symbian OS

Sistemi Operativi: Windows CE Windows CE è una versione di Windows sviluppata per sistemi mobili. Windows CE è una versione di Windows sviluppata per sistemi mobili. Il sistema va configurato per la specifica piattaforma (PDA, cellulare, altro) su cui deve essere usato. Basato su memoria ROM. Il sistema va configurato per la specifica piattaforma (PDA, cellulare, altro) su cui deve essere usato. Basato su memoria ROM. Ha linterfaccia tipica di Windows adattata per i display dei sistemi mobili. Ha linterfaccia tipica di Windows adattata per i display dei sistemi mobili.

Sistemi Operativi : Windows CE – Configurazione

Sistemi Operativi: Windows CE User management: SO single user. User management: SO single user. Task Management: Fino a 32 processi e un numero elevato di thread (limitato dalla memoria disponibile) Task Management: Fino a 32 processi e un numero elevato di thread (limitato dalla memoria disponibile)

Sistemi Operativi: Windows CE User Interface: icone, dialog boxes, menu, suoni (approccio alla Windows) User Interface: icone, dialog boxes, menu, suoni (approccio alla Windows) Memory Management: memoria protetta con 32 MB per processo, heap per file system, registry e object store (fino a 256 MB). Memory Management: memoria protetta con 32 MB per processo, heap per file system, registry e object store (fino a 256 MB).

Sistemi Operativi: Windows CE Dimensione: da 400 Kb (kernel) a 3 MB (sistema completo) fino a 8 MB. Dimensione: da 400 Kb (kernel) a 3 MB (sistema completo) fino a 8 MB. Security: Crittografia con una libreria per gestire i dati memorizzati in sicurezza. Memorizzazione sicura con smart card. Security: Crittografia con una libreria per gestire i dati memorizzati in sicurezza. Memorizzazione sicura con smart card. Ambienti Software: Visual C++, Visual Basic. Ambienti Software: Visual C++, Visual Basic.

Sistemi Operativi: Embedded Linux Versione di Linux per sistemi di elaborazione incorporati. Versione di Linux per sistemi di elaborazione incorporati. Architettura a microkernel. Funzioni e servizi compilabili nel kernel o generabili come moduli separati da caricare dinamicamente. Architettura a microkernel. Funzioni e servizi compilabili nel kernel o generabili come moduli separati da caricare dinamicamente. Ampia gamma di protocolli e servizi per il networking. Ampia gamma di protocolli e servizi per il networking. Configurabile e scalabile da un orologio ad un multiprocessore. Configurabile e scalabile da un orologio ad un multiprocessore.

Sistemi Operativi: Embedded Linux User management: SO multi user. User management: SO multi user. Task Management: Multitasking con scheduler preemptive e real-time (opzionale). Supporto per multiprocessori. Task Management: Multitasking con scheduler preemptive e real-time (opzionale). Supporto per multiprocessori.

Sistemi Operativi: Embedded Linux User Interface: basata su X-Window. User Interface: basata su X-Window. Memory Management: gestione alla Linux con MMU e memoria virtuale. Memory Management: gestione alla Linux con MMU e memoria virtuale. Dimensione: da 200 Kb (kernel) a circa 10 MB. Dimensione: da 200 Kb (kernel) a circa 10 MB.

Sistemi Operativi: Embedded Linux Linguaggi: Linguaggi: C, C++, Java Driver, Driver, utility, protocolli e programmi client e server disponibili per connessioni Internet.

Sistemi Operativi: Embedded Linux sviluppo I primi sistemi embedded venivano scritti diretamente in linguaggio macchina al fine di sfruttare al massimo le prestazioni dellhardware sottostante. I primi sistemi embedded venivano scritti diretamente in linguaggio macchina al fine di sfruttare al massimo le prestazioni dellhardware sottostante. Il passaggio a linguaggi a più alto livello di astrazione ma pur sempre dotati di costrutti vicini allo strato hardware, come il C, ha permesso di incrementare notevolmente la portabilità del software delegandone le difficoltà al compilatore. Questo tipo di approccio ha consentito ai produttori di sviluppare moduli di crescente complessità per limplementazione di funzionalità di file-system, di connettività in rete e di interfacciamento grafico. Il passaggio a linguaggi a più alto livello di astrazione ma pur sempre dotati di costrutti vicini allo strato hardware, come il C, ha permesso di incrementare notevolmente la portabilità del software delegandone le difficoltà al compilatore. Questo tipo di approccio ha consentito ai produttori di sviluppare moduli di crescente complessità per limplementazione di funzionalità di file-system, di connettività in rete e di interfacciamento grafico.

Sistemi Operativi: Embedded Linux & Real Time Un sistema operativo in tempo reale può essere descritto come un insieme di servizi di sistema messi a disposizione dello sviluppatore congiuntamente ad uno schedulatore di task che sia flessibile e non richieda troppe risorse sia in termini di occupazione di memoria che di velocità di esecuzione. Un sistema operativo in tempo reale può essere descritto come un insieme di servizi di sistema messi a disposizione dello sviluppatore congiuntamente ad uno schedulatore di task che sia flessibile e non richieda troppe risorse sia in termini di occupazione di memoria che di velocità di esecuzione.

Sistemi Operativi: Embedded Linux & Real Time Aspetti che caratterizzano un RTOS: Deve essere multithread, ossia deve consentire lesecuzione di più attività concorrenti e deve disporre di un meccanismo che permetta di assegnare una priorità ereditaria ad ogni thread. Deve essere multithread, ossia deve consentire lesecuzione di più attività concorrenti e deve disporre di un meccanismo che permetta di assegnare una priorità ereditaria ad ogni thread. Inoltre deve essere possibile arrestare e riprendere ciascun thread in qualunque istante, compatibilmente con la risoluzione temporale del sistema. Questa caratteristica, detta preempibilità, permette di rispondere in tempo reale agli eventi critici sospendendo immediatamente i compiti meno importanti a vantaggio di quelli essenziali alla missione del sistema. Inoltre deve essere possibile arrestare e riprendere ciascun thread in qualunque istante, compatibilmente con la risoluzione temporale del sistema. Questa caratteristica, detta preempibilità, permette di rispondere in tempo reale agli eventi critici sospendendo immediatamente i compiti meno importanti a vantaggio di quelli essenziali alla missione del sistema.

Java Card Java Card è un ambiente per lo sviluppo di applicazioni su smart card (es., la SIM di un cellulare) in Java. Java Card è un ambiente per lo sviluppo di applicazioni su smart card (es., la SIM di un cellulare) in Java. Permette lo sviluppo di servizi e codice indipendenti dalla piattaforma e permette card multi-applicazione. Permette lo sviluppo di servizi e codice indipendenti dalla piattaforma e permette card multi-applicazione.

Java Card Attualmente sono disponibili molti modelli di SmartCard per le applicazioni più disparate. La maggior parte di questi però sono incompatibili fra loro a causa delle diversità degli ambienti desecuzione di cui sono dotati. Lambiente JavaCard permette di standardizzare lambiente desecuzione, e quindi permette la realizzazione dapplicazioni per SmartCard portabili. Attualmente sono disponibili molti modelli di SmartCard per le applicazioni più disparate. La maggior parte di questi però sono incompatibili fra loro a causa delle diversità degli ambienti desecuzione di cui sono dotati. Lambiente JavaCard permette di standardizzare lambiente desecuzione, e quindi permette la realizzazione dapplicazioni per SmartCard portabili.

Java Card Attualmente la tecnologia delle SmartCard ha ormai raggiunto un alto livello daffidabilità, ma sono molteplici le metodologie di progetto e dimplementazioni attualmente disponibili. Questo dipende principalmente dalla mancanza di uno standard per lambiente desecuzione della SmartCard. In pratica, unapplicazione sviluppata per una certa SmartCard non può quasi mai essere utilizzata per unaltra SmartCard. Attualmente la tecnologia delle SmartCard ha ormai raggiunto un alto livello daffidabilità, ma sono molteplici le metodologie di progetto e dimplementazioni attualmente disponibili. Questo dipende principalmente dalla mancanza di uno standard per lambiente desecuzione della SmartCard. In pratica, unapplicazione sviluppata per una certa SmartCard non può quasi mai essere utilizzata per unaltra SmartCard.

Java Card La miglior soluzione disponibile per la standardizzazione dellambiente desecuzione è lambiente JavaCard, proposto da SUN Microsystems. Limplementazione di questambiente prevede linserimento di un interprete Java standardizzato sulla carta e la creazione di una serie di API Java per laccesso alle risorse della carta. In questo modo, è possibile sviluppare servizi in grado di funzionare indifferentemente su qualsiasi carta. Questa soluzione ha anche un altro grande vantaggio: lutilizzo del linguaggio Java, un linguaggio di alto livello ben conosciuto da una moltitudine di sviluppatori. La miglior soluzione disponibile per la standardizzazione dellambiente desecuzione è lambiente JavaCard, proposto da SUN Microsystems. Limplementazione di questambiente prevede linserimento di un interprete Java standardizzato sulla carta e la creazione di una serie di API Java per laccesso alle risorse della carta. In questo modo, è possibile sviluppare servizi in grado di funzionare indifferentemente su qualsiasi carta. Questa soluzione ha anche un altro grande vantaggio: lutilizzo del linguaggio Java, un linguaggio di alto livello ben conosciuto da una moltitudine di sviluppatori.

Java Card - Tecnologia Le JavaCard (così sono chiamate le Smartcard che integrano lambiente JavaCard) presentano una serie di caratteristiche peculiari che le rendono estremamente competitive rispetto alle SmartCard. Queste caratteristiche sono le seguenti: Le JavaCard (così sono chiamate le Smartcard che integrano lambiente JavaCard) presentano una serie di caratteristiche peculiari che le rendono estremamente competitive rispetto alle SmartCard. Queste caratteristiche sono le seguenti: Indipendenza dalla piattaforma: unapplicazione per JavaCard, scritta rispettando le regole imposte dallAPI JavaCard, può essere utilizzata senza modifiche su JavaCard fornite da costruttori diversi. Indipendenza dalla piattaforma: unapplicazione per JavaCard, scritta rispettando le regole imposte dallAPI JavaCard, può essere utilizzata senza modifiche su JavaCard fornite da costruttori diversi.

Java Card - Tecnologia Supporto a più applicazioni: su una stessa JavaCard possono coesistere diverse applicazioni (JavaCard Applet) indipendenti fra loro e selezionabili singolarmente in fase di esecuzione; Supporto a più applicazioni: su una stessa JavaCard possono coesistere diverse applicazioni (JavaCard Applet) indipendenti fra loro e selezionabili singolarmente in fase di esecuzione; Caricamento di nuove applicazioni dopo la consegna: dopo che una JavaCard è stata consegnata allutente finale è ancora possibile procedere al caricamento di nuove applicazioni attraverso gli stessi terminali addetti allespletamento dei servizi, questo per soddisfare le nuove necessità espresse dallutente; Caricamento di nuove applicazioni dopo la consegna: dopo che una JavaCard è stata consegnata allutente finale è ancora possibile procedere al caricamento di nuove applicazioni attraverso gli stessi terminali addetti allespletamento dei servizi, questo per soddisfare le nuove necessità espresse dallutente;

Java Card - Tecnologia Flessibilità: il linguaggio utilizzato per programmare le JavaCard è un subset del linguaggio Java, quindi la programmazione può sfruttare il paradigma della programmazione ad oggetti; Flessibilità: il linguaggio utilizzato per programmare le JavaCard è un subset del linguaggio Java, quindi la programmazione può sfruttare il paradigma della programmazione ad oggetti; Compatibilità con gli standard delle SmartCard: le JavaCard sono compatibili con lo standard ISO 7816, lo standard più diffuso nel campo delle SmartCard. Compatibilità con gli standard delle SmartCard: le JavaCard sono compatibili con lo standard ISO 7816, lo standard più diffuso nel campo delle SmartCard.

Java Card - Tecnologia Lambiente JavaCard è costituito generalmente da tre tipi diversi di memoria: memoria ROM, memoria EEPROM e memoria RAM. Di seguito sono forniti i dettagli relativi ad ognuno: Lambiente JavaCard è costituito generalmente da tre tipi diversi di memoria: memoria ROM, memoria EEPROM e memoria RAM. Di seguito sono forniti i dettagli relativi ad ognuno:

Java Card - Memoria Memoria ROM: questo tipo di memoria, a sola lettura, è utilizzato per contenere tutto il codice che non richiede modifiche, cioè il sistema operativo della JavaCard. La dimensione di questo tipo di memoria è di circa 32 KByte per buona parte delle JavaCard attualmente in commercio, mentre la dimensione minima richiesta è di 24 KByte; Memoria ROM: questo tipo di memoria, a sola lettura, è utilizzato per contenere tutto il codice che non richiede modifiche, cioè il sistema operativo della JavaCard. La dimensione di questo tipo di memoria è di circa 32 KByte per buona parte delle JavaCard attualmente in commercio, mentre la dimensione minima richiesta è di 24 KByte;

Java Card - Memoria Java Card - Memoria Memoria EEPROM: questo tipo di memoria, riscrivibile elettronicamente, è utilizzato per contenere le estensioni del JCRE (Java Card Runtime Environment, linfrastruttura che permette il funzionamento della JavaCard) e le JavaCard Applet (applicazioni sviluppate esternamente e caricabili sulla JavaCard). La dimensione di questo tipo di memoria è di minimo circa 16 KByte. Memoria EEPROM: questo tipo di memoria, riscrivibile elettronicamente, è utilizzato per contenere le estensioni del JCRE (Java Card Runtime Environment, linfrastruttura che permette il funzionamento della JavaCard) e le JavaCard Applet (applicazioni sviluppate esternamente e caricabili sulla JavaCard). La dimensione di questo tipo di memoria è di minimo circa 16 KByte.

Java Card - Memoria Memoria RAM: questo tipo di memoria, denominato anche volatile, è utilizzato per contenere lheap e lo stack necessari per lesecuzione, quindi le variabili e gli oggetti temporanei creati durante lesecuzione delle JavaCard Applet. La dimensione di questo tipo di memoria è di circa un KByte per buona parte delle JavaCard attualmente in commercio, mentre la dimensione minima richiesta è di 500 Byte. Memoria RAM: questo tipo di memoria, denominato anche volatile, è utilizzato per contenere lheap e lo stack necessari per lesecuzione, quindi le variabili e gli oggetti temporanei creati durante lesecuzione delle JavaCard Applet. La dimensione di questo tipo di memoria è di circa un KByte per buona parte delle JavaCard attualmente in commercio, mentre la dimensione minima richiesta è di 500 Byte.

Java Card - Conclusioni E importante notare che le configurazioni hardware descritte precedentemente sono compatibili con la maggior parte delle SmartCard utilizzate attualmente. Questo implica che lambiente JavaCard potrebbe essere adottato sulla maggioranza degli hardware attualmente disponibili.

Conclusioni Palm OS è semplice, compatto, ma non implementa il multitasking e meccanismi di security. Palm OS è semplice, compatto, ma non implementa il multitasking e meccanismi di security. Symbian OS è più complesso, ma più generale e multitasking. Symbian OS è più complesso, ma più generale e multitasking. Windows CE supporta configurazioni flessibili e usa crittografia per la security. Windows CE supporta configurazioni flessibili e usa crittografia per la security.

Conclusioni Embedded Linux offre linterfaccia di programmazione avanzata di Linux è consente la portabilità del codice. Embedded Linux offre linterfaccia di programmazione avanzata di Linux è consente la portabilità del codice. Java fornisce un ambiente per la standardizzazione delle applicazioni sulle smart card Java fornisce un ambiente per la standardizzazione delle applicazioni sulle smart card