Verkotettu multimedia. Ohjelmistoarkkitehtuurin. Multimedian vaikutukset. Mediavirtojen puskurointi. Ohjelmointi. Selainohjelmistoarkkitehtuuri

Samankaltaiset tiedostot
Ohjelmistoarkkitehtuuri. Verkotettu multimedia. Multimedian vaikutukset. Mediavirtojen puskurointi. Ohjelmointi. Selain-ohjelmistoarkkitehtuuri

Ohjelmistoarkkitehtuurin

Ohjelmistoarkkitehtuuri

Verkotettu multimedia. Ohjelmistoarkkitehtuuri. Mediavirtojen puskurointi. Multimedian vaikutukset. Selain-ohjelmistoarkkitehtuuri.

Ohjelmistoarkkitehtuuri. Verkotettu multimedia. Mediavirtojen puskurointi. Multimedian vaikutukset. Selain-ohjelmistoarkkitehtuuri.

Verkotettu multimedia. Ohjelmistoarkkitehtuuri. Multimedian vaikutukset. Ohjelmointi. Selain-ohjelmistoarkkitehtuuri. Mediavirtojen puskurointi

T Multimediatekniikka

Multimediajärjestelmät. Johdanto Päätelaitteet Verkkoteknologiat Palvelut Yhteenveto

Mediakonvergenssi. Multimediajärjestelmät. Päätelaitteet. Palvelujen jakelu. Päätelaitteet. Multimediatietokoneet

Multimediajärjestelmät

Integrointi. Ohjelmistotekniikka kevät 2003

Multimediajärjestelmät

in condition monitoring

Multimediajärjestelmät. Mediakonvergenssi. Palvelujen jakelu. Päätelaitteet. Multimediatietokoneet. Päätelaitteet

Sovellusarkkitehtuurit

Sisältö. XML, XHTML ja CSS XML XML. XML:n ja HTML:n ero. XML kieliä XML XHTML CSS XSL. T Hypermediadokumentin laatiminen 2002

Johdanto. Mitä on multimedia Multimediajärjestelmät Palvelun laatu Synkronointi / orkestrointi Standardit Sovellukset Konvergenssi Arvoketju

Multicast. Johdanto Ryhmien hallinta Reititys Reaaliaikaiset siirto- ja hallintaprotokollat Resurssien varaus Sessioiden hallinta

Johdanto. Videoneuvottelu. Järjestelmät. Laitteisto. Monipisteneuvottelut. Ryhmäneuvottelut

WWW-ohjelmoinnin kokonaisuus. WWW-OHJELMOINTI 1 Merkkauskielet. Merkkauskielten idea. Merkkauskielet (markup languages) Merkkauskielten merkitys

Hajautettujen järjestelmien rakentaminen - Jini. Ohjelmistotuotantovälineet-seminaarin esitelmä

Android ohjelmointi. Mobiiliohjelmointi 2-3T5245

!?)&/&8-"1)#)7#-2-> ! 2-77""8"'+'0%/+-1#""8"'+'0%2/&-1#""8"'+'0%#)&##-8- !?)&/&8-"1)#)17+'%#-7&> ! 1$4##;*""##4($0%7&8+**)70%2-*8+*)0%#&"'+'%1$4##$6$

Tietojärjestelmäarkkitehtuurit

Kaikki analogiset järjestelmät digitaalisiksi ja verkkokäyttöisiksi - jo tänään Kustannustekkuutta ja joustavuutta työskentelyyn

Tietojenkäsittelyn perusteet 2. Lisää käyttöjärjestelmistä

HOJ J2EE & EJB & SOAP &...


Koira testissä vai Racci tuotannossa O10G/IAS10 Linuxilla

Videoneuvottelu. Johdanto. Järjestelmät. Telepresensce. Laitteisto. Ryhmäneuvottelut

Videoneuvottelu. Johdanto Standardit Tuotteet Internet-puhelut CTI (Computer Telephony Integration) Petri Vuorimaa 1

Johdanto. Multicast. Unicast. Broadcast. Protokollat. Multicast

Multicast. Johdanto Ryhmien hallinta Reititys Reaaliaikaiset siirto- ja hallintaprotokollat Resurssien varaus Sessioiden hallinta MBone

MHP sovellusten synkronoituminen videokuvaan

Telkkari tulee kännykkään. PacketVideo Finland Jarno Kallio

