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

Ch 1 Introduction to OS

An operating system (OS) manages computer hardware and provides a platform for application programs, acting as an intermediary between users and hardware. It is responsible for resource allocation, execution of programs, and ensuring efficient and fair usage of system resources. The document discusses the structure, operation, and various types of operating systems, highlighting their roles in single-user and multi-user environments, as well as the importance of device drivers and system architecture.

Uploaded by

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

Ch 1 Introduction to OS

An operating system (OS) manages computer hardware and provides a platform for application programs, acting as an intermediary between users and hardware. It is responsible for resource allocation, execution of programs, and ensuring efficient and fair usage of system resources. The document discusses the structure, operation, and various types of operating systems, highlighting their roles in single-user and multi-user environments, as well as the importance of device drivers and system architecture.

Uploaded by

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

CHAPTER 1

Introduction to Operating System

ITec2022, Operating System 1


What is an Operating System??
An operating system is a program that manages a
computer’s hardware. It also provides abasis for
application programs and acts as an intermediary between
the computer user and the computer hardware.

An Operating System (shortly OS) is a set of programs that


manage computer hardware resources and provide
common services for application software.

Based on the need and usage, some operating systems are


designed to be , others to be , and
others to be some combination of the two.

2
What is an Operating System?
• A program that acts as an intermediary between a user
of a computer and the computer hardware
• Operating system goals:
• Execute user programs and make solving user problems easier
• Make the computer system convenient to use
• Use the computer hardware in an efficient manner

3
Computer System Structure
Computer system can be divided into four components:

• CPU, memory, I/O devices

• Controls and coordinates use of hardware among various


applications and users
– define the ways in which the
system resources are used to solve the computing
problems of the users
• Word processors, compilers, web browsers, database systems,
video games

• People, machines, other computers

4
THE STRUCTURE OF COMPUTER SYSTEMS
➢ Accessing computer resources is divided into layers.
➢ Each layer is isolated and only interacts directly with the layer below
or above it.
➢ If we install a new hardware device
✓ No need to change anything about the user/applications.
✓ However, you do need to make changes to the operating system.
✓ You need to install the device drivers that the operating system
will use to control the new device.
➢ If we install a new software application
✓ No need to make any changes to your hardware.
✓ But we need to make sure the application is supported by the
operating system
✓ user will need to learn how to use the new application.
➢ If we change the operating system
✓ Need to make sure that both applications and hardware will
compatible with the new operating system.
5
The dominant desktop operating system is Microsoft Windows
with a market share of around 82.74%. macOS by Apple Inc. is
in second place (13.23%), and the varieties of Linux are
collectively in third place (1.57%).
6
What Operating Systems Do??
• In case of a single user system, the operating system is designed mostly for ease
of use, with some attention paid to performance and none paid to resource
utilization—how various hardware and software resources are shared.
• In cases, where a user sits at a terminal connected to a mainframe or a
minicomputer, the OS is designed to maximize resource utilization— to assure
that all available CPU time, memory, and I/O are used efficiently and that no
individual user takes more than her fair share.
• In some cases, users of workstations have dedicated resources, but frequently
use shared resources from servers. their operating system is designed to
compromise between individual usability and resource utilization.
• Handheld computers are resource poor, and are optimized for usability and
battery life.
• Some computers have little or no user interface, such as embedded computers in
devices and automobiles. The OS are designed to run without human
intervention.
7
What Operating Systems Do??

• OS is a resource allocator
• Manages all resources
• Decides between conflicting requests for efficient and fair
resource use
• OS is a control program
• Controls execution of programs to prevent errors and improper
use of the computer

8
Definition of O S

• No universally accepted Definition.


• A more common definition, and the one that we usually
follow, is that the operating system is the one program
running at all times on the computer—usually called
the kernel
• Along with the kernel, there are two other types of
programs: system programs, which are associated with
the operating system but are not necessarily part of the
kernel, and application programs, which include all
programs not associated with the operation of the
system. 9
Computer System Organization
A modern general-purpose computer system consists of one or more
CPUs and a number of device controllers connected through a
common bus that provides access to shared memory. Each device
controller is in charge of a specific type of device.
The CPU and the device controllers can execute in parallel,
competing for memory cycles. To ensure orderly access to the shared
memory, a memory controller synchronizes access to the memory.

