The layered architecture of UNIX divides the operating system into levels, with each level built upon the level below it and only using functions from lower levels, starting from the hardware layer at the bottom and moving up through interfaces, drivers, the kernel, and finally the user interface at the top. The kernel in UNIX provides core functions like file systems, CPU scheduling, and memory management through system calls to higher level systems programs. Later versions of UNIX partitioned the kernel further along functional boundaries into microkernels to reduce its size and move nonessential functions out of the kernel.
From Knowledge Graphs via Lego Bricks to scientific conversations.pptx
Operating system 14 unix and kernel based os
1. Operating System 14
UNIX and Kernel Based OS
Prof Neeraj Bhargava
Vaibhav Khanna
Department of Computer Science
School of Engineering and Systems Sciences
Maharshi Dayanand Saraswati University Ajmer
2. Operating System Design and Implementation
• Design and Implementation of OS not “solvable”,
but some approaches have proven successful
• Internal structure of different Operating Systems can
vary widely
• Start the design by defining goals and specifications
• Affected by choice of hardware, type of system
• User goals and System goals
– User goals – operating system should be convenient to
use, easy to learn, reliable, safe, and fast
– System goals – operating system should be easy to
design, implement, and maintain, as well as flexible,
reliable, error-free, and efficient
3. Operating System Design and Implementation (Cont.)
• Important principle to separate
Policy: What will be done?
Mechanism: How to do it?
• Mechanisms determine how to do something,
policies decide what will be done
• The separation of policy from mechanism is a
very important principle, it allows maximum
flexibility if policy decisions are to be changed
later (example – timer)
• Specifying and designing an OS is highly
creative task of software engineering
4. Non Simple Structure -- UNIX
UNIX – limited by hardware functionality, the
original UNIX operating system had limited
structuring. The UNIX OS consists of two
separable parts
– Systems programs
– The kernel
• Consists of everything below the system-call interface
and above the physical hardware
• Provides the file system, CPU scheduling, memory
management, and other operating-system functions;
a large number of functions for one level
5. Traditional UNIX System Structure
• The kernel is further separated into a series of
interfaces and device drivers, which have been
added and expanded over the years as UNIX
has evolved.
• We can view the UNIX operating system as
being layered as shown in Figure Next
7. Layered Approach
• The operating system is
divided into a number of
layers (levels), each built
on top of lower layers.
The bottom layer (layer
0), is the hardware; the
highest (layer N) is the
user interface.
• With modularity, layers
are selected such that
each uses functions
(operations) and
services of only lower-
level layers
8. Kernel based OS
• Everything below the system-call interface and
above the physical hardware is the kernel.
• The kernel provides the file system, CPU
scheduling, memory management, and other
operating system functions through system calls.
• Taken in sum, that is an enormous amount of
functionality to be combined into one level.
• Systems programs use the kernel-supported
system calls to provide useful functions, such as
compilation and file manipulation.
9. Kernel based OS
• System calls define the programmer interface to UNIX; the set of
systems programs commonly available defines the user interface.
• The programmer and user interfaces define the context that the
kernel must support.
• Several versions of UNIX have been developed in which the kernel is
partitioned further along functional boundaries.
• The AIX operating system, IBM's version of kernel based OS
separates the kernel into two parts.
• Mach, from Carnegie Mellon University, reduces the kernel to a
small set of core functions by moving all nonessentials into systems
and even into user-level programs.
• What remains is a microkernel operating system implementing only
a small set of necessary primitives.