Professional Documents
Culture Documents
Lecture 1 – Introduction
ENGR. Muhammad Talha Jahangir,
MS(Computer Engineering) NUST, Pakistan
mtjahangir17@ce.ceme.edu.pk
Work Experience
MNS UET MULTAN, Pakistan
(Lecturer in CS Department)
BZU Multan
(Visiting Lecturer in IT, Telecom Department)
IRAS, Multan Pakistan
(Visiting Lecturer in CS & IT Department)
MNSUA University of Agriculture, Multan Pakistan
(Visiting Lecturer in CS & IT Department)
KAIMS International Institute, Multan Pakistan
(Visiting Lecturer in CS & IT Department)
University Of Central Punjab, Multan Pakistan
(Visiting Lecturer in PHSICS & ADP in IT Department)
GWC Networks LLC Dubai
(Network Engineer)
Pakistan Telecommunication Company Limited (PTCL) Data Centre & Pakistan Internet Exchange (Pie), Lahore Pakistan
(Intern)
About Me (Cont…)
Certifications
Cisco Certified Network Associate CCNA (Routing & Switching)
Cisco Certified Network Professional CCNP (Routing & Switching)
Microsoft Certified Systems Associate (MCSA)
Microsoft Certified Professional (MCP)
Microsoft Certified Solutions Expert (MCSE)
Palo Alto Firewall Accredited Configuration Engineer (ACE (PAN-OS 7.0))
Cisco Certified Network Associate (Cisco IOS Network Security) & (VOIP)
Cisco Certification of “Introduction of Data Science”
Cisco Certification of “Python-1”
Cisco Certification of “Python-2”
Workshops & Seminars
Blockchain Workshop Conducted By IBM conducted by NUST
Designing & Delivering Data Science Course at Scale Workshop conducted by LUMS
Competition
3MT Competition in NUST
Software House & Computer Training Institute
JTech Solution’s & Computer Academy Links
1. Website
https://jtechsolutionspk.com/
2. Facebook Page
https://m.facebook.com/JtechSolutionsAcademy/
3. Instagram Page
https://www.instagram.com/jtechsolution93/
4. YouTube Channel
https://www.youtube.com/channel/UCvq1NY2HnxzptJ3PSU75zsA?app=desktop
Previous Work
1. SDN Based Inter-Isp Caching of Big Data (MSc Research)
Previous Work
1. Results
2. Conference Paper
3. Cybersecurity
5. Software Engineering
CODE OF ETHICS
All students must come to class on time (Attendance will
be taken in first 5 to 10 mins)
Students should remain attentive during class and avoid
use of Mobile phone, Laptops or any gadgets
Obedience to all laws, discipline code, rules and
community norms
Respect peers, faculty and staff through actions and
speech
Student should not be sleeping during class
Bring writing material and books
Class participation is encouraged, if someone shy to ask
questions, then student can ask me questions via Piazza
platform. (Piazza Access code: ds101)
Email Submission Policy
When emailing me, please format the subject line as
follows:
Computers
Per Person Number
crunching,
1:106 Data Storage,
Massive Inet
Mainframe Services,
Bell’s Law: Mini
ML, …
1:103
New Workstatio Productivity,
computer n PC Interactive
1:1 Laptop
class every PD
10 years A Ce Streaming
from/to the
103:1 ll physical world
years Mo
The Internet
te!
of Things!
HW Functionality comes with great complexity!
For Instance: Software Complexity keeps growing!
Linux 2.2.0
Windows 7
Mac OS X "Tiger"
Modern Car
Running
Software Program
Instruction Set Architecture (ISA)
Hardware Memory
Page
Table
& TLB Cache
Processor
OS Memory
Compiled
Program
System Libs
I/O Ctrlr
Compiled Program’s View of the World
Compiled
Program
System Libs
Program
Linker
System Libs
Compiled Compiled
Program 1 Program 2
Process 1 Process 2
Compile
Threads Address Spaces Files Sockets Threads Address Spaces Files Sockets
r
Operating System
ISA
PgTbl Networks
Processor Memory
& TLB Storage
Hardware OS
Mem
I/O Ctrlr
Operating System’s View of the World
Process 1 Process 2
Compile
Threads Address Spaces Files Sockets Threads Address Spaces Files Sockets
r
Operating System
ISA
PgTbl Networks
Processor Memory
& TLB Storage
Hardware OS
Mem
I/O Ctrlr
OS Basics: Running a Process
Compiled Compiled
Program 1 Program 2
Process 1 Process 2
Compile
Threads Address Spaces Files Sockets Threads Address Spaces Files Sockets
r
Operating System
ISA
PgTbl Networks
Processor Memory
& TLB Storage
Hardware
I/O Ctrlr
OS Basics: Switching Processes
Compiled Compiled
Program 1 Program 2
Process 1 Process 2
Compile
Threads Address Spaces Files Sockets Threads Address Spaces Files Sockets
r
Operating System
ISA
PgTbl Networks
Processor Memory
& TLB Storage
Hardware OS
Mem
I/O Ctrlr
OS Basics: Switching Processes
Compiled Compiled
Program 1 Program 2
Process 1 Process 2
Compile
Threads Address Spaces Files Sockets Threads Address Spaces Files Sockets
r
Operating System
ISA
PgTbl Networks
Processor Memory
& TLB Storage
Hardware OS
Mem
I/O Ctrlr
OS Basics: Switching Processes
Compiled Compiled
Program 1 Program 2
Process 1 Process 2
Compile
Threads Address Spaces Files Sockets Threads Address Spaces Files Sockets
r
Operating System
ISA
PgTbl Networks
Processor Memory
& TLB Storage
Hardware OS
Mem
I/O Ctrlr
OS Basics: Switching Processes
Compiled Compiled
Program 1 Program 2
Process 1 Process 2
Compile
Threads Address Spaces Files Sockets Threads Address Spaces Files Sockets
r
Operating System
ISA
PgTbl Networks
Processor Memory
& TLB Storage
Hardware OS
Mem
I/O Ctrlr
OS Basics: Protection
Compiled Compiled
Program 1 Program 2
Process 1 Process 2
Compile
Threads Address Spaces Files Sockets Threads Address Spaces Files Sockets
r
Operating System
ISA
PgTbl Networks
Processor Memory
& TLB Storage
Hardware OS
Mem
I/O Ctrlr
OS Basics: Protection
Segmentation
fault (core
Compiled Compiled
dumped)
Program 1 Program 2
Process 1 Process 2
Compile
Threads Address Spaces Files Sockets Threads Address Spaces Files Sockets
r
Operating System
ISA
PgTbl Networks
Processor Memory
& TLB Storage
Hardware OS
Mem
I/O Ctrlr
Computer Startup
• bootstrap program is loaded at power-up or reboot
– Typically stored in ROM or EPROM, generally known as
firmware (Firmware provides instructions to help hardware start
up, communicate with other devices, and perform basic
input/output tasks. )
– First thing BIOS does when it boots the PC is to perform what is
called POWER-ON-SELF-TEST (POST).
– Loads operating system kernel and starts execution
Open Vs. Closed Source Operating System
Closed-source operating systems use code that is proprietary and kept secret
to prevent its use by other entities.
Traditionally, they are sold for a profit.
Open-source operating systems use code that is freely-distributed and available
to anyone to use, even for commercial purposes.
Both types of operating systems have advantages.
Linux is open source operating system while Microsoft window is closed
source OS.
Note
As shown in fig, at the particular situation, job’ A’ is not utilizing the CPU time because it
is busy in I/ 0 operations.
Hence the CPU becomes busy to execute the job ‘B’.
Another job C is waiting for the CPU for getting its execution time. So in this state the
CPU will never be idle and utilizes maximum of its time.
A program in execution is called a “Process”, “Job” or a “Task”.
The concurrent execution of programs improves the utilization of system resources and
enhances the system throughput as compared to batch and serial processing.
Diagram
Time Sharing operating Systems
A time-sharing system is multi-user, multi-process, and
interactive system.
This means that it allows multiple users to use the
computer simultaneously.
A user can run one or more processes at the same
time and interact with his/her processes.
A time-shared system uses multiprogramming and CPU
scheduling to provide each user with a small portion of a
time-shared computer.
In Time Sharing OS, response time should be < 1 second.
Each user has at least one separate program in memory.
To obtain a reasonable response time, jobs may have to be
swapped in and out of main memory.
UNIX, Linux, Widows NT server, and Windows 2000
server are timesharing systems.
Time Sharing vs Multiprogramming OS
The main difference between Multiprogrammed OS’s and
Time-Sharing OS’s is that in case of Multiprogrammed batch
systems, the objective is to maximize processor use, whereas in
Time-Sharing Systems, the objective is to minimize response
time.
Multiple jobs are executed by the CPU by switching between
them, but the switches occur so frequently.
Thus, the user can receive an immediate response.
For example, in a transaction processing (Banks), the processor
executes each user program in a short burst or quantum of
computation.
That is, if n users are present, then each user can get a time
quantum.
When the user submits the command, the response time is in few
seconds at most.
The operating system uses CPU scheduling and
multiprogramming to provide each user with a small portion of a
time.
Diagram
Real Time operating Systems
Real Time operating Systems
A real time system has well defined, fixed time
constraints, and if the system does not produce
output for an input within the time constraints,
the system will fail.
Often used as a control device in a dedicated
application such as controlling scientific
experiments, medical imaging systems,
industrial control systems, and some
embedded systems.
Well-defined fixed-time constraints.
Two Types:
1. Hard Real Time OS
2. Soft Real Time OS
Hard Real Time OS
Hard RTOS OSs are meant for applications where time
constraints are very strict and even the shortest
possible delay is not acceptable.
These systems are built for saving life like automatic
parachutes or airbags which are required to be readily
available in case of any accident.
A hard real time system guarantees that critical tasks
be completed on time. This goal requires that all delays in
the system be completed on time.
Examples of Hard Real-Time Systems
Below are some examples of the hard real-time
operating system, such as:
Flight Control Systems
Missile Guidance Systems
Weapons Defense System
Medical System
Railway signalling system
Air traffic control systems
Anti-missile system
Chemical plant control
Autopilot System in Plane and car.
Etc.
Soft Real Time OS
A less restrictive type of real time system is a soft real time
system, where a critical real-time task gets priority over other
tasks, and retains that priority until it completes.
If the system, did not perform the task within the deadline it is
not considered as a failure as long as it provides the required output.
But performance is considered to be degraded.
In this type of system, missing an occasional deadline, while not
desirable, is acceptable and does not cause any permanent
damage.
Some examples of software real-time systems are multimedia
streaming, advanced scientific projects, and virtual reality.
Linux and many OS provide a soft real time system.
Network OS
An Operating system, which includes software and
associated protocols to communicate with other
autonomous computers via a network conveniently and
cost-effectively, is called Network Operating System.
It allows devices like a disk, printers, etc., shared
between computers.
Distributed OS
Distributed Operating System is a loosely coupled system,
where distributed applications are running on multiple
computers linked by communications.
A distributed operating system is an extension of the network
operating system that supports higher levels of
communication and integration of the machines on the
network.
This system looks to its users like an ordinary centralized
operating system but runs on multiple, independent central
processing units (CPUs).
This type of OS provide a greate feature of scalability.
For example, Rocks Cluster Distribution is an example of
Distributed OS.
It is the Linux distribution intended for high-performance
computing clusters.
Google Search Engine also used the service of Distributed OS.
Diagram