Click to add Text
Operating Systems
Lecture 1
July 12, 2023
© Copyright Virtual University of
Pakistan
Agenda for Today
 Introduction and purpose of the course
 Organization of a computer system
 Purpose of a computer system—setting
the stage for OS concepts and principles
 Outline of topics to be discussed in the
course
 What is an operating system?
 Recap of the lecture
July 12, 2023
© Copyright Virtual University of
Pakistan
Computer System
1. Hardware
2. Operating system
3. Applications programs
4. Users
July 12, 2023
© Copyright Virtual University of
Pakistan
Layered View of a
Computer System
July 12, 2023
© Copyright Virtual University of
Pakistan
Purpose of a Computer
System
 Computer systems consist of
software and hardware that
are combined to provide a
tool to solve specific
problems in an efficient
manner
 Execute programs
July 12, 2023
© Copyright Virtual University of
Pakistan
Computer System Hardware
Keyboard Mouse
Printer
RAM/ROM
HD
Mem
Bus
System Bus
Monitor
CD
Processor
Floating Point
Unit
Integer
Unit
Cache
Control
Unit
July 12, 2023
© Copyright Virtual University of
Pakistan
Course Outline
 Operating system concepts
 Operating system structures
 Introduction to UNIX/Linux user interface
 Processes and threads—scheduling,
concurrency, synchronization, etc.
 Deadlocks
 Memory management
 Virtual memory
 File system
 Secondary storage management
July 12, 2023
© Copyright Virtual University of
Pakistan
Operating System
Concepts
 Single-user systems
 Batch systems
 Multiprogrammed systems
 Time-sharing systems
 Real-time systems
 Interrupts, traps, and software interrupts
(UNIX signals)
 Hardware protection
July 12, 2023
© Copyright Virtual University of
Pakistan
Operating System
Structures
 Operating system services
 System calls
 Semantics of system call execution
 Operating system structures (monolithic,
microkernel-based, layered, virtual
machines, DOS-Windows, UNIX)
 System design and implementation
July 12, 2023
© Copyright Virtual University of
Pakistan
Introduction to UNIX/Linux
 Directory structure
 Browsing directory structure
 Useful commands
July 12, 2023
© Copyright Virtual University of
Pakistan
Processes
 Process concept (process, states,
attributes, etc.)
 Process scheduling (scheduler)
 Context switching (dispatcher)
 Operations on processes (creation,
termination, signaling, suspend,
foreground, background, etc.)
 Process management in UNIX (fork, wait,
exec, exit, etc.)
July 12, 2023
© Copyright Virtual University of
Pakistan
Processes (continued)
 Sample code for UNIX/Linux process
management
 Cooperating processes
 Interprocess communication (IPC)
 IPC in UNIX/Linux (pipe, FIFO, socket,
message queue, etc.)
July 12, 2023
© Copyright Virtual University of
Pakistan
Processes (continued)
 Communication between UNIX/Linux
processes (pipe, mkfifo, read, write, close,
etc.)
 Sample code
 UNIX/Linux processes (process images,
control structures, etc. explained with
sample code)
 Managing UNIX/Linux processes (ps, top,
fg, bg, <Ctrl-Z>, <Ctrl-C>, etc.)
July 12, 2023
© Copyright Virtual University of
Pakistan
Threads
 Thread concept (thread, states,
attributes, etc.)
 User- and kernel-level threads
 POSIX threads (the pthread
library)
 Sample code
July 12, 2023
© Copyright Virtual University of
Pakistan
CPU Scheduling
 Basic concepts
 Scheduling criteria
 Scheduling triggers
 Scheduling algorithms
 UNIX System V scheduling algorithm
 Optimal scheduling
 Algorithm evaluation
July 12, 2023
© Copyright Virtual University of
Pakistan
Process Synchronization
 Basic concept
 The Critical Section Problem
 Solutions for the Critical Section Problem
 Software-based solutions—the Bakery
Algorithm
 Hardware-based solutions
 Semaphores
 Binary and counting semaphores
July 12, 2023
© Copyright Virtual University of
Pakistan
Process Synchronization …
 Classic problems of synchronization
 Deadlocks and starvation
 Critical regions
 Monitors
 Synchronization tools used in Solaris,
Linux, and Windows
 Deadlocks and starvation
 Pthread library functions
July 12, 2023
© Copyright Virtual University of
Pakistan
Deadlocks
 Basic concept
 Deadlock characterization
 Deadlock handling (prevention, avoidance,
detection and recovery)
 Banker’s algorithm
July 12, 2023
© Copyright Virtual University of
Pakistan
Memory Management
 Basic concepts
 Various techniques for memory
management
 Logical to physical address translation
 Swapping
 Contiguous memory allocation: MFT, MVT
 External fragmentation
 Paging
 Hardware support for paging
 Internal fragmentation
