An Overview of Operating System

Operating Systems 

What is an OS – It is a control program that provides an interface between the computer hardware and the user. Part of this interface includes tools and services for the user.
 “An operating system is a program that acts as an intermediary between a user of computer and computer hardware. The purpose of the OS is provide an environment in which the user can execute programs. The primary goal of an OS is thus to make the computer convenient to use. A secondary goal is to use the computer hardware in an efficient manner.”
Computer Hardware – CPU, memory, I/O devices provide basic computing resources.
System and Application Programs – Compilers, database systems, games, business programs, etc. define the ways the computing resources are used to solve the users problems.
Operating System – Controls and coordinates the computing resources among the system and application programs for the users.

End User – Views the computer system as a set of applications.  The End User is generally not concerned with various details of the hardware.


Programmer – Uses languages, utilities (frequently used functions) and OS services (linkers, assemblers, etc.) to develop applications instead.  This method is used to reduce complexity by abstracting the detail of machine dependant calls into APIs and various utilities and OS services.

OS – Masks the hardware details from the programmer and provides an interface to the system.  Manages the computers resources.  The OS designer has to be familiar with user requirements and hardware details.

a.       OS attributes
                                                  i.      Convenience – make the computer easy to use
                                                ii.      Efficiency – manage computer resources in an efficient manner

                                              iii.      Ability to Evolve – An OS should be able to integrate new system functions and additions/modifications without interfering with service or over burdening users.
a.       OS can be thought of as:
                                                  i.      Control Program and Resource Allocator – The OS is a program, like other programs in the system.  Like other programs, it made of instructions, but its instructions serve the purpose to allocate resources (CPU, memory, disk storage, i/o) so that other programs can operate.  To do this it must stop itself from running and let other programs run.  When the other program’s turn to run is over, the OS runs long enough to prepare the resources for the next process to run, and so on.
                                                ii.      User to Computer Interface – Provides an friendly environment from which user can accomplish their goals.
b.      OS from the viewpoint that it is User/Computer Interface – The OS acts as an intermediary between the Users/Programmers and the hardware, making it easier for users, programmers, and applications to access the OS’s facilities, services (facilities can be thought of as the system’s resources, services are the methods that the OS provides to use the facilities).  Services are  typically provided in the following areas:
                                                  i.      Program Development – editors, debuggers, compilers, etc.
                                                ii.      Program Execution – loaders, linkers, system protection.
                                              iii.      Access to I/O devices – Provides a uniform interface, usually simple reads and writes, that hides the details of i/o device operation. 
                                              iv.      File access and protection – Must be able to manage storage devices, access data in file, and provides access control to files.
                                                v.      Error detection – Must be able to gracefully handle various errors, such as memory access violations, divide by zero, device errors, etc. 
                                              vi.      System Logging – log important system events for system tuning, error correction and/or billing information.
c.       Brief history (Wikipedia)
                                                  i.      The first computers did not have an OS but programs for managing the system and using the hardware quickly appeared.
                                                ii.      By the early 1960s, commercial computer vendors, such as UNIVAC and Control Data Corporation, were supplying quite extensive tools for streamlining the development, scheduling, and execution of jobs on batch processing systems.
                                              iii.      In the 1960s IBM System/360 OS 360 was developed to run on a whole line of computers.  It was a first, an OS for several different machines in IBM’s product line.  Features included:
1.      Hard disk storage development.
2.      Time sharing environment.  Time sharing provided users the illusion of having the whole machine to themselves.
                                              iv.      Multics was another well known OS that used the time sharing concepts.  It inspired several OS’s  including Unix and VMS.
                                                v.      The first microcomputers (predecessors to PCs) did not require/use most of the advanced features used for mainframes and mini computers.
                                              vi.      CP/M (Control Program/Monitor) was created by Digital’s Gary Kildall for Intel 8080/8085 and Zilog Z80 processors in about 1974.  It is the predecessor for IBM’s PC DOS and MS DOS.  DOS’s major contribution was its FAT file system.
                                            vii.      In the 1980’s DOS dominated the Intel based PC’s while the Macintosh operating system, patterned after XEROX corporations early window based document editing operating systems, provided competition on the Apple platform.
d.      Computer System Structures – A modern computer consists of:
                                                  i.      CPU – Central Processing Unit.  Is responsible for execution of arithmetic, logical, data transfer, and control operations.
                                                ii.      Device Controllers
1.      disk drive controller
2.      audio device controller
3.      video controller
4.      etc.
                                              iii.      System Bus – Serves as a communication channel between the various system components.
                                              iv.      Memory – Storage of instructions and data for system and user processes.

·         The CPU and device controllers can run concurrently.
·         A memory controller synchronizes the CPU’s and device controller’s access to memory.


Comments