Operating Systems: Evolution by Generation

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson
Download our mobile app to listen on the go
Get App

Questions and Answers

In the context of operating systems, how does 'spooling' improve system efficiency, and what type of devices benefit most from it?

Spooling improves efficiency by buffering data for I/O devices, allowing the CPU to continue processing other tasks. Slower devices like printers benefit most.

Explain how the transition from serial processing to batch processing addressed the problem of 'setup time' in early computing systems.

Batch processing reduced setup time by grouping jobs with similar requirements, so the system spent less time switching between different program configurations.

Compare and contrast preemptive and cooperative multitasking. How do they differ in how they allocate CPU time to tasks?

In preemptive multitasking, the OS allocates fixed time slices to each program, while in cooperative multitasking, a program controls the CPU until it voluntarily releases it.

What are the key architectural differences between symmetric multiprocessing (SMP) and asymmetric multiprocessing (AMP) systems, and how do these differences impact their suitability for different workloads?

<p>SMP involves multiple processors sharing the same memory and OS, while AMP uses a master processor to control slave processors. SMP is suited for balanced workloads, while AMP can be used for specialized tasks.</p>
Signup and view all the answers

Describe how a real-time operating system (RTOS) ensures timely execution of critical tasks, and differentiate between 'hard' and 'soft' real-time systems.

<p>An RTOS uses priority-based scheduling to meet deadlines. Hard RTOS guarantee task completion within strict time constraints. Soft RTOS prioritize tasks, but may miss deadlines.</p>
Signup and view all the answers

In what scenarios would a distributed operating system be more appropriate than a parallel operating system, and what are the primary advantages offered by a distributed system in those contexts?

<p>Distributed OS is better when computers are geographically separated. Its main advantages are resource sharing, reliability through redundancy, and improved communication.</p>
Signup and view all the answers

How did the introduction of the Graphic User Interface (GUI) in the fourth generation of operating systems change the way users interacted with computers, and what underlying technological advancements enabled this change?

<p>GUI simplified interaction with visual elements. LSI and VLSI circuits provided the processing power needed for graphical displays and user input handling.</p>
Signup and view all the answers

Explain the concept of 'time-sharing' in multi-user operating systems, and how it creates the illusion of each user having exclusive access to the CPU.

<p>Time-sharing allocates short CPU time slices to each user, rapidly switching between them. This gives each user the impression of continuous CPU access.</p>
Signup and view all the answers

What is the primary role of a 'resident monitor' in a simple batch system, and what specific responsibilities does it handle to manage the execution of jobs?

<p>The resident monitor manages job execution by initializing, processing, and terminating batches. It controls the transfer of control between programs and back to the monitor.</p>
Signup and view all the answers

Compare and contrast the memory management approaches used in batch processing systems and multiprogramming systems. How do they differ in terms of memory utilization and job isolation?

<p>Batch systems divide memory into monitor and user areas only. Multiprogramming allocates memory to several concurrent jobs. Batch has simple, limited memory utilization. Multiprogramming needs memory protection to isolate jobs.</p>
Signup and view all the answers

Describe the key disadvantages of batch processing systems that led to the development of more interactive operating systems, such as time-sharing systems.

<p>Key disadvantages include lack of user interaction, slow performance due to I/O bottlenecks, poor CPU utilization, and difficulties in debugging and setting job priorities.</p>
Signup and view all the answers

What are the advantages of using a multi-user operating system compared to a single-user operating system, particularly in terms of resource utilization and data sharing?

<p>Multi-user OS allows multiple users to share data and hardware resources such as printers and modems, leading to better resource utilization than single-user systems.</p>
Signup and view all the answers

Explain why a single-user, single-tasking operating system might still be relevant in certain embedded systems or specialized applications despite its limitations.

<p>Single-tasking OS is still relevant in very resource-constrained embedded systems where simplicity and minimal overhead are crucial.</p>
Signup and view all the answers

How does the concept of 'job status preservation' contribute to the efficiency and effectiveness of multiprogramming operating systems?

<p>Job status preservation allows the OS to switch between jobs without losing progress. It saves and restores the state of each job, maximizing CPU utilization.</p>
Signup and view all the answers

In the context of parallel systems, explain how 'graceful degradation' contributes to increased reliability, and under what circumstances this feature is most beneficial?