10
Computer System Operation
For a computer to start running, when it is powered up or rebooted—it needs to
have an initial program to run called a .
It is stored within the computer hardware in or
known by
the general term firmware.
It initializes all aspects of the system, from CPU registers to device controllers
to memory contents.
To start execution of the OS, the bootstrap program must locate the Operating-
system kernel and load into memory.
Once the kernel is loaded and executing, it can start providing services to the
system and its users. Some services are provided outside of the kernel, by
system programs that are loaded into memory at boot time to become system
processes, or system daemons that run the entire time the kernel is running.
Once this phase is complete, the system is fully booted, and the system waits
for some event to occur.

11
The occurrence of an event is usually signaled by an the interrupt from either
hardware or the software.
Hardware may trigger an interrupt at any time by sending a signal to the CPU,
usually by way of the system bus.
Software may trigger an interrupt by executing a special operation called a
(also called a ).
When the CPU is interrupted, it stops what it is doing and immediately
transfers execution to a fixed location. The fixed location usually contains the
starting address where the service routine for the interrupt is located. The
interrupt service routine executes; on completion, the CPU resumes the
interrupted computation.

12
Storage Structure
The CPU can load instructions only from memory, so any programs
to run must be stored there.
General-purpose computers run most of their programs from
rewritable memory, called (also called
or RAM). Main memory commonly is implemented in a
semiconductor technology called
.

Because ROM cannot be changed, only static programs, such as the


bootstrap program, are stored there.
EEPROM can be changed but cannot be changed frequently and so
contains mostly static programs.

13
• All forms of memory provide an array of bytes. Each byte has its own
address. Interaction is achieved through a sequence of load or store
instructions to specific memory addresses.
The operands for all arithmetic and logic operations are contained in registers.
To operate on data in main memory, the data is first copied into registers. A load
operation copies data from main memory into a register. A store operation copies
data from a register into main memory.
A typical instruction–execution cycle, as
executed on a system with a von Neumann
architecture, first fetches an instruction from
memory and stores that instruction in the
instruction register. The instruction is then
decoded and may cause operands to be fetched
from memory and stored in some internal
register. After the instruction on the operands
has been executed, the result may be stored
back in memory.
14
▪ Though its preferred to have all the programs and data to reside in the
main memory, the following constraints are present:
1. Main memory is usually too small to store all needed programs and data
permanently.
2. Main memory is a volatile storage device that loses its contents when power is
turned off or otherwise lost.

Thus, most computer systems provide secondary storage as an extension of main


memory. The main requirement for secondary storage is that it be able to hold
large quantities of data permanently.
The most common secondary-storage device is a magnetic disk, which provides
storage for both programs and data.
Others include cache memory, CD-ROM, magnetic tapes, and so on. Each
storage system provides the basic functions of storing a datum and holding that
datum until it is retrieved at a later time. The main differences among the
various storage systems lie in speed, cost, size, and volatility.

15
16
17
18
Performance of Various Levels of Storage

Movement between levels of storage hierarchy can be explicit or implicit

19
Migration of data “A” from Disk to Register

Multitasking environments must be careful to use most recent value, no


matter where it is stored in the storage hierarchy

Multiprocessor environment must provide cache coherency in hardware


such that all CPUs have the most recent value in their cache
Distributed environment situation even more complex
Several copies of a datum can exist

20
I/O S tructure
Management of I/O devices is a very important part of the operating system.
The range of devices on a modern computer is hugely varied, from mice,
keyboards, disk drives, display adapters, USB devices, network connections,
audio I/O, printers, special devices for the handicapped etc.
Device drivers are software modules that can be plugged into an OS to handle a
particular device. The Device Controller works like an interface between a
device and a device driver.
Device controller is an intermediary between Device and OS and the Device
driver is an interface between device controller and OS. Device drivers are
modules that can be plugged into an OS to handle a particular device or
category of similar devices.
There is always a device controller and a device driver for each device to
communicate with the Operating Systems. A device controller may be able to
handle multiple devices.
Seven or more devices can be attached to the small computer-systems interface (SCSI)
controller

21
22
The controller starts the transfer of
data from the device to its local
buffer.
Once the transfer of data is complete,
the device controller informs the
device driver via an interrupt that it
has finished its operation.
The device driver then returns control
to the operating system, possibly
returning the data or a pointer to the
data if the operation was a read.
23
24
How Modern Computers work?

