<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="hu">
	<id>https://vik.wiki/index.php?action=history&amp;feed=atom&amp;title=BeagyRendEllenorzTinyOS</id>
	<title>BeagyRendEllenorzTinyOS - Laptörténet</title>
	<link rel="self" type="application/atom+xml" href="https://vik.wiki/index.php?action=history&amp;feed=atom&amp;title=BeagyRendEllenorzTinyOS"/>
	<link rel="alternate" type="text/html" href="https://vik.wiki/index.php?title=BeagyRendEllenorzTinyOS&amp;action=history"/>
	<updated>2026-05-01T08:06:47Z</updated>
	<subtitle>Az oldal laptörténete a wikiben</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://vik.wiki/index.php?title=BeagyRendEllenorzTinyOS&amp;diff=137020&amp;oldid=prev</id>
		<title>Unknown user: Új oldal, tartalma: „{{GlobalTemplate|Infoalap|BeagyRendEllenorzTinyOS}}   ==TinyOS==  &#039;&#039;&#039;Melyek a TinyOS/NesC környezet építőelemei, hogyan épülnek fel, mik a tulajdonságai?&#039;&#039;&#039;  Kom…”</title>
		<link rel="alternate" type="text/html" href="https://vik.wiki/index.php?title=BeagyRendEllenorzTinyOS&amp;diff=137020&amp;oldid=prev"/>
		<updated>2012-10-21T19:53:06Z</updated>

		<summary type="html">&lt;p&gt;Új oldal, tartalma: „{{GlobalTemplate|Infoalap|BeagyRendEllenorzTinyOS}}   ==TinyOS==  &amp;#039;&amp;#039;&amp;#039;Melyek a TinyOS/NesC környezet építőelemei, hogyan épülnek fel, mik a tulajdonságai?&amp;#039;&amp;#039;&amp;#039;  Kom…”&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Új lap&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{GlobalTemplate|Infoalap|BeagyRendEllenorzTinyOS}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==TinyOS==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Melyek a TinyOS/NesC környezet építőelemei, hogyan épülnek fel, mik a tulajdonságai?&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Komponensalapú, köztük kétirányú interfészen keresztül lehet kapcsolódni. Beszélhetünk a modulról és a konfigurációról.&lt;br /&gt;
* module: implementálja az interfészeket (parancsokat és eseményeket tartalmaznak)&lt;br /&gt;
* konfiguráció: egy hierarchikus huzalozás, mely modulokat és konfigurációkat tartalmazhat.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Milyen szabályok érvényesek az elemek kapcsolódására?&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Kétirányú interfészeken keresztül kapcsolódnak, általuk képes a komponens szolgáltatást használni és nyújtani. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Hogyan épülnek fel a TinyOS modulok? Mit definiál és mit implementál a modul?&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
A &amp;#039;&amp;#039;modulok&amp;#039;&amp;#039; &lt;br /&gt;
* definiálják a használt és szolgáltatott interfészeket,&lt;br /&gt;
* implementálják a szolgáltatott command-okat és a felhasznált eseményeket. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Mik a TinyOS konfigurációk? Hogyan épülnek fel?&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
&lt;br /&gt;
A &amp;#039;&amp;#039;konfigurációk&amp;#039;&amp;#039; a komponensek huzalozására használatosak (több almodult/alkonfigurációt tartalmazhat). Hierarchikus felépítésű.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Mi a top-level konfiguráció, mik ennek sajátosságai?&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
A &amp;#039;&amp;#039;top-level konfiguráció&amp;#039;&amp;#039; tartalmaz egy main komponenst, mely a reset utasítás után közvetlenül indul, meghívja a StdControl interfész =init= és =start= utasításait. Ezután az ütemező indítása következik, majd az erőforrások kímélése érdekében =stop= utasítással standby állapotba kerül.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Hogyan épül fel egy TinyOS interfész?&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
A komponens szolgáltatást nyújt (provides) [a felette lévőnek, parancsokat fogad tőle és eseményeket küld neki] és használ [-ja az alatta lévő komponens szolgáltatásait, parancsokat küld neki, eseményeket fogad tőle] (uses).&lt;br /&gt;
&lt;br /&gt;
Kétféle elemet tartalmazhatnak: parancs (=command=) és esemény (=event=). Paraméterezhetőek: &amp;quot;interfésztömb&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Hogyan működnek a taszkok és a HW kezelő események? Hogyan működik az ütemezés?&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;#039;&amp;#039;Taszk&amp;#039;&amp;#039; függvényhívás késleltetett (kezdeményezés után valamikor elindul és lefut) végrehajtással, ezáltal nincs végtelen ciklus és blokkoló utasítás. Indítását kezdeményezheti másik taszk, esemény vagy utasítás. Taszk nem szakíthat meg taszkot, a taszk megszakítható HW eseményt kezelő függvény által. Taszk akár hosszabb végrehajtási idejű is lehet.&lt;br /&gt;
* A &amp;#039;&amp;#039;HW eseményt kezelő függvényeket&amp;#039;&amp;#039; HW IT-hez rendeljük futása bármikor elindulhat és bármely más taszkot (vagy másik HW kezelőt) megszakíthat, célszerű a rövid implementáció.&lt;br /&gt;
* &amp;#039;&amp;#039;Ütemezés&amp;#039;&amp;#039; során a taszkok FIFO lista szerint indulnak, kivéve a már említett HW megszakítások&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Történik-e kontextus váltás az ütemezőben?&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
&lt;br /&gt;
Igen, de csak HW IT esetén. Taszk nem szakít meg taszkot.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Mi a fő oka a primitív taszk megvalósításnak?&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Nincsenek blokkoló hívások, nem kell kontextusváltás és szinkronzicáiós primitívek.&lt;br /&gt;
Hátránya: bonyolultabbá válik az alkalmazás logikája.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Mikor kell mindenképpen taszkokat használnunk és mik az ún. splitphase műveletek?&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Splitphase: kétfázisú&lt;br /&gt;
* egyik taszk a kérést (command) küldi el, majd beszúr egy választ várót a FIFO végére&lt;br /&gt;
* a másik taszk kezeli a választ, eredményt (event)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Mit nevezünk szinkron ill. aszinkron kódterületeknek?&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;szinkron kódnak&amp;#039;&amp;#039; nevezzük azon függvényeket, eseményeket, parancsokat, taszkokat, amelyeket csak taszkokból lehet elérni.&lt;br /&gt;
* ezzel szemben az &amp;#039;&amp;#039;aszinkron kód&amp;#039;&amp;#039; elérhető legalább egy IT kezelőből.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Milyen szabályok vonatkoznak a közös erőforrások (változók) elérésére?&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* Elérés csak szinkron kódból.&lt;br /&gt;
* Atomikus utasítások használata.&lt;br /&gt;
** Késleltetik a megszakítások végrehajtását, növeli a válaszidőt, jittert okoznak.&lt;br /&gt;
&lt;br /&gt;
-- [[AdamO|adamo]] - 2006.06.28.&lt;br /&gt;
-- [[KarakoMiklos|palacsint]] - 2006.06.28.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Infoalap]]&lt;/div&gt;</summary>
		<author><name>Unknown user</name></author>
	</entry>
</feed>