1 Objectives and functions
1.1 OS as a user/computer interface - Usability
The reason for an operation system to exist is to make computers more convenient to use. An
OS aims to wrap the underneath hardware resources and provides services to end users in a
systematic way. These services may be divided into two types: services directly available for
end users through all kinds of I/O devices, such as mouse, keyboard, monitor, printer, and so
on; and services for application programs, which in turn provides services for end users.
If we look on these services as interfaces among different components of a computer system,
then the following hierarchical architecture may be obtained:
Users Programmer
| | |
v | |
+---------------+ | |
| Applications | v |
+-------------------------+ | OS designer
| Utilities | v |
+------------------------------+ |
| OS | V
+-----------------------------------+
| Hardware |
+-----------------------------------+
It is also common to consider Utilities and Applications that are distributed together
with an OS parts of the OS, but obviously they are not essential. Utilities are usually called
libraries or APIs, providing frequently used functions for the upper-level applications.
1
From the point of view of end users, a computer system consists of a variety of applications
they may use. An application is developed by programmers in a programming language. The
higher level the utilities are, the easier and more comfortable it is for programmers to code in
the corresponding programming language; or the lower, the harder. In an extreme case, the
assembly language is almost the same as machine instructions except that mnemonic symbols
are used to replace binary strings or opcodes. In this kind of language, programmers have to
deal with an overwhelmingly complexity of manipulating computer hardware. On the contrary,
in a higher-level language, more user-friendly APIs are available, e.g. opening a file by calling
open("C:/filename.txt", "rw")
1.2 OS as resource manager - Efficiency
It is not the OS itself but the hardware that makes all kinds of services possible and available
to application programs. An OS merely exploits the hardware to provide easily accessible
interfaces. Exploitation means management upon the hardware resources, and thus also imposes
control upon or manages the entities that use the services so that the resources are used
efficiently. In the classes later on, we will discuss this aspect, including process scheduling,
memory management, I/O device management, etc.
One thing worth mentioning here is that, different from other control systems where the controlling
facility, the controller, is distinct and external to the controlled parts, the OS has to
depend on the hardware resources it manages to work.
+-------------------+
+------------+ | |
| | | Controlled |
| Controller |-------->| components |
| | | |
+------------+ +-------------------+
As we know, an OS is in nature a program, consisting instructions, thus it also needs CPU to
execute instructions so as to function as a controller, and main memory to hold instructions
for CPU to fetch. At the same time, the OS has to be able to relinquish and regain later
the control of CPU so that other programs can get chance to run but still under the control
of the OS (An analogy to this is that an administrator of an apartment building might live
in the same building himself). By utilizing the facilities provided by hardware, the OS may
schedule different processes to run at different moments and exchange the instructions and
data of programs between external storage devices, like hard disks, and main memory. These
topics will be covered as the course proceeds.
2
1.3 Evolution of OS - Maintainability
It does not suffice to simply consider an operating system an unvariable unit. An OS may
evolve while time elapses due to the following reasons:
• hardware upgrades or new types of hardware: With hardware technologies development,
the OS also needs to upgrade so as to utilize the new mechanisms introduced
by new hardware. For example, Pentium IV extended instruction set of Pentium III
for multimedia applications and internet transmission. An OS designed for the previous
versions of Intel x86 series will have to be upgraded to be able to accommodate these
new instructions.
• new services: An OS may also expand to include more services in response to user
demand.
• fixes: No software is perfect, and any program may contain more or less bugs or defects,
thus fixes should be made from time to time. Microsoft Windows is a vivid example of
this kind.
These situations all require OS designers to build an OS in the way that the system can be
maintained and upgraded easily. All the common software design techniques may be applied
to an OS, such as modularization. With modularization, the OS is split into multiple modules
with clearly defined interfaces between them. Thus, as long as the interfaces are left untouched,
each single module may be upgraded independently.
process
1.efficiency 2.Transparency. 3.Consistency
The two primary objectives of an operating system are:1. to enable running of application programs.2. to manage the different computer resources.
There are basically four types of operating systems. They include Batch Operating System, Multiprogramming Operating System, Network Operating System and Distributed Operating System.
1. BATCH PROCESSING operating system 2. MULTIPROGRAMMING operating system 3. TIME SHARING operating system 4. REAL TIME operating system 5. DISTRIBUTED operating system
process
1.efficiency 2.Transparency. 3.Consistency
The two primary objectives of an operating system are:1. to enable running of application programs.2. to manage the different computer resources.
CONVENIENCE Makes the computer more conveninet to use. EFFICIENCY Allows computer system resourses to be used in an efficient manner ABILITY TO EVOLVE Permit effective devolopment,testing,and introduction of new system functions without interfering with services. TIME SHARING opreating system schedule task for efficient use of memory
XP is a complete operating system, not simply an operating environment.
There are basically four types of operating systems. They include Batch Operating System, Multiprogramming Operating System, Network Operating System and Distributed Operating System.
1. BATCH PROCESSING operating system 2. MULTIPROGRAMMING operating system 3. TIME SHARING operating system 4. REAL TIME operating system 5. DISTRIBUTED operating system
An operating system manages the working operation of a computer
Yes, a multiuser operating system is also described as a network operating system.
Hell no. the bios sits under the operating system (vista is an operating system) the bios is independent of operating systems, and is there to....run the operating system.
It is both operating system....
It is both operating system....