25
Computer-System Architecture
In computer engineering, computer architecture is a set of rules and
methods that describe the functionality, organization, and
implementation of computer systems.
A computer system can be organized in a number of different ways,
which can be categorized roughly according to the number of
general-purpose processors used.

26
Till recently, most systems use single processor systems. They
perform only one process at a given time, and it carries out the next
process in the queue only after the current process is completed.
Almost all single processor systems have other special-purpose
processors which may come in the form of device-specific
processors, such as disk, keyboard, and graphics controllers; or, on
mainframes, they may come in the form of more general-purpose
processors, such as I/O processors that move data rapidly among the
components of the system.
▪ These processors execute only a limited system programs and do not run the
user program.
A single processor system is defined as “ A system that has only one
general purpose CPU, is considered as single processor system.

27
Some systems that have two or more processors are also known as parallel
systems or tightly coupled systems.
Mostly the processors of these systems share the common system bus,
memory and peripheral (input/output) devices. These systems are fast in
data processing and have capability to execute more than one program
simultaneously on different processors.
This type of processing is known as multiprogramming or multiprocessing.
Multiple processors further divided in two types.

28
Multiprocessing operating system or the parallel system support the use of
more than one processor in close communication. The advantages of the
multiprocessing system are:
• Increased Throughput − By increasing the number of processors, more work can
be completed in a unit time.
• Cost Saving − Parallel system shares the memory, buses, peripherals etc.
Multiprocessor system thus saves money as compared to multiple single systems.
Also, if a number of programs are to operate on the same data, it is cheaper to
store that data on one single disk and shared by all processors instead of using
many copies of the same data.
• Increased Reliability − In this system, as the workload is distributed among
several processors which results in increased reliability. If one processor fails
then its failure may slightly slow down the speed of the system but system will
work smoothly.

29
30
31
ꙮ Multiprocessing adds CPUs to increase computing power. If
the CPU has an integrated memory controller, then adding
CPUs can also increase the amount of memory addressable in
the system.
ꙮ Multiprocessing can cause a system to change its memory access
model from uniform memory access (UMA) to non-uniform memory
access (NUMA).
ꙮ A recent trend in CPU design is to include multiple computing
cores on a single chip. Such multiprocessor systems are
termed multicore.
➢ They can be more efficient than multiple chips with single cores
because on-chip communication is faster than between-chip
communication.
➢ In addition, one chip with multiple cores uses significantly less
power than multiple single-core chips.
32
ꙮ While multicore systems are multiprocessor systems, not all
multiprocessor systems are multicore.

33
Another type of multiprocessor system is a ,
which gathers together multiple CPUs. These systems are considered
loosely coupled.
Clustered systems differ from the multiprocessor systems in that they
are composed of two or more individual systems—or nodes—joined
together. Each node may be a single processor system or a multicore
system.
The definition of the term clustered is not concrete; the general
accepted definition is that clustered computers share storage and are
closely linked via LAN networking.
Clustering is usually used to provide —that
is, service will continue even if one or more systems in the cluster
fail.

34
A layer of cluster software runs on the cluster nodes. Each node can
monitor one or more of the others. If the monitored machine fails, the
monitoring machine can take ownership of its storage, and restart the
application(s) that were running on the failed machine. The failed
machine can remain down, but the users and clients of the application
would only see a brief interruption of service.

35
Clustering can be structured asymmetrically or symmetrically.
- In this, one machine is in hot-standby mode while
the other is running the applications. The hot-standby host (machine) does
nothing but monitor the active server. If that server fails, the hot standby
host becomes the active server.
- In this, two or more hosts are running applications,
and they are monitoring each other. This mode is obviously more efficient, as
it uses all of the available hardware.
❖ Since a cluster consists of several computer systems connected via a network, clusters
can also be used to provide high-performance computing environments. Such systems
can supply significantly greater computational power than single- processor/SMP
systems because they can run an application concurrently on all computers in the
cluster.
❖ To take advantage to clustering, the application must be written specifically. This
involves a technique known as parallelization, which divides a program into separate
components that run in parallel on individual computers in the cluster.
Clustered system's usage and it's features should expand greatly as
SANs allow easy attachment of multiple hosts to multiple storage
units.
36
37
Operating-System Architecture
An operating system provides the environment within which
programs are executed.
One of the most important aspects of operating systems is the ability
to multiprogram. Multiprogramming increases CPU utilization by
organizing jobs (code and data) so that the CPU always has one to
execute.
The operating system keeps several jobs in memory simultaneously.
Since, in general, main memory is too small to accommodate all jobs,
the jobs are kept initially on the disk in the . This pool
consists of all processes residing on disk awaiting allocation of main
memory.
The operating system picks and begins to execute one of the jobs in
memory. When that job needs to wait, the CPU switches to another
job, and so on.
As long as at least one job needs to execute, the CPU is never idle.