<p>Graceful degradation means the system continues to operate, albeit at a reduced performance level after a component failure, it's most beneficial in critical applications because it maintains functionality.</p>
Signup and view all the answers

Describe the key factors that differentiate a 'client-server' distributed system from a 'peer-to-peer' distributed system, particularly in terms of resource management and system architecture.

<p>Client-server systems have dedicated servers providing resources to clients. Peer-to-peer systems distribute resources among all nodes, with each acting as client and server.</p>
Signup and view all the answers

How does the use of multiple processors in a multiprocessing operating system contribute to increased throughput and reduced turnaround time for complex tasks?

<p>Multiprocessing allows simultaneous execution of tasks by different processors, increasing throughput and reducing turnaround time compared to single-processor systems.</p>
Signup and view all the answers

Explain the concept of context switching in a multitasking operating system, and what mechanisms are required to ensure efficient transitions between different tasks.

<p>Context switching is the OS switching the CPU between processes. It needs saving the current state and loading the saved state for the next process to ensure efficient transitions.</p>
Signup and view all the answers

Describe the challenges associated with ensuring data security and privacy in a distributed operating system, and what strategies can be employed to mitigate these risks?

<p>Challenges include unauthorized access and privacy breaches through network interfaces. Mitigation includes encryption, authentication, and access control policies.</p>
Signup and view all the answers

What are the trade-offs between the cost of hardware and the complexity of software when choosing between a multiprocessing and a multiprogramming system for a specific application?

<p>Multiprocessing require expensive hardware investment but simplifies the software. Multiprogramming reduces hardware costs but leads to more complex OS.</p>
Signup and view all the answers

How does the memory layout of a simple batch system contribute to its limitations in terms of multitasking and resource management?

<p>With only the Resident Monitor and User Program area, a simple batch system can on execute one program at a time without multitasking and resource sharing capabilities.</p>
Signup and view all the answers

What challenges did users face when interacting directly with computer hardware during the first generation of operating systems, and how did the introduction of operating systems address these challenges?

<p>Users faced challenges setting up and running programs on console with display lights, switches, input devices, and printers. Operating systems introduced automated sequences and the concept of batching.</p>
Signup and view all the answers

How does the increasing use of cloud computing influence the relevance and application of distributed operating systems?

<p>Cloud computing relies heavily on distributed operating systems to provide scalability, resource sharing, and reliability across multiple servers and locations.</p>
Signup and view all the answers

What key features are essential for an operating system to effectively support multiprogramming, and how do these features contribute to improved system performance?

<p>Essential features for multiprogramming include memory management, CPU scheduling, device allocation, and memory protection. They ensures CPU is always busy.</p>
Signup and view all the answers

Explain how the evolution from single-user to multi-user operating systems has impacted the development and implementation of security mechanisms in computer systems.

<p>Multi-user OS requires user authentication policies, account and access protection, offering privacy and integrity; all absent in single-user OS.</p>
Signup and view all the answers

How does an operating system facilitate the sharing of hardware resources among multiple users or applications, and what are the primary challenges associated with managing these shared resources?

<p>The OS utilizes CPU scheduling, memory management, and I/O management. Challenges includes resource contention, deadlocks, access control, and security.</p>
Signup and view all the answers

What is the difference between a parallel operating system and a distributed operating system in terms of hardware architecture and inter-process communication?

<p>A parallel OS manages multiple processors that share the memory and a clock while in distributed system, each processor has its own local memory and the communication occurs through high speed buses.</p>
Signup and view all the answers

How does the concept of priority scheduling in real-time operating systems differ from scheduling algorithms used in general-purpose operating systems, and why is this difference necessary?

<p>RTOS use priority based scheduling to guarantee timely task completion. General purpose OS aims to optimize average performance. This difference is crucial for time sensitive operation.</p>
Signup and view all the answers

Discuss the implications of using a 'loosely coupled' architecture in distributed systems, especially in terms of communication overhead and system resilience.

<p>Communication overhead may be high but provides resilience through independent components. If one site fails, the remaining sites can continue the operation.</p>
Signup and view all the answers

How does the use of virtual machines and hypervisors impact the design and functionality of modern operating systems, particularly in cloud computing environments?

