Sistemi Operativi per Sistemi di Elaborazione Ubiqui

Documenti analoghi
Sistemi Operativi per Sistemi di Elaborazione Ubiqui

Sistemi Operativi per Sistemi di Elaborazione Ubiqui

Sistemi Operativi per Sistemi di Elaborazione Ubiqui

Sistemi Operativi per Sistemi di Elaborazione Ubiqui

Connettività e Comunicazione

Connettività e Comunicazione

SISTEMI OPERATIVI EMBEDDED. Sistemi Embedded

Struttura dei Sistemi Operativi

Java per Sistemi Ubiqui

Java per Sistemi Mobili e Ubiqui

Introduzione ai thread

SOFTWARE. Programmi e dati che indicano al computer come svolgere un determinato compito

Java per Sistemi Mobili e Ubiqui

Sistemi Operativi: Concetti Introduttivi

Java per Sistemi Mobili e Ubiqui

Pag. 1. Il Nucleo del sistema operativo (la gestione dei processi)

Ambienti di Sviluppo SW Classici

Tesina per l esame di Sistemi Operativi a cura di Giuseppe Montano. Prof. Aldo Franco Dragoni

SISTEMI OPERATIVI. Struttura dei. Sistemi Operativi. Giorgio Giacinto 2015

Il Sistema Operativo

SISTEMI OPERATIVI THREAD. Giorgio Giacinto Sistemi Operativi

Il Sistema Operativo Ripasso

Elementi di Informatica A. A. 2016/2017

2. Cenni di sistemi operativi

Sistemi in tempo reale: applicazioni alla robotica. Sistemi in tempo reale: applicazioni alla robotica p.1/15

Java per Sistemi Mobili e Ubiqui

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.

Sistemi operativi 2003/2004. Linux

Sistema Operativo. (hardware e software) della della macchina

Sistemi Operativi GESTIONE DEI PROCESSI. D. Talia - UNICAL. Sistemi Operativi 4.1

Sistema operativo & file system 1

I Processi. Il Concetto di Processo

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.

Sistemi Operativi. Lezione 3 Processi e Thread

» Termine utilizzato per indicare l uso di HW e SW all interno di un prodotto progettato per svolgere una funzione specifica

Sistema Operativo (Software di base)

Sistemi Operativi. Conclusioni e nuove frontiere

TinyOS. Sistema operativo open-source per wireless sensor network sviluppato dall Università di Berkley e centro ricerche Intel

Principi operativi dei computer. Capitolo 7 Fluency Conoscere e usare l informatica

Grid Data Management Services. Griglie e Sistemi di Elaborazione Ubiqui

Struttura dei Sistemi Operativi

Sistemi Operativi e Reti 1

Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova.

I THREAD O PROCESSI LEGGERI

Sistema operativo. Avere un architettura multi-core è un vantaggio

Architettura di un sistema operativo

Sistemi Operativi. Introduzione. C.d.L. in Informatica (laurea triennale) Anno Accademico Dipartimento di Matematica e Informatica Catania

Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base

and Applications in Mobile Environments with Bluetooth Ing. Salvatore Baglieri

Sistemi operativi. Fondamenti di Informatica

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.

Sistemi operativi e reti A.A Lezione 2

Sistema Operativo. Alma Mater Studiorum Università di Bologna - Fondamenti di Informatica T (a-k)

Il Kernel di Mac OS X: una breve panoramica.

Sistemi Operativi ed interazione con HW e CAD

Introduzione ai sistemi operativi

Il Sistema Operativo

Architettura Software di un Sistema Robotico Autonomo

Università degli Studi di Roma Tor Vergata Facoltà di Ingegneria

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.

Il software di sistema

iseries Informazioni preliminari su Client Access Express

Sistemi Operativi. Sistemi I/O SISTEMI DI INPUT/OUTPUT. Hardware di I/O. Interfaccia di I/O per le applicazioni. Sottosistema per l I/O del kernel

J2ME Platform. Symbian OS. Nokia property platform: Series 60. Microsoft Windows CE.NET Microsoft Windows Mobile Mobile client-server communication

Gianluigi Magnasco easitec S.r.l. Parma, 16 Settembre 2010

Francesco V. Buccoli Microsoft Student Evangelist