July 12, 2023
© Copyright Virtual University of
Pakistan
Memory Management …
 Performance of paging
 Protection and sharing
 Page table issues: Multi-level paging,
Hashed page tables, Inverted page tables
 Segmentation
 Protection and sharing
 Segmentation with paging
 Intel P4 example
July 12, 2023
© Copyright Virtual University of
Pakistan
Virtual Memory
 Basic concept
 Demand paging
 Page fault
 Performance of demand paging
 Page replacement
 Allocation of frames
 Thrashing
 Operating-system examples
 Other considerations (I/O locking, page
size, …)
July 12, 2023
© Copyright Virtual University of
Pakistan
File System Interface
 Basic concepts (file attributes, operations,
types, structure, etc.)
 Access methods (sequential, random, etc.)
 Directory structure
 UNIX/Linux directory structure (links in UNIX)
 File system mounting, sharing, and
protection
 UNIX/Linux examples for sharing and
protection, and relevant commands (chmod,
ln, ln –s, etc.)
July 12, 2023
© Copyright Virtual University of
Pakistan
File System Implementation
 Basic concepts (overview of disk structure,
file structure, boot control block, super
block, inode, per process file descriptor
table, system-wide open-file table, etc.)
 Directory implementation
 Free space management methods
 Space Allocation Methods
 Time and space performance of allocation
methods
 Brief introduction to Network File System
(NFS)
July 12, 2023
© Copyright Virtual University of
Pakistan
Mass Storage Structure
and Scheduling
 Disk structure and scheduling
 Disk management (formatting,
boot block, bad blocks, etc.)
 Course Recap
July 12, 2023
© Copyright Virtual University of
Pakistan
What is an Operating
System?
 A program that acts as an intermediary
between a user of a computer and the
computer hardware—provides the user a
simpler (virtual) machine to work with
 A program that allocates and deallocates
computer system resources in an efficient,
fair, and secure manner—a resource
manager
July 12, 2023
© Copyright Virtual University of
Pakistan
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.
Click to add Text
Operating Systems
Lecture 1

More Related Content

PPT
what is operating system . introduction to OS
PPS
Operating Systems
PPTX
Operating System- Services,types.Batch files and DOS history
PPTX
CS403: Operating System :Lec 2 Function of OS.pptx
PPT
Bringing The Grid Home for Grid2008
DOCX
Ieee papers
PDF
11.0004www.iiste.org call for paper.a file system level snapshot in ext4--35-30
PDF
4.a file system level snapshot in ext4 -35-30
what is operating system . introduction to OS
Operating Systems
Operating System- Services,types.Batch files and DOS history
CS403: Operating System :Lec 2 Function of OS.pptx
Bringing The Grid Home for Grid2008
Ieee papers
11.0004www.iiste.org call for paper.a file system level snapshot in ext4--35-30
4.a file system level snapshot in ext4 -35-30

Similar to Lec1.CS604.ppt (20)

PPTX
Lecture 3,4 operating systems
PPTX
Lecture 3,4 operating systems
ODP
Visual comparison of Unix-like systems & Virtualisation
PPTX
OS-UNIT-1-Part-1.pptx
PDF
OPERATING SYSTEMS NOTES R18 .pdf
PPT
Understanding operating systems 5th ed ch10
PPT
lecture_1_introduction.ppt
PPT
lecture_1_introduction_linux_1234567.ppt
PPT
Chapter 22 - Windows XP
PPT
Oct2009
PPT
Evolution of the Windows Kernel Architecture, by Dave Probert
PDF
Resist Dictionary Attacks Using Password Based Protocols For Authenticated Ke...
PPTX
A cloud environment for backup and data storage
PDF
International Journal of Computer Science and Security Volume (4) Issue (1)
PPTX
Operating Systems R20 Unit 2.pptx
PDF
Gt3112931298
PDF
PARKING ALLOTMENT SYSTEM PROJECT REPORT REPORT.
PPTX
A cloud enviroment for backup and data storage
PPT
2 - SystemComponents.ppt
Lecture 3,4 operating systems
Lecture 3,4 operating systems
Visual comparison of Unix-like systems & Virtualisation
OS-UNIT-1-Part-1.pptx
OPERATING SYSTEMS NOTES R18 .pdf
Understanding operating systems 5th ed ch10
lecture_1_introduction.ppt
lecture_1_introduction_linux_1234567.ppt
Chapter 22 - Windows XP
Oct2009
Evolution of the Windows Kernel Architecture, by Dave Probert
Resist Dictionary Attacks Using Password Based Protocols For Authenticated Ke...
A cloud environment for backup and data storage
International Journal of Computer Science and Security Volume (4) Issue (1)
Operating Systems R20 Unit 2.pptx
Gt3112931298
PARKING ALLOTMENT SYSTEM PROJECT REPORT REPORT.
A cloud enviroment for backup and data storage
2 - SystemComponents.ppt
Ad

