Training
×

What is in the kernel

The kernel contains functions to manage
  • Memory - manages physical and virtual memory for nodes and processes
  • Time - provides time-of-day, time synchronization and alarm services
  • Interrupts - manages hardware interrupts from I/O devices
  • Threads - manages thread scheduling, synchronization and run-time statistics
  • Objects - manages creating, deleting, and manipulating object types defined by the kernel
 
For INtime – being an object-based OS - object management is a unique and central concept. Object management provides the framework and infrastructure to handle any type of object.
Standard object types always found in an INtime node are threads, processes, semaphores, regions, mailboxes, message queues and memory objects. Additional object types can be created and controlled during runtime by use of the object management. Additional services and APIs like DSM use and implement additional object types.
There are high- and low-level objects that differ in the granularity of control allowed for the INtime application. APIs for high-level objects do parameter validation and prevent an application from endangering system integrity by API calls with inappropriate values. Each high-level object occupies a slot in the GDT allowing additional protection.
Low-level objects allow finer granularity (e.g., alarms with resolution of microseconds). They are implemented with structures that reside in the application’s memory . The INtime kernel directly manipulates these structures without validating the parameters used in the kernel call.
For handling of these objects see chapter “Process and Threads” as well as “Interrupts and Low-Level Functions”.