SISTEMI OPERATIVI. Struttura dei. Sistemi Operativi. Giorgio Giacinto 2018

Il Concetto di Processo

Fondamenti di sviluppo mobile su Android

TECN.PROG.SIST.INF. I Socket Roberta Gerboni

Sistemi Operativi SISTEMI DI INPUT/OUTPUT. D. Talia - UNICAL. Sistemi Operativi 10.1

Informatica Sistemi operativi Sistemi Operativi 1

Mobile Virtual Reality (MVR): un nuovo modello di realtà virtuale A. Sanna C. Zunino F.Lamberti

Componenti di un sistema operativo

Architettura dei sistemi di elaborazione (Input/Output parte 1)

Lezione 5: Software. Firmware Sistema Operativo. Laboratorio di Informatica

Introduzione al Multithreading

Modulo 3. Software. Corso di Sistemi di elaborazione delle informazioni -Autore: Ing. Maurizio Patanè

Lo Standard OPC. Materiale Didattico: Dispense OPC UA Inglese e Italiano Esercizio Client OPC UA Java (stampare il file word e portarlo a lezione!

I sistemi operativi. Prof. Daniele Contarino

Connettività e Comunicazione

Il Sistema Operativo

Laboratorio software. A.A C. Brandolese

Marco Cesati System Programming Research Group Università degli Studi di Roma Tor Vergata

Lezione 2. Sistemi operativi. Marco Cesati System Programming Research Group Università degli Studi di Roma Tor Vergata.

PARTE 1 CONCETTI INTRODUTTIVI 2

MODELLI ISO/OSI e TCP/IP

Hardware e Software. I.I.S.S. E. Majorana Gela. Tecnologie Informatiche. Prof. Gaetano Impoco

Componenti di una applicazione. Esempio: Microsoft Word

Sistema operativo. Utente. Il S.O. mostra offre all utente un ambiente di lavoro che nascondendo la complessità della macchina fisica (hardware). S.O.

MODELLI ISO/OSI e TCP/IP

Università degli Studi di Roma Tor Vergata Dipartimento di Ingegneria Civile e Ingegneria Informatica

Processi. Capitolo 3 -- Silberschatz

Informatica di base 6/ed

Sistemi Di Elaborazione Dell informazione

Sistemi Operativi 1. Lezione IV: Processi e thread. Mattia Monga. 11 marzo 2008

Software di base e software applicativo

Modelli Architetturali. Astrazione del sistema - componenti e struttura - distribuzione delle funzionalità

Ogni computer ha un sistema operativo necessario per eseguire gli altri programmi Il sistema operativo, fra l altro, è responsabile di

Transcript:

Griglie e Sistemi di Elaborazione Ubiqui Sistemi Operativi per Sistemi di Elaborazione Ubiqui Griglie e Sistemi Ubiqui - D. Talia - UNICAL 1 Sistemi Operativi per Ubiquitous Computing Palm OS Symbian OS Windows Mobile Embedded Linux QNX Neutrino BeOS TinyOS Java Card Griglie e Sistemi Ubiqui - D. Talia - UNICAL 2 1

Sistemi Operativi per Ubiquitous Computing I sistemi operativi per sistemi di elaborazione ubiqui seguono i principi dei SO classici ma devono gestire risorse con caratteristiche particolari, hanno interfacce del tutto diverse In questo settore non esiste un SO prevalente. I più diffusi sono Symbian, Palm OS e Windows Mobile insieme a TinyOs e Embedded Linux. Griglie e Sistemi Ubiqui - D. Talia - UNICAL 3 Sistemi Operativi : Palm OS Sistema operativo per cellulari e palmari (PDA). Sistema operativo a 32 bit Versioni correnti : (Palm OS Garnet 5.x, Palm OS Cobalt, version 6.1) con supporto Bluetooth e 65K colori per PDA/cellulari multimediali. Griglie e Sistemi Ubiqui - D. Talia - UNICAL 4 2

Sistemi Operativi : Palm OS Applicazioni User User Interface Interface Forms, Forms, Controls, Controls, Dialogs, Dialogs, Menus, Menus, Buttons Buttons Memory Memory Management Management Database, Database, System System Space, Space, Runtime Runtime Space Space Microkernel System System Management Management Events, Events, Strings, Strings, Time, Time, Alarms Alarms Communication Communication TCP/IP TCP/IP Serial Serial IrDA IrDA Hardware Griglie e Sistemi Ubiqui - D. Talia - UNICAL 5 Sistemi Operativi : Palm OS User Interface: gestione dell I/O grafico, menu, buttons, forms. Memory Management: DB, runtime space, system space, variabili globali. System Management: eventi, alarms, time, strings, Communication Layer: I/O seriale, TCP/IP, Infrared Data Association (IrDA). Griglie e Sistemi Ubiqui - D. Talia - UNICAL 6 3

Sistemi Operativi : Palm OS User management: SO single user. Dimensione : v3.5 richiede circa 1.4 MBytes. La versione Cobalt: - Per cellulari richiede 32MB SDRAM + 32MB Flash - Per PDA 32MB SDRAM + 16MB ROM Task Management: multitasking e multithreading. Power Management: tre stati (sleep, doze, running) Griglie e Sistemi Ubiqui - D. Talia - UNICAL 7 Sistemi Operativi : Palm OS Memory Management: 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 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 l uso. Storage : contiene dati permanenti (DB, files) che non vanno cancellati allo spegnimento. Griglie e Sistemi Ubiqui - D. Talia - UNICAL 8 4

Sistemi Operativi: Palm OS Palm OS è un sistema multi-task event driven. Gli eventi possono essere: Una azione della user interface (es., touch screen op.) Un system notification (es., un alarm del timer) Un evento di una applicazione (es., richiesta di search) Griglie e Sistemi Ubiqui - D. Talia - UNICAL 9 Sistemi Operativi: Palm OS Sviluppo SW Sviluppo del Software in C e C++ con CDK e SDK esterno. Edit Compile Debug Run Final Program Esiste un Palm Emulator per sviluppare e fare il test delle applicazioni prima di eseguirle su Palm OS Macchine virtuali: KVM, J9, WabaVM (poco efficienti) Griglie e Sistemi Ubiqui - D. Talia - UNICAL 10 5

Sistemi Operativi: Symbian OS Creato con il nome di EPOC da Psion come SO per telefonia mobile. Attualmente sviluppato da Symbian. Usato in cellulari NOKIA e Sony Ericsson e su diversi processori (anche in emulazione). Caratteristiche: multi-tasking real-time pre-emptive, 32 bit. Griglie e Sistemi Ubiqui - D. Talia - UNICAL 11 Sistemi Operativi : Symbian OS Application Engines, Messaging, JavaPhone (su (su KVM) KVM) Application Framework GUI, text & graphic utilities Multimedia Multimedia Immagini, Immagini, suoni, suoni, grafica grafica Security Security Cryptography, Cryptography, certificate certificate mng., mng., sw sw installation installation Personal Personal Area Area Network Network Bluetooth, Bluetooth, Infrared, Infrared, USB USB Communication Communication TCP/IP, TCP/IP, DNS, DNS, HTTP, HTTP, WAP WAP Telephony Telephony GSM, GSM, GPRS, GPRS, CDMA,3GGP CDMA,3GGP Base Base (Kernel, (Kernel, Runtime Runtime System, System, File File Server, Server, Device Device Drivers) Drivers) Hardware Griglie e Sistemi Ubiqui - D. Talia - UNICAL 12 6

Sistemi Operativi : Symbian OS User management: SO single user. Task Management: microkernel real-time, multitasking con scheduling pre-emptive e con priorità. (Gestione complessa di applicazioni) User Management: con interfaccia standard: grafica, suoni e tastiera. Memory Management: MMU con spazi di indirizzi separati per applicazioni. Griglie e Sistemi Ubiqui - D. Talia - UNICAL 13 Sistemi Operativi: Symbian OS Sviluppo del Software in C++, Java e OPL (Basic-like). Esiste un Simulatore per sviluppare e fare il test delle applicazioni prima di eseguirle su Symbian OS Edit Compila per Sy. Compila per PC Run Debug Final Program Griglie e Sistemi Ubiqui - D. Talia - UNICAL 14 7

Sistemi Operativi: Windows Mobile Windows Mobile è una versione di Windows sviluppata per sistemi mobili e pervasivi. Il sistema va configurato per la specifica piattaforma (PDA, cellulare, altro) su cui deve essere usato. Basato su memoria ROM. Ha l interfaccia tipica di Windows adattata per i display dei sistemi mobili. Griglie e Sistemi Ubiqui - D. Talia - UNICAL 15 Sistemi Operativi: Windows Mobile Configurazione Definizione del Platform Environment Definizione del Build Environment SDK Build Codice binario Load Griglie e Sistemi Ubiqui - D. Talia - UNICAL 16 8

Sistemi Operativi: Windows Mobile User management: SO single user. Task Management: fino a 32 processi e un numero elevato di thread (limitato dalla memoria disponibile) 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). Griglie e Sistemi Ubiqui - D. Talia - UNICAL 17 Sistemi Operativi : Windows Mobile Shell Shell Kernel Kernel Internet Internet Explorer Explorer GWE GWE (Graphics, Window, (Graphics, Events) Window, Events) Applications Remote Remote Connectivity Connectivity Programming Interface, Communication Interface Object ObjectStore TCP/IP, TCP/IP, Serial Serial IrDA IrDA Hardware Griglie e Sistemi Ubiqui - D. Talia - UNICAL 18 9

