SystemsProgramming Lesson 1
SystemsProgramming Lesson 1
Course Instructor
Mrs Ivy Botchway Essandoh
(PhD) 1
Lesson 1: Introduction to Operating Systems
Outline
Management
2
❑ Doeppner T. W. (2010), “Operating
Systems in Depth”, 462 pp.
3
Course Assessment
Factor Weight Location Date
4
Attendance
• Attendance is mandatory for every student;
6
What you will learn
In this lecture
7
Why study Operating Systems?
Abstraction
• Abstraction simplifies the interaction between hardware and software. It allows
the complex hardware and software resources to be presented in a simpler,
more manageable form for users and applications.
Resource Management
• At the hardware level resources are typically dedicated. There is the efficient
and effective allocation, utilization, and recycling of system resources such as
CPU time, memory, file storage, and input/output devices.
10
The Operating System as a User/Computer
Interface
• The hardware and software used in providing applications to a user
can be viewed in a layered fashion. The OS masks the details of the
hardware from the programmer, and provides the programmer with a
convenient interface for using the system. It acts as a mediator, making
it easier for the programmer and application programs.
11
The Operating System as Resource Manager
13
Role of the Operating System in a Computing
Environment
• Size and Cost: The early computers were huge and costly.
• Basic Functions: Despite their size and cost, they could only do
simple tasks.
• In a batch system, tasks (or jobs) are grouped into batches and then
processed sequentially without any user interaction. The goal was to
automate the processing of jobs and minimize the setup time.
23
Evolution of Operating Systems
Third Generation Operating System (Multiprogrammed Batch OS)
• Multiprogramming allows multiple jobs to reside in the main
memory at once.
• Since multiple jobs are done at once, there was a need for more
advanced memory management and it is important to decide
which job to execute first, second, or last.
24
Evolution of Operating Systems
Third Generation Operating System
25
Evolution of Operating Systems
Third Generation Operating System
26
Evolution of Operating Systems
Uniprogramming Multiprogramming
• Fixes: OS has faults. These are discovered over the course of time
and fixes are made. 29
Types of Operating Systems
Multi Tasking
Network Distributed
Operating
Operating Operating
System
System System
• The system puts all of the jobs in a queue on the basis of first
come, first serve and then executes the jobs one by one. The
users collect their respective output when all the jobs get
executed. 31
Simple Batch OS
Batch
Job1
Jobs
Job2
The purpose of this operating
system was mainly to transfer control Job3
from one job to another as soon as
the job was completed. Job4
35
Multiprogramming Operating System
36
Advantages of Multiprogramming OS
43
Advantages of the Multitasking OS
• Running too many applications at the same time can stress the
system to a point where performance degrades.
• If one node or server fails, it affects the whole system, and network
functions gets interrupted. Hence, reliability is important.
48
Real Time Operating System
• Real-time systems are widely used in areas where timing is the issue,
for example, the manufacturing of medical equipment, automotive
controls, or even industrial automation.
50
Disadvantages of Real-Time OS
51
Time-Sharing Operating System
• The CPU switches between the tasks so rapidly that the users
feel their programs have been running concurrently. This kind of
operating system is most effective in systems where multiple
users require access to the central system in real-time or near
real-time.
52
How does it work?
54
Disadvantages of Time-Sharing OS
55
Distributed Operating System
56
Advantages of Distributed OS
57
Disadvantages of Distributed OS
58
Developments Leading to Modern Operating
Systems
✓ Microkernel architecture
✓ Multithreading
✓ Symmetric multiprocessing
✓ Object-oriented design 60