You are on page 1of 39

1.

0 INTRODUCTION TO
OPERATING SYSTEMS
1.1 Operating System Environment
LEARNING OUTCOMES
Explain the Operating Systems Environment
1.1.1 OPERATING SYSTEM DEFINITION
Definition :
A program that acts as an intermediary between a user of a computer
and the computer hardware.
Simple word:
It is an interface between the user and the hardware.
It is the first software that runs when the computer boots up.
Its provides a platform for the user to run applications
Is a program that manages the computer hardware.
Purpose:
to provide an environment in which user can execute program in a
convenient & efficient manner.
Simple word ( primary concept):
Providing the system interface.
Operating system goals:
Execute user programs and make solving user problems easier.
Make the computer system convenient to use.
1.1.2 BASIC FUNCTIONS OF OPERATING
SYSTEM

Managing Resources These programs


coordinate all the computers resources including
keyboard, mouse, printer, monitor, storage
devices and memory.
Providing a user interface

Running applications

Support for built-in utility programs

Control to the computer hardware

Process management, memory management and device


management
COMPUTER SYSTEM COMPONENT
COMPUTER
SYSTEM
COMPONENTS

HARDWARE OPERATING APPLICATION USER


SYSTEM PROGRAM
ABSTRACT VIEW OF OPERATING
SYSTEM
1.1.3 OPERATING SYSTEM STRUCTURE
1. Monolithic
The monolithic operating system is the earliest and most
common operating system architecture
Every component of the operating system is contained in the
kernel and can directly communicate with any other (i.e.,
simply by using function calls).
The kernel typically executes with unrestricted access to the
computer system (Fig. 1).
Eg : OS/360, VMS
Advantage:
Direct intercommunication between components makes monolithic
operating systems highly efficient.
Few calls cross from user space to kernel space

Disadvantage:
difficult to isolate the source of bugs and other errors
particularly susceptible to damage from errant or malicious code.
Fig 1: Monolithic Operating System kernel architecture
2. Microkernel
A microkernel operating system architecture provides only
a small number of services in an attempt to keep the kernel
small and scalable
These services typically include low-level memory
management, inter-process communication and basic process
synchronization to enable processes to cooperate
Operating system components outside the kernel can fail
without causing the operating system to fall over.
the downside is an increased level of inter-module
communication which can degrade system performance.
Eg: Linux and Windows XP
Advantage
high degree of modularity, making them extensible, portable and
scalable
Disadvantage
can degrade system performance.
Fig 2: Microkernel Operating system Architecture
3. Layered
To overcome the issue of monolithic architecture
by grouping components that performs similar
functions into layers
Each layer communicates with those above and
below it.
Lower-level layers provide services to higher-
level layer using interfaces that hide their
implementation
Layer OS are more flexible than monolithic OS
because the implementation of each layer can be
modified without requiring any modification to
other layers
Each component hides how it performs its job
and presents a standard interface that other
components can use to request its services
In a layer approach, a user processs request may
need to pass through many layers before it is
services
Early example of layer OS is THE (Technische
Hogeschool Eindhoven)

Many of todays OS including Windows XP and


Linux implement some level of layering.
Main advantage is simplicity of construction and
debugging.
Fig 3: Layers of THE operating system
4. Networked and Distributed Operating System
A network operating system enables its processes to access
resources (e.g., files) that reside on other independent computers
on a network.
The structure of many networked and distributed operating
systems is often based on the client/server model
A distributed operating system is a single operating system
that manages resources on more than one computer system.
Distributed systems provide the illusion that multiple
computers are a single powerful computer, so that a process can
access all of the systems resources regardless of the processs
location within the distributed systems network of computers.
Fig 4: Client/server Operating system model
1.1.4 VARIOUS ARCHITECTURE OF
OPERATING SYSTEMS

Single Processor system


The system that execute the one process at the
time and the next job when process is completed
it is called the single process system
They have only one main CPU.
Multiprocessor System ( parallel systems)
Have more than 1 processor in close
communication, sharing the computer bus, the
clock, memory and peripheral devices.

Advantage
o Increased throughput.
o Economy of scale
o Increased reliability
Clustered System
Share storage and are closely linked via LAN
Networking.
Provide high availability

Asymmetric clustering one machine is in hot


standby mode, the other is running the
application
Symmetric mode two or more hosts are running
application and monitoring each other.
1.1.5 VARIOUS PRODUCT OF OPERATING
SYSTEM

Form a group in two(2). You are require to do some research


regarding Operating System Product ( Closed Source
System & Open Source System). In your finding identify
criteria's of operating system below :

i. Developer / Company
ii. Source Model
iii. License
iv. Official Website
v. Basic Function of Operating System
Present your outcomes in power point form for all your friend.
1.1.6 OS CONCEPT
o Multitasking
-allow more than one program to run at a time.

o Multiprogramming
-is a rudimentary form of parallel processing in which several
programs are run at the same time on a uniprocessor.

o Time sharing
-is the sharing of a computing resource among many users by means
of multiprogramming and multi-tasking.
-individuals and organizations to use a computer without owning
one
-schedule tasks for efficient use of the system and may also include
accounting for cost allocation of processor time, mass storage,
printing, and other resources.
o Buffering
-is a region of memory used to temporarily hold data while it is being
moved from one place to another.