Sistemi Operativi: Windows Mobile Dimensione : La versione CE occupava da 400 Kb (kernel) a 3 MB (sistema completo) fino a 8 MB con Pocket Word e Internet Explorer. Security: Crittografia con una libreria per gestire i dati memorizzati in sicurezza. Memorizzazione sicura con smart card. Ambienti Software : Visual C++, Visual Basic, KVM, J9 e Waba. Griglie e Sistemi Ubiqui - D. Talia - UNICAL 19 Sistemi Operativi: Embedded Linux Versione di Linux per sistemi di elaborazione ubiqui. 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. Configurabile e scalabile da un orologio ad un multiprocessore. Griglie e Sistemi Ubiqui - D. Talia - UNICAL 20 10

Sistemi Operativi: Embedded Linux User management: SO multi user. Task Management: Multitasking con scheduler preemptive e real-time (opzionale). Supporto per multiprocessori. User Interface: basata su X-Window Memory Management: gestione alla Linux con MMU e memoria virtuale. Dimensione : da 200 Kb (kernel) a circa 10 MB. Griglie e Sistemi Ubiqui - D. Talia - UNICAL 21 Sistemi Operativi: Embedded Linux La specifica è basata su: Linux Standards Base 1.2. IEEE POSIX 1003.1-2001 specification, contenente funzionalità Realtime, Threads and Networking. Single UNIX Specification v3. Griglie e Sistemi Ubiqui - D. Talia - UNICAL 22 11

