Inside the JavaOS operating system

(Each chapter concludes with a Summary.) Preface. Acknowledgments. Introduction. 1. Overview. Evolution of JavaOS. JavaOS and the JDK. Supported Computing Models. Code Composition. Major Components. Runtime Components. Non-Runtime Components. 2. The Database. Current JDK Configuration Support. Configuration Support with the JSD. Population Methods. Client and Server Components. Three-Tier Computing Architecture. Entries in the Database. Entry Interface. Properties. Entry States. JSD Organization. Standard Namespaces. Temp Namespace. Device Namespace. Interface Namespace. Alias Namespace. Software Namespace. Config Namespace. Entry Format. Persistent Entries. Trees. Transaction Lock. Tree Population. Pathnames. Database Events. Database Navigation. Cursors. Searching the Database. 3. The Event System. JDK Event Routing. JavaOS Event Routing. Event System Classes. Consumer Ordering Rules. Producer Classes. Registration. Producer Registration. Consumer Registration. Peer-to-Peer Registration. Event Matching Rules. Bidirectional Events. Types of Consumption. Shared Consumption. Exclusive Consumption. Competitive Consumption. Threading. Sample Device Driver Event. 4. The Service Loader Services. Business Cards. The JavaOS Configuration Tool. How the Service Loader Manages Services. Downloading Services. Connecting Clients and Services. Service Loader Architecture. 5. Standard Device Support. Networking. Networking Architecture. Platform-Independent Networking. Video. Video Operation. Video Architecture. Alternative Video Designs. Mouse Support. Keyboard Support. 6. Device Drivers. Connecting Devices. Life Cycle of a Device Driver. Architecture of JavaOS Drivers. Matching Device Drivers with Bus Drivers. A Basic Device Driver. A Basic Bus Driver. The JavaOS Device Interface. Exceptions and Events. Device Handles. JDI Serial Port Device Example. Interfaces. Classes. Handles. Driver Packaging. 7. Memory. Memory Basics. Addressing. JavaOS Address Spaces. Virtual Address Space Usage. Page Faults. Memory Ranges. Memory Access Models. The JavaOS Memory-Access Model. Memory Classes. Address Classes. Address Space Classes. Memory Region Classes. Memory Region Creation Using Addresses from the JSD. 8. Interrupts. Abstracting Interrupts. Interrupt Source Tree. Interrupt Source Entries. IST Construction. Interrupt Management. Registering Interrupt Code. Interrupt Handlers. Synchronizing Interrupt Handlers. Queuing a Deferred-Interrupt Handler. Interrupt Dispatching. Interrupt Dispatcher. Bus and Device Interrupt Handling Roles. 9. The Microkernel. Microkernel Overview. Run All Software in Supervisor Mode. Run All Software in Single Virtual Address Space. No Inter-Process Communication Is Necessary. Microkernel Architecture. Microkernel Interfaces. Microkernel Managers. Interrupt Manager Services. Interrupt-Level Execution Context. Interrupt Processing. Clients of the Interrupt Manager. Thread Manager Services. Initialization. Destruction. Scheduling. Information. Stack Management. Software Interrupt and Exception Management. Thread Manager Clients. Virtual Memory Manager Services. Page Management. Fine-Grained Memory Management. Monitor Manager Services. Managing Monitors. Entering a Monitor. Exiting a Monitor. Waiting Within a Monitor. Notifying Waiting Threads. File Manager Services. Library Manager Services. JVM Management Services. Startup and Shutdown Manager Services. 10. Booting. The JavaOS Boot Interface. Starting JavaOS. Retrieving Platform Configuration Information. Calling Booter Functions. Physical Memory Map. Virtual Memory Map. File Augmentation. Platform Device Configuration. Device Discovery. Preboot Execution Environment Standard. Index. 0201183935T04062001