SAP. Lasse Metso

TURVALLISEN TEKNIIKAN SEMINAARI Laitteiden etähallinta tietoverkkojen välityksellä Jani Järvinen, tuotepäällikkö

HSMT J2EE & EJB & SOAP &...

Vaatimusmäärittely Ohjelma-ajanvälitys komponentti

9. Muunneltavuuden hallinta

Interfacing Product Data Management System

Harri Kaukovuo Senior Sales Consultant Technology Sales Oracle Finland Oy

KODAK EIM & RIM VIParchive Ratkaisut

Hajautettujen sovellusten muodostamistekniikat, TKO_2014 Johdatus kurssiin

XML prosessori. XML prosessointi. XML:n kirjoittaminen. Validoiva jäsennin. Tapahtumaohjattu käsittely. Tapahtumaohjattu käsittely.

Digitaalisen median tekniikat. JSP ja XML Harri Laine 1

XPages käyttö ja edut Jarkko Pietikäinen toimitusjohtaja, Netwell Oy

Järjestelmäarkkitehtuuri (TK081702) Lähtökohta. Integroinnin tavoitteet

Digitaalisen median tekniikat. JSP ja XML

Rich Web Applications in Server-side Java without Plug-ins or JavaScript

Teknillinen korkeakoulu T Tietojenkäsittelyopin ohjelmatyö. Testitapaukset - Xlet

Digitaalinen Televisio

Ohjelmistoarkkitehtuurit. Kevät

7. Palvelun laatu (QoS) Internetissä

7. Palvelun laatu (QoS) Internetissä

T Hypermediadokumentin laatiminen. Sisältö. Tavoitteet. Mitä on www-ohjelmointi? Arkkitehtuuri (yleisesti) Interaktiivisuuden keinot

IT-OSAAJA, TIETOJENKÄSITTELYN ERIKOISTUMISOPINNOT

Multicast. Johdanto Ryhmien hallinta Reititys Reaaliaikaiset siirto- ja hallintaprotokollat Resurssien varaus Sessioiden hallinta

Helpottuuko sovellusten välinen integraatio XML:n avulla - kokemuksia ja ratkaisuja, teknologiajohtaja Sauli Tujunen, atbusiness Communications Oyj

Mitä on multimedia? Johdanto. Vuorovaikutus. Monta mediaa. Hypermedia. Aika

TIES530 TIES530. Moniprosessorijärjestelmät. Moniprosessorijärjestelmät. Miksi moniprosessorijärjestelmä?

Tietoturvaohjelmistojen toteutus

XML, XHTML ja CSS. T Hypermediadokumentin laatiminen. Mikko Pohja

Järjestelmäarkkitehtuuri (TK081702) Järjestelmäarkkitehtuuri. Järjestelmäarkkitehtuuri

Visma Liikkuvan työn ratkaisut Päivitysohje. Pääkäyttäjän opas

Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset

Käyttöjärjestelmät: prosessit

XML johdanto, uusimmat standardit ja kehitys

Interaktiivisten järjestelmien arkkitehtuuriratkaisu, jolla käyttöliittymä erotetaan sovelluslogiikasta.

OSI ja Protokollapino

Web sovelluksen kehittäminen sähkönjakeluverkon suojareleisiin

Käyttöjärjestelmät: Virtuaalimuisti

Mac-tietokoneiden hallinta

W3C-teknologiat ja yhteensopivuus

MHP sovellusten synkronoituminen videokuvaan

3. Kuljetuskerros 3.1. Kuljetuspalvelu

Visma Liikkuvan työn ratkaisut

Ongelma(t): Jotta tietokone olisi mahdollisimman yleiskäyttöinen ja suorituskykyinen, niin miten tietokoneen resurssit tulisi tarjota ohjelmoijalle,

Johdanto (luennon sisältö)

Linux rakenne. Linux-järjestelmä koostuu useasta erillisestä osasta. Eräs jaottelu: Ydin Komentotulkki X-ikkunointijärjestelmä Sovellusohjelmat

Hohde Consulting 2004

S Teletekniikan perusteet

Pertti Pennanen DOKUMENTTI 1 (5) EDUPOLI ICTPro

Miten voin selvittää säästömahdollisuuteni ja pääsen hyötymään niistä?

Laiteriippumaton UI Ajaxilla ja Javalla

Pikaintro käyttöjärjestelmiin

