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