CSC 202 – OPERATING
SYSTEMS
Overview of Operating
System
Dr. Alhassan S.
Lecturer
Department of BS, SCIS
CKT-UTAS
CSC 202 OPERATING SYSTEMS
Learning Objectives
• After this lecture you should be able to:
• Identify the key functions of an operating
system (OS).
• Discuss the evolution of operating
systems for early simple batch systems to
modern complex systems.
• Give a brief explanation of each of the
major achievements in OS research.
CSC 202 OPERATING SYSTEMS 2
The Operating System
What is an OS?
CSC 202 OPERATING SYSTEMS 3
The Operating System
• An OS is a program that controls the
execution of application programs, and
acts as an interface between
applications and the computer
hardware.
CSC 202 OPERATING SYSTEMS 4
Objectives of the OS
What are the Objectives of
an OS?
CSC 202 OPERATING SYSTEMS 5
Objectives of the OS
• Convenience.
• It makes a computer system more convenient
to use.
• Efficiency.
• It allows the computer system resources to be
used in an efficient manner.
• Ability to evolve.
• An OS permit the effective development,
testing and introduction of new system
functions without interfering with service.
CSC 202 OPERATING SYSTEMS 6
Objectives of the OS
Fig. 1 Computer Hardware and Software Structure (William, S. (2018))
CSC 202 OPERATING SYSTEMS 7
Services Provided by the OS
• It provides a variety of facilities and service
in Program Development
• It controls and handles the scheduling of
Program Execution
• It provides a uniform interface that control
program access to I/O devices
• It provides a protection mechanism to
control access to files in a multiple user
system.
CSC 202 OPERATING SYSTEMS 8
Services Provided by the OS
• It controls access to system as a whole and
to specific system resources in a shared or
public system.
• It provides a mechanism to detect and
response to errors that may occur in the
system or application programs
• It provides a good account of system usage
such as usage statistics for various resources
and monitor performance parameters
CSC 202 OPERATING SYSTEMS 9
Services Provided by the OS
• Instruction set architecture (ISA)
• It defines the list of machine language instructions that a
computer can follow
• Application binary interface (ABI)
• It defines a standard for binary portability across programs.
• Application programming interface (API)
• gives a program access to the hardware resources and services
available in a system through the user ISA supplemented with
high-level language (HLL) library calls
CSC 202 OPERATING SYSTEMS 10
Evolution of Operating Systems
• Why OS evolves
• Hardware upgrades plus new types of
hardware.
• New services. In response to user/system
managers demands.
• Fixes. In response to OS faults that are
discovered over the course of time.
CSC 202 OPERATING SYSTEMS 11
Evolution of Operating Systems
• Serial Processing
• Late 1940s – mid-1950s
• No OS
• Computers run from a console
• Problems:
• Scheduling. Time wasted in computer processing
time.
• Setup time. Time wasted in setting up a program
to run.
• Users have access to the computer in series
CSC 202 OPERATING SYSTEMS 12
Evolution of Operating Systems
• Simple Batch Systems
• The concept of a batch OS was developed to improve
Utilization.
• Mid-1950s – the 1st batch OS was developed by General
Motors for use on an IBM 701 [WEIZ81]. Refined later and used
on IBM 704
• Early 1960s – other vendors developed batch OS. E.g. IBSYS,
IBS OS for 7090/7094 computers
• Uses a piece of software called the monitor.
• Users no longer has direct access to the processors.
• The user submits the job on cards or tape to a computer
operator who batches the jobs together sequentially and
places the entire batch on an input device, for use by the
CSC 202 monitor. OPERATING SYSTEMS 13
Evolution of Operating Systems
• Simple Batch Systems
• The user submits the job on cards or tape to a
computer operator who batches the jobs together
sequentially and places the entire batch on an input
device, for use by the monitor.
• Problem
• Main memory is given to the monitor and some processor
time is consumed by the monitor.
• Processor is often idle.
CSC 202 OPERATING SYSTEMS 14
Evolution of Operating Systems
• Multiprogrammed Batch Systems
• Also known as multitasking
• Solve the problem presented by uniprogramming system
• Processes multiple programs at the same time
• Processor do not need to wait for I/O operations
• Contains the hardware the supports I/O interrupts and direct
memory access.
• Requires memory management to handle the several jobs
• Requires some form of scheduling to decide which job to run
at what time.
• It maximizes processor use
CSC 202 OPERATING SYSTEMS 15
Evolution of Operating Systems
• Time-Sharing Systems
• Provides a means by which the user interacts directly
with the computer
• Involves handling multiple interactive jobs by
multiprogramming system
• The processor time is simultaneously shared among
multiple users through terminals.
• Uses multiprogramming
• E.g. Compatible Time-Sharing System (CTSS)
• It minimizes response time
CSC 202 OPERATING SYSTEMS 16
Learning Objectives
• After this lecture you should be able to:
• Identify the key functions of an operating
system (OS).
• Discuss the evolution of operating
systems for early simple batch systems to
modern complex systems.
• Give a brief explanation of each of the
major achievements in OS research.
CSC 202 OPERATING SYSTEMS 17
The Operating System
MAJOR ACHIEVEMENTS IN
OS RESEARCH
CSC 202 OPERATING SYSTEMS 18
Achievement in OS Research
• Major theoretical advances in the
development of operating systems:
• Process
• Memory management
• Information protection and security
• Scheduling and resource management
CSC 202 OPERATING SYSTEMS 19
Achievement in OS Research
• The Process
• First used in the 1960s by the designers of
Multics.
• It is a program in execution.
• It is an instance of a program running on a
computer.
• It is the entity that can be assigned to and
executed on a processor.
CSC 202 OPERATING SYSTEMS 20
Achievement in OS Research
• The Process
• It is a unit of activity characterized by a single
sequential thread of execution, a current state,
and an associated set of system resources.
CSC 202 OPERATING SYSTEMS 21
Achievement in OS Research
• The Process
• Major lines in Computer system development
that created problems in timing and
synchronization.
• Multiprogramming batch operation,
• Efficient use of computer resources
• Time-sharing, and
• Allow multiple users to the same system
• Real-time transaction systems.
• Handle multiple queries against database
CSC 202 OPERATING SYSTEMS 22
Achievement in OS Research
• The Process
• Main causes of program execution errors in
earlier programming
• Improper synchronization. Improper design of signaling
mechanism can result in signals being lost or duplicate signals
being received.
• Failed mutual exclusion. Errors occurring as a results of
uncontrolled accesses in same file edit by multiple users
• Nondeterminate program operation. Occur when
programs which share common memory interfere with
each other. E.g. Overwriting common memory areas.
• Deadlocks: Occurs when two or more programs hung up
waiting for each other. E.g. disk to tape copy.
CSC 202 OPERATING SYSTEMS 23
Achievement in OS Research
• The Process
• Components of a process
• An executable program
• The associated data needed by the program
(variables, work space, buffers, etc.)
• The execution context (process state) of the
program.
• It is the internal data by which the OS is able
to supervise and control the process.
• Threads. Multiple pieces of a process.
CSC 202 OPERATING SYSTEMS 24
Achievement in OS Research
• Memory Management of the OS
• Principal storage management responsibilities
of the OS
• Process isolation. Prevent processes
interference.
• Automatic allocation and management
• Support of modular programming
• Protection and access control
• Long-term storage
CSC 202 OPERATING SYSTEMS 25
Achievement in OS Research
• Memory Management of the OS
• Principal storage management responsibilities
of the OS
• Process isolation. Prevent processes
interference.
• Automatic allocation and management
• Support of modular programming
• Protection and access control
• Long-term storage
CSC 202 OPERATING SYSTEMS 26
Achievement in OS Research
• Memory Management of the OS
• Virtual memory and file system facilities
supplement the job of the OS.
• Introduction of Paging system to allow
processes to be comprised of a number of
fixe-sized blocks (pages).
CSC 202 OPERATING SYSTEMS 27
Achievement in OS Research
• Information Protection and Security
• Categories of protections offered by OS
• Availability: Concerned with protecting the system
against interruption.
• Confidentiality: Assures that users cannot read
data for which access is unauthorized.
• Data integrity: Protection of data from
unauthorized modification.
• Authenticity: Concerned with the proper
verification of the identity of users and the validity
of messages or data.
CSC 202 OPERATING SYSTEMS 28
Achievement in OS Research
• Scheduling and Resource Management
• Factors considered by OS in SRM
• Fairness. Give equal and fair access to resource
by competing processes
• Differential responsiveness. Discriminate
among different classes of jobs with different
service requirements.
• Efficiency. Attempt to maximize throughput,
minimize response time and accommodate many
users as possible.
CSC 202 OPERATING SYSTEMS 29
Achievement in OS Research
• Scheduling and Resource Management
• The OS maintains a number of Queues
• Short-term queue. Handled by the short-
term scheduler.
• Round-robin technique. Gives each process
in the queue some time in turn.
• Long-term queue
CSC 202 OPERATING SYSTEMS 30
Trends in Modern OS
• Modern Approaches to OS design
• Microkernel architecture
• Replaces the monolithic kernel.
• It assigns only a few essential functions to
the kernel, e.g. address space management,
interprocess communication (IPC), and basic
scheduling.
• It simplifies implementation, provides
flexibility, and is well suited to a distributed
environment.
CSC 202 OPERATING SYSTEMS 31
Trends in Modern OS
• Modern Approaches to OS design
• Multithreading
• It is a technique in which a process,
executing an application, is divided into
threads that can run concurrently.
• It is useful for applications that perform a
number of essentially independent tasks
that do not need to be serialized.
CSC 202 OPERATING SYSTEMS 32
Trends in Modern OS
• Modern Approaches to OS design
• Symmetric multiprocessing (SMP)
• Replaces the uniprocessor architecture
• The OS of an SMP schedules processes or
threads across all of the processors.
• Advantages:
• Greater performance
• Availability of processors at all times
• Incremental growth
• Scaling
CSC 202 OPERATING SYSTEMS 33
Trends in Modern OS
• Modern Approaches to OS design
• Object-oriented design
• It facilitates the process of adding modular
extensions to a small kernel.
• Programmers can customize an OS without
disrupting system integrity.
• It eases the development of distributed tools
and full-blown distributed OS.
CSC 202 OPERATING SYSTEMS 34
Review Questions
• What are three objectives of an OS design?
• What is the kernel of an OS?
• What is multiprogramming?
• What is a process?
• What is time slicing?
CSC 202 OPERATING SYSTEMS 35
Review Questions
• How is the execution context of a process
used by the OS?
• List and briefly explain five storage
management responsibilities of a typical OS.
• Describe the round-robin scheduling
technique.
CSC 202 OPERATING SYSTEMS 36