Recently uploaded (20)

PDF
Autodesk AutoCAD Crack Free Download 2025
PDF
Topaz Photo AI Crack New Download (Latest 2025)
PDF
How Tridens DevSecOps Ensures Compliance, Security, and Agility
PDF
CCleaner 6.39.11548 Crack 2025 License Key
PDF
MCP Security Tutorial - Beginner to Advanced
PPTX
Full-Stack Developer Courses That Actually Land You Jobs
PPTX
Tech Workshop Escape Room Tech Workshop
PDF
Salesforce Agentforce AI Implementation.pdf
PDF
iTop VPN Crack Latest Version Full Key 2025
PPTX
Advanced SystemCare Ultimate Crack + Portable (2025)
PPTX
Trending Python Topics for Data Visualization in 2025
PDF
Practical Indispensable Project Management Tips for Delivering Successful Exp...
PDF
BoxLang Dynamic AWS Lambda - Japan Edition
PDF
AI Guide for Business Growth - Arna Softech
PPTX
GSA Content Generator Crack (2025 Latest)
DOC
UTEP毕业证学历认证,宾夕法尼亚克拉里恩大学毕业证未毕业
PPTX
Matchmaking for JVMs: How to Pick the Perfect GC Partner
PPTX
"Secure File Sharing Solutions on AWS".pptx
PDF
EaseUS PDF Editor Pro 6.2.0.2 Crack with License Key 2025
PPTX
Download Adobe Photoshop Crack 2025 Free
Autodesk AutoCAD Crack Free Download 2025
Topaz Photo AI Crack New Download (Latest 2025)
How Tridens DevSecOps Ensures Compliance, Security, and Agility
CCleaner 6.39.11548 Crack 2025 License Key
MCP Security Tutorial - Beginner to Advanced
Full-Stack Developer Courses That Actually Land You Jobs
Tech Workshop Escape Room Tech Workshop
Salesforce Agentforce AI Implementation.pdf
iTop VPN Crack Latest Version Full Key 2025
Advanced SystemCare Ultimate Crack + Portable (2025)
Trending Python Topics for Data Visualization in 2025
Practical Indispensable Project Management Tips for Delivering Successful Exp...
BoxLang Dynamic AWS Lambda - Japan Edition
AI Guide for Business Growth - Arna Softech
GSA Content Generator Crack (2025 Latest)
UTEP毕业证学历认证,宾夕法尼亚克拉里恩大学毕业证未毕业
Matchmaking for JVMs: How to Pick the Perfect GC Partner
"Secure File Sharing Solutions on AWS".pptx
EaseUS PDF Editor Pro 6.2.0.2 Crack with License Key 2025
Download Adobe Photoshop Crack 2025 Free
Ad

