IN-204.0 MTOS Operating System Notes
                                         IN-204.0
                                       Mark Bernett
                                      Peter Heinicke
                                    November 25, 1987










                                        Abstract:
               This describes the authors' impressions  of  the  MTOS  operating
          system  based  on  a  reading of the documentation and presentation by
          IPI, the vendor.






























          Systems Supported:  VMS,UNIX
          KEYWORDS:  VMS

          IN-204.0 MTOS Operating System Notes                            Page 2
          TIMINGS FOR MTOS


          1  TIMINGS FOR MTOS




               Interrupt response time for 68020:  20 microseconds  for  systems

          with  no  floating point and 40 microseconds for systems with floating

          point.



          2  COST TO GET IN THE GAME




               It costs $5000 to get a source stripped of comments,  and  $15000

          to get one with comments.  This includes licenses for 10 "embeddings".

          A single multi card VME crate where up to 16 cards may be running MTOS

          counts  as a single embedding.  Each backplane with an MTOS running on

          it seems to count as one embedding.



          3  PER COPY COST ONCE ESTABLISHED.




               The next 100 embeddings  cost  200  apiece.   (It  is  not  known

          whether  this  means  we have to pay an additional 20K to get the 11th

          embedding).



          4  WORST CASE INTERRUPT DISABLE TIME


          Fast response to interrupts, minimal periods with disabled interrupts:

          40 usec w/ 68881 20 usec w/ no 68881 (16Mhz).  Their previous versions

          were not so good.

          IN-204.0 MTOS Operating System Notes                            Page 3
          CONTEXT SWITCH TIME:


          5  CONTEXT SWITCH TIME:




               A context switch is longer if 68881 is present, but only from one

          task that uses it to another one that uses it.  (There is a bit in the

          task control block that is set if task  uses  68881.)  Context  switch

          time was not given but must be less than 76 microseconds for a MVME133

          since this is the time for the fastest system service.



          6  ALLOWS VAX/VMS DEVELOPMENT




               Yes, development can proceed on  the  VAX  using  S  records  and

          downloading over RS232.



          7  PROCESSOR SUPPORT




               MTOS is a multitasking operating system  that  runs  on  680XX  ,

          8086, and soon on the 80386.



          8  MULTIPROCESSOR SUPPORT




               MTOS supports multi processing.  GLOBAL tasks are to  be  run  in

          the  same  memory location on all cards on the crate.  The impure data

          for global tasks is stored in a global memory.  Global tasks  are  run

          one at a time so that only one copy of a global task may be running at

          a time.  As many copies of the local tasks may be running at  once  as

          IN-204.0 MTOS Operating System Notes                            Page 4
          MULTIPROCESSOR SUPPORT


          desired.



          9  TASK SCHEDULING ALGORITHM FLEXIBILITY




               The scheduler alternates between global task queue and local task

          queue  if  priorities are the same.  The scheduler is a priority based

          round robin scheme (like RSX).  One process can bump another processes

          priority.  Scheduling occurs on the basis of significant events.



          10  MEMORY MANAGEMENT AND ALLOCATION FLEXIBILITY




               No use is made of the memory management chips.  System  aloc  and

          daloc services are available.



          11  GLOBAL SHARED MEMORY MANAGEMENT AND ALLOCATION FLEXIBILITY.




               There is a create named common memory pool directive.  Also,  one

          can get the names of the pools.



          12  DISK AND FILE SUPPORT




               Three file systems exist, an MS-DOS file  system,  a  quick  file

          system  of  IPI's  own  design and the VERSADOS file system, (which is

          rich and containing ISAM support).

          IN-204.0 MTOS Operating System Notes                            Page 5
          SYNCHRONIZATION MAILBOXES


          13  SYNCHRONIZATION MAILBOXES




               Message Buffers and Mailboxes are provided  by  MTOS.   Mailboxes

          work essentially the same as in VMS.



          14  SYNCHRONIZATION SEMAPHORES AND EVENT FLAGS




               Both Semaphores and Event Flags are available.  Also,  controlled

          shared  variables  are  available  (they  are an implementation of Per

          Brinch Hansen's critical shared resources.)



          15  SYNCHRONIZATION PIPES




               None.



          16  EASE OF EXTENDING OPERATING SYSTEM.




               With the $15000 license, it should be pretty easy since commented

          sources are provided.



          17  DEBUGGING TOOLS




               18  SOURCE CODE AVAILABILITY




          IN-204.0 MTOS Operating System Notes                            Page 6
          SOURCE CODE AVAILABILITY


               Yes, source code is available



          19  DOES OS SUPPORT MMU'S AND OTHER COPROCESSORS?




               No MMU support, but FPU support is available.



          20  SUPPORT ROMABLE CODE




               Yes it does.



          21  SUPPORT FOR SOFTWARE DEVELOPMENT UNDER OS ITSELF.




               This is not built in.  The normal mode would be to use MTOS  with

          Unix or VMS rather than develop tools to allow development under MTOS.



          22  TOOLS FOR DOWNLOADING RAM AND ROM




               No rom tools were mentioned.  RS232 lines and S records were used

          to download RAM.



          23  SUPPORT FOR EXCEPTION HANDLING BY THE USER




               MTOS-UX has a task called SYE which gets the address of  a  block

          of  data  defining  the  type  of problem etc.  There is also a system

          module called FTLCNS to print fatal errors.

          IN-204.0 MTOS Operating System Notes                            Page 7
          SUPPORT ROMABLE CODE


          24  SUPPORT ROMABLE CODE




               Yes it does.



          25  TERMINAL SUPPORT FOR DEBUGGING




               They supply a Console driver with the package.  A serial line  is

          required  for  each processor to be debugged.  There is no full screen

          debugger, it is more like ODT.



          26  QUALITY DOCUMENTATION




               Manual seems straight forward.  Source is given out.  Source with

          comments, however, cost an extra $10000.



          27  DRIVER SUPPORT FROM 3RD PARTY VENDORS




               IPI is working in association with CMC on an Ethernet driver.



          28  LANGUAGE SUPPORT FOR ASSEMBLER




               29  LANGUAGE SUPPORT FOR C AND C++




               System executive uses C calling sequence.  Therefore  no  calling

          IN-204.0 MTOS Operating System Notes                            Page 8
          LANGUAGE SUPPORT FOR C AND C++


          interface would be required in C.



          30  LANGUAGE SUPPORT FOR FORTRAN




               None mentioned



          31  LANGUAGE SUPPORT FOR PASCAL AND OBJECT PASCAL




               None mentioned



          32  LANGUAGE SUPPORT FOR MODULA-2




               None mentioned



          33  LANGUAGE SUPPORT FOR ADA




               None mentioned



          34  LANGUAGE SUPPORT FOR LISP




               None