<p>Hypervisors allows multiple guest OS to run isolation on a single physical machine. Virtual Machines enable resource sharing, flexibility and scalability in cloud computing.</p>
Signup and view all the answers

What role does 'interrupt processing' play in enabling an operating system to respond efficiently to external events, such as hardware signals or user input?

<p>Interrupt processing allows the OS to handle external events by temporarily suspending the current process, executing an interrupt handler, and resuming the process.</p>
Signup and view all the answers

Explain how the introduction of 'disk drives' impacted the evolution of operating systems, particularly in terms of memory management and file system design.

<p>Disk drives enabled spooling and virtual memory, leading to more sophisticated memory management and the design of persistent file systems. Memory is now available to be shared.</p>
Signup and view all the answers

Compare and contrast the process scheduling strategies typically used in batch processing environments versus those used in interactive, time-sharing systems.

<p>Batch processing uses FCFS which executes the tasks in the order they are sent. While time-sharing systems employs short-term scheduling algorithm that makes tasks run in shorter intervals maximizing processor use.</p>
Signup and view all the answers

What are the trade-offs between code simplicity and system flexibility when choosing between a monolithic kernel and a microkernel architecture for an operating system?

<p>Monolithic kernels are simpler to implement but less flexible. Microkernels offer greater flexibility and modularity at the expense of code complexity.</p>
Signup and view all the answers

Explain how the evolution from vacuum tubes to integrated circuits (ICs) influenced the size, speed, and capabilities of operating systems.

<p>Integrated circuits reduced the size and power consumption which meant more sophisticated OS features were possible. This also improved the speed, reducing overhead.</p>
Signup and view all the answers

How does the use of virtual memory contribute to the efficient execution of programs in a multiprogramming environment, and what are the primary challenges associated with managing virtual memory?

<p>Virtual memory allows program to exceed physical memory. Challenge is managing page faults, thrashing and memory protection.</p>
Signup and view all the answers

What mechanisms are used by operating systems to prevent deadlocks from occurring when multiple processes compete for shared resources, and how effective are these mechanisms in practice?

<p>Deadlock prevention includes resource ordering, resource allocation limits, and deadlock detection. Effectiveness varies based on cost and overhead.</p>
Signup and view all the answers

Describe the role of device drivers in an operating system, and explain why they are essential for enabling the OS to interact with a wide variety of hardware devices.

<p>Device drivers act as translators between the OS and hardware. They are essential because hardware interfaces vary widely.</p>
Signup and view all the answers

What are the key differences between a multi-core processor and a multi-processor system, and how do these differences impact operating system design and performance?

<p>Multi-core processor is a single chip with multiple CPUs, while multi-processor system has separate physical CPU. So OS must manage resource allocation accordingly.</p>
Signup and view all the answers

Flashcards

Serial Processing

The earliest computers operated without an OS, requiring direct hardware interaction.

Single user Operating System

Only one user can access the computer system at a time.

Single User, Single Tasking OS

Allows a single user to execute one program at a time.

Single User, Multitasking OS

Allows a single user to execute multiple programs at a time.

Signup and view all the flashcards

Multiuser Operating System

Multiple users can access the computer system at a time.

Signup and view all the flashcards

Batch Processing

Users do not interact with the computer directly; jobs are batched together.

Signup and view all the flashcards

Multiprogramming Operating Systems

OS picks and begins to execute one job from memory. Once this job needs an I/O operation operating system switches to another job.

Signup and view all the flashcards

Multitasking Operating System

Allows a computer to perform more than one task at a time using a single CPU by time sharing.

Signup and view all the flashcards

Pre-emptive Multitasking

OS allows CPU times slice to each program. After each time slice, CPU executes another task.

Signup and view all the flashcards

Co-operative Multitasking

A program can acquire the CPU for required amount of time. A task can control CPU as long as it requires.

Signup and view all the flashcards

Multiprocessing Operating System

A system that contains two or more processors or CPUs and has ability to execute several programs simultaneously.

Signup and view all the flashcards

Symmetric Multiprocessing

processors share the same memory. All the processor in the system runs an identical copy of the operating system.

Signup and view all the flashcards

Asymmetric Multiprocessing

Different processors do different things. There is a one master processor that controls the data structure of the system

Signup and view all the flashcards

Real Time Operating System

A multitasking operating system that aims at executing real time applications.