Johdanto. Agenda. Tuotantoprosessi. Historiallinen kehitys. Konsepti. Tuotantoprosessin vaiheet

Käyttöliittymien uusi sukupolvi Logicalla Rondo-tuotteessa

6 XML-työkalut 1. 6 XML-työkalut

Linux. 00 Keskeiset piirteet. Unix ja Linux Helsingin ammattikorkeakoulu Stadia Vesa Ollikainen (muokannut M.Mäki-Uuro) Kysymyksiä

Tapahtumapohjainen ohjelmointi

Siirtoformaatit. Johdanto. Yleistä. Sovellusalueet. Eri formaatit. Käyttötarkoitukset

Mikä on internet, miten se toimii? Mauri Heinonen

Luento 13: XML langattomissa päätelaitteissa

- Valitaan kohta Asetukset / NAT / Ohjelmallinen palvelin - Seuraavassa esimerkki asetuksista: valitaan käytössä oleva ohjelmistorajapinta

W3C & verkkojulkaisun standardit

Luovu ja luo uutta, uskalla uskaltaa

Siirtoformaatit. Johdanto Sovellusalueet Vaatimukset Raita- ja oliomalli Reaaliaikainen tiedonsiirto Erilaiset siirtoformaatit Vertailu

Bluetooth for Windows

13. Luento: Esimerkki: Symbianympäristö. Tommi Mikkonen,

Transkriptio:

Ohjelmistoarkkitehtuuri Verkotettu multimedia Johdanto Ohjelmointi Selainohjelmistoarkkitehtuuri Hajautetut ohjelmistot Ohjelmistoarkkitehtuurin toteutus Palvelimet Verkko Päätelaitteet 1 Java JMF MIDP MHP XML X-Smiles Käyttöjärjestelmät Käyttöliittymä Middleware Tietoliikenne Verkotetulla multimedialla tarkoitetaan multimedian sovelluksia ja palveluja, jotka on hajautettu verkkoon Esim. www-palvelut, digitaalinen televisio, WAP 2 Multimedian vaikutukset Mediavirtojen puskurointi Multimedia sisältää synkronoituja jatkuvaaikaisia mediaelementtejä Yleensä käytetään mediavirtoja (stream) Virrassa yksittäiset näytteet (ääninäyte, videokuva ym.) pysyvät järjestyksessä Mediavirrat voidaan synkronoida Sisäinen synkronointi: isochronous Ulkoinen synkronointi: synchronous 3 Mediavirtoja ei voi koskaan täydellisesti synkronoida Tiedonsiirron viive vaihtelee eli esiintyy huojuntaa Ihminen havaitsee vähäisenkin huojunnan Huojuntaa voidaan vähentää puskuroinnilla Puskurointia tarvitaan useassa eri vaiheessa 4 Ohjelmointi Selain-ohjelmistoarkkitehtuuri Hajautettu multimediajärjestelmä voidaan toteuttaa kahdella eri tavalla: Asiakas / palvelin Hajautettu ohjelmisto Selain-ohjelmistoarkkitehtuuri on tyypillinen esimerkki asiakas/palvelin -arkkitehtuurista Hajautettu ohjelmisto tarkoittaa tyypillisesti olio-ohjelman hajauttamista verkkoon 5 Internet ohjelmistot perustuvat yleensä asiakas/palvelin -arkkitehtuuriin Tyypillinen asiakasohjelma on www-selain Tyypillinen palvelin on www-palvelin Muita palvelimia ovat esim. tietokanta, video on demand, videoneuvottelu jne. Lisäksi tarvitaan apupalvelimia (proxyt, hakemistot jne.) 6