Sistemi Operativi: Embedded Linux L ambiente di sviluppo per Linux è disponibile in Embedded Linux. Linguaggi: C, C++, Java Driver, utility, protocolli e programmi client e server disponibili per connessioni Internet. Similitudini con QNX Neutrino: sistema operativo POSIX compliant. Griglie e Sistemi Ubiqui - D. Talia - UNICAL 23 Sistemi Operativi: Embedded Linux on a watch Embedded Linux in un orologio Comunicazione wireless con altri dispositivi, PIM (calendario, address book, event list, ). Connessione ad Internet. Processore ARM7, 8MB memoria flash, 8MB memoria DRAM, infrarossi, RF wireless, 96x112 touch screen, roller wheel. Griglie e Sistemi Ubiqui - D. Talia - UNICAL 24 12

Sistemi Operativi : BeOS BeOS è un sistema operativo per multimedia boxes. Supporto per multi-processori e file system a 64 bit. Disponibile su processori Intel e PowerPC. Progettato per real-time multimedia e communication. Gestisce multithreading su sistemi multiprocessore. Griglie e Sistemi Ubiqui - D. Talia - UNICAL 25 Sistemi Operativi per Sensori Un sistema operativo per sensori deve possedere alcune caratteristiche base: dimensioni ridotte, basso consumo durante l elaborazione, consumo quasi nullo durante lo stato di idle, gestione della concorrenza, implementazione di protocolli di rete a seconda della periferica di rete utilizzata fornire un astrazione per i dispositivi hardware (sensori ed attuatori), montati sul nodo sensore. Ad esempio un protocollo di trasporto come il TCP/IP non può essere impiegato in quanto offre un servizio orientato alla connessione, e siccome un nodo sensore possiede limitate capacità, anche di memoria, un protocollo di questo tipo è attualmente inapplicabile. Griglie e Sistemi Ubiqui - D. Talia - UNICAL 26 13

