Page 29 - DCAP403_Operating System
P. 29

Operating System




                    Notes          files from one machine to another. Each machine runs its own local operating system and has its

                                   own user (or users).
                                   A distributed operating system, in contrast, is one that appears to its users as a traditional
                                   uni-processor system, even though it is actually composed of multiple processors. In a true
                                   distributed system, users should not be aware of where their programs are being run or where
                                   their fi les are located; that should all be handled automatically and effi ciently by the operating
                                   system.
                                   True distributed operating systems require more than just adding a little code to a uni-processor
                                   operating system, because distributed and centralised systems differ in critical ways. Distributed
                                   systems, for example, often allow program to run on several processors at the same time, thus
                                   requiring more complex processor scheduling algorithms in order to optimise the amount of
                                   parallelism achieved.

                                   Operating Systems for Embedded Devices

                                   As embedded systems (PDAs, cellphones, point-of-sale devices, VCR’s, industrial robot control,
                                   or even your toaster) become more complex hardware-wise with every generation, and more
                                   features are put into them day-by-day, applications they run require more and more to run on
                                   actual operating system code in order to keep the development time reasonable. Some of the
                                   popular OS are:
                                   1.   Nexus’s Conix: an embedded operating system for ARM processors.
                                   2.   Sun’s Java OS: a standalone virtual machine not running on top of any other OS; mainly
                                       targeted at embedded systems.
                                   3.   Palm Computing’s Palm OS: Currently the leader OS for PDAs, has many applications and
                                       supporting companies.
                                   4.   Microsoft’s Windows CE and Windows NT Embedded OS.


                                   Single Processor System

                                   In theory, every computer system may be programmed in its machine language, with no systems
                                   software support. Programming of the “bare-machines” was customary for early computer
                                   systems. A slightly more advanced version of this mode of operating is common for the simple
                                   evaluation boards that are sometimes used in introductory microprocessor design and interfacing
                                   courses.

                                   Programs for the bare machine can be developed by manually translating sequences of instructions
                                   into binary or some other code whose base is usually an integer power of 2. Instructions and data
                                   are then fed into the computer by means of console switches, or perhaps through a hexadecimal
                                   keyboard. Programs are started by loading the program counter with the address of the fi rst
                                   instruction. Results of execution are obtained by examining the contents of the relevant registers
                                   and memory locations. Input/Output devices, if any, must be controlled by the executing
                                   program directly, say, by reading and writing the related I/O ports. Evidently, programming of
                                   the bare machine results in low productivity of both users and hardware. The long and tedious
                                   process of program and data entry practically precludes execution of all but very short programs
                                   in such an environment.

                                   The next significant evolutionary step in computer system usage came about with the advent
                                   of input/output devices, such as punched cards and paper tape, and of language translators.
                                   Programs, now coded in a programming language, are translated into executable form by
                                   a computer program, such as compiler or an interpreter. Another program, called the loader,
                                   automates the process of loading executable programs into memory. The user places a program




          22                               LOVELY PROFESSIONAL UNIVERSITY
   24   25   26   27   28   29   30   31   32   33   34