WWW-arkkitehtuuri Helix Selain HTTP CGI/ Perl/ Java Tietokanta Ohjauslogiikka SQL RTSP WWWpalvelin Video Helix DNA on avoimen lähdekoodin multimediasovellus, joka pohjautuu RealPlayer-ohjelmistoon Se sisältää suoratoistopalvelimen, soittimen, koodekit ja tuotantotyökalut Kaikki komponentit ovat tarjolla sekä kaupallisina että avoimen lähdekoodin versioina Toukokkuussa 2006, Helix oli asennettuna yli sataa erilaiseen matkapuhelimeen ja sitä oli toimitettu yli 80 miljoonaa kappaletta 7 28.9.2006 (c) Petri Vuorimaa 8 Helix Alusta Hajautetut ohjelmistot Oliopohjainen ohjelma voidaan hajauttaa usealle eri koneelle Olioiden pitää jotenkin löytää toisensa Hakemistopalvelu Olioiden metodikutsut ja -vastaukset pitää välittää oikealle koneelle Object Request Broker (ORB) Kaupallisia ratkaisuja ovat esim. OMG Corba, Microsoft DCOM &.NET sekä Java RMI & Jini 28.9.2006 (c) Petri Vuorimaa 9 10 Corba-arkkitehtuuri Komponentit Client Object implementation Asiakas (client) ja hajautettu olio (object implementation) keskustelevat ORB:n välityksellä Rajapinnat on määritelty IDL-kielellä (Interface Desription Language) Dynamic invocation interface IDL stub ORB interface Dynamic skeleton interface IDL skeleton Object adapter Normaalisti kutsutaan staattista tynkää (stub), joka välittää kutsun rungon (skeleton) kautta oliolle Toteutus voi olla myös dynaaminen ORB Core Oliot rekisteröityvät sovittimen (adapter) avulla 11 12

Ohjelmistoarkkitehtuurin toteutus Ohjelmistoarkkitehtuurin toteutusta voidaan tarkastella myös järjestelmän komponenttitasolla Multimedialla on vaikutusta sekä palvelimiin, verkkoon että päätelaitteisiin Tehokas toteutus vaatii lisäominaisuuksia ja jopa em. komponenttien täydellistä uudelleen suunnittelua 13 Palvelimet Palvelimet voidaan jakaa transaktio- (www, tietokanta) ja stream-palvelimiin (video) Transaktio-palvelimen tärkein ominaisuus on skaalattavuus Tarvittaessa tehtävä voidaan jakaa useammalle palvelimelle (replikointi) Videopalvelimissa korostuu reaaliaikaisuus Käytännössä tämä tarkoittaa tehtävien skedulointia 14 Levyskedulointi Video-on-demand -palvelimen kovalevyjen käyttö tulee miettiä tarkkaan Tavallinen tiedostopalvelin pyrkii optimoimaan hakuaikaa ja tilan käyttöä tällöin haut suoritetaan reiluus-periaatteella Videopalvelimen on pidettävä puskurit sopivan täynnä reaaliaikaiset skedulointi-algoritmit tiedostojen järjestys 15 Apple Darwin Streaming Server Perustuu Apple QuickTime Streaming Server -palvelimeen Apple julkaistu sen maaliskuussa 1999 avoimena lähdekoodina Viimeisin versio on 5.5.4 Alunperin tarkoitettu OS X -käyttöjärjestelmälle, mutta saatavilla myös Linux, FreeBSD, Solaris, Unix, OS 9 ja Windows-käyttöjärjestelmille 16 Konfiguraatio esimerkki Verkko Capture and encode Streaming Server 17 Verkon pitää tukea multimedian siirtoa: Quality of Service (QoS) reaaliaikaiset mediavirrat skaalattavuus Mediavirrat vaativat tiettyä palvelunlaatua ATM QoS IP Intergrated Services IP Differentiated Services 18

Verkko (jatk.) Päätelaitteet Verkkoprotokollien on tuettava reaaliaikaisia mediavirtoja esim. IP Real-Time Protocol (RTP), Real-Time Control Protocol (RTCP) ja Real-Time Streaming Protocol (RTSP) Lisäksi verkon on tuettavia useita yhtäaikaisia käyttäjiä esim. IP Multicast 19 Päätelaitteen suurin ongelma on rajalliset resurssit: Prosessoriaika, muisti ja tietoliikenneyhteydet Nykyiset päätelaitteiden käyttöjärjestelmät tukevat vuorovaikutteisia käyttöliittymiä Multimedian tuki on heikompi Reaaliaikaiset käyttöjärjestelmät sopivat paremmin multimedialle 20 Mediavirran käsittelyvaiheet Pakettien vastaanotto Verkkoajurit IP/UDP -protokollat Reaaliaikaiset siirtoprotokollat Koodekki Audio, video ym. ajurit Toisto 21 Käyttöjärjestelmä Soittimet Ikkunointi Näyttöajurit Näyttö Sovellus Koodekit Käyttöjärjestelmän ydin Laitteisto Mediaprotokollat IP-protokollat Verkkoajurit Verkkokortti 22 Käyttäjän vuorovaikutus Päätelaite myös seuraa käyttäjän toimenpiteitä Näppäimistö Hiiri Jne. Laitteet aiheuttavat keskeytyksiä Keskeytykset voivat helposti ruuhkautua verkkokeskeytysten ym. kanssa 23 Java Personal Computer Java Media Framework Java 2 Platform Standard Edition (J2SE) JVM Digital Television Receiver Multimedia Home Platform (MHP) + JMF 1.0 API & DVB API JDK 1.1.8 JVM Operating System Communicator Optional Packages Personal Basis Foundation CDC CVM Mobile Phones Mobile Media API Mobile Information Device Profile (MIDP) CLDC KVM 24

