sistemi operativi mobili
![]() |
![]() |
![]() |
Title of test:![]() sistemi operativi mobili Description: Corso e-campus ingegneria informatica |




New Comment |
---|
NO RECORDS |
cosa si intende per apertura hardware?. nessuna di queste risposte. la possibilità di avere a disposizione il codice sorgente di un microcontrollore. la possibilità di avere a disposizione il progetto hardware di un circuito elettronico. la possibilità di connettere ad un microcontrollore o circuito elettronico dei dispositivi esterni tramite porte di espansione. Uno shield Arduino. serve per alimentare il microcontrollore a batteria. nessuna di queste risposte. serve per proteggere il microcontrollore dagli sbalzi elettrici. serve per proteggere il microcontrollore dagli agenti atmosferici (acqua, umidità). Una scheda Arduino. deve funzionare a batterie. nessuna di queste risposte. può funzionare a batterie. ha sempre bisogno di una connessione USB per essere alimentato e comandato. Ogni Arduino. ha lo stesso microcontrolore Atmel. deve avere lo stesso numero di uscite digitali (14). nessuna di queste risposte. deve avere per lo meno 32 KB di memoria flash. Cosa è l'IDE Arduino?. un componente hardware della scheda Arduino. nessuna di queste risposte. un software che serve per sviluppare software per schede Arduino e programmarle. un componente firmware della scheda Arduino. quanti livelli di apertura hardware conosci?. 0. 1. nessuna di queste risposte. 2. Una qualunque scheda Arduino. può essere espansa collegandoci dei sensori e/o degli attuatori. ha già dei sensori a bordo, quindi è pronta all'uso. di per sé può non avere alcun sensore a bordo. nessuna di queste risposte. cosa è Arduino?. una piattaforma open hardware dotata di un software di sviluppo open source. un software open source. un microcontrollore open hardware. nessuna di queste risposte. quale delle seguenti affermazioni è vera?. un progetto con licenza open hardware non è in grado di generare profitto. un progetto con licenza open hardware non deve generare profitto. un progetto con licenza open hardware non genera mai profitto. tutte queste risposte sono false. rientra nel concetto di apertura hardware dare libero accesso agli schemi elettronici di un componente, senza rendere pubblico il firmware di uno o più microcontrollori al suo interno?. no, aperto vuol dire rendere tutto disponibile. sì, sono livelli diversi di apertura. il firmware è un software, quindi non c'entra nulla con l'apertura hardware. nessuna di queste risposte. Arduino ruota attorno a: un microcontrollore che espone ingressi e uscite digitali ed analogici facilmente accessibili, ma non configurabili. nessuna di queste risposte. un microcontrollore i cui ingressi ed uscite sono già configurati per l'uso. un microcontrollore che espone ingressi e uscite digitali ed analogici facilmente accessibili e configurabili. Un array di interi in Arduino. si dichiara, per esempio, come: integer v[4];. si definisce, per esempio, come: array integer[] ={1,2,3};. non è un tipo consentito. nessuna di queste risposte. In Arduino. non è necessario specificare i tipi delle variabili (il linguaggio non è tipizzato). nessuna di queste risposte. l'unico tipo predefinito è int. non esistono tipi predefniti. Nella sua forma più elementare, uno sketch Arduino. è formato dalla sola funzione setup(). è formato dalla sola funzione loop(). nessuna di queste risposte. è formato dalla sola funzione execute(). Un array di caratteri in Arduino. non è un tipo consentito. nessuna di queste risposte. si dichiara, per esempio, come: int v[4];. si definisce, per esempio, come: array int[] ={1,2,3};. La funzione loop() di uno sketch Arduino. è una funzione che viene eseguita per la prima volta al termine della funzione setup(). serve per realizzare un ciclo for. nessuna di queste risposte. è una funzione che viene invocata automaticamente in caso di errore. Nella funzione loop() di uno sketch Arduino. non è possibile realizzare cicli while e for (essendo la funzione loop() di per sé un ciclo). nessuna di queste risposte. è possibile realizzare solo cicli for e while che terminano. è possibile realizzare solo cicli for, il costrutto while non è realizzato in Arduino. La funzione setup() di uno sketch Arduino. è invocata automaticamente quando lo sketch viene compilato. è invocata automaticamente quando lo sketch va in esecuzione. viene invocata esplicitamente dal programmatore. nessuna di queste risposte. Il tipo unsigned int in Arduino. occupa lo stesso spazio di un int. occupa la metà dello spazio di un int. nessuna di queste risposte. occupa il doppio dello spazio di un int. Un array di interi in Arduino. si definisce, per esempio, come: array int[] ={1,2,3};. non è un tipo consentito. nessuna di queste risposte. si dichiara, per esempio, come: int v[4];. Un array di caratteri in Arduino. nessuna di queste risposte. si dichiara, per esempio, come: char v[3];. si definisce, per esempio, come: array char[] ={'1','2','3'};. non è un tipo consentito. In Arduino, per accedere all'i-esimo elemento di un array v si utilizza l'istruzione. v_i. v(i). v->[i]. nessuna di queste risposte. In Arduino un array. è un contenitore di variabili dello stesso tipo, accessibili in maniera sequenziale. è un contenitore di variabili dello stesso tipo, accessibili tramite un indice. è un tipo da evitare, date le ridotte dimensioni della RAM a bordo del microprocessore. nessuna di queste risposte. In Arduino una libreria. tutte queste risposte sono vere. un file con estensione .h. è un insieme di funzioni simili raggruppate in uno stesso modulo. è un insieme di funzioni anche molto diverse tra di loro, ma raggruppate in uno stesso modulo. In Arduino. le librerie sono implementabili da chiunque ne abbia capacità e voglia. nessuna di queste risposte. le librerie sono fornite solo dai proprietari del marchio Arduino. le librerie sono fornite solo dai produttori di hardware. Un sensore analogico. è inutilizzabile su un Arduino, visto che ha solo ingressi digitali. può essere integrato su Arduino che ha un ADC a bordo. può essere integrato su Arduino, ma abbiamo bisogno di un ADC esterno. nessuna di queste risposte. cosa si intende per physical computing?. nessuna di queste risposte. la relaizzazione di un sistema che interagisce con il mondo reale. la possibilità di utilizzare un microprocessore per monitorare le grandezze fisiche di un essere umano. la realizzazione di un sistema hardware che memorizza dati dell'ambiente circostante. A cosa serve un driver in Arduino?. per far interagire il microprocessore con un componente hardware. nessuna di queste risposte. per far interagire il microprocessore con un componente software. a far comunicare 2 Arduino tra di loro. i seguenti sono esempi di sensori esistenti e facilmente integrabili su un Arduino, tranne uno. sensore di acidità. misuratore di forza. accelerometro. sensore infrarosso. un accelerometro. misura l'accelerazione lungo al più 3 assi. nessuna di queste risposte. benchè facilmente integrabile su Arduino, il suo costo elevato ne pregiudica l'uso capillare. misura l'accelerazione lungo un solo asse. Un sensore. produce dati digitali. nessuna di queste risposte. produce dati analogici. produce dati analogici o digitali, a seconda del tipo di sensore. i seguenti sono esempi di sensori facilmente reperibili e a basso costo, da poter essere montati su un Arduino, tranne uno, quale?. conta-passi (passometro). temperatura. intensità di luce. umidità. cosa si intende per internet of things (IoT)?. un paradigma di programmazione distribuita. un paradigma per cui tutte le cose connesse ad internet sono anche connesse tra di loro. un paradigma per cui tutto è visto come una cosa. nessuna di queste risposte. In Arduino cosa intendiamo per driver?. un modulo software. un compenente da comprare a parte. un componente hardware. nessuna di queste risposte. secondo il paradigma dell'internet of things (IoT). un semaforo stradale è una "cosa" se connessa ad internet. un semaforo stradale è una "cosa" se il suo stato può essere monitorato e/o controllato da remoto. un semaforo stradale è una "cosa" se pilotabile da remoto. un semaforo stradale è una "cosa". In arduino la funzione delay(). nessuna di queste risposte. non ha bisogno di argomento di ingresso. l'argomento in ingresso specifica il numero di ritardi da introdurre. mette in attesa attiva il microprocessore. In arduino la funzione delay(). si può usare solo nel corpo della funzione setup(). serve per far assestare gli ingressi digitali. si può usare solo nel corpo della funzione loop(). nessuna di queste risposte. quale è l'effetto di collegare un LED su una linea digitale di uscita di un Arduino su cui la tensione forma un'onda quadra con periodo di un secondo. vedremo il LED accendersi e spegnersi ad intervalli regolari. non noteremo nulla. nessuna di queste risposte. vedremo il LED accendersi e spegnersi un po' a caso. un LED può essere visto come. dipende dall'uso che se ne fa. un sensore. nessuna di queste risposte. un attuatore. La modulazione di larghezza di impulso (o PWM, acronimo del corrispettivo inglese pulse-width modulation): è un tipo di modulazione digitale che permette di ottenere in uscita una tensione media variabile dipendente dal rapporto tra la durata dell'impulso positivo e di quello negativo. è un tipo di modulazione digitale che permette di ottenere in ingresso una tensione media configurabile da programma. è un tipo di modulazione digitale che permette al microprocesore di gestire al meglio le risorse energetiche (e.g., andare in sleep mode). è un tipo di modulazione analogica che permette di ottenere in uscita una tensione media costante e proporzionale alla durata di due impulsi positivi e consecutivi in ingresso. motori in continua, stepper e servo motori. sono dei sensori molto comuni nel mondo Arduino. sono la stessa cosa. nessuna di queste risposte. sono degli attuatori molto comuni nel mondo Arduino. un motore in continua (DC). nessuna di queste risposte. è pilotato da 4 pin (VCC, GND, SET, RST). è pilotato da 3 pin (VCC, GND, SET). è pilotato da 2 pin (VCC e GND). Usando Arduino per controllare un motore in continua (DC). non è possibile regolare la velocità di rotazione. non è possibile invertire il senso di rotazione. nessuna di queste risposte. è possbile controllare sia senso di rotazione che velocità di rotazione. in MQTT il livello di qualità del servizio "at most once". non dà alcuna garanzia che il dato venga recapitato. nessuna di queste risposte. garantisce che un dato pubblicato venga recapitato una sola volta. garantisce che un dato pubblicato venga recapitato esattamente una volta. un broker MQTT. può essere una macchina virtuale, come pure una macchina fisica. nessuna di queste risposte. è una macchina fisica. è una macchina virtuale. Riguardo alla sicurezza, il protocollo MQTT. prevede accesso al broker tramite autenticazione (user name e password). non è possibile utilizzare SSL. non prevede alcuna sicurezza, a livello di standard. nessuna di queste risposte. il protocollo MQTT ha un overhead di trasporto. leggermente più alto rispetto ad altri protocolli di trasporto. nessuna di queste risposte. paragonabile ad altri protocolli di trasporto. notevolemente ridotto rispetto ad altri protocolli di trasporto. in MQTT il livello di qualità del servizio "exactly once". non dà alcuna garanzia che il dato venga recapitato. garantisce che un dato pubblicato venga recapitato esattamente una volta. nessuna di queste risposte. garantisce che un dato pubblicato venga recapitato una sola volta. in MQTT il livello di qualità del servizio "at least once". garantisce che un dato pubblicato venga recapitato esattamente una volta. non dà alcuna garanzia che il dato venga recapitato. nessuna di queste risposte. garantisce che un dato pubblicato venga recapitato una sola volta. in MQTT un topic è. il contenuto di un messaggio che un client pubblicatore mette a disposizione dei client sottoscrittori. un argomento su cui i client sottoscrittori possono esprimere interesse e i client pubblicatori pubblicare contenuti. l'interesse che un client sottoscrittore dà ad un contenuto pubblicato da un client pubblicatore. nessuna di queste risposte. Parlando di principi REST, cosa si intende per risorsa autodescrittiva?. nessuna di queste risposte. che il tipo di rappresentazione inviata dal server al client è indicato nella stessa richiesta HTTP. che nella richiesta bisogna includere già un indirizzo per le risposte. che il tipo di rappresentazione inviata dal server al client è indicato nella stessa risposta HTTP. Parlando di principi REST, cosa si intende per collegamenti tra risorse?. la necessità che le risorse siano tra loro messe in relazione tramite una relazione is-a. la necessità che le risorse siano tra loro messe in relazione tramite link ipertestuali. la necessità che tutte le risorse siano tra di loro collegate nella stessa macchina remota. nessuna di queste risposte. Parlando di principi REST, cosa si intende per utilizzo esplicito dei metodi HTTP?. che un client ha bisogno di conoscere una specifica interfaccia di invocazione di un metodo su ogni risorsa. nessuna di queste risposte. che l'invocazione di una sottoinsieme delle operazioni su una qualsiasi risorsa è uniforme. che l'invocazione di una qualsiasi operazione su una qualsiasi risorsa è uniforme. Quando si inserisce un indirizzo in un browser Internet, implicitamente stiamo facendo eseguire al browser. nessuna di queste risposte. un metodo UPDATE. un metodo POST. un metodo GET. Parlando di principi REST, cosa si intende per URI?. un indirizzo IP. un indirizzo MAC. nessuna di queste risposte. un indirizzo web. cosa è MQTT?. un protocollo sincrono di configurazione di dispositivi mobili. nessuna di queste risposte. un protocollo asincrono di comunicazione tra dispositivi esclusivamente a basso costo. un protocollo asincrono di comunicazione tra dispositivi. Parlando di principi REST, cosa si intende per comunicazione senza stato?. ciascuna richiesta del client non ha alcuna relazione con richieste precedenti e successive. ciascuna risposta del server non ha alcuna relazione con risposte precedenti e successive. ciascun client non può comunicare in alcun modo lo stato al server. nessuna di queste risposte. CRUD è un acronimo che sta per. CREATE, READ, UPDATE, DELETE. CREATE, UPDATE, DELETE. CREATE, UPDATE. nessuna di queste risposte. le azioni CRUD sono tipiche di una architettura. REST. SOAP. tutte queste risposte sono vere. MQTT. La principale differenza tra una architettura SOAP (Simple Object Access Protocol) e una REST(ful) è. entrambe sono basate sugli stessi 2 principi (della chiamata remota e delle risorse), ma solo la prima identifica le risorse con degli identificativi unici. che la prima è basata sul principio della chiamata remota, mentre la seconda sul principio delle risorse. che la prima è basata sul principio delle risorse, mentre la seconda sul principio della chiamata remota. sul lato server; lato client non vi è alcuna differenza. Per utilizzare il protocollo MQTT in Arduino. Arduino e MQTT non sono compatibili. Esistono delle librerie Arduino con metodi di pubblicazione e sottoscrizione su broker MQTT. è necessario istanziare il broker su Arduino. nessuna di queste risposte. Per utilizzare API REST in Arduino. bisogna implementare i metodi HTTP su Arduino, o utilizzare delle librerie specifiche. nessuna di queste risposte. non è possibile usare un Arduino Uno, perché non ha abbastanza memoria. Arduino e REST non sono compatibili. Quale è il tempo di vita minimo auspicabile per una applicazione WSN?. 1 ora. 1 anno. 1 giorno. 1 mese. Tutti i seguenti sono requisiti di WSN tranne uno, quale?. scalabilità. interoperabilità. bassi costi di produzione. tolleranza ai guasti. In una rete di sensori. necessariamente ogni nodo svolge un compito diverso. necessariamente ogni nodo svolge lo stesso compito di tutti gli altri. i nodi sensori possono svolgere sia compiti esclusivi che collaborare all'esecuzione di una attività globale e distribuita. nessuna di queste risposte. Perché sono nate le WSN?. perché una rete di sensori può garantire accuratezza di misura a costi ridotti. perché alcune aree che l'uomo vuol monitorare non sono monitorabili da umani. tutte queste risposte. perché è difficile monitorare un fenomeno fisico/ambientale su larga scala. in ambito Wireless Sensor Networks, il nodo sink. in teoria è un nodo come tutti gli altri, a meno del fatto che esso è collegato in qualche modo ad un PC. nessuna di queste risposte. è un nodo necessariamente più potente e costoso degli altri nodi della rete. è un nodo virtuale della rete. Un nodo sensore wireless. nessuna di queste risposte. non è dotato di CPU. ha una radio FM e un sensore di temperatura. è dotato di una CPU, radio FM e un sensore di temperatura. in ambito Wireless Sensor Networks, il nodo sink. deve essere unico in una rete. può essere unico, ma nulla vieta di avere reti multi-sink. nessuna di queste risposte. devono esssercene più di uno in ogni rete. Un nodo sensore wireless. nessuna di queste risposte. ha necessariamente bisogno di un sistema operativo convenzionale per funzionare. deve essere programamto in assembler. non può utilizzare alcun sistema operativo, a causa delle sue capacità di calcolo ridotte. Tutte le seguenti sono caratteristiche di un sistema operativo per WSN tranne una, quale?. scalabilità. basso parallelismo. tolleranza ai guasti. basso consumo energetico. cosa è una macchina virtuale?. nessuna di queste risposte. una macchina astratta, che però svolge funzioni reali. un nodo wireless simulato. una macchina astratta, che quindi non svolge funzioni reali. Riguardo alle WSN,. non esistono macchine virtuali. non esistono sistemi operativi. non esistono middleware. nessuna di queste risposte. Un middleware è. una funzione di nucleo di sistema operativo per reti di sensori. uno strato software tra sistema operativo e strato applicativo. uno strato software tra hardware e sistema operativo. una funzione di nucleo di sistema operativo convenzionale. Quale è il principale vantaggio di avere uno strato middleware nelle WSN?. poter accedere velocemente a tutte le risorse software. poter accedere velocemente ai sensori. poter accedere velocemente a tutte le risorse hardware. avere una interfaccia (intesa come API) di astrazione della rete intera (o porzioni di essa). 14. La vita di una applicazione WSN termina. in ogni caso quando l'ultimo nodo esaurisce la batteria. dipende dall'applicazione. in ogni caso quando il primo nodo esaurisce la batteria. in ogni caso quando il nodo sink esaurisce la batteria. In TinyOS una applicazione è costituita da. un insieme di interfacce. un insieme di librerie. un insieme di componenti. un insieme di comandi. In TinyOS un grafo dei componenti. ha una struttura gerarchica. definisce un protocollo di funzionamento. garantsce il corretto fuznionamento del sistema operativo. nessuna di queste risposte. In TinyOS un componente è. una interfaccia. un componente software. un componente hardware. nessuna di queste risposte. In TinyOS un componente è. un metodo. una libreria. un'applicazione. un blocco elementare. TinyOS è. utilizzabile anche su Arduino. nessuna di queste risposte. una macchina virtuale, quindi gira anche su un PC. utilizzabile solo su Arduino. TinyOS è scritto. in un dialetto simile al linguaggio C. in linguaggio java. in assembler. nessuna di queste risposte. TinyOS ha una struttura a blocchi, che sono. applicazioni. librerie. nessuna di queste risposte. sia librerie che applicazioni. TinyOS è. un software non commerciale (aperto). un hardware non commerciale (aperto). un software commerciale (chiuso). un hardware commerciale (chiuso). TinyOS è. tutte queste risposte sono vere. un middleware per reti di sensori. un sistema operativo per reti di sensori. una macchina virtuale per reti di sensori. uno sketch Arduino. è uno shield. è un modulo software. è un modulo hardware. nessuna di queste risposte. In TinyOS un componente può essere formato da tutte queste entità, tranne una. comandi. frame. eventi. thread. TinyOS è un sistema operativo open source per Wireless Sensor Networks che: non possiede un kernel, ma implementa il concetto di processore virtuale e di memoria virtuale. possiede un kernel per evitare accessi diretti all'hardware a bordo del nodo sensore, ma non implementa il concetto di processore virtuale e di memoria virtuale. non possiede un kernel e non implementa il concetto di processore virtuale e di memoria virtuale. possiede un kernel e implementa il concetto di processore virtuale e di memoria virtuale. In TinyOS. un evento è di norma progettato per eseguire task di lunga durata. nessuna di queste risposte. un evento è di norma progettato per eseguire task di breve durata. un evento è di norma progettato per eseguire task di durata arbitraria. In TinyOS un componente può essere formato da tutte queste entità, tranne una. interfacce. task. eventi. comandi. In TinyOS la politica dello scheduler. è solo FIFO. e solo LIFO. può essere sia LIFO che FIFO. non esiste una politica di scheduling vera e propria, ecco perché le applicazioni funzionano male. In TinyOS la politica dello scheduler di default. non esiste una politica di default. la politica di default è modificabile. la politica di default non è modificabile. nessuna di queste risposte. In una split-phase in TinyOS, cosa riceve il chiamante come notifica dal chiamato?. un comando. un task. un segnale radio. un evento. In una split-phase in TinyOS, ricevuta la notifica dal chiamato, cosa fa il chiamante?. se il flag di preemption è attivo, interrompe il task e processa l'evento ricevuto, altrimenti prima termina il task e poi processa l'evento. nessuna di queste risposte. termina l'esecuzione del task che sta eseguendo, e processa l'evento ricevuto prima di eseguire qualsiasi altro task. interrompe l'esecuzione del task che sta eseguendo, elaborando immediatamente l'evento ricevuto. In una split-phase in TinyOS, cosa fa il componente chimante dopo aver richiesto un dato al componente chiamato?. si mette in attesa attiva della risposta del chiamato. va in modalità di basso consumo attendendo la risposta del chiamato. nessuna di queste risposte. prosegue con la propria elaborazione. In una split-phase in TinyOS, quanto tempo massimo può intercorrere tra la richiesta di produzione di un dato e l'effettivo reperimento di tale dato?. non esiste un vincolo temporale. un tempo dell'ordine dei millisecondi. massimo pochi microsecondi. nessuna di queste risposte. Cosa si intende per modello split-phase?. che un comando viene eseguito da due entità diverse. è un paradigma di comunicazione asincrona. che un evento viene propagato da due entità diverse. è un paradigma di comunicazione sincrona. Per come è implementato lo scheduler del TinyOS. il microprocessore è messo a riposo a intervalli regolari. il microprocessore è messo a risposo se la coda dei task è vuota. il microprocessore è messo a risposo al termine di ogni task presente nella coda. il microprocessore rimane attivo sempre. In TinyOS lo scheduler. non esiste nella prima versione del sistema operativo. è un componente software. è il componente che consuma più energia di tutti gli altri. è un modulo hardware. Per un componente TinyOS, un frame. è un componente hardware. è un'area di memoria allocata dinamicamente. è un'area di memoria allocata staticamente. nessuna di queste risposte. In TinyOS quando un task è in esecuzione. può essere interrotto solo tramite comando. non può essere interrotto in alcun modo, a meno di interrompere l'alimentazione principale. può essere interrotto tramite interruzione hardware. può essere interrotto tramite interruzione software. Quanti task alla volta può eseguire TinyOS. 2. dipende dall'hardware. 1. non esiste limite, visto che è un sistema operativo multi-tasking. In TinyOS al verificarsi di un evento. non è possibile attivare un task. è possibile attivare un task, anzi è quello in applicazioni ben progettate. è possibile attivare un task, ma non dovrebbe succedere in applicazioni ben progettate. si deve resettare il nodo. Tenendo presente il grafo dei componenti, la struttura gerarchica di un'applicazione e gli eventi e i comandi, possiamo astrarre il concetto dicendo che in TinyOS. "i comandi scendono e gli eventi salgono". eventi e comandi si propagano in orizzonatale". nessuna di queste risposte. "i comandi salgono e gli eventi scendono". Per quanto riguarda la politica di notifica degli eventi, in TinyOS. nessuna di queste risposte. si può utilizzare sia la politica push che quella pull, ma va dichiarata a tempo di compilazione. si utilizza la politica pull (il consumatore di eventi richiede la notifica al produttore). si utilizza la politica push (il produttore di eventi notifica al consumatore). In TinyOS un evento. è una eccezione da gestire a run-time. si propaga a partire dai componenti di astrazione hardware. si propaga a partire dai componenti di software ad alto livello. nessuna di queste risposte. In TinyOS un comando. è l'espletamento di un servizio di componente a livello più alto. è una richiesta di servizio offerto da un componente a livello più basso. è una richiesta di servizio offerto da un componente a livello più alto. è l'espletamento di un servizio di componente a livello più basso. In TinyOS un componente può essere tutte le cose seguenti, tranne una. un hardware sintetico. un software ad alto livello. una astrazione software. una astrazione hardware. in TinyOS un evento. deve interrompere un task. può interrompere un task. è gestito dal sistema operativo in maniera trasparente. non può interrompere un task. in nesC il collegamento dei componenti. avviene tramite i costrutti freccia ( -> e <- ). avviene tramite i comandi. avviene tramite le interfacce. avviene tramite i frame. in nesC il collegamento dei componenti. dipende dalla versione del TinyOS. è statico. è dinamico. può essere statico, ma anche dinamico. Come sono collegati i componenti in nesC?. tramite il costrutto glue. tramite il costrutto wire. tramite il costrutto interface. nessuna di queste risposte. in nesC le interfacce. possono essere bidirezionali. se sono bidirezionali sono più efficienti. avviene tramite i comandi. devono essere bidirezionali. Il linguaggio nesC. nessuna di queste risposte. è una traduzione del linguaggio C. è un dialetto del linguaggio C. è una semplficazione del linguaggio C. in nesC un componente. può decidere se usare oppure pubblicare interfacce. deve pubblicare almento una interfacca. può pubblicare interfacce solo se nessun altro componente dell'applicazione lo farà. può decidere se e quante interfacce pubblicare. in nesC una interfaccia pubblicata. tutte queste risposte sono vere. è una funzionalità che un componente è obbligato a fornire al sistema operativo. è una funzionalità che un componente intende fornire ad altri componenti. ha la stessa semantica di una interfacia java. in nesC una interfaccia usata. deve essere re-inizializzata. nessuna di queste risposte. può essere resa non disponibile a run-time. serve per accedere all'hardware sintetico. in nesC una interfaccia. nessuna di queste risposte. è usata solo dal componente stesso. è pubblicata da altri componenti che ne richiedono l'uso. è usata da altri componenti che ne dichiarino il volere. in nesC il comportamento di un componente. deve essere specificato mediante interfacce. deve essere specificato mediante comandi. non può essere specificato. può essere specificato tramite commenti al codice. 12. Un componente in nesC. nessuna di queste risposte. deve definire solo le specifiche del suo comportamento. può definire specifiche ma solo all'interno dell'applicazione in cui viene utilizzato. deve implementare solo le specifiche che vengono descritte in documentazione. Il sistema operativo TinyOS è. ha uno spazio di memoria riservato e separato da quello dell'applicazione. nessuna di queste risposte. può anche essere escluso, se l'applicazione è molto semplice da non necessitare chiamate di sistema operativo. immerso nell'applicazione del nodo sensore. in TinyOS un evento. può interrompere gli eventi a priorità inferiore. interrompe tutti gli altri eventi. nessuna di queste risposte. può interrompere solo task, mai altri eventi. in nesC un componente. deve implementare delle interfacce standard. può solo usare interfacce. può pubblicare ed usare interfacce. può solo pubblicare interfacce. Utilizzando TinyOS. è possibile installare più di una applicazione su un nodo sensore, a patto di dotare quest'ultimo della memoria sufficiente. è possibile installare più di una applicazione su un nodo sensore. non è possibile installare più di una applicazione su un nodo sensore. nessuna di queste risposte. Il kernel di Android. è un kernel Windows. è un kernel Linux. è stato sviluppato appositamente. dipende dalla versione di Android. Del kernel Android. fanno parte i driver per lo schermo e del touch screen. fanno parte i driver per le radio (bluetooth e wifi). fanno parte i driver per la tastiera. tutte queste risposte sono vere. Al di sopra del kernel Android. dipende dalla versione di Android. troviamo il livello applicativo. troviamo molte librerie (alcune native) necessarie al funzionamento del sistema. troviamo i driver per l'utilizzo dell'hardware (audio, scehrmo, radio, etc). Tutte le seguenti sono librerie utilizzate da Android tranne una, quale?. SQLite. MediaWiki. OpenGL. MediaFramework. Le librerie Android. nessuna di queste risposte. fanno tutte parte del mondo open-source. sono state appositamente sviluppate da Google. alcune fanno parte del mondo open-source. Dalvik è. un'applicazione Android. un driver Android. una macchina virtuale di Android. una libreria fondamentale di Android. A cosa serve un Service Provider in Android. nessuna di queste risposte. a gestire la memoria di massa del dispositivo. a mandare email, o consentire di effettuare telefonate. ad astrarre tutto l'hardware del dispositivo. Da un punto di vista architetturale, i seguenti sono tutti blocchi fondamentali di Android tranne uno, quale?. attività (activities). broadcast transmitter. broadcast receiver. servizi (services). In Android il file AndroidManifest.xml. è il descrittore dell'applicazione. tutte queste risposte. è un file assolutamente obbligatorio per una applicazione. è un file di testo. Cosa è un archivio .apk. un file multimediale. un archivio contenente un'applicazione Android. un file di testo. una file criptatoc he contiene la firma del proprietario di un dispositivo Android. Come è fatta un'attività in Android?. una attività utilizza esclusivamente componenti grafici per creare una interfaccia grafica. generalmente (ma non è una regola) una attività utilizza componenti grafici per creare una interfaccia grafica. nessuna di queste risposte. una attività non può utilizzare componenti grafici per creare una interfaccia grafica, avendo tutt'altro scopo. Come viene eseguito un servizio in Android. in background. sia in background che in foreground. in foreground. viene lanciato dall'activity principale. In Android un Broadcast receiver. è il driver delle radio del dispositivo (wifi, bluetooth,...). è una radio. nessuna di queste risposte. è unico in tutto il sistema. In Android un Broadcast transmitter. è il driver delle radio del dispositivo (wifi, bluetooth,...). è una radio. non esiste. è unico in tutto il sistema. In Android quando la batteria è quasi scarica. tale evento viene segnalato opportunamente a tutti i moduli software attualmente in esecuzione. tale evento viene segnalato opportunamente ai moduli software che ne aveno richiesto la notifica. nessuna di queste risposte. non è possibile segnalarlo al di fuori del sistema operativo. Cosa vuol dire firmare una applicazione in Android?. nessuna di queste risposte. apporre una firma digitale ad una applicazione, quando questa viene eseguita dal client. apporre una firma digitale ad una applicazione, quando questa viene installata sul dispositivo client. apporre una firma digitale ad una applicazione, quando questa viene impacchettata dallo sviluppatore. In Android le risorse. possono essere organizzate a seconda del proprio stile di utilizzo. devono essere organizzate obbligatoriamente in un certo modo. possono essere organizzate a seconda del proprio stile di programmazione. nessuna di queste risposte. In Android il file AndroidManifest.cpp. è il descrittore dell'applicazione. è un file del tutto opzionale per una applicazione. è un file assolutamente obbligatorio per una applicazione. nessuna di queste risposte. In Android un Service Provider. è uno strumento comune a tutte le applicazioni installate nel dispositivo. è uno strumento che mette in comunicazione differenti applicazioni installate nel dispositivo. nessuna di queste risposte. è uno strumento di protezione dei dati del proprietario del dispositivo. In Android il file AndroidManifest.xml. è un file che si trova all'esterno dell'apk. nessuna di queste risposte. può trovarsi solo nella radice della struttura a cartelle di una applicazione. può trovarsi ovunque nella struttura a cartelle di una applicazione. Nel file AndroidManifest.xml si possono specificare tutte le seguenti cose tranne una, quale?. il nome dell'applicazione. i permessi che richiede l'applicazione. tutte queste risposte sono vere. La versione minima delle API richieste dall'applicazione. In Android come vengono identificati i permessi?. con numeri (interi o reali) e stringhe di testo, purchè univocamente. con numeri naturali univoci. con numeri reali univoci. con stringhe di testo univoche. Nel file AndroidManifest.xml si possono specificare tutte le seguenti cose tranne una, quale?. il nome dell'applicazione. la descrizione di tutti i componenti dell'applicazione. tutte queste risposte sono vere. l'occupazione massima di memoria dell'applicazione. In Android come si può interagire con il ciclo di vita di una attività. non è possibile interagire con il ciclo di vita delle attività. dipende dalla versione di Android. tramite alcuni metodi appositamente definiti. tramite eventi del sistema operativo. In Android le attività possono terminare?. sì. dipende dalla versione di Android. dipende dall'attività. no. In riferimento ad Android una attività può trovarsi in uno dei seguenti stati tranne uno, quale?. resumed. dead. stopped. paused. La filosofia RepRap. è applicabile solo se si utilizza tecnologia open hardware. prevede che una stampante produca da sè la maggior parte dei componenti che la costituiscono. è applicabile solo se si utilizza tecnologia Arduino. non esiste. Tutti i seguenti sono requisiti per una rete di sensori senza filo (WSN) tranne uno, quale?. che si possa avere una certa QoS. che il codice sia open source. che si abbiano bassi costi di produzione. che si abbia un'elevata autonomia. Secondo le più recenti stime di agenzie del settore (fanno fede quelle riportate nel corso), la maggior parte dei dispositivi IoT si trova. nel settore sicurezza (security). nel settore manufatturiero (business/manufacturing). nel settore salute (health-care). nel settore trasporto (transportation). Tutte le seguenti sono problematiche reali che rallentano la diffusione dell'IoT tranne una, quale?. il costo elevato dell'infrastruttura. la durata della batteria. la mancanza di vera interoperabilità tra vendor diversi. la mancanza di uno standard comune di rappresentazione e interscambio dati. Con riferimento ad Android per creare una notifica. si utilizza l'oggetto build ritornato dal metodo statico NotificationCompat.Creator(). si utilizza il metodo create() dell'oggetto NotificationCompat.Builder. si utilizza il metodo statico NotificationCompat.Factory(). si utilizza il metodo build() dell'oggetto NotificationCompat.Builder. |