Fundamentals of Operating
System
Saroj S Shivagunde
Books to Refer
Operating System Concepts
by
Silberschatz, Galvin, Gagne
Modern Operating Systems
by
Tanenbaum, Bos
Overview
• Components of A Computer
• Modes of Software Operation- User, Kernel
• Resource Management- Time, Space
• Types of Operating Systems
• Single-Processor vs. Multi-processor Systems
• Single User, Multi-user, and Hybrid Systems
• Parallel Systems vs. Concurrent Systems
• Real-time, Handheld, Embedded Systems
• Distributed Systems vs. Centralized Systems
Components of A Computer
CPU
Memory
Operating System
Input Units Output Units
User
Application Programs
Primary Memory
• Primary memory is volatile memory used to store data temporarily while a
computer is running
• Cache
• A small, fast memory component that stores frequently accessed data
• Much faster than main memory (RAM)
• Often used in CPUs to store critical instructions and data
• Main Memory (RAM)
• Primary volatile memory to store data and programs that are in use
• Faster than secondary storage but slower than cache
• Data is lost when the power is turned off
• Used for running applications and the operating system
Secondary Memory
• Secondary memory is non-volatile memory used to store data for a long-term,
even when the computer is powered off
• Optical Storage
• Uses laser technology to read and write data on optical discs such as CDs, DVDs, and Blu-ray
discs
• Good for long-term storage and resistant to magnetic interference
• Capacity varies by type (CDs: up to 700 MB, DVDs: up to 4.7 GB, Blu-ray: up to 50 GB)
• Used for media distribution, backups, and archival purposes.
• Flash Memory
• Non-volatile memory for storage and transfer of data (SSDs, USB drives, and memory cards)
• Retains data without power
• Faster read and write speeds compared to magnetic disks
Tertiary Memory - Magnetic Disks
• Non-volatile storage media that uses magnetic
patterns to store data
• Offers large storage capacities at a lower cost
• Slower read and write speeds compared to
flash memory
• Commonly used in traditional hard drives
(HDDs) and enterprise storage systems
• The primary medium for the long-term online
storage of data
• Provides a bulk of secondary storage for
modern computer systems
Tertiary Memory - Magnetic Tapes
• Used for data storage, primarily for backup
and archival purposes
• High storage capacity, suitable for large data
volumes
• Cost-effective for long-term storage
• Slower access times compared to disk-based
storage
• as the access is sequential rather than random
• Tape libraries are used to hold exceptionally large collections of data as much as
hundreds of terabytes or even multiple petabytes
• These libraries are called jukeboxes
Modes of Software Operation
• Kernel Mode
• The operating system runs in kernel mode
• This mode has access to all the hardware components
• It can execute any instruction possible with the given components
• User Mode
• All the software, other than the OS, run in user mode
• This mode has limited access of machine instructions
• The instructions that may affect the system or I/O operations are not allowed in this mode
Resource Management
• Time Multiplexing
• Many processes fully share one resource in different time intervals
• Example- 3 processes share one printer
• Here, it is not possible for these processes to use the printer in parts at the same time
• One process will use it, then one of the remaining processes can use the printer
• This is called as time multiplexing
• Space Multiplexing
• Many processes share one resource in at a time in parts
• Example- 3 processes share the memory space
• Here, it is not wise to give one process the whole memory and after its completion allocate
the whole memory to another process
• Multiple processes can reside in the memory at the same time
• This is called as space multiplexing
Types of OS: No. of Processors
• Single-processor Systems
• Only one process can run at a time as there is only one core available
• If multiple processes are to be run on such a system, time multiplexing can be used
• Such an arrangement is called as multi-tasking
• Multi-processor Systems
• Multiple processes can run at a time on different cores of the same CPU, or a single process
can also be divided and sped up using multiple cores
• The throughput of these systems is more than the single processor systems as multiple
processes can run at the same time
• Cost of n multi-processor systems is less than the combined cost of n single-core systems
• Having multiple processors helps in sharing the load in case of failure of one core
Types of OS: No. of Users
• Single user Systems
• Only one user accesses all resources & the system is designed for ease of use and performance
• Here, not much attention is needed to be paid to resource utilization
• Example- Personal Computers, Laptops, etc.
• Multi-user Systems
• Multiple users access the same system via different terminals
• Hence, the system is designed to maximize resource utilization
• Each user is given access to CPU, I/O devices, memory by keeping in mind the needs of others
• Example- Servers, Mainframe computers, etc.
• Hybrid Mode OS
• This is a combination of Single-user and Multi-user system
• Users have their own, as well as some resources shared over the network with other users
• OS needs to find the middle-ground between individual usability and resource utilization
• Example- A group of systems connected over a LAN
Types of OS: Processing Technique
• Parallel Systems (Multi-processing Systems)
• Parallel Systems can perform more than one process parallelly
• Multiple processes run on multiple CPUs or multiple cores
• Here, the parallelism is not an illusion
• The number of parallelly executable processes depends on the number of CPUs/cores
available for computation
• Concurrent Systems (Multi-programming Systems)
• Concurrent systems create an illusion of parallelism by rapidly switching from one process to
another
• Multiple processes run one after other on one core only
• The number of concurrently running processes is called the degree of multiprogramming
Types of OS: Nature of Device
• OS for Real-time Systems
• Real-time system is used when rigid time requirements have been placed on the operation of
a processor or the flow of data
• A real-time system functions correctly only if it returns the correct result within its time
constraints
• Example- Any driving System Module (Car, Airplane, etc.), Weapon Systems
• OS for Mobile / Handheld Devices
• OS for these devices needs to pay more attention to user interface as these devices rely
heavily on the user interactions
• The rest of the functionality is same as single-user system
• OS for Embedded Systems
• These systems have zero or very minimal user interaction
• So, the OS is designed to perform without or minimal user intervention
• Example- ACs, Washing machines, Thermostats, etc.
Distributed Systems vs Centralized Systems
• Distributed Systems
• Collection of physically separate systems that are accessible to multiple users via network
• These separate computer systems can be homogeneous or heterogeneous
• Some systems treat network access as a form of file access, others may require explicit
network access
• Example- Many computers, servers, printers, etc on university campus connected by a LAN
• Centralized Systems
• A single system that provides computing power and resources to multiple users
• All processing and resource management happen in one central computer (host/mainframe)
• Users access the system via terminals or client machines, but do not perform independent
processing
• Reliability depends heavily on the central machine; if it fails, the whole system halts
• Example- Mainframe computer with multiple dumb terminals in an organization
End

