home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #18 / NN_1992_18.iso / spool / comp / unix / question / 10265 < prev    next >
Encoding:
Internet Message Format  |  1992-08-21  |  1.6 KB

  1. Path: sparky!uunet!gatech!news.ans.net!cmcl2!adm!news
  2. From: @ada3.ca.boeing.com:crispen@efftoo.boeing.com (crispen)
  3. Newsgroups: comp.unix.questions
  4. Subject: Real-time Unix
  5. Message-ID: <32147@adm.brl.mil>
  6. Date: 21 Aug 92 14:38:02 GMT
  7. Sender: news@adm.brl.mil
  8. Lines: 31
  9.  
  10. We have found in our evaluations that we need to go beyond defining
  11. context switching times, etc. in our requirements for Unix systems.
  12.  
  13. One of the most important things we've found so far is that you need
  14. to know the method by which preemption is implemented.  We have found
  15. (in real Unixes) three schemes:
  16.  
  17. (1) fully preemptive: when a higher-priority process becomes ready
  18. to run, if the currently running process is a lower priority, it
  19. suspends at once.
  20.  
  21. (2) clock-preemptive: higher priority tasks do not get resumed until
  22. the next clock tick.  Latency requirements are met by having a
  23. higher clock tick rate or sub-clocks or some such.
  24.  
  25. (3) "cheat-preemptive": pending processes aren't allowed to become
  26. ready to run except on clock ticks (so that vendors can claim (1)
  27. is true without actually lying).
  28.  
  29. You also need to know when signals will activate their handlers (same
  30. sort of thing as above).  In fact, one of the worst offenders seems
  31. to be socket code, where the struct socket doesn't get updated except
  32. on clock ticks (Tahoe code?).  Granted, it's nice for select() to know
  33. that what it finds at the beginning of a tick is what it will find at
  34. the end of the tick, but there are applications that don't appreciate
  35. this "feature".
  36.  
  37. Who can think of some others?  Or are these wrong?
  38.  
  39. Bob Crispen
  40. crispen@foxy.boeing.com
  41.