Sistemi Operativi per Sensori Esistono 2 approcci allo sviluppo di sistemi operativi per sensori: Sviluppare un sistema i cui componenti vengono compilati insieme all applicazione. Questo consente che ci sia una singola applicazione in esecuzione in un dato momento con riduzione dei consumi energetici per l assenza di context-switch e sistemi molto piccoli (nel sistema sono caricati solo i moduli che effettivamente verranno utilizzati). Lo svantaggio principale riguarda la versatilità riconfigurabilità dell applicazione. ed i vincoli di Sviluppare un sistema che includa i tradizionali strati di software di un sistema operativo tradizionale in versione ridotta. In questo caso è difficile tenere sotto controllo i consumi e le risorse impiegate, ma si guadagna in termini di versatilità visto che ci possono essere, più applicazioni in esecuzione. Griglie e Sistemi Ubiqui - D. Talia - UNICAL 27 Sistemi Operativi per Sensori: TinyOS TinyOS consiste in un insieme ridotto di moduli (servizi) software che forniscono funzionalità per il controllo di un nodo sensore. Quando un applicazione viene compilata, i componenti di TinyOS vengono compilati insieme ad essa ed il risultato costituisce l intero software del sensore, consentendo così un risparmio di energia e di memoria. Non è possibile installare più applicazioni indipendenti sullo stesso sensore. Griglie e Sistemi Ubiqui - D. Talia - UNICAL 28 14

Sistemi Operativi per Sensori: TinyOS In TinyOS non esiste un kernel che gestisce le risorse disponibili dividendoli tra più applicazioni, ma solo uno scheduler che si limita ad eseguire una sequenza di task secondo una politica FIFO preemptive basata su eventi. L esecuzione del task corrente può essere interrotta solo se si verifica un evento (preemption). Un task non può interrompere un altro task. Un task è un contesto di esecuzione che viene eseguito in background fino al completamento e senza interferire con gli eventi del sistema. Griglie e Sistemi Ubiqui - D. Talia - UNICAL 29 Sistemi Operativi per Sensori : TinyOS Quando non ci sono task da eseguire lo scheduler mantiene il processore a riposo e attende la segnalazione di un nuovo evento per riprendere l esecuzione. Come si intuisce lo scheduling ha due livelli di priorità, quello normale per i task e quello più alto per gli eventi che possono interrompere i task. TinyOS è scritto in nesc, una variante del linguaggio C, concepito per sistemi embedded e ottimizzato per la programmazione dei nodi sensori. Griglie e Sistemi Ubiqui - D. Talia - UNICAL 30 15

Sistemi Operativi per Sensori : TinyOS In TinyOS, il modello di comunicazione rappresenta una delle parti fondamentali. Lo scambio di dati tra i nodi utilizza gli active messages (messaggi attivi). Questo modello permette di inviare messaggi, a tutti o a un singolo nodo, tra i nodi vicini. Questa tecnologia è molto leggera, infatti non specifica dei meccanismi orientati alla connessione, ma ogni pacchetto e un entità indipendente. Ogni active message contiene l identificatore dell handler (generalmente un intero che rappresenta il numero della porta) dell application level che deve essere invocato sul nodo destinatario ed un payload dati nel quale sono specificati gli argomenti. Griglie e Sistemi Ubiqui - D. Talia - UNICAL 31 Sistemi Operativi per Ubiquitous Computing Palm OS è semplice, compatto, ma non implementa meccanismi di security. Symbian OS è più complesso, ma più generale e gestisce un efficiente multitasking. Windows Mobile supporta configurazioni flessibili e usa crittografia per la security. Embedded Linux offre l interfaccia di programmazione avanzata di Linux su sistemi ubiqui. TinyOS è il sistema operativo multitasking per sensori più diffuso. Griglie e Sistemi Ubiqui - D. Talia - UNICAL 32 16