home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1993 / Internet Info CD-ROM (Walnut Creek) (1993).iso / answers / comp / realtime-computing / faq < prev    next >
Encoding:
Text File  |  1994-03-29  |  16.5 KB  |  397 lines

  1. Newsgroups: comp.realtime,news.answers,comp.answers
  2. Path: bloom-beacon.mit.edu!gatech!howland.reston.ans.net!cs.utexas.edu!uunet!wrangler!nominil!linimon
  3. From: linimon@nominil.lonesome.com (Mark Linimon)
  4. Subject: Comp.realtime: Frequently Asked Questions (FAQs)
  5. References: <realtime_welcome_764842215@nominil.lonesome.com>
  6. Followup-To: poster
  7. Approved: news-answers-request@MIT.Edu
  8. Organization: Lonesome Dove Computing Services
  9. Date: Mon, 28 Mar 1994 08:10:16 GMT
  10. Supersedes: <realtime_faq_762423015@nominil.lonesome.com>
  11. Message-ID: <realtime_faq_764842215@nominil.lonesome.com>
  12. Summary: Answers to real-time frequently asked questions (periodic posting)
  13. Expires: Mon, 9 May 1994 08:09:47 GMT
  14. X-Posting-Frequency: every 4 weeks
  15. Reply-To: linimon@nominil.lonesome.com
  16. Lines: 378
  17. Xref: bloom-beacon.mit.edu comp.realtime:3041 news.answers:16953 comp.answers:4336
  18.  
  19. Archive-name: realtime-computing/faq
  20. Version: 2.00 (February 1994)
  21. Last-Modified: Thu Jan 27 22:22:12 EST 1994
  22.  
  23. This posting provides an overview of newsgroup comp.realtime by summarizing
  24. the history, common past topics, and frequently asked questions.
  25.  
  26. A companion posting to this one, "Comp.realtime: Welcome to comp.realtime"
  27. <realtime_welcome_764842215@nominil.lonesome.com>, complements this
  28. one by providing a concise introduction to the group.  Another posting,
  29. "Comp.realtime: A list of real-time operating systems and tools",
  30. <realtime_list_764842215@nominil.lonesome.com>, provides references to
  31. available operating systems and software tools.
  32.  
  33. These articles are repeated periodically for the benefit of new readers.
  34.  
  35. [Editorial comments may be found in brackets.]
  36.  
  37. ----------------------------------------------------------------------
  38.  
  39. Subject: table of contents
  40.  
  41.     Subject: What is the charter of comp.realtime?
  42.     Subject: What is considered good net.etiquette on comp.realtime?
  43.     Subject: What exactly is meant by real-time?
  44.     Subject: Where should I ask questions about real-time systems?
  45.     Subject: What is POSIX 1003.4?  Where is it available?
  46.     Subject: What other net.resources are available on real-time systems?
  47.     Subject: What are some references to the theory and practice?
  48.     Subject: Where can I get the current copy of the FAQs?
  49.     Subject: Contributions to comp.realtime FAQs.
  50.  
  51. ------------------------------
  52.  
  53. Subject: What is the charter of comp.realtime?
  54.  
  55. The charter of comp.realtime is to provide a forum for discussion of both
  56. the theory and practice of real-time computer systems.  The group is
  57. unmoderated; participation is open to all.
  58.  
  59. [If there was a formal charter for the newsgroup at the time of its
  60. creation, we don't have access to it at the moment.  Readers?]
  61.  
  62. Note that the listing in the canonical "newsgroups" file is:
  63.  
  64. comp.realtime    Issues related to real-time computing.
  65.  
  66. ------------------------------
  67.  
  68. Subject: What is considered good net.etiquette on comp.realtime?
  69.  
  70. Here are some etiquette reminders that will help us all to make the group
  71. an ever-friendlier place:
  72.  
  73. -- Please, before posting, ensure that you've read the basic Usenet
  74.    etiquette guide in news.announce.newusers.
  75.  
  76. -- Please set the Followup-To: line in your post.  This is especially
  77.    true if you are cross-posting.  If you are requesting information,
  78.    consider setting Followup-To: poster, and then summarizing the replies
  79.    to the net.
  80.  
  81. -- When following up, please change the Subject: line if the subject has
  82.    really changed.
  83.  
  84. -- Some sites that receive comp.realtime are on branches of the net that
  85.    frown on overtly commercial announcements.  These postings are welcomed
  86.    on comp.newprod and anywhere in the biz.* hierarchy.  However, short
  87.    offers by vendors to provide further information by email are usually
  88.    seen as acceptable.
  89.  
  90. ------------------------------
  91.  
  92. Subject: What exactly is meant by real-time?
  93.  
  94. There are _several_ definitions of real-time, most of them contradictory.
  95. Unfortunately the topic is controversial, and there doesn't seem to be
  96. 100% agreement over the terminology.
  97.  
  98. 1. The canonical definition of a real-time system (from Donald Gillies
  99. <gillies@ee.ubc.ca> ), is the following:
  100.  
  101. "A real-time system is one in which the correctness of the computations not
  102. only depends upon the logical correctness of the computation but also upon
  103. the time at which the result is produced.  If the timing constraints of the
  104. system are not met, system failure is said to have occurred."
  105.  
  106. Others have added:
  107.  
  108. "Hence, it is essential that the timing constraints of the system are
  109. guaranteed to be met.  Guaranteeing timing behavior requires that the
  110. system be predictable.  It is also desirable that the system attain a
  111. high degree of utilization while satisfying the timing constraints of
  112. the system."
  113.  
  114. A good example is a robot that has to pick up something from a conveyor
  115. belt.  The piece is moving, and the robot has a small window to pick up
  116. the object.  If the robot is late, the piece won't be there anymore,
  117. and thus the job will have been done incorrectly, even though the robot
  118. went to the right place.  If the robot is _early_, the piece won't be
  119. there yet, and the robot may block it.
  120.  
  121. Another example is the servo loops in an airplane when on auto-pilot.  
  122. The sensors of the plane must continuously supply the control computer
  123. with proper measurements.  If a measurement is missed, the performance
  124. of the airplane can degrade, sometimes to unacceptable levels.
  125.  
  126. 2. One will occasionally see references to "real-time" systems when what is
  127. is meant is "on-line", or "an interactive system with better response time
  128. than we used to have".  Often, this is just marketing hype.  For instance,
  129. although some have queried whether running "rn" is real-time, it is not, as
  130. it is interacting with a human who can tolerate hundreds of milliseconds of
  131. delays without a problem.  Similarly, on-line stock quotation systems
  132. interact with humans.  
  133.  
  134. 3. One will also see references to "real-time" systems when what is meant
  135. is just "fast".  It might be worth pointing out that "real-time" is not
  136. necessarily synonymous with "fast"; that is, it is not the latency of the
  137. response per se that is at issue (it could be of the order of seconds),
  138. but the fact that a bounded latency sufficient to solve the problem at
  139. hand is guaranteed by the system.  In particular, frequently, algorithms
  140. that guarantee bounded latency responses are less efficient overall than
  141. algorithms that don't.
  142.  
  143. 4. One will also occasionally see discussions of "soft" vs. "hard" real-
  144. time systems.  In many of these discussions, "hard" real-time means the
  145. type of real-time system discussed above, and "soft" real-time means
  146. systems which have reduced constraints on "lateness" but still must operate
  147. very quickly and repeatably.  However, the definition is controversial,
  148. as some mean by "hard" and "soft" the degree of time constraints.  For
  149. instance, a real-time process attempting to recognize images may have
  150. only a few hundred microseconds in which to resolve each image, but a
  151. process that attempts to position a servo-motor may have tens of milli-
  152. seconds in which to process its data.
  153.  
  154. ------------------------------
  155.  
  156. Subject: Where should I ask questions about real-time systems?
  157.  
  158. Comp.realtime is certainly the place.  However,  if you are asking about a
  159. particular real-time system, see below for a (possibly) better place to start.
  160.  
  161. For topics that are only somewhat related to real-time systems, also consider
  162. comp.arch and/or comp.os.misc.  For instance, topics about bus-based computer
  163. systems are best asked in comp.arch, or, if they're about the VMEbus,
  164. comp.arch.bus.vmebus.
  165.  
  166. ------------------------------
  167.  
  168. Subject: What is POSIX 1003.4?  Where is it available?
  169.  
  170. POSIX 1003.4 is an add-on to *ix that specifies real-time extensions.
  171. Although some manufacturers are claiming to be 1003.4-adherent, it is
  172. currently still a draft standard.
  173.  
  174. Dave Lunger <lunger@helix.enet.dec.com> posted that:
  175.  
  176.     Draft 14 is basically an addendum to draft 13.  If you want to have
  177.     a reference for the content of 1003.4, you need both 13 and 14.
  178.     [Draft 13 is some 300 pages and draft 14 a mere 10 pages].
  179.  
  180. Kurt Fuchs <fs_fuchs@rcsw56.rcvie.co.at> added that:
  181.  
  182.     IEEE Service Center distributes the current draft, including draft 14, in
  183.     full form.  Their phone number is: +1 908 981 1393; fax: +1 908 981 9667.
  184.  
  185. ------------------------------
  186.  
  187. Subject: What other net.resources are available on real-time systems?
  188.  
  189. There are at least two other newsgroups devoted exclusively to a particular
  190. vendor's real-time operating system:
  191.  
  192. comp.os.os9        Discussions about the os9 operating system.
  193. comp.os.qnx        The QNX real-time operating system.
  194. comp.os.vxworks         The VxWorks real-time operating system.
  195.  
  196. Here are some other related newsgroups:
  197.  
  198. alt.industrial.computing
  199. comp.arch        Computer architecture.
  200. comp.arch.bus.vmebus    Hardware and software for VMEbus Systems.
  201. comp.os.misc        General OS-oriented discussion not carried elsewhere.
  202. comp.robotics        All aspects of robots and their applications.
  203. comp.sys.m68k        Discussion about 68k's.
  204. sci.engr.control    The engineering of control systems.
  205. sci.engr.manufacturing
  206.  
  207. There are too many other newsgroups devoted to computer operating systems
  208. that support some form of real-time scheduling to list here.  The interested
  209. reader is advised to check the "newsgroups" file on her or his local machine.
  210.  
  211. There is a realtime-related mailing list for embedded computer systems
  212. developers.  It is not strictly real-time, but there is some overlap.
  213. To subscribe, send your email address to embed-request@synchro.com.
  214.  
  215. A mailing list for discussions concerning the use of Futurebus+ now exists.
  216. Appropriate topics include the design, implementation, integration and
  217. operation of the hardware and software that are related to Futurebus+.  To
  218. subscribe, send the one-line email message (in the body of the message, not
  219. the header; the Subject line is ignored) as shown below to
  220. majordomo@theus.rain.com.
  221.  
  222. subscribe fbus_users <your_email_address>
  223.  
  224. To get more information about the mailing list, send the one-line command
  225. shown next to majordomo@theus.rain.com:
  226.  
  227. info fbus_users
  228.  
  229. The info page is automatically sent when you subscribe.
  230.  
  231. Dan Hildebrand <danh@qnx.com> has a posting listing a number of the embedded
  232. PC standards and further references.  If enough folks are interested, it's
  233. sufficiently detailed enough to make a separate FAQ of its own.
  234.  
  235. ------------------------------
  236.  
  237. Subject: What are some references to the theory and practice?
  238.  
  239. Several people recommended as a starting place the article "Tutorial on
  240. Hard Real-Time Systems", edited by John A. Stankovic and Krithi Ramamritham,
  241. IEEE Computer Society reprint series, Computer Society order number 819.
  242.  
  243. Here are some other suggestions from various net.sources, in no order:
  244.  
  245. @inproceedings{Mok:PRTS84,
  246. author = {A. K. Mok},
  247. title = {The Design of Real-time Programming Systems Based on Process Models},
  248. booktitle = {Proc. 1984 Real-Time Systems Symposium},
  249. month = {Dec.},
  250. year = {1984},
  251. pages = {5-17}
  252. }
  253.  
  254. @article{Kligerman:TOSE86,
  255.     author =    {E. Kligerman and A. Stoyenko},
  256.     year =      {1986},
  257.     journal =   TOSE,
  258.     month =     {Sep.},
  259.     number =    {9},
  260.     pages =     {941-949},
  261.     title =     {Real-Time Euclid: A Language for Reliable Real-Time Systems},
  262.     volume =    {SE-12}
  263. }
  264.  
  265. @book{Stoyenko:Diss,
  266.         author =        {A. Stoyenko},
  267.         title =         {A Real-Time Language With A Schedulability Analyzer},
  268.         address =       {Computer Systems Research Institute, 
  269.             University of Toronto},
  270.         publisher =     {Dissertation},
  271.         month =         {Dec.},
  272.         year =          {1987}
  273. }
  274.  
  275. @article{Leinbaugh:TOSE86,
  276.     author =        {D. W. Leinbaugh and M.-R. Yamini},
  277.     year =          {1986},
  278.     journal =       TOSE,
  279.     month =         {Dec.},
  280.     number =        {12},
  281.     pages =         {},
  282.     volume =        {SE-12},
  283.     title =         {Guaranteed Response Times in a Distributed
  284.                     Hard-Real-Time Environment}
  285. }
  286.  
  287. @article{Kopetz:MICRO89,
  288.         author =        {H. Kopetz and A. Damm and Ch. Koza and M. Mulazzani
  289.                          and W. Schwabl and Ch. Senft and R. Zainlinger},
  290.         title =         {Distributed Fault-Tolerant Real-Time Systems:
  291.                 The {MARS} {A}pproach},
  292.         journal =       {IEEE Micro}
  293.         volume =        {9},
  294.         number =        {1},
  295.         year =          {1989},
  296.         month =         {Feb.},
  297.         pages =         {25-40}
  298. }
  299.  
  300. Caxton Foster's "Real-Time Programming: Neglected Topics," despite the
  301. title, is a very good introduction to the basic topics of real-time control,
  302. starting with simple things like interrupts and debouncing switches, all the
  303. way through digital filters.  It's a thin paperback (Addison Wesley MicroBooks),
  304. and a (somewhat) experienced programmer can get through it in a couple of days.
  305.  
  306. Vickery, C.  Real-Time and Systems Programming for PCs.  New York: McGraw-Hill,
  307.     1993.  604 pp.
  308.     The thesis is that the development environment for real-time systems
  309.     is ideal for studying systems programming, too.  After some introductory
  310.     material, the book deals exclusively with Intel's iRMX operating
  311.     systems, with particular emphasis on iRMX for Windows.
  312.  
  313. iRUG.  Proceedings of the Intel Real-Time User's Group. Annual, back copies
  314.     available from iRUG, P.O. Box 91130, Portland, OR 97291, (800) 255-4784.
  315.     Annual conference proceedings dealing primarily with Intel's family
  316.     of real-time OSs, iRMX.
  317.  
  318. Lawrence, P. D. and Mauch, K.  Real-Time Microcomputer System Design.  New York:
  319.     McGraw-Hill, 1987.  568 pp.
  320.     The emphasis is on the design of I/O circuits and assembly language
  321.     interfaces for small microprocessors used for embedded systems.
  322.  
  323. Mellichamp, D. A.  Real-Time Computing.  New York: Van Nostrand Reinhold, 1983.
  324.     552 pp.
  325.     Twenty chapters by 11 authors on topics ranging from signal processing
  326.     to managing real-time computing facilities.
  327.  
  328. Burns, A. and Wellings, A.  Real-Time Systems and Their Programming Languages.
  329.     Wokingham: Addison-Wesley, 1990.  575 pp.
  330.     Ada, Modula-2, and occam 2 are used throughout the book, which covers
  331.     topics ranging from basic programming techniques, fault tolerance,
  332.     exception handling, concurrency, resource management, and distributed
  333.     designs.
  334.  
  335. Peter Desnoyers <peterd@merlin.dev.cdx.mot.com> sends along:
  336. The classic reference in the area of timers is:
  337.  
  338.   George Varhese and Tony Lauck, "Hashed and Hierarchical Timing
  339.   Wheels: Data Structures for the Efficient Implementation of a Timer
  340.   Facility", Operating Systems Review 21, no. 5 (Proceedings of 11th
  341.   ACM Symposium on Operating Systems), 1987.
  342.  
  343. Their results show O(1) times for insert and delete of 13 and 7
  344. instructions for one of the schemes, and decent performance with large
  345. numbers of outstanding timers.
  346.  
  347. ------------------------------
  348.  
  349. Subject: Where can I get the current copy of the FAQs?
  350.  
  351. The FAQs are posted every 4 weeks to comp.realtime, comp.answers, and
  352. news.answers.  They are also available for anonymous FTP on rtfm.mit.edu
  353. in pub/usenet/comp.realtime:
  354.  
  355.     Comp.realtime:_A_list_of_real-time_operating_systems_and_tools_(LONG)
  356.     Comp.realtime:_Frequently_Asked_Questions_(FAQs)
  357.     Comp.realtime:_Welcome_to_comp.realtime
  358.  
  359. For those without direct FTP access, there is also a mail-server.  Address
  360. a message to mail-server@rtfm.mit.edu; leave the subject blank and include
  361. in the body: send help.  It will return the instructions for proper use.
  362.  
  363. ------------------------------
  364.  
  365. Subject: Contributions to comp.realtime FAQs.
  366.  
  367. The following net.folks, among others, have contributed to this posting:
  368.  
  369.     Thomas M. Breuel <tmb@idiap.ch>
  370.     A. Lester Buck <buck@aio.clearlake.ibm.com>
  371.     Tim Chambers <tbc@col.hp.com>
  372.     Chuck Cox <chuck@synchro.com>
  373.     Peter Desnoyers <peterd@merlin.dev.cdx.mot.com>
  374.     Kevin Driscoll <driscoll@src.honeywell.com>
  375.     Donald Gillies <gillies@ee.ubc.ca>
  376.     David Hansen <hansen@cs.umn.edu>
  377.     Dan Hildebrand <danh@qnx.com>
  378.     Dave Lunger <lunger@helix.enet.dec.com>
  379.     Kurt Fuchs <fs_fuchs@rcsw56.rcvie.co.at>
  380.     David Oseas <aimla!tower!davido@uunet.UU.NET>
  381.     Alan F. Perry <esprit@netcom.com>
  382.     David B. Stewart <dstewart@cmu.edu>
  383.     John Theus <john@theus.rain.com>
  384.     Alexander Vrchoticky <alex@vmars.tuwien.ac.at>
  385.     Christopher Vickery <vickery@ipc1.cs.qc.edu>
  386.  
  387. I welcome reactions, additions, and corrections to this posting via email
  388. at linimon@nominil.lonesome.com.
  389. -- 
  390.     Mark Linimon / Lonesome Dove Computing Services / Roanoke, Virginia
  391.    {chinacat,uunet}!nominil!linimon   ||    linimon@nominil.lonesome.com     
  392. -- 
  393.     Mark Linimon / Lonesome Dove Computing Services / Roanoke, Virginia
  394.    {chinacat,uunet}!nominil!linimon   ||    linimon@nominil.lonesome.com     
  395.          "It's a small town, son, may I ask what you're doing here?"
  396. I am coming to believe that Netnews is the digital equivalent of junk food...
  397.