OPERATING SYSTEM STRUCTURE

An operating system facilitates application access to system hardware and software resources though device drivers. This can be via a defined set of interrupts. A more extensible approach is to use drivers with defined interfaces to the OS, many of which make use of the underlying interrupt architecture.

An Operating System as Interrupts

It is a simple matter to build a basic operating system for a microcontroller if it supports indexed (vectored) software interrupts. That is, when a software interrupt is asserted by software, or by hardware, an index is supplied that is automatically used to look up the address to vector to for the interrupt from within a lookup table of interrupt addresses. DOS is essentially such an operating system. For example MSDOS interrupt 23H is the Control-C handler.

An x86 operating system typically has two levels of interrupts. At one level are the hardware generated interrupts; at a higher level are the system level interrupts. The hardware generates a hardware interrupt to the system that must then map this to a system level interrupt. The processor orchestrates deciphering between interrupts that are daisy-chained together on the same interrupt, such as COM1 and COM3. The x86 systems typically have a Programmable Interrupt Controller (PIC)1 that takes a number of interrupts as input and outputs as one interrupt to the microprocessor. The processor can then send messages to the interrupts to see which one responds to being ...

Get Professional Windows® Embedded Compact 7 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.