Home | | Embedded Systems Design | What are operating systems?

Chapter: Embedded Systems Design : Real-time operating systems

What are operating systems?

Operating systems are software environments that provide a buffer between the user and the low level interfaces to the hardware within a system.

What are operating systems?

 

Operating systems are software environments that provide a buffer between the user and the low level interfaces to the hardware within a system. They provide a constant interface and a set of utilities to enable users to utilise the system quickly and efficiently. They allow software to be moved from one system to another and therefore can make application programs hardware independent. Program debugging tools are usually included which speed up the testing process. Many applications do not require any operating system support at all and run direct on the hard-ware.


Such software includes its own I/O routines, for example, to drive serial and parallel ports. However, with the addition of mass storage and the complexities of disk access and file struc-tures, most applications immediately delegate these tasks to an operating system.

 

The delegation decreases software development time by providing system calls to enable application software access to any of the I/O system facilities. These calls are typically made by building a parameter block, loading a specified register with its location and then executing a software interrupt instruction.


The TRAP instruction is the MC68000 family equivalent of the software interrupt and switches the processor into supervisor mode to execute the required function. It effectively provides a communication path between the application and the operating system kernel. The kernel is the heart of the operating system which controls the hardware and deals with interrupts, memory usage, I/O systems etc. It locates a parameter block by using an address pointer stored in a predetermined address register. It takes the commands stored in a parameter block and executes them. In doing so, it is the kernel that drives the hardware, interpreting the commands passed to it through a parameter block. After the command is completed, status information is written back into the parameter block, and the kernel passes control back to the application which continues running in USER mode. The application will find the I/O function completed with the data and status information written into the parameter block. The application has had no direct access to the memory or hard-ware whatsoever.

 

 

These parameter blocks are standard throughout the oper-ating system and are not dependent on the actual hardware performing the physical tasks. It does not matter if the system uses an MC68901 multifunction peripheral or a 8530 serial communica-tion controller to provide the serial ports: the operating system driver software takes care of the dependencies. If the parameter blocks are general enough in their definition, data can be supplied from almost any source within the system, for example a COPY utility could use the same blocks to get data from a serial port and copy it to a parallel port, or for copying data from one file to another. This idea of device independence and unified I/O allows software to be reused rather than rewritten. Software can be easily moved from one system to another. This is important for modular embedded designs, especially those that use an industry standard bus such as VMEbus, where system hardware can easily be upgraded and/or expanded.

 


Study Material, Lecturing Notes, Assignment, Reference, Wiki description explanation, brief detail
Embedded Systems Design : Real-time operating systems : What are operating systems? |


Privacy Policy, Terms and Conditions, DMCA Policy and Compliant

Copyright © 2018-2024 BrainKart.com; All Rights Reserved. Developed by Therithal info, Chennai.