Lec1.CS604.ppt

  • 1. Click to add Text Operating Systems Lecture 1
  • 2. July 12, 2023 © Copyright Virtual University of Pakistan Agenda for Today  Introduction and purpose of the course  Organization of a computer system  Purpose of a computer system—setting the stage for OS concepts and principles  Outline of topics to be discussed in the course  What is an operating system?  Recap of the lecture
  • 3. July 12, 2023 © Copyright Virtual University of Pakistan Computer System 1. Hardware 2. Operating system 3. Applications programs 4. Users
  • 4. July 12, 2023 © Copyright Virtual University of Pakistan Layered View of a Computer System
  • 5. July 12, 2023 © Copyright Virtual University of Pakistan Purpose of a Computer System  Computer systems consist of software and hardware that are combined to provide a tool to solve specific problems in an efficient manner  Execute programs
  • 6. July 12, 2023 © Copyright Virtual University of Pakistan Computer System Hardware Keyboard Mouse Printer RAM/ROM HD Mem Bus System Bus Monitor CD Processor Floating Point Unit Integer Unit Cache Control Unit
  • 7. July 12, 2023 © Copyright Virtual University of Pakistan Course Outline  Operating system concepts  Operating system structures  Introduction to UNIX/Linux user interface  Processes and threads—scheduling, concurrency, synchronization, etc.  Deadlocks  Memory management  Virtual memory  File system  Secondary storage management
  • 8. July 12, 2023 © Copyright Virtual University of Pakistan Operating System Concepts  Single-user systems  Batch systems  Multiprogrammed systems  Time-sharing systems  Real-time systems  Interrupts, traps, and software interrupts (UNIX signals)  Hardware protection
  • 9. July 12, 2023 © Copyright Virtual University of Pakistan Operating System Structures  Operating system services  System calls  Semantics of system call execution  Operating system structures (monolithic, microkernel-based, layered, virtual machines, DOS-Windows, UNIX)  System design and implementation
  • 10. July 12, 2023 © Copyright Virtual University of Pakistan Introduction to UNIX/Linux  Directory structure  Browsing directory structure  Useful commands
  • 11. July 12, 2023 © Copyright Virtual University of Pakistan Processes  Process concept (process, states, attributes, etc.)  Process scheduling (scheduler)  Context switching (dispatcher)  Operations on processes (creation, termination, signaling, suspend, foreground, background, etc.)  Process management in UNIX (fork, wait, exec, exit, etc.)
  • 12. July 12, 2023 © Copyright Virtual University of Pakistan Processes (continued)  Sample code for UNIX/Linux process management  Cooperating processes  Interprocess communication (IPC)  IPC in UNIX/Linux (pipe, FIFO, socket, message queue, etc.)
  • 13. July 12, 2023 © Copyright Virtual University of Pakistan Processes (continued)  Communication between UNIX/Linux processes (pipe, mkfifo, read, write, close, etc.)  Sample code  UNIX/Linux processes (process images, control structures, etc. explained with sample code)  Managing UNIX/Linux processes (ps, top, fg, bg, <Ctrl-Z>, <Ctrl-C>, etc.)
  • 14. July 12, 2023 © Copyright Virtual University of Pakistan Threads  Thread concept (thread, states, attributes, etc.)  User- and kernel-level threads  POSIX threads (the pthread library)  Sample code
  • 15. July 12, 2023 © Copyright Virtual University of Pakistan CPU Scheduling  Basic concepts  Scheduling criteria  Scheduling triggers  Scheduling algorithms  UNIX System V scheduling algorithm  Optimal scheduling  Algorithm evaluation
  • 16. July 12, 2023 © Copyright Virtual University of Pakistan Process Synchronization  Basic concept  The Critical Section Problem  Solutions for the Critical Section Problem  Software-based solutions—the Bakery Algorithm  Hardware-based solutions  Semaphores  Binary and counting semaphores
  • 17. July 12, 2023 © Copyright Virtual University of Pakistan Process Synchronization …  Classic problems of synchronization  Deadlocks and starvation  Critical regions  Monitors  Synchronization tools used in Solaris, Linux, and Windows  Deadlocks and starvation  Pthread library functions
  • 18. July 12, 2023 © Copyright Virtual University of Pakistan Deadlocks  Basic concept  Deadlock characterization  Deadlock handling (prevention, avoidance, detection and recovery)  Banker’s algorithm
  • 19. July 12, 2023 © Copyright Virtual University of Pakistan Memory Management  Basic concepts  Various techniques for memory management  Logical to physical address translation  Swapping  Contiguous memory allocation: MFT, MVT  External fragmentation  Paging  Hardware support for paging  Internal fragmentation
  • 20. July 12, 2023 © Copyright Virtual University of Pakistan Memory Management …  Performance of paging  Protection and sharing  Page table issues: Multi-level paging, Hashed page tables, Inverted page tables  Segmentation  Protection and sharing  Segmentation with paging  Intel P4 example
  • 21. July 12, 2023 © Copyright Virtual University of Pakistan Virtual Memory  Basic concept  Demand paging  Page fault  Performance of demand paging  Page replacement  Allocation of frames  Thrashing  Operating-system examples  Other considerations (I/O locking, page size, …)
  • 22. July 12, 2023 © Copyright Virtual University of Pakistan File System Interface  Basic concepts (file attributes, operations, types, structure, etc.)  Access methods (sequential, random, etc.)  Directory structure  UNIX/Linux directory structure (links in UNIX)  File system mounting, sharing, and protection  UNIX/Linux examples for sharing and protection, and relevant commands (chmod, ln, ln –s, etc.)
  • 23. July 12, 2023 © Copyright Virtual University of Pakistan File System Implementation  Basic concepts (overview of disk structure, file structure, boot control block, super block, inode, per process file descriptor table, system-wide open-file table, etc.)  Directory implementation  Free space management methods  Space Allocation Methods  Time and space performance of allocation methods  Brief introduction to Network File System (NFS)
  • 24. July 12, 2023 © Copyright Virtual University of Pakistan Mass Storage Structure and Scheduling  Disk structure and scheduling  Disk management (formatting, boot block, bad blocks, etc.)  Course Recap
  • 25. July 12, 2023 © Copyright Virtual University of Pakistan What is an Operating System?  A program that acts as an intermediary between a user of a computer and the computer hardware—provides the user a simpler (virtual) machine to work with  A program that allocates and deallocates computer system resources in an efficient, fair, and secure manner—a resource manager
  • 26. July 12, 2023 © Copyright Virtual University of Pakistan 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.
  • 27. Click to add Text Operating Systems Lecture 1