亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? mate-manual.tex

?? 無線通信的主要編程軟件,是無線通信工作人員的必備工具,關天相關教程我會在后續傳上.
?? TEX
?? 第 1 頁 / 共 3 頁
字號:
\documentclass[12pt]{article}\usepackage{graphicx}\usepackage{graphics}\usepackage{multicol}\usepackage{epsfig,amsmath,amsfonts}\usepackage{xspace}\usepackage{subfigure}\makeatletter                                   % Make '@' accessible. \oddsidemargin=0in                              % Left margin minus 1 inch.\evensidemargin=0in                             % Same for even-numbered pages.\marginparsep=0pt                               % Space between margin & text\renewcommand{\baselinestretch}{1.2}              % Double spacing\textwidth=6.5in                                % Text width (8.5in - margins).\textheight=9in                                 % Body height (incl. footnotes)\topmargin=0in                                  % Top margin minus 1 inch.\headsep=0.0in                                  % Distance from header to body.\skip\footins=4ex                               % Space above first footnote.\hbadness=10000                                 % No "underfull hbox" messages.\makeatother                                    % Make '@' special again.\newcommand{\mate}{Mat\'{e}\xspace}\newcommand{\bomb}{Bombilla\xspace}\title{Mat\'{e} Manual}\author{Philip Levis\\pal@cs.berkeley.edu}\date{}\begin{document}%\fontfamily{cmss}                               % Make text sans serif.%\fontseries{m}                                  % Medium spacing.%\fontshape{n}                                   % Normal: not bold, etc.%\fontsize{10}{10}                               % 10pt font, 10pt line spacing \maketitle\vspace{2in}\begin{center}Version 2.19a\\November 30, 2004\end{center}\fontfamily{cmr}                                % Make text Roman (serif).\fontseries{m}                                  % Medium spacing.\fontshape{n}                                   % Normal: not bold, etc.\fontsize{10}{10}                               % 10pt font, 10pt line spacing\thispagestyle{empty}\newpage\tableofcontents\newpage\section{Introduction}\mate is a framework for building accessible programminginterfaces to TinyOS sensor networks. The core of \mate is a bytecodeinterpreter template. A user can customize the interpeter'sinstruction set and execution events to match the abstractions neededby a particular deployment, and programs a network with high-levelscripts. Given the right set of abstractions, a user script canexpress complex behavior concisely and simply. Conciseness allowsprograms to compile to a small number of instructions, so codepropagation can be rapid and inexpensive. Simplicity makes bugs lesslikely.Once introduced, \mate programs self-propagate through a network usingan epidemic broadcast protocol. Reprogramming only requiresintroducing a single copy of a new program: this copy will theninstall itself across the entire network.This document describes the \mate architecture and how to use it. Itoutlines the major TinyOS components that comprise a \mate template,the interfaces they use to interact, describes the algorithms \mateuses for services such as code propagation and synchronization, andcovers how the VMBuilder tool builds a virtual machine from userspecifications. It assumes you have already read the \mate tutorials,and provides details beyond them, such as how to implement a newlanguage.\section{\mate Interfaces}The nesC components that comprise \mate have a wide range ofinterfaces. This section contains a brief description of eachinterface. Detailed information on the individual commands and eventscan be found in the standard nesdoc documentation.\subsection{MateAnalysis}MateAnalysis is for invoking resource utilization analysis. When new ahandler arrives, the \mate's viral propagation subsystem callsMateAnalysis to compute what shared resources the code uses. \mateuses this information to determine which handlers can safely runconcurrently, and which cannot.\subsection{MateBuffer}MateBuffer is for accessing buffer data structres as an abstract datatype. MateBuffer has commands for inserting, removing, sorting, andtypechecking.\subsection{MateBytecodeLock}MateBytecodeLock is how \mate's code analysis determines what sharedresource an instruction uses, so it can determine what handlers cansafely run concurrently. If an instruction encapsulates a sharedresource, then it must implement this interface.\subsection{MateBytecode}MateBytecode is the bytecode execution interface. When the interpreterexecutes a bytecode, it executes an instance of this interface. Theinterface also has a command that returns the byte width of theinstruction, so the scheduler knows how much to increment a context'sprogram counter by.\subsection{MateContextLocks}MateContextLocks has commands for acquiring and releasing locks on acontext basis, and determinig whether a context can acquire all of thelocks it needs. These commands are rarely called by externalcomponents; they are used by implementations of MateContextSynch tohalt and resume contexts.\subsection{MateContextStatus}MateContextStatus has a single event, which fires when a contexthalts. Among other things, this allows a context that has queuedexecution requests to know when it can handle the next one.\subsection{MateContextSynch}MateContextSynch is how components interact with the \mate concurrencymanager. Components can submit contexts to the \mate concurrencymanager for execution. The concurrency manager decides which contextscan safely run concurrently and forwards them to thescheduler. MateContextSynch has commands for resuming, halting, andyielding contexts.\subsection{MateEngineControl}MateEngineControl has events for signalling the VM to reboot, halt, orresume. Telling the VM to reboot will make it signal its own rebootevent to interested components through the MateEngineStatus interface.\subsection{MateEngineStatus}MateEngineStatus is how the VM engine notifies interested componentswhen it reboots. For example, when the VM reboots, context componentsreset their contexts and split-phase instructions clear their queues.\subsection{MateError}MateError is for indicating an error has occured, that should haltexecution. When invoked, this causes the VM to enter an error state,blinking the LEDs and broadcasting the cause of the error.\subsection{MateHandlerStore}MateHandlerStore is how components interact with the underlying codestore and propagation subsystem. It presents code handlers as anabstract data type, with accessor commands and an event for notifyingwhen code has changed.\subsection{MateLocks}MateLocks presents shared resources locks as an abstract datatype. The \mate concurrency manager uses MateLocks to manageutilization of shared resources.\subsection{MateQueue}MateQueue is for manipulating context queues as an abstract datatype. It supports enqueueing, dequeueing, removal, andinitialization. Several \mate components use context queues, includingthe scheduler, concurrency manager, and blocking operations.\subsection{MateScheduler}MateScheduler is the interface the core VM interpreter provides forsubmitting contexts to the run queue. The \mate concurrency manageruses this interface to submit contexts it has determined to be safe torun.\subsection{MateStacks}MateStacks presents the operand stack of a \mate execution context asan abstract data type. It has commands for initializing a stack,pushing various types of operands, and popping operands.\subsection{MateTypes}MateTypes provides commands for operand typechecking. Generally, acommand has two forms, query and check. Queries merely return whetheran operand passes a type requirement; checks return whether theoperand passes, and automatically trigger an error condition if thecheck fails.\subsection{MateVirus}MateVirus is the interface to \mate's viral code propagationsubsystem. Generally, a component that provides MateHandlerStore sitson top of a component that provides MateVirus. MateHandlerStoresignals arrival in terms of units of execution, while MateVirussignals arrivals in terms of code propagation (a single propagationunit, for example, may contain two handlers).\subsection{MateType}Language-independent functions cannot make assumptions about alanguage's data model. When data is internal to a mote, thisis not a problem: a VM controls access to data structures, sotheir internal representation is separated from a program. WhenVMs communicate (over the radio, for example), however, they mustagree on a data format, which can be different than the in-memoryrepresentation a VM uses. For example, a VM may represent a listas a linked list in memory, but needs to compact it to a vector totransmit it. The MateType interface is for packing and unpackingnetwork data type representations, so functions can handle data typeswithout knowing their internal structure.\section{\mate Template}A \mate VM's components fall into two classes: the components every VMincludes (the basic template), and the components that define theparticular \mate instance. The basic VM template includes scheduling,concurrency managment, and code storage/propagation. Adding aninstruction set and execution contexts to the template makes aapplication-specific virtual machine. This section describes the threemajor template components, {\tt MateEngine}, {\tt MContextSynchProxy},and {\tt MHandlerStoreProxy}.Many \mate subsystems have ``Proxy'' components. These proxycomponents separate the interface of the subsystem from itsimplementation. If every \mate component wires to the proxy, insteadof the component itself, then a user can change what implementationthe VM uses by only changing the proxy component. For example, tochange the {\tt MateLocks} implementation from {\tt MLocks} to {\ttMLockSafe} (the latter performs many checks the former does not), auser only has to change the {\tt MLocksProxy} component to refer to{\tt MLocksSafe}. In contrast, if a proxy were not used, then everyfile which wires to {\tt MLocks} would have to be changed to {\ttMLocksProxy}.\subsection{Scheduling: {\tt MateEngine}}{\tt MateEngine} is a configuration that wires {\tt MateEngineM}, thecore \mate scheduler, to all of its needed subsystems. It has thefollowing signature:\newpage\begin{figure}\centering\includegraphics[width=6in]{fig/MateEngine.jpg}\caption{{\tt MateEngine} wiring diagram.}\label{fig:mate-engine}\end{figure}{\scriptsize\begin{verbatim}configuration MateEngine {  provides {    interface StdControl;        interface MateError as Error;    interface MateEngineStatus as EngineStatus;    interface MateScheduler as Scheduler;    interface MateBytecode as Functions[uint8_t functionID];  }  uses {    interface MateEngineControl as EngineControl;    interface MateBytecode as Bytecode[uint8_t bytecode];    interface MateBytecode as FunctionImpls[uint8_t fnID];    interface StdControl as SubControl;  }}\end{verbatim}}Figure~\ref{fig:mate-engine} shows how {\tt MateEngine} wires {\ttMateEngineM}. {\tt TimerC}, {\tt LedsC}, and {\tt QueuedSend} are allfor when an error condition occurs (triggered by {\tt MateError}):{\tt MateEngine} starts a periodic timer, blinking the LEDs andbroadcasting the source of the error. {\tt MQueueProxy} is formanipulating the run queue and {\tt MHandlerStoreProxy} is forfetching opcodes from handlers.The set of components that are wired to {\tt MateEngine}'sparameterized {\tt Bytecode} implement a VM's instruction set. Themain execution loop fetches the next bytecode from a handler (throughthe HandlerStore), then dispatches on this interface based on theopcode value. For example, if the bytecode {\tt halt} has value {\tt0x2a}, then the {\tt OPhalt} component is wired to {\ttMateEngine.Bytecode[0x2a]}. Generally, functions included in a VM(such as {\tt send}) exist as bytecodes.The {\tt Functions} and {\tt FunctionImpls} are a bit morecomplex. First order language (such as motlle) need to be able torefer to functions by values, which can be stored and passed. Thelanguage then needs a way to take this value and execute the functionit refers to. If a VM supports a first-class language, then all of thefunctions must be wired to {\tt FunctionImpls}: the parameters forthis interface are distinct from those for the {\tt Bytecode}interface. {\tt Functions} is a simple pass-through to {\ttFunctionImpls}. An instruction component can wire to {\ttFunctionImpls} to dispatch to a function based on a value.Any stand-alone component that has to provide {\tt StdControl} shouldwire it to {\tt MateEngine}'s {\tt SubControl}. This will allow the VMto support power management in the future.{\tt MateEngineM} follows a round-robin FIFO policy. {\tt MateEngineM}has two configuration constants for timeslicing, {\ttMATE\_CPU\_QUANTUM} and {\tt MATE\_CPU\_SLICE}. {\tt MateEngineM}executes instructions in a task. {\tt QUANTUM} is the maximum numberof instructions it interprets in each task execution; {\tt SLICE} isthe number of quanta it gives to a context before switching to a newone. By default, {\tt MATE\_CPU\_SLICE} is 5 and {\ttMATE\_CPU\_QUANTUM} is 4. Unless a context halts or blocks, {\ttMateEngine} timeslices them at the granularity of 20 instructions.\subsection{Data Model: {\tt MStacks} and {\tt MTypeManager}}\mate VMs follow a stack architecture. Each thread (execution context)has an operand stack.  For example, to perform arithmetic addition, aprogram pushes two numbers onto the stack, then executes the addinstruction. The add instruction pops the two elements off the stack,adds them and pushes the result onto the stack. The {\tt MStacks}component presents the operand stack as an abstract data type.Operands (and more generally, variables) have an associated type. Sometypes, such as integers, are simple. Variables can be more complextypes, such as vectors, lists, or strings. When \mate motescommunicate, they need to take the in-memory representation of a typeand transform it into something that can be sent over a network. Forexample, a linked list needs to be compacted into a linear sequence(i.e., array); the receiver can then unpack the serialized form intoits desired in-memory representation.{\tt MTypeManager} provides interfaces to the set ofnetwork-compatible types. Specifically, it provides a parameterizedinterface (the parameter is the type ID) of type {\tt MateType} (which

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
自拍偷在线精品自拍偷无码专区| 亚洲妇熟xx妇色黄| 亚洲综合在线免费观看| 婷婷丁香久久五月婷婷| 懂色av一区二区三区免费观看 | 日韩欧美中文一区| 国产精品久久久久天堂| 精品一二三四区| 欧美日精品一区视频| 亚洲欧洲av在线| 国产最新精品免费| 欧美精选一区二区| 樱花草国产18久久久久| 成人h精品动漫一区二区三区| 欧美一二三四在线| 亚洲国产cao| 在线亚洲+欧美+日本专区| 久久久777精品电影网影网| 久久激情五月婷婷| 正在播放一区二区| 婷婷成人激情在线网| 在线观看国产一区二区| 中文字幕一区二区三| 国产成人免费视| 2023国产精品自拍| 精品无人区卡一卡二卡三乱码免费卡| 欧美专区在线观看一区| 亚洲精品免费在线观看| www.日韩av| 国产精品卡一卡二卡三| 国产成人欧美日韩在线电影| 2022国产精品视频| 激情六月婷婷久久| 欧美成人午夜电影| 国产一区二区三区精品视频| 精品国产一区二区三区久久影院 | 韩国一区二区在线观看| 精品欧美一区二区久久| 激情亚洲综合在线| 国产日韩精品视频一区| 成人黄色在线看| 自拍偷拍亚洲欧美日韩| 色狠狠一区二区三区香蕉| 亚洲精品美国一| 欧美猛男男办公室激情| 日本欧美一区二区三区乱码| 欧美va日韩va| 国产精品一区二区无线| 国产精品久久久久一区二区三区共| 成人一区二区三区视频在线观看 | 日韩视频在线永久播放| 久久99久久久欧美国产| 久久久久久亚洲综合影院红桃| 激情综合五月婷婷| 国产精品视频一二| 在线一区二区观看| 日韩av不卡在线观看| 久久美女高清视频| 成人福利视频网站| 亚洲一区二区三区在线| 日韩视频永久免费| 丁香六月久久综合狠狠色| 亚洲精品免费看| 日韩一区二区在线播放| 成人在线视频一区二区| 亚洲成人资源在线| 国产亚洲美州欧州综合国| 色综合视频一区二区三区高清| 亚洲国产婷婷综合在线精品| 精品粉嫩超白一线天av| 色八戒一区二区三区| 久久99精品久久久| 亚洲欧洲av一区二区三区久久| 8x8x8国产精品| 成人一区二区三区视频在线观看| 亚洲最新视频在线播放| www国产精品av| 精品视频一区二区三区免费| 国产精品69毛片高清亚洲| 一区二区三区丝袜| 国产欧美一区二区精品忘忧草 | 亚洲一区av在线| 久久精品亚洲精品国产欧美| 欧美视频一区二| 成人av电影在线| 久久99国产精品尤物| 亚洲一区二区三区四区在线| 国产欧美一区二区精品性色超碰| 91精品免费观看| 日本精品一区二区三区高清| 国产成人免费9x9x人网站视频| 日日夜夜精品视频免费| 亚洲精品国产第一综合99久久| 久久精品一区八戒影视| 日韩视频免费直播| 欧美系列在线观看| 99re这里只有精品6| 成人综合婷婷国产精品久久蜜臀| 青青草视频一区| 亚洲一区在线电影| 亚洲一区av在线| 依依成人精品视频| 亚洲视频在线观看一区| 中文字幕不卡的av| 久久久久国产精品麻豆ai换脸 | 亚洲一二三四在线| 国产精品国产三级国产aⅴ入口 | 国产99久久久精品| 精品一区二区三区视频在线观看| 性久久久久久久久久久久| 亚洲精品免费电影| 亚洲美女精品一区| 樱花影视一区二区| 亚洲精品国产精华液| 亚洲丝袜精品丝袜在线| 亚洲摸摸操操av| 亚洲伊人色欲综合网| 天堂av在线一区| 日韩av二区在线播放| 日本不卡在线视频| 美女一区二区三区| 国产在线精品视频| 国产成人免费在线视频| 粉嫩绯色av一区二区在线观看| 高清不卡在线观看| 波多野洁衣一区| 色综合久久久网| 欧美这里有精品| 在线观看91av| 精品国产sm最大网站| 国产精品欧美久久久久一区二区| 欧美国产视频在线| 亚洲欧美aⅴ...| 亚洲精选视频在线| 亚洲成av人影院在线观看网| 无码av免费一区二区三区试看 | 亚洲精品日韩一| 性感美女极品91精品| 久久精品国产亚洲5555| 国产91综合一区在线观看| 色哟哟国产精品免费观看| 777精品伊人久久久久大香线蕉| 精品国偷自产国产一区| 国产精品女上位| 亚洲图片有声小说| 久草这里只有精品视频| 99国产欧美另类久久久精品| 69堂成人精品免费视频| 久久精品在线免费观看| 亚洲国产精品久久人人爱蜜臀| 精品一区二区三区视频在线观看| www.在线成人| 欧美一区二区私人影院日本| 国产欧美日韩不卡| 亚洲午夜成aⅴ人片| 国产黄色91视频| 在线成人免费观看| 国产精品久久久久久亚洲毛片 | 一区二区三区四区在线| 极品尤物av久久免费看| 欧美亚洲图片小说| 中文字幕欧美国产| 蜜臀久久99精品久久久画质超高清 | 亚洲免费毛片网站| 精品在线一区二区三区| 欧美午夜精品免费| 国产精品美女久久久久久久网站| 日韩电影一区二区三区四区| 成人激情电影免费在线观看| 欧美成人三级在线| 亚洲成人一区二区| 成人久久久精品乱码一区二区三区| 欧美一区二区三区在| 一区二区三区在线影院| 国产成人av电影在线播放| 欧美一级久久久久久久大片| 一区二区三区视频在线观看| 成人自拍视频在线观看| 精品国产凹凸成av人网站| 午夜影院久久久| 在线观看视频一区二区欧美日韩| 中文字幕 久热精品 视频在线| 毛片av一区二区| 欧美二区三区的天堂| 夜夜嗨av一区二区三区| 色综合久久99| 亚洲欧美偷拍三级| 成人一级片网址| 欧美激情综合在线| 国产成人福利片| 国产三级一区二区| 国产一区二区按摩在线观看| 欧美精品一区二区久久久| 免费成人在线网站| 717成人午夜免费福利电影| 午夜电影网一区| 91精品国产91综合久久蜜臀| 天天操天天色综合| 欧美一区二区三区四区视频| 三级一区在线视频先锋|