CSC 101 - Operating System-Week3

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 12

CSC 101 – Introduction To Computer

Science (Group C – Operating Systems)


BA 203 - Monday - 11am – 1pm
Course Outline
u Definition of Operating System
u Goals and Functions of the Operating System

u Views of the Operating System

u Types of Operating Systems

u The Kernel
u Types of Kernel
THE KERNEL
u In computer science, the kernel is the central component of most computer operating systems
(OS). Its responsibilities include
q managing the system's resources and
q Managing the communication between hardware and software components
u Some of the hardware resources managed by the kernel are:
v Input devices, e.g. keyboard and mouse.
v Output devices, e.g. display monitors, printers and scanners.
v Network devices, e.g. modems, routers and network connections.
v Storage devices, e.g. internal and external drives.

u A kernel provides the lowest-level abstraction layer for the resources (especially memory,
processors and I/O devices) that applications must control to perform their function.

u It typically makes these facilities available to application processes through inter-process


communication mechanisms and system calls.

u The kernel connects the application software to the hardware of a computer.


The kernel connects the
application software to the
hardware of a computer. Applications

Kernel

CPU Memory Devices


KERNEL BASIC RESPONSIBILITIES
The kernel’s primary purpose is to manage the computer’s
resources and allow other programs to run and use these
resources. Other responsibilities are:
u Process Management: The main task of a kernel is to allow
the execution of applications and support them with
features such as hardware abstractions.
u Memory Management: The kernel has full access to the
system's memory and must allow processes to access this
memory safely as they require it
KERNEL BASIC RESPONSIBILITIES

u Device Management: To perform useful functions, processes


need access to the peripherals connected to the computer,
which are controlled by the kernel through device drivers.
TYPES OF KERNEL

u Monolithic Kernels
u Microkernels

u Hybrid Kernels
MONOLITHIC KERNEL
u In a monolithic kernel, all OS services
run along with the main kernel thread,
thus also residing in the same memory
area.
u This approach provides rich and
powerful hardware access.
u The main disadvantages of monolithic
kernels are:
u the dependencies between system
components
- a bug in a device driver might crash the
entire system –
u and the fact that large kernels can
become very difficult to maintain.
u A Monolithic kernel is an OS
architecture where the entire
operating system (which includes
the device drivers, file system, and
the application IPC) is working in
kernel space.

u Monolithic kernels are able to


dynamically load (and unload)
executable modules at runtime.
MICROKERNEL
u  in a Microkernel architecture, the core
functionality is isolated from system
services and device drivers (which are
basically just system services). 
u Here, the kernel itself only provides basic
functionality that allows the execution of
servers, separate programs that assume
former kernel functions, such as device
drivers, GUI servers, etc.
u microkernel allows the implementation of
the remaining part of the operating
system as a normal application program
written in a high-level language.
IPC – Inter-Process
Communication
Microkernel vs. Monolithic Kernel
BASIS FOR
MICROKERNEL MONOLITHIC KERNEL
COMPARISON
Basic In microkernel user services and kernel, In monolithic kernel, both user services and
services are kept in separate address kernel services are kept in the same
space. address space.

Size Microkernel are smaller in size. Monolithic kernel is larger than microkernel.

Execution Slow execution. Fast execution.


Extendible The microkernel is easily extendible. The monolithic kernel is hard to extend.

Security If a service crashes, it has no effect on If a service crashes, the whole system
working of microkernel. crashes in monolithic kernel.

Code To write a microkernel, more code is To write a monolithic kernel, less code is
required. required.
HYBRID KERNELS
u Hybrid kernel Architecture is based on
combining aspects of microkernel and
monolithic kernel architectures used in
computer operating systems.
u The hybrid kernel approach tries to

combine the speed and simpler design


of a monolithic kernel with the
modularity and execution safety of a
microkernel.

You might also like