Signup and view all the flashcards

Hard Real Time Operating System

This OS fully guarantee critical tasks will be completed in a given amount of time.

Signup and view all the flashcards

Soft Real Time operating system

The non-critical tasks are bounded to give the critical tasks enough time to be performed

Signup and view all the flashcards

Parallel Systems

Multiprocessor systems with more than one CPU in close communication.

Signup and view all the flashcards

Distributed operating system

An operating system that manages a group of independent computers and makes them appear to be a single computer.

Signup and view all the flashcards

Peer to Peer systems

Every computer in the network acts as both client and server

Signup and view all the flashcards

Spooling

Putting jobs in a buffer(an area in memory or disk). This buffer is a special area in memory or hard disk which is accessible to I/O devices.

Signup and view all the flashcards

Study Notes

  • Operating systems have evolved through generations, each marked by advancements in hardware and software capabilities
  • The earliest computers lacked operating systems, requiring direct interaction with hardware

OS Evolution: By Generation

  • First Generation (1945-1955): Used vacuum tubes, lacked an OS, and relied on serial processing
  • Second Generation (1955-1965): Transitioned to transistor-based computers, introducing batch systems
  • Third Generation (1965-1980): Integrated circuits enabled multiprogramming, general-purpose computing, spooling, time-sharing systems, minicomputers, and UNIX
  • Fourth Generation (1980-Present): Characterized by LSI and VLSI circuits, GUIs, distributed OS, multiprocessor OS, and real-time systems

Serial Processing

  • Early computers operated without an OS, demanding direct hardware interaction
  • Programmers used consoles with lights, switches, input devices, and printers
  • Drawbacks included no scheduling and significant setup time

Types of Operating Systems

  • Single-user
  • Multiuser
  • Batch processing
  • Multiprogramming
  • Multitasking
  • Multiprocessing
  • Real-time
  • Parallel
  • Distributed

Single-User Operating Systems

  • Designed for one user to access the computer system at a time
  • Utilize a single processor to execute one program at any given time
  • Dedicate all resources like CPU and I/O devices to a single user

Types of Single-User Operating Systems

  • Single-user, single-tasking: Allows one user to execute only one program at a time (e.g., MS-DOS, Palm OS)
  • Single-user, multitasking: Allows one user to execute multiple programs concurrently (e.g., Windows, MAC-OS)

Advantages of Single-User Operating Systems

  • Support for one user at a time
  • Easy maintenance
  • Lower risk of damage
  • Less resource requirements

Disadvantages of Single-User Operating Systems

  • High idle time
  • Poor resource utilization

Multiuser Operating Systems

  • Enable multiple users to access the computer system simultaneously
  • Allow diverse users to leverage the computer's resources concurrently
  • Facilitate access through a network of personal computers connected to a mainframe

Multiuser Operating Systems: Functionality

  • Personal computers can exchange information with the mainframe
  • Mainframes function as servers, while personal computers act as clients
  • The OS manages user requests, preventing interference

Enhanced User Management Features

  • Multiuser systems offer user authentication
  • They include policies for managing user accounts
  • They provide access protection for user privacy and data integrity
  • Modern, general-purpose OSs are typically multiuser (e.g., Unix, Windows NT/2000/2003 Server)
  • CPU switches between jobs to provide immediate response, enabled by scheduling and multiprogramming
  • Time-sharing systems give each user a small time slice, creating the illusion of exclusive CPU use

Advantages of Multiuser Operating Systems

  • Facilitate data and information sharing among users
  • Enable sharing of hardware resources like printers and modems

Disadvantages of Multiuser Operating Systems

  • Require expensive mainframe hardware
  • Can reduce system performance due to multiple users
  • Are complex

Single vs. Multiuser OS Comparison

  • Single-user OS manages the computer for one user doing one task at a time, while multiuser OS allows many users to use computer resources simultaneously

Single vs. Multiuser OS: User Support

  • Single-user platforms support one user at a time
  • Multiuser systems regulate access for multiple users through databases

Single vs. Multiuser OS: Resource Utilization

  • Single-user OS has poor resource utilization
  • Multiuser OS has better utilization

Single vs. Multiuser OS: Usage

  • Single-user OS is common on desktops and laptops
  • Multiuser OS is common on mainframes

