Task management and the Scheduler.

      This is responsible for thread and process management. The functions performed include:

        Thread and Process creation and termination.
        Thread scheduling (priority and state management).
        Preparing threads for dispatching.
        Blockin and Running.
        Implementing the Thread and Process related APIs.
      The Scheduler's principle control blocks are:

      PTDA

        Per Task Data Area
      TCB
        Thread Control Block
      TSD
        Thread Swappable Data
      TSS
        Task State Segment (H/W)
      System Loader
        This is responsible for load module management. The Loader's principle responsibilities include:

          Bringing modules into memory and performing fixups.
          Managing modules resources.
          Managing dynamic linking.
          Tracking module references.
          Deleting modules from memory.
          Managing the discaring and swapping of module pages.
          Implementing module related APIs.
        The Loader's principle control blocks are:

        MTE

          Module Table Entry
        SMTE
          Swappable Module Table Entry
        OTE
          Object Table Entry
        STE
          Segment Table Entry
        Memory Management
          Memory Management is responsible for managing physical, virtual, and swapper memory. It's principle roles include:

            Allocation and assignment of physical pages of memory.
            Allocation and assignment of virtual storage.
            Managing the swapper.
            Memory locking.
            Implementing memory related APIs.
          The principle control blocks of Memory Management are:

          VMAR

            Virtual Memory Arena Record
          VMOB
            Virtual Memory Object Record
          PF
            Page Frame Structure
          VP
            Virtual Page Structure
          PTE
            Page Table Entry (H/W)
          File System
            The File System kernel component responsibilities include:

              Access to FAT formatted media.
              Interfacing with File System Drivers for accessing non-FAT media.
              Managing and tracking the status of all open files.
              Path Management
              File sharing and serialisation.
              Providing helper Kernel services for FSDs.
              Implementation of all File System APIs.
            The principle control blocks of the File System include:

            MFT

              Master File Table Entry
            SFT
              System File Table Entry
            CDS
              Current Directory Structure
            FSC
              File System Control Block
            Device and I/O Management
              This component is responsible for interfacing with Physical Device Drivers. Its responsibilities include:

                Routing requests to PDDs from applications
                Managing interrupts
                Providing helper kernel services for PDDs.
              The principle control blocks for device management include:

              IRQI

                IRQ Information Array
              DIRQ
                Device IRQ Information
              REQ
                PDD request Packet.
              DEV
                PDD device header.
              Virtual Dos Machine
                This component is responsible for providing the entire Dos Machine emulation. This has not been covered in this book, except for the Virtual Device Driver interface.


              [Back] [Next]