Notes from March 12 discussions: J. Robnett suggests that we inquire whether OSs we are considering support both IPv4 and IPv6. Two types of security features are needed. First the OS itself needs security so that an interloper cannot use the RTOS to find a way into the systems which declare it a trusted system. Second, there must be security that we provide ourselves to prevent somebody from hijacking the VLA and turning it to his own usages. The OS footprint is a consideration we should add to the things we want to know about the OS. K. Ryan reported briefly on the JBed OS. It is a small, java oriented, RTOS. RT features are mainly that it supports tasks, with priorities, as well as the traditional threads (which are non-real-time-critical). Garbage collection is done only during thread time, not at task time. A percentage of the heap is reserved for tasks, in hopes that they won't need garbage collection during the time they have the machine. The OS footprint runs up to 300 k fully loaded (but without the java libraries). Java byte code is compiled; it is not run as an interpreter. Although the java byte code can be produced anywhere, the compiler and debugger are Windows oriented. T. Morgan discussed the question of real-time usages within the correlator backend system. Certainly, the currently most attractive organization for getting a lot of compute cycles is the Beowolf type clusters, using Linux PCs with the MPI message passing system for control. For the most part, the critical times seem to be of order one second; the response times of typical real-time systems are more of order a millisecond. It seems advantageous to stick within the Linux context, and not consider other OSs. He plans a supervisor process, probably running on a separate machine, to assign tasks to machines, and maybe attempt dynamic load balancing. Things we want to know about OS candidates. Required RT features: Priorities for tasks (or threads) Semaphores Task delay Periodic scheduling Message queues (not required, sometimes handy) Ethernet features: Support for both IPv4 and IPv6 Socket connection (required) UDP (both directed and broadcast required) NFS FTP (client and server) rlogin or telnet (client and server) Memory: A realistic footprint, with the features and network buffers we would actually use Is memory mapped? If so, how do tasks communicate Is hardware directly addressable from user programs, or must a driver be bound to the OS Security: We need something; what do they offer? Software development: Languages supported How are user programs loaded and bound to the OS and to each other Debugger properties (checkpoint setting required; source level debugger and disassembler level debuggers both desirable) Administrative How is the OS licensed - object license fee? developer seat cost? or site license? For cross-compilers, what systems do they run on? How is support managed? BSP availability OS source code availability