Single vs. Multiuser OS: Attributes

  • Single-user OS is less complex and easier to maintain
  • Multiuser OS is more complex and harder to maintain

Single vs. Multiuser OS: Cost

  • Single-user OS has lower costs
  • Multiuser OS requires expensive hardware

Single vs. Multiuser OS: Data Sharing

  • Single-user OS does not allow data, information, or resource sharing
  • Multiuser OS allows the sharing of data, information, and resources

Single vs. Multiuser OS: Types

  • Single-user OS includes single-task and multi-task types
  • Multiuser OS includes time-sharing systems and some mainframe batch processing systems

Simple Batch Systems

  • Represent one of the earliest OS types
  • Users do not interact directly; they submit jobs offline (e.g., via punch cards) to a computer operator

Batch Processing: Process

  • Jobs with similar needs are grouped into batches for efficient processing
  • Programmers submit programs to the operator, who sorts them into batches
  • Batches are executed sequentially, and the operator returns the output to users

Simple Batch Systems: Automation

  • Involves hiring an operator
  • It used card readers
  • It reduces setup time via batching
  • It spools various user jobs in a queue
  • This improves processing by automatic job sequencing

Simple Batch Systems: Resident Monitor

  • There is a resident monitor, which is the part of main memory where the OS resides
  • The resident monitor initializes batches, manages processing, terminates batches, and transfers control between programs

Simple Batch Systems: Memory Layout

  • Only one program runs at a time

Functions Within Batch Systems

  • Process scheduling: FCFS (First-Come, First-Served)
  • Memory management: Divided into Resident Monitor and User Program areas
  • File management: Serial access without access or concurrency control

Advantages of Batch Systems

  • Increased performance
  • Automated job execution
  • Computer resource sharing among many users

Disadvantages of Batch Systems

  • Lack of user interaction
  • Slow performance because I/O and CPU operations do not overlap
  • Poor CPU utilization because the processor is idle
  • It is difficult to provide priority
  • It is difficult to debug
  • There is poor memory protection
  • There is potential for jobs to enter infinite loops

Multiprogramming Operating Systems:

  • Enables users to run multiple programs concurrently using a single CPU
  • Several jobs reside in main memory, with the CPU rapidly switching between them

Multiprogramming Operating Systems: Operations

  • The OS selects and starts a job from memory
  • When a job requires I/O, the OS switches to another job
  • There are fewer jobs in memory than on disk (job pool)
  • CPU scheduling selects jobs to run

OS Features Needed for Multiprogramming

  • Memory management allocates memory to jobs
  • CPU scheduling selects which job to run next
  • Allocation of devices
  • Proper Job Mix: A balance of I/O-bound and CPU-bound processes is needed
  • Job Status Preservation

Advantages of Multiprogramming

  • Increased CPU and memory utilization
  • Increased throughput of programs
  • Ability to assign priorities to jobs

Disadvantages of Multiprogramming

  • Greater OS overhead
  • Sophistication and complexity
  • Memory management for varied job sizes

Multitasking Operating Systems

  • Enables a computer to perform multiple tasks concurrently using time sharing with a single CPU
  • Multi-programming is used for multi-user systems, multitasking for single-user systems
  • Only one program is executed at any moment, with the processor rapidly switching between tasks
  • Multitasking offers reduced execution time

Multitasking Operating Systems: Processes

  • Divides processes into foreground (accepting input) and background (processing data or in a waiting state)
  • Examples are windows, Linux, mac, Unix, etc.

Types of Multitasking

  • Pre-emptive: OS allocates CPU time slices
  • Co-operative: A program holds the CPU as long as needed, ceding it for other programs

Multiprogramming vs. Multitasking

  • Multiprogramming is for multi-user systems executing multiple users' jobs
  • Multitasking is for single-user systems executing multiple jobs

Multiprogramming vs. Multitasking: Response Time

  • Multiprogramming has a longer response time
  • Multitasking has a shorter response time

Multiprocessing Operating Systems

  • Systems with two or more CPUs to execute multiple programs simultaneously
  • Multiple processors share clock, bus, memory, and peripherals

Multiprocessing Operating Systems: Functionality

  • Processors either work on different parts of the same task or on different tasks
  • Used to process vast data at high speeds
  • Examples include satellite control and weather forecasting systems

