0% found this document useful (0 votes)
20 views

Intro To Operating Systems

Uploaded by

eugenearmoh24
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
20 views

Intro To Operating Systems

Uploaded by

eugenearmoh24
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 29

Operating Systems

Introduction to
Operating Systems (OS)

Dr Eli Fianu
Initial Objectives
• To describe the basic organization of computer
systems and operating systems.
• To give an overview of the many types of
computing environments.
• To explore varied types of operating systems.
• To provide a grand tour of the major components
of operating systems.
• To describe the services an operating system
provides to users, processes, and other systems.
• To discuss the various ways of structuring an
operating system.
What is an Operating System (1)?

• A modern computer consists of:


 One or more processors
 Main memory
 Disks
 Printers
 Various input/output devices.
• Managing all these varied components
requires a layer of software – the
Operating System (OS).
What is an Operating System (2)?

• An Operating System is a program that acts as


an intermediary/interface between a user of a
computer and the computer hardware.
• OS goals:
• Control/execute user/application programs.
• Make the computer system convenient to use.
• Ease the solving of user problems.
• Use the computer hardware in an efficient manner.
Where does the OS fit in?
Services provided by an OS
• Facilities for program creation
• editors, compilers, linkers, debuggers, etc.
• Program execution
• loading in memory, I/O and file initialization.
• Access to I/O and files
• deals with the specifics of I/O and file formats.
• System access
• resolves conflicts for resource contention.
• protection in access to resources and data.
Computer Hardware Organization
Computer System Components
1. Hardware – provides basic computing resources
(CPU, Memory, I/O devices, Communication).
2. Operating System – controls and coordinates
use of the hardware among various application
programs for various users.
3. System & Application Programs – ways in which the
system resources are used to solve computing
problems of the users (Word processors, Compilers,
Web browsers, Database systems, Video games).
4. Users – (People, Machines, other computers).
Hierarchical view of computer system
Static View of System Components
Dynamic View of System Components
Views of an Operating System
• There are three classical views (in literature):

1. Resource Manager – manages and allocates resources.


2. Control program – controls the execution of user programs and
operations of I/O devices.
3. Command Executer – Provides an environment for running user
commands.
• But one more modern view: the Operating System as a Virtual
Machine.
1. Resource Manager
• Resource Manager:
• Manages and protects multiple computer resources: CPU,
Processes, Internal/External memory, Tasks, Applications,
Users, Communication channels, etc…
• Handles and allocates resources to multiple users or
multiple programs running at the same time and space (e.g.,
processor time, memory, I/O devices).
• Decides between conflicting requests for efficient and fair
resource use (e.g., maximize throughput, minimize response
time).
• Sort of a bottom-up view.
OS as a Resource Manager
2. Control Program
•Control Program:
• Manages all the components of a complex
computer system in an integrated manner.
• Controls the execution of user programs and
I/O devices to prevent errors and improper
use of computer resources.
• Looks over and protects the computer:
Monitor, Supervisor, Executive, Controller,
Master, Coordinator ….
•Sort of a black box view.
3. Command Executer
•Command Executer:
• Interfaces between the users and machine.
• Supplies services/utilities to users.
• Provides the users with a convenient CLI
(Command Language Interface), also called a
Shell (in UNIX), for entering the user
commands.
• Sort of a top-down view.
Modern view: Virtual Machine (1)
• Operating System as a Virtual Machine:
• An interface between the user and hardware that hides
the details of the hardware (e.g., I/O).
• Constructs higher-level (virtual) resources out of lower-
level (physical) resources (e.g., files).
• Definition: OS is a collection of software enhancements,
executed on the bare hardware, culminating in a high-
level virtual machine that serves as an advanced
programming environment.
• virtual machine = software enhancement = extended machine = abstract
machine = layer = level = ring.
Modern view: Virtual Machine (2)
Definition of Operating System
• There is no universally accepted definition.
• “Everything a vendor ships when you order an
operating system” is good approximation but varies
widely.
• “The one program running at all times on the
computer” is the Kernel.
• Everything else is either a system program (ships
with the operating system) or an application
program.
One Kernel Point of View
What is the OS/Kernel?
• The heart and core of an Operating System
• Has control over everything in the system
• The most important part of an Operating System
• The first program that is loaded after the bootloader
• The Kernel remains in the memory until the Operating System is shut-
down
• The Kernel is responsible for low-level tasks such as disk
management, memory management, task management, etc.
• It provides an interface between the user and the hardware
components of the system.
• When a process makes a request to the Kernel, then it is called
System Call.
What is the OS/Kernel?
• Access Computer resource: A Kernel can access various computer
resources like the CPU, I/O devices and other resources. It acts as a
bridge between the user and the resources of the system.

• Resource Management: It is the duty of a Kernel to share the


resources between various processes in such a way that there is
uniform access to the resources by every process.

• Memory Management: Every process needs some memory space.


So, memory must be allocated and deallocated for its execution. All
these memory management is done by a Kernel.

• Device Management: The peripheral devices connected in the


system are used by the processes. So, the allocation of these devices
is managed by the Kernel.
UNIX Shell and Utilities

User

Utilities Shell

Kernel

Hardware
CLI is the User OS Interface
CLI allows direct command entry:
• Sometimes implemented in kernel, sometimes by
systems program.
• Sometimes multiple flavors implemented – shells.
• Primarily fetches a command from user and
executes it.
Bourne Shell (bsh)
A very simplified Shell
UNIX System Layout
General UNIX Architecture (1)

You might also like