38
39
40
Operating-System Operations
Modern operating systems are interrupt driven. If there are no
processes to execute, no I/O devices to service, and no users to whom
to respond, an operating system will sit quietly, waiting for
something to happen.
Events are almost always signaled by the occurrence of an interrupt
or a trap.
A is a software-generated interrupt caused
either by an error (for example, division by zero or invalid memory
access) or by a specific request from a user program that an
operating-system service be performed.
A properly designed operating system must ensure that an incorrect
(or malicious) program cannot cause other programs to execute
incorrectly.

41
In order to ensure the proper execution of the operating system, the
execution of operating-system code and user-defined code should be
distinguished.
Two separate modes of operation are required: and
(also called , , or
).
The processor switches between the two modes depending on what
type of code is running on the processor.
Applications run in user mode, and core operating system
components run in kernel mode.
Processes in user mode can access their own instructions and data,
but not kernel instructions and data. Processes in kernel mode, can
access kernel data and instructions as well as user data and
instructions.
42
A bit, called the , is added to the hardware of the computer to
indicate the current mode: kernel (0) or user (1). With the mode bit, we can
distinguish between a task that is executed on behalf of the operating system
and one that is executed on behalf of the user.

When the computer system is executing on behalf of a user application, the


system is in user mode. However, when a user application requests a service
from the operating system (via a system call), the system must transition from
user to kernel mode to fulfill the request.
43
The dual mode of operation provides us with the means for
protecting the operating system from errant users and errant users
from one another.
This protection is accomplished by designating some of the machine
instructions that may cause harm as privileged instructions
(examples include I/O control, timer management, and interrupt
management).
The hardware allows privilege instructions to be executed only in
kernel mode. If an attempt is made to execute a privileged
instruction in user mode, the hardware does not execute the
instruction but rather treats it as illegal and traps it to the operating
system.
CPUs that support virtualization frequently have a separate mode to
indicate when the virtual machine manager (VMM)—and the
virtualization management software is in control of the system.
44
Timers are used to ensure that the operating system maintains
control over the CPU. It does not allow a user program get stuck in an
infinite loop and never return control to the OS.
A timer can be set to interrupt the computer after a specified period.
The period may be fixed (for example, 1/60 second) or variable (for
example, from 1 millisecond to 1 second).
A variable timer is generally implemented by a fixed-rate clock and a
counter. The operating system sets the counter.
Before turning over control to the user, the operating system ensures
that the timer is set to interrupt. If the timer interrupts, control
transfers automatically to the operating system, which may treat the
interrupt as a fatal error or may give the program more time. Clearly,
instructions that modify the content of the timer are privileged.
Timer is also used to prevent a user program from running too long.
45
HISTORY OF OPERATING SYSTEM
❖The First Generation (1940's to early 1950's)
➢No Operating System
➢All programming was done in absolute machine language, often by wiring
up plug-boards to control the machine’s basic functions.

❖The Second Generation (1955-1965)


➢First operating system was introduced in the early 1950's.It was called
GMOS
➢Created by General Motors for IBM's machine the 701.
➢Single-stream batch processing systems

❖The Third Generation (1965-1980)


➢Introduction of multiprogramming
➢Development of Minicomputer

❖The Fourth Generation (1980-Present Day)


➢Development of PCs
➢Birth of Windows/MaC OS
46
TYPES OF OPERATING SYSTEMS
1. Batch Operating System
2. Multiprogramming Operating System
3. Time-Sharing OS
4. Multiprocessing OS
5. Distributed OS
6. Network OS
7. Real Time OS
8. Embedded OS
47
POPULAR TYPES OF OS
Desktop Class
❖Windows
❖OS X
❖Unix/Linux
❖Chrome OS
Server Class
❖Windows Server
❖Mac OS X Server
❖Unix/Linux
Mobile Class
❖Android
❖iOS
❖Windows Phone
48
//

49

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy