OPERATING SYSTEMS

The two main components of a computer system are hardware and software.  Hardware is equipment such as one or more Central Processing Units (CPU), keyboard, monitor, mouse, memory, etc.  Software tells the hardware what to do.  One complements the other.  Software can be divided into Application Software and Operating Software.  Application Software applies to real world tasks.  It is used to solve particular problems.  Operating software, is sometimes called hidden software because it is in background and users are not aware of it.  The three main functions are managing the computer's resources, establishing a user interface, and executing and providing services for applications software.

An Operating System is a set of programs that lies between applications software and the hardware.  It is the fundamental software that controls access to all other hardware and software resources.  The most important program is the kernel, which manages the operating system.  It remains in memory and is referred as resident.  The kernel controls the entire operating system and loads into memory other non-resident programs from disk storage.  (Systems software includes the operating system but also includes other elements, such as program language translators and utility programs).  When the computer is turned on, the kernel is loaded from the hard drive, a process called bootstrapping, or booting, as the operating system pulls itself up by its own bootstraps.
Dennis Ritchie  
 
Dennis Ritchie worked for Bell Labs and was instrumental for the development of the computer language C.  Later he developed Unix, an operating system and used C.  C is the language of choice for Operating Systems.  Operating Systems do not need object orientation used in C++.  Java is not used because of its "Garbage Collection" when unused resources are removed to make room.  This could cause problems.  However, Java is used in operating system used in communication.  Some code is written in Pascal and in Assembly Language.  The operating system for Windows has 29 million lines of code.  Approximately 10% (a little less than three million) is written in Assembly Language and 90% (a little over 26 million) is written in C.
 
 
 

 Dennis Ritchie 

 
Placement of the Operating system
 

        Level 5        Problem oriented language level
                                            |
                                            |    Translation (compiler)
                                            |
        Level 4            Assembly Level Language
                                            |
                                            |    Translation (assembler)
                                            |
        Level 3        Operating System Machine Level
                                            |
                                            |    Partial interpretation (operating system)
                                            |
       Level 2        Instruction Set Architecture
                                            |
                                            |    Interpretation (microprogram) or direct execution
                                            |
        Level 1          MicroArchitecture Level
                                            |
                                            |    Hardware
                                            |
       Level 0              Digital logic level