Multiprocessing Operating Systems: Examples

  • Examples include Linux, Unix, Windows 2000, Windows XP, Mac OS X

Multiprocessing Types

  • Symmetric Multiprocessing (shared OS)
  • Asymmetric Multiprocessing (master-slave)

Symmetric Multiprocessing (SMP)

  • Processors share the same memory and run identical copies of the OS

Asymmetric Multiprocessing (AMP)

  • Different processors handle different tasks
  • A master processor controls the system's data structure
  • It also schedules work for slave processors

Symmetric vs. Asymmetric Multiprocessing: Basic

  • In SMP, each processor runs OS tasks
  • In AMP, only the master processor runs OS tasks

Symmetric vs. Asymmetric Multiprocessing: Process

  • SMP processors take processes from a common queue
  • AMP master processor assigns processes

Symmetric vs. Asymmetric Multiprocessing: Architecture

  • SMP processors have the same architecture
  • AMP processors may have different architectures

Symmetric vs. Asymmetric Multiprocessing: Communication

  • SMP processors communicate via shared memory
  • AMP processors do not require communication

Symmetric vs. Asymmetric Multiprocessing: Failure

  • In SMP, system computing capacity is reduced
  • In AMP, a slave becomes the master

Symmetric vs. Asymmetric Multiprocessing: Ease

  • SMP is complex due to processor synchronization needs
  • AMP is simple as the master processor accesses data structures

Advantages of Multiprocessing OS

  • Increased throughput
  • Cost savings
  • Increased reliability

Disadvantages of Multiprocessing OS

  • Expensive
  • Complex
  • Large main memory requirement

Multiprocessing vs. Multiprogramming

  • Multiprocessing processes multiple processes simultaneously with multiple CPUs
  • Multiprogramming executes programs concurrently using a single CPU

Multiprocessing vs. Multiprogramming: CPU Usage

  • Multiprocessing uses multiple CPUs
  • Multiprogramming uses a single CPU

Multiprocessing vs. Multiprogramming: Parallel Processing

  • Multiprocessing permits parallel processing
  • Multiprogramming involves context switching

Multiprocessing vs. Multiprogramming: Time

  • Multiprocessing takes less time to process jobs
  • Multiprogramming takes more time

Multiprocessing vs. Multiprogramming: Efficiency

  • Multiprocessing facilitates efficient device utilization
  • Multiprogramming is less efficient

Real-Time Operating Systems (RTOS)

  • Multitasking OS designed for real-time applications
  • Guarantees result correctness and meeting deadlines

Characteristics of Real-Time OS

  • The time taken by the system to respond to an input and display of required updated information is termed as the response time.
  • In RTOS, the response time is very low
  • Examples include embedded systems, robots, and engine controllers

Real-Time OS: Usage

  • Controls instruments, machinery, industrial systems, and scientific instruments
  • Resources are managed to ensure operations execute in a consistent time frame

Types of Real-Time OS

  • Hard real-time OS: Guarantees critical task completion within a set time
  • Soft real-time OS: Prioritizes critical tasks but allows flexibility

Hard Real-Time OS

  • Completes tasks in guaranteed time
  • May suspend less critical commands
  • Has limited or no secondary storage
  • If there is a delay then it fails
  • Examples: Flight and satellite control systems

Soft Real-Time OS

  • Prioritizes tasks into critical and non-critical tasks
  • Allows the critical tasks enough time to be performed
  • If a process completes correctly but takes longer than its given amount of time, the results may still useful
  • Examples: Multimedia, Virtual Reality, Advanced Scientific Projects

RTOS Functions

  • Process scheduling: Priority-based preemptive scheduling
  • Memory management: Less demanding, with high-priority processes in memory
  • I/O management: Includes interrupt management and I/O buffering
  • File management: Fast access is prioritized

Parallel Systems

  • Multiprocessor systems with multiple CPUs in close communication
  • Processors share memory and a clock
  • Communication occurs through shared memory

Advantages of Parallel Systems

  • Increased throughput
  • Economical
  • Increased reliability through graceful degradation

Parallel Operating Systems: Functionality

  • Interface multiple networked computers
  • Manage resources such as memory, caches, storage, and processing power
  • Divide calculations into smaller parts