OS 1._Fundamentals_of_Operating_System.pdf

  • 1.
  • 2.
    Books to Refer OperatingSystem Concepts by Silberschatz, Galvin, Gagne Modern Operating Systems by Tanenbaum, Bos
  • 3.
    Overview • Components ofA Computer • Modes of Software Operation- User, Kernel • Resource Management- Time, Space • Types of Operating Systems • Single-Processor vs. Multi-processor Systems • Single User, Multi-user, and Hybrid Systems • Parallel Systems vs. Concurrent Systems • Real-time, Handheld, Embedded Systems • Distributed Systems vs. Centralized Systems
  • 4.
    Components of AComputer CPU Memory Operating System Input Units Output Units User Application Programs
  • 5.
    Primary Memory • Primarymemory is volatile memory used to store data temporarily while a computer is running • Cache • A small, fast memory component that stores frequently accessed data • Much faster than main memory (RAM) • Often used in CPUs to store critical instructions and data • Main Memory (RAM) • Primary volatile memory to store data and programs that are in use • Faster than secondary storage but slower than cache • Data is lost when the power is turned off • Used for running applications and the operating system
  • 6.
    Secondary Memory • Secondarymemory is non-volatile memory used to store data for a long-term, even when the computer is powered off • Optical Storage • Uses laser technology to read and write data on optical discs such as CDs, DVDs, and Blu-ray discs • Good for long-term storage and resistant to magnetic interference • Capacity varies by type (CDs: up to 700 MB, DVDs: up to 4.7 GB, Blu-ray: up to 50 GB) • Used for media distribution, backups, and archival purposes. • Flash Memory • Non-volatile memory for storage and transfer of data (SSDs, USB drives, and memory cards) • Retains data without power • Faster read and write speeds compared to magnetic disks
  • 7.
    Tertiary Memory -Magnetic Disks • Non-volatile storage media that uses magnetic patterns to store data • Offers large storage capacities at a lower cost • Slower read and write speeds compared to flash memory • Commonly used in traditional hard drives (HDDs) and enterprise storage systems • The primary medium for the long-term online storage of data • Provides a bulk of secondary storage for modern computer systems
  • 8.
    Tertiary Memory -Magnetic Tapes • Used for data storage, primarily for backup and archival purposes • High storage capacity, suitable for large data volumes • Cost-effective for long-term storage • Slower access times compared to disk-based storage • as the access is sequential rather than random • Tape libraries are used to hold exceptionally large collections of data as much as hundreds of terabytes or even multiple petabytes • These libraries are called jukeboxes
  • 9.
    Modes of SoftwareOperation • Kernel Mode • The operating system runs in kernel mode • This mode has access to all the hardware components • It can execute any instruction possible with the given components • User Mode • All the software, other than the OS, run in user mode • This mode has limited access of machine instructions • The instructions that may affect the system or I/O operations are not allowed in this mode
  • 10.
    Resource Management • TimeMultiplexing • Many processes fully share one resource in different time intervals • Example- 3 processes share one printer • Here, it is not possible for these processes to use the printer in parts at the same time • One process will use it, then one of the remaining processes can use the printer • This is called as time multiplexing • Space Multiplexing • Many processes share one resource in at a time in parts • Example- 3 processes share the memory space • Here, it is not wise to give one process the whole memory and after its completion allocate the whole memory to another process • Multiple processes can reside in the memory at the same time • This is called as space multiplexing
  • 11.
    Types of OS:No. of Processors • Single-processor Systems • Only one process can run at a time as there is only one core available • If multiple processes are to be run on such a system, time multiplexing can be used • Such an arrangement is called as multi-tasking • Multi-processor Systems • Multiple processes can run at a time on different cores of the same CPU, or a single process can also be divided and sped up using multiple cores • The throughput of these systems is more than the single processor systems as multiple processes can run at the same time • Cost of n multi-processor systems is less than the combined cost of n single-core systems • Having multiple processors helps in sharing the load in case of failure of one core
  • 12.
    Types of OS:No. of Users • Single user Systems • Only one user accesses all resources & the system is designed for ease of use and performance • Here, not much attention is needed to be paid to resource utilization • Example- Personal Computers, Laptops, etc. • Multi-user Systems • Multiple users access the same system via different terminals • Hence, the system is designed to maximize resource utilization • Each user is given access to CPU, I/O devices, memory by keeping in mind the needs of others • Example- Servers, Mainframe computers, etc. • Hybrid Mode OS • This is a combination of Single-user and Multi-user system • Users have their own, as well as some resources shared over the network with other users • OS needs to find the middle-ground between individual usability and resource utilization • Example- A group of systems connected over a LAN
  • 13.
    Types of OS:Processing Technique • Parallel Systems (Multi-processing Systems) • Parallel Systems can perform more than one process parallelly • Multiple processes run on multiple CPUs or multiple cores • Here, the parallelism is not an illusion • The number of parallelly executable processes depends on the number of CPUs/cores available for computation • Concurrent Systems (Multi-programming Systems) • Concurrent systems create an illusion of parallelism by rapidly switching from one process to another • Multiple processes run one after other on one core only • The number of concurrently running processes is called the degree of multiprogramming
  • 14.
    Types of OS:Nature of Device • OS for Real-time Systems • Real-time system is used when rigid time requirements have been placed on the operation of a processor or the flow of data • A real-time system functions correctly only if it returns the correct result within its time constraints • Example- Any driving System Module (Car, Airplane, etc.), Weapon Systems • OS for Mobile / Handheld Devices • OS for these devices needs to pay more attention to user interface as these devices rely heavily on the user interactions • The rest of the functionality is same as single-user system • OS for Embedded Systems • These systems have zero or very minimal user interaction • So, the OS is designed to perform without or minimal user intervention • Example- ACs, Washing machines, Thermostats, etc.
  • 15.
    Distributed Systems vsCentralized Systems • Distributed Systems • Collection of physically separate systems that are accessible to multiple users via network • These separate computer systems can be homogeneous or heterogeneous • Some systems treat network access as a form of file access, others may require explicit network access • Example- Many computers, servers, printers, etc on university campus connected by a LAN • Centralized Systems • A single system that provides computing power and resources to multiple users • All processing and resource management happen in one central computer (host/mainframe) • Users access the system via terminals or client machines, but do not perform independent processing • Reliability depends heavily on the central machine; if it fails, the whole system halts • Example- Mainframe computer with multiple dumb terminals in an organization
  • 16.