o Spooling
-refers to putting jobs in a buffer, a special area in memory or on a
disk where a device can access them when it is ready.

Caching
is a component that transparently stores data so that future
requests for that data can be served faster.
Buffering Spooling
allows the I/O of a job to overlap allows the I/O of one job to
with its own computation overlap the computation of
another

CPU overlaps input , output and CPU Allows overlap of one Job
processing of a single Job with the computation and output
of other job

Is an area of main memory for Is a buffer that holds output for a


holding data during input and device such as printer, that
output data transfers cannot accept interleaved data
streams

buffering requires an Internet Spooling can be carried out


connection. online or offline.
associated with video viewing on associated with printing
the web.
1.1.7 COMPONENT OF OPERATING
SYSTEM
Kernel
The central module of an operating
system. It is the part of the operating
system that loads first, and it remains
in main memory.
in other words it is the heart of the
operating system
Because it stays in memory, it is
important for the kernel to be as small
as possible while still providing all the
necessary services required by other
parts of the operating system and
applications
Typically, the kernel is responsible for
memory management, process and
task management, and disk
management.
Shell
The outermost layer of a program.
Shell is another term for user interface.
In some systems, the shell is called command interpreter.
Operating systems and applications sometimes provide an
alternative shell to make interaction with the program
easier.
For example, if the application is usually command driven,
the shell might be a menu-driven system that translates
the user's selections into the appropriate commands.
UNIX systems offer a choice between several different
shells, the most popular being the Cshell, the Bourne shell,
and the Korn shell. Each offers a somewhat different
command language.
File system
is a means to organize data expected to be
retained after a program terminates by providing
procedures to store, retrieve and update data, as
well as manage the available space on the
device(s) which contain it.
organizes data in an efficient manner and is
tuned to the specific characteristics of the device.
are used on data storage devices such as hard
disk drives, floppy disks, optical discs, or flash
memory storage devices to maintain the physical
location of the computer files
File system

File System

File system provide File System


facilities which enable a
user to create files, assign Directory structure and
meaningful name and file naming facilities
specify how the files to be
shared with others users of Protection of file against
the system illegal forms access
Static and dynamic
sharing of files
Reliable storage of files
1.1.8 INTERACTION BETWEEN
APPLICATION AND OS
An operating system (OS)
is a set of programs that
manage computer hardware
resources and provide
common services for
application software. The
operating system is the most
important type of system
software in a computer
system. A user cannot run an
application program on the
computer without an
operating system, unless the
application program is self
booting.
1.1.9 TYPES OF INTERFACES
1. Command Interface
2. Voice-actuated interface
3. Graphical User Interface
4. Web-form interface
TYPES OF INTERFACE : COMMAND
INTERFACE

An interface that accepts types commands or


special keys on a keyboard to enter data and
instruction from the user.
Normally is used to configure devices, manage
system resources and troubleshoot network
connection, network administrators and other
advanced users work with a command line
interface.
Set command entered into the computer is called
the command language.
TYPES OF INTERFACE : COMMAND
INTERFACE
Difficult to use they require exact spelling,
grammar and the punctuation.
Advantages give a user more control over
setting details.
Eg: MS-DOS , UNIX operating system
TYPES OF INTERFACE : VOICE-
ACTUATED INTERFACE
Enables a user to use simple voice command to
control physical environmental.
Eg: The computer includes a voice card and
associated voice recognition and training
software for interpreting and translating voice
input into digital information readable by
controller card for operating equipments or
control the environment.
TYPES OF INTERFACE : GRAPHICAL
USER INTERFACE
With GUI user interact with menus and visual
image such as icon, buttons and other graphical
object to issue the command.
GUIs evolved from command driven user
interface
User often use mouse to point and click on the
chosen
TYPES OF INTERFACE : WEB-FORM
INTERFACE
Allow user to enter data that is send to a server
for processing
Web form interface resembles paper form
because user need to fill out the form using web
form elements
TYPE OF OS INTERFACE

Command line: Set command


entered into the computer

Graphical User Interface:


driven user interface
Voice Actuated :Enables a user to use
simple voice command to control physical
environmental

Web Form:
Allow user to enter data that is
send to a server for processing
SYSTEM CALLS AND APPLICATION
PROGRAMMING INTERFACE (API)

System call is how a program requests a service


from an operating system's kernel. This may
include hardware related services (e.g. accessing
the hard disk), creating and executing new
processes, and communicating with integral
kernel services (like scheduling). System calls
provide the interface between a process and the
operating system.
An application programming interface (API)
is a source code based specification intended to be
used as an interface by software components to
communicate with each other. An API may
include specifications for routines, data
structures, object classes, and variables.
Types of System Calls
Process control
load, execute, end, abort, create, terminate, wait ...
memory allocation and deallocation

File management
open, close, create, delete, read, write, get/set attributes...

Device management
request / release device, read, write, ...

Information maintenance
get / set time, date, system data, process / file attributes

Communications
create / delete connection, send, receive, ...

You might also like