Parallel Operating Systems: Inter-Core Communication

  • Facilitates communication between processing cores
  • Uses memory-sharing or memory distribution

Parallel Systems: Classification

  • On the basis of Processor
    • Symmetric multiprocessing (SMP)
    • Asymmetric multiprocessing
  • On the basis of instruction and Data (Flynn’s Classification)
    • Single Instruction Stream, Single Data Stream (SISD)
    • Single Instruction Stream, Multiple Data Stream (SIMD)
    • Multiple Instruction Stream, Single Data Stream (MISD)
    • Multiple Instruction Stream, Multiple Data Stream (MIMD)

Distributed Operating Systems

  • Manages independent computers to appear as a single system
  • Uses multiple processors to serve applications and users

Distributed Operating Systems: Processors

  • Processors communicate through communication lines
  • Processors vary in size and function

Advantages of Distributed OS

  • Resource sharing
  • Communications improvements
  • Load sharing
  • Reliability
  • Improved customer service

Disadvantages of Distributed OS

  • Limited software
  • Slow networking
  • Security risks
  • Privacy concerns

Types of Distributed OS

  • Client-server system
  • Peer-to-peer system

Client-Server System

  • Example: Railway reservation systems

Peer-to-Peer System

  • Each computer acts as both client and server
  • Computers can grant and request resources
  • There is no central authority
  • There is also no single point of failure

Time-Sharing Systems vs Multiprogrammed OS

  • Commands in time-sharing systems are entered at the terminal
  • Job control language commands are provided with the job in multi-programmed systems
  • The principal objective for time-sharing is to minimize response time
  • The principal objective for multi-programmed is to Maximize processor use and is batch

Parallel System v/s Distributed Systems

  • In parallel processing the subdivided parts of a job which can be done at the same time will be carried out by different processors
  • In distributed system various functions and different computational requirements are distributed among different processors located at various places.
  • The aim of parallel processing is to accept a given job, break it down into subparts, divide it among all the available processors and complete it shortest possible time.
  • Distributed computing involves multiple computer systems working together as a single system.
  • The parallel systems are called tightly coupled system
  • The distributed systems are called loosely coupled system
  • All systems run a common operating system in parallel systems
  • The operating system running on each processor may be different in distributed systems
  • Any processor can execute any job and hence all processors are similar in parallel systems
  • The processes can be executing on dissimilar processors in distributed systems
  • Advantages of parallel systems are:
    • (a) Better performance
    • (b) Fault tolerance
    • (c) Incremental Growth
    • (d) Cost Performance
  • Advantages of distributed systems
    • (a) Sharing of Resources
    • (b) Reliability
    • (c) Communication
    • (d) Computational speedup
  • Parallel system have more than one processor in close communication, sharing the computer bus, clock, memory and peripheral devices
  • Distributed systems do not share bus or clock. The processors communicate with one another through various communication lines such as high speed bus or telephone lines.
  • The Application area of Parallel system are:
    • Medical community : for analyzing MRI images and study bone implant systems.
    • Airlines : for processing customer information to forecast demand and decide fare.
  • The Application areas of Distributed system are:
    • Banking Services : facilitate query processing for local customer of a branch and also for global customer.

Spooling

  • Spooling refers to putting jobs in a buffer(an area in memory or disk). This buffer is a special area in memory or hard disk which is accessible to I/O devices.
  • Spooling helps when devices access data at different rate because buffer provides an area where data can rest until a slow device is ready to receive that data.
  • Spooling is an acronym for (Simultaneous Peripheral Operations On Line).

Spooling and OS Functions

  • An operating system does the following activities related to distributed environment −
    • Handles I/O device data spooling as devices have different data access rates.
    • Maintains the spooling buffer which provides a waiting station where data can rest while the slower device catches up.
    • Maintains parallel computation because of spooling process as a computer can perform I/O in parallel fashion. It becomes possible to have the computer read data from a tape, write data to disk and to write out to a tape printer while it is doing its computing task.

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

More Like This

Operating System Architecture
8 questions
운영체제와 컴퓨터 시스템 구조
20 questions
Operating Systems Concepts Quiz
10 questions
Introduction to Operating Systems
25 questions

Introduction to Operating Systems

BetterKnownWilliamsite6027 avatar
BetterKnownWilliamsite6027
Use Quizgecko on...
Browser
Browser