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.
Related Topics
Privacy Policy, Terms and Conditions, DMCA Policy and Compliant
Copyright © 2018-2023 BrainKart.com; All Rights Reserved. Developed by Therithal info, Chennai.