1 Lecture
1 Lecture
Introduction to Computing
Lecture 1
Hamza Arif
[email protected]
1
System Software
System software is a type of computer program
designed to operate and control the computer
hardware and provide a platform for running
application software. Unlike application
software, which is designed to perform specific
tasks for the end user, system software plays a
more fundamental role in managing the
computer's resources and facilitating
communication between hardware and
software components.
2
Operating System (OS)
An operating system (OS) is a software
program that serves as an interface between
computer hardware and the computer user. It
manages computer hardware and provides
services for computer programs. The operating
system is a fundamental component of a
computing system, and it plays a crucial role in
ensuring that various hardware and software
components work together.
3
1. User Interface:
Command-Line Interface (CLI): Allows users
to interact with the system by entering text
commands.
Graphical User Interface (GUI): Provides a
visual way for users to interact with the
computer using icons, buttons, and menus
4
Operating Systems
An operating system (OS) is a set of
programs containing instructions that work
together to coordinate all the activities
among computer hardware resources
Start and shut
Provide a user Manage Manage Coordinate
down a
interface programs memory tasks
computer
Establish an
Configure Monitor Provide Automatically
Internet
devices performance utilities update
connection
Control a Administer
network security
5
Operating System Functions (XP)
start the computer provide a user interface manage programs
administer
security
manage
memory
control a
network
6
1. Start and Shutdown a Computer
The process of starting or restarting a computer is called booting
When we turn on computer BIOS transfer from ROM to RAM
Cold Boot
Turning on a computer that has been powered off completely
Warm Boot
Using the operating system to restart a computer that is powered on
7
2. Providing a User Interface
The user interface (UI)
in an operating system
(OS) is the means
through which users
interact with and control
the computer. It
provides a platform for
users to communicate
with the operating
system and its various
applications. There are
different types of user
interfaces, each with its
own characteristics.
8
Graphical User Interface
Most common interface
Windows, OS X, some versions of Linux and Unix
Frees you from memorizing and typing text
commands
Uses a mouse to control objects
Uses a desktop metaphor
Shortcuts open programs or documents
Open documents have additional objects
Task switching
Dialog boxes allow directed input
9
Graphical User Interface
10
Command Line Interface
Older interface
DOS, Linux, UNIX
With a command-line interface, a user uses the
keyboard to enter data and instructions
User types commands at a prompt
User must remember all commands
Included in all GUIs
11
Command Line Interface
12
3. Manage Programs
How an Operating system handles programs
directly affects your productivity
Single tasking
Single user and Foreground and
and
multiuser background
multitasking
Preemptive
Multiprocessing
multitasking
13
Single user/Single tasking OS
Single user single tasking" refers to a computing
environment in which a system or user can only perform
one task at a time. In contrast, modern operating
systems and computing environments often support
multitasking, where multiple tasks or applications can
run concurrently.
In a single user single tasking system, the computer or
user interface is designed to handle only one task at a
time. For example, early personal computers and some
embedded systems operated in a single user single
tasking mode. In such environments, users had to
complete one task before moving on to another.
14
Single user /single tasking
MS-DOS and Palm OS
Take up little space on disk
Run on inexpensive computers
15
Single User Multitasking
Working on two or
more programs that
reside in memory at
same time
Foreground
contains program
you are using
Background
contains programs
that are running but
are not in use
16
Real Time Operating Systems
A real-time operating system (RTOS) is an
operating system that is designed to meet the
requirements of real-time systems. Real-time
systems are those in which the correctness of the
system depends not only on the logical result of
computation but also on the time at which the
results are produced. These systems have specific
timing constraints that must be met, and failure to
meet these constraints can lead to undesirable
consequences, such as system malfunction or
failure.
17
Single user Multi-tasking
Single user multi-tasking" refers to a computing
environment in which a single user is able to perform
multiple tasks simultaneously on a computer or device.
In this setup, the operating system allows the user to run
and manage multiple applications or processes
concurrently. This is in contrast to single user single
tasking systems, where only one task can be performed
at a time.
Task Switching: Users can switch between different
applications or tasks without having to complete one
before starting another. This is facilitated by the
operating system, which manages the scheduling and
execution of multiple tasks.
18
Single User Multitasking OS
User performs many tasks at once
Most common form of OS
Windows XP and OS X
Require expensive computers
Tend to be complex
19
Mutli-user /Multi tasking
"Multi-user multi-tasking" refers to a computing
environment where multiple users can interact with a
system concurrently, and each user is capable of
running multiple tasks simultaneously. This type of
system is common in networked environments and
is often found in large-scale computing scenarios
such as servers, mainframes, and certain types of
multi-user operating systems.
20
Multi-user /Multi Tasking
User Isolation: Each user has their own set of
processes and resources, and these are isolated
from the processes of other users. This isolation
prevents one user's tasks from interfering with
another user's tasks.
Task Scheduling: The operating system
schedules and manages the execution of tasks for
multiple users. This involves allocating CPU time,
memory, and other resources efficiently to ensure
that each user's tasks can progress without
significant delays.
21
Multi User / Multitasking OS
Enable two or more users to run programs
simultaneously
Many users connect to one computer
Each user has a unique session
UNIX, Linux, and VMS
Maintenance can be easy
Requires a powerful computer
22
Multi user/Multi tasking OS
23
4. Manage Memory
Memory management optimizes the use of RAM
24
5. Coordinate Tasks
The operating system determines the order in
which tasks are processed
25
First come First Served
schedules processes based on their arrival time. The process that
arrives first is the one that gets executed first.
Here's how the FCFS scheduling algorithm works:
Arrival of Processes: When processes arrive in the ready
queue, they are arranged in the order of their arrival.
Execution: The process that arrives first is selected for
execution. It continues to execute until it completes its execution
or enters a waiting state.
Next Process: Once the first process finishes, the process that
arrived next in the queue is selected for execution.
Order of Execution: The order of execution is strictly based on
the arrival time of processes. The process that arrives first gets
executed first, followed by the process that arrives next, and so
on.
26
Shortest Job First
Shortest Job First" (SJF) is a scheduling algorithm used in operating
systems to schedule processes for execution based on the time it take to
execute. The idea is to execute the process with the shortest total
processing time first. This algorithm minimizes the waiting time for
processes and aims to improve overall system performance.
Here's how the Shortest Job First (SJF) scheduling algorithm works:
Arrival of Processes: When processes arrive in the ready queue, their
total CPU burst time is known or estimated.
Selection of Next Process: The process with the shortest total CPU
burst time is selected for execution. If two processes have the same burst
time, the one that arrived first is selected.
Execution: The selected process is allowed to execute until it completes
its CPU burst.
Next Process: Once the current process finishes, the next process with
the shortest burst time in the ready queue is selected.
27
Priority Algorithm
The Priority Scheduling algorithm is a process scheduling algorithm used in
operating systems. In this algorithm, each process is assigned a priority, and
the process with the highest priority is selected for execution first. If two
processes have the same priority, other scheduling algorithms, such as First
Come First Serve (FCFS) or Round Robin, may be used to break the tie.
Priority Assignment: Each process is assigned a priority value. The priority
can be determined based on various factors, such as the type of task, its
importance, deadline constraints, or historical behavior.
Process Selection: The process with the highest priority is selected for
execution. If multiple processes have the same priority, additional criteria, like
arrival time or another scheduling algorithm, may be used to decide the order.
Execution: The selected process is allowed to execute until it completes its
CPU burst or enters a waiting state (e.g., I/O request).
Priority Update: After a certain time or event, the priorities of the processes
may be reevaluated and adjusted. This ensures that new processes or those
waiting for a long time are not always preempted by high-priority processes.
28
Round Robin Strategy
The Round Robin (RR) scheduling algorithm is
a simple and widely used time-sharing
algorithm in operating systems. It is particularly
suitable for environments where multiple users
or processes share the CPU, and each is
allocated a fixed time slice or quantum. The
basic idea behind Round Robin is to cyclically
schedule processes, giving each one an equal
share of the CPU time.
Here's how the Round Robin scheduling
algorithm typically works:
29
Round Robin Strategy
Time Slices (Quantum): A fixed time slice is defined, known as the
time quantum or time slice. Each process is allowed to run for this
quantum before being preempted and moved to the back of the ready
queue.
Process Queue: Processes are placed in a circular queue. The front
of the queue is the process that is currently running or the next one to
be executed.
Execution: The process at the front of the queue is given the CPU for
its time quantum. If the process completes before the quantum expires,
it is moved to the back of the queue. If the quantum expires, the
process is preempted and moved to the back of the queue, and the
next process in the queue is given the CPU.
Cycle Repeats: This process continues in a cyclic manner, giving
each process an opportunity to execute for a fixed time, and then
moving on to the next process in the queue.
30
6. Setting up an Internet Connection
Operating systems typically provide a means to
establish Internet connections
31
7. Performance Monitor
A performance monitor is a program that
assesses and reports information about various
computer resources and devices
32
Providing File Management
Operating systems often provide users with the
capability of:
Backing up Setting up
files and disks screen savers
33
Search Utility
is a program that attempts to locate a file on
your computer based on criteria you specify
34
Operating System Functions
Each User has a account
A user name, or user ID, identifies a specific user
A password is a private combination of characters
associated with the user name
35
Summary
System software
Operating systems
Functions of Operating System
Start and shut down
Providing a user interface
Managing programs
Managing memory
Coordinated tasks and Configure devices
Internet connection
Providing Utilities and automatic Update
36