Topic 1.2 Os Functions and Components Oct22
Topic 1.2 Os Functions and Components Oct22
PRACTICAL APPROACH
OF OPERATING
SYSTEM
TOPIC 1.2
OS Functions and Components
OS Functions and Components
1. Understanding OS Components
i. User Command Interface
ii. Processor Component
iii. Memory Component
iv. Network Management
v. I/O Component
vi. File Component
vii. Inter Process Communication (IPC)
2. Characteristics of Modern Operating Systems
i. Microkernel Architecture
ii. Multithreading
iii. Symmetric Multiprocessing (SMP)
iv. Object-Oriented Programming Language Based
OS MODEL
USER COMMAND INTERFACE
1. Microkernel Architecture
2. Multithreading
3. Symmetric Multiprocessing (SMP)
4. Object-Oriented Design
1. Microkernel Architecture
• Generally speaking, an OS consists of two parts: a
privileged mode called kernel space and
unprivileged mode called user space.
• The separation is a need rather than an option
otherwise process protection cannot be achieved.
• Depending on which processes run in what
space, we can classify OSs into three main
architectures:
• Monolithic kernel
• Microkernel and
• Hybrid or modular kernel operating systems.
KERNEL
▪ The kernel is the heart of an OS.
▪ The kernel internally contains many components, such as a memory manager,
scheduler, numerous device drivers, a file system, and so on.
▪ When an OS is being written, there are numerous design philosophies which
the designers can adopt.
▪ At one extreme is the monolithic kernel, in which all components mentioned
above, and many others, are all lumped into a single OS file.
▪ At the other extreme is the microkernel, where only the bare minimum is put
into the kernel file, and everything else is put into separate programs, which
the microkernel loads and runs at boot time.
▪ In practice, the design of most OSs lies somewhere in between those two
extremes, although they generally tend to be closer to a monolithic kernel than
a microkernel. But, like everything else in life, the microkernel has its true
believers.
MONOLITHIC KERNEL
• As the name suggest mono means everything put together
in one huge unit that is called the monolithic.
• You can think of a monolithic kernel OS as a single large
static binary file process running entirely in a single address
space. Basic OS services such as process management,
memory management, interrupt handling, IO
communication, file system, device drivers, networking, etc
all run in kernel space.
• Entire services are loaded on boot up and reside in memory
and work is done using system calls.
• Linux, Unix, MS-DOS, and the early Mac OS are typical
examples of monolithic kernel-based OS
MICROKERNEL
• The idea behind microkernel OS is to reduce the kernel to only basic
process communication and IO control and let other system services
run in user space just like any other normal processes.
• These services are called servers and kept separate and run in
different address spaces.
• Contrary to monolithic OS where services are directly invoked,
communication in a microkernel is done via message passing (inter
process communication IPC).
• Mac OS and WinNT are two examples on microkernel OS
architecture.
• Only the very important parts like IPC (Inter process Communication),
basic scheduler, basic memory handling, basic I/O primitives etc., are
put into the kernel
HYBRID KERNEL
THANK YOU