AbstractThe design of a portable, production‐quality dynamic microprogramming system is given. The system is an extension to UNIX; it allows multiple users easily to time‐share the writable control store on a Perkin‐Elmer 3220. Each process may have its own microcode support, known as a microimage; processes may share microimages. Microimages are managed either in an optional software cache in kernel memory or in user memory where they are subject to secondary memory swapping. The physical loading of the WCS is accomplished in on‐demand fashion in the sense that only the first attempt to enter control store during a given scheduling quantum can cause a WCS fault. Users are prevented from erroneously entering control store by separate management of the control store entry points. The paper provides sufficient detail to allow other UNIX and similar systems to adopt this approach. Performance effects of WCS contention add from about 0.5 to 1 per cent overhead to the jobs, and the use of vertical migration has improved job run times up to 50 percent. This system has been in use for over a year and provides the main support for ongoing research into vertical migration.
Read full abstract