Päätelaitteiden konfiguraatiot Java Media Framework Connected Limited Device Configuration (CLDC) Hidas prosessori (16/32 bit, 25 MHz) Vähän muistia (min 192 KB) Connected Device Configuration (CDC) Nopeampi prosessori (32 bit) Enemmän muistia (min 2 MB) 25 JMF mahdollistaa multimedian käytön Javasovelluksissa Reaaliaikaiset verkkoprotokollat Multipleksaus Koodekit Toistimet (renderer) Efektit Kaappaus Kontrolli 26 JMF Tilakaavio unrealize() deallocate() stop() Unrealized realize() Realizing Realized prefetch() Prefetching Prefetched start() Starting Started Realize Complete Event Prefetch Complete Event Stop Event 27 Java MIDP Mobile Information Device Profile (MIDP) Tarkoitettu pienitehoisille kulutus laitteille matkapuhelimet ym. Koostuu Java-virtuaalikoneesta ja joukosta ohjelmointirajapintoja (API) Viimeisin versio 2.0 28 MIDP vaatimukset MIDP-ohjelmointirajapinnat Minimivaatimukset ovat: Näyttö 96x54, 1 bit (mv) 256 KB muistia MIDP-toteutukselle 8 KB sovellusmuistia Kaksisuuntainen verkkoyhteys Audio 29 Peruspaketit (java.lang & java.util) Verkko (javax.microedition.io) Sovellusten elinkaari (javax.microedition.midlet) Datan tallennus (javax.microedition.rms) Käyttöliittymä (javax.microedition.lcdui & javax.microedition.lcdui.game) Sertifikaatit (javax.microedition.pki) Multimedia (java.microedition.media & javax.microedition.media.control) 30

MIDP-käyttöliittymät 1 1 1 * MIDlet Display Displayable Low-Level API High-Level API Screen Canvas 1 * Alert List TextBox Form Item Laajennukset Java Bluetooth API (JSR-82) Java Wireless Messaging API (JSR-120) Java Mobile Media API (JSR-135) Nokia UI API Choice Group Data Field Gauge Image Item String Item Text Field 31 32 Mobile Multimedia API Multimedia Home Platform Mobile Media (MMAPI) version 1.0 java.sun.com/products/mmapi Audion, videon ym. jatkuva-aikaisen median tuki MIDP:hen Alustasta riippumaton ohut Java kerros Eri asia kuin JMF Valinnainen paketti MIDP 2.0 sisältää vain audio-osuuden (c) Petri Vuorimaa 33 Multimedia Home Platform (MHP) on digitaalisen television Java-ympäristö Se koostuu joukosta Java, JMF, TV, verkko, ym. ohjelmointirajapintoja (API) Sovelluksia kutsutaan nimellä Xlet Xlettejä lähetetään lähetysverkon kautta Data välitetään ns. data- ja objektikarusellien kautta Application Manager ohjaa sovelluksia 22.2.2007 34 Application Manager Set-top box resources caching Properties Application manager AIT + code XletContext Object/Data carousel Properties Signal state changes Xlet 35 36

XML Merkintäkielien määrittelyyn tarkoitettu metakieli XML-kieliä voidaan käyttää joko sisällön prosessointiin tai esittämiseen Prosessoinnilla tarkoitetaan esim. XMLmuotoisen sisällön hakua tai suodatusta Esittämisellä tarkoitetaan XML-muotoisen sisällön esittämistä päätelaitteessa Usein käytetään myös Cascading Style Sheets (CSS) -tyylisivuja ja ECMAScript-kieltä (c) Petri Vuorimaa 22.2.2007 37 (c) Petri Vuorimaa 22.2.2007 38 Tärkeimmät prosessointikielet Tärkeimmät esityskielet extensible Stylesheet Language Transformations (XSLT) XML datan transformaatiot XML Schema - Datamalli XPath Elementteihin viittaus XSL Formatting Objects (XSL FO) Formatointi extensible HyperText Markup Language (XHTML) HTML 4.01 XML muodossa Synchronized Multimedia Integration Language (SMIL) Synkronoitu multimediakieli Scalable Vector Graphics (SVG) - Vektorigrafiikka X3D 3D grafiikka VoiceXML Puheohjaus 39 40 XML-datan käsittely Tärkeimmät XML-komponentit XML-tiedoston parsiminen XSL-tyylisivun parsiminen XML-datan muunnos XSL-tyylisivun mukaisesti Document Object Model (DOM) -tietorakenne Käynnistysaikaisten skriptien suorittaminen Esityskielen asemointimallin rakentaminen Esityskielen renderöinti Tapahtumankäsittely-skriptien suoritus XML-parseri XSL-muunnokset DOM-rajapinta ECMAScript-tulkki XPath-prosessori XML Schema -prosessori CSS asemointi 41 42

X-Smiles historia X-Smilesin kehitys aloitettiin opiskelijoiden ohjelmistoprojektina 1998 Myöhemmin kehitystyötä on jatkettu tutkimushankkeissa + GO + XML Devices Julkaistu avoimena ohjelmakoodina 2001 + www.x-smiles.org 43 X-Smiles arkkitehtuuri Source & tree XSL FO GUI Desktop PDA DigiTV Mobile XML Broker General Functionality XML Parser MLFC Specific GUI MLFC Voice- XHTML SMIL SVG XForms XML ECMAScript Interpreter Browser Core Event Broker DOM Interface XML Processing ECMAScript Handler Browser Configuration XSL Transformer 44 Käyttöjärjestelmät Symbian OS Nykyisissä ohjelmistoarkkitehtuureissa käyttöjärjestelmällä on tärkeä rooli Suuri osa median käsittelystä tehdään käyttöjärjestelmäkutsuilla Sovellus toimii koordinaattorilla Datan kopiointi sovelluksen ja käyttöjärjestelmän välillä on ongelma Käyttöjärjestelmä hallitsee resursseja huonosti 45 Application engines Phone book, calendar, photo album, notepad, to-do, pinboard Application framework GUI framework (Avkon, standard Eikon, Uikon) application launching, and graphics Multimedia Images, sounds, graphics Security Cryptography, software Installed applications Games, self-developed applications, utility software Base User library, kernel, device drivers Messaging SMS, MMS, e-mail, fax Personal area networking Bluetooth, infrared Communication infrastructure TCP/IP stack, WAP stack Telephony HSCSD, GPRS MIDP Java KVM 46 Reaaliaikaiset käyttöjärjestelmät Pieni koko: ylimääräiset ominaisuudet on karsittu Keskeytysten käsittely: ruuhkautuminen estetty Reaaliaikainen skedulointi: suorituksen ajoitus Tehokas muistinhallinta: jaettu muistialue Nopea viestinvälitys: eri tasojen välinen kommunikointi on optimoitu Resurssien varaus: tehtävää ei oteta suoritettavaksi, jos sitä ei pystytä tekemään 47 Microkernel Käyttöjärjestelmästä saadaan kompaktimpi karsimalla siitä kaikki turhat ominaisuudet ikkunointi, hajautetut tiedostojärjestelmät ym. Yksi ratkaisu on ns. Microkernel käyttöjärjestelmän ydin (kernel) on tehty mahdollisimman pieneksi ja reaaliaikaiseksi muut ominaisuudet toteutetaan käyttäjäprosesseina haluttu kokoonpano voidaan kasata eri moduleista 48

Sulautettu Linux Linux on kiinnostava vaihtoehto myös sulautetuissa päätelaitteissa Ylimääräiset ominaisuudet (esim. X-ikkunointi voidaan karsia pois) ja koko saadaan pieneksi Reaaliaikaisuuden toteuttaminen ytimeen (kernel) on erittäin vaikeaa, mutta ei aina välttämätöntä Esim. digiboksissa laitteisto vastaa videon ja audion käsittelyssä - vuorovaikutteisuus hoidetaan softalla 49