Bird
Raised Fist0
Operating Systemsknowledge~5 mins

Thrashing and working set model in Operating Systems - Time & Space Complexity

Choose your learning style10 modes available
Time Complexity: Thrashing and working set model
O(n)
Understanding Time Complexity

When a computer runs many programs, it needs to manage memory efficiently. Thrashing happens when the system spends too much time swapping data in and out of memory instead of doing useful work.

We want to understand how the system's work changes as the number of programs or memory needs grow.

Scenario Under Consideration

Analyze the time complexity of this simplified memory management loop.


while (true) {
  for (each process) {
    if (process needs page) {
      if (page not in memory) {
        swap page in;
      }
    }
  }
}
    

This loop checks each process repeatedly to see if it needs pages in memory and swaps them in if missing.

Identify Repeating Operations

Look at what repeats often in this code.

  • Primary operation: Checking each process's page needs and swapping pages.
  • How many times: The outer loop runs forever, and inside it, the system checks all processes repeatedly.
How Execution Grows With Input

As the number of processes or pages grows, the system spends more time swapping pages.

Input Size (number of processes)Approx. Operations (page checks and swaps)
10Moderate checks and occasional swaps
100Many checks and frequent swaps, slowing work
1000Very high checks and constant swapping, system thrashes

Pattern observation: As processes increase, the system spends more time swapping pages, which grows quickly and hurts performance.

Final Time Complexity

Time Complexity: O(n)

This means the time spent checking and swapping grows roughly in direct proportion to the number of processes.

Common Mistake

[X] Wrong: "Adding more memory always stops thrashing immediately."

[OK] Correct: Sometimes, even with more memory, if the working set (pages needed) is too large or poorly managed, thrashing can still happen.

Interview Connect

Understanding how system performance changes with more processes and memory needs helps you explain real-world computer behavior clearly and confidently.

Self-Check

What if the system used a better working set model that predicts page needs more accurately? How would the time complexity change?

Practice

(1/5)
1. What is thrashing in operating systems?
easy
A. A system running multiple programs efficiently
B. A process running without any memory
C. A method to speed up CPU processing
D. Excessive paging causing slow system performance

Solution

  1. Step 1: Understand the meaning of thrashing

    Thrashing happens when the system spends too much time swapping pages in and out of memory instead of executing processes.
  2. Step 2: Identify the effect of thrashing

    This excessive paging slows down the computer significantly, reducing performance.
  3. Final Answer:

    Excessive paging causing slow system performance -> Option D
  4. Quick Check:

    Thrashing = Excessive paging slowing system [OK]
Hint: Thrashing means too much swapping slows the computer [OK]
Common Mistakes:
  • Confusing thrashing with normal multitasking
  • Thinking thrashing speeds up the CPU
  • Believing thrashing means no memory usage
2. Which of the following best describes the working set of a process?
easy
A. Pages never accessed by the process
B. All pages in the system memory
C. Pages recently used by the process
D. Pages swapped out to disk

Solution

  1. Step 1: Define working set

    The working set is the collection of pages a process has used recently and needs to run efficiently.
  2. Step 2: Identify correct description

    Pages recently used by the process fit this definition, unlike all pages or swapped pages.
  3. Final Answer:

    Pages recently used by the process -> Option C
  4. Quick Check:

    Working set = Recently used pages [OK]
Hint: Working set means pages used recently by process [OK]
Common Mistakes:
  • Thinking working set includes all system pages
  • Confusing working set with swapped out pages
  • Assuming working set is pages never accessed
3. Consider a system where a process's working set size suddenly grows beyond available memory. What is the most likely outcome?
medium
A. Thrashing will occur, slowing down the system
B. The process will run faster due to more pages
C. The system will ignore the extra pages
D. The process will terminate immediately

Solution

  1. Step 1: Analyze working set growth impact

    If the working set grows beyond available memory, the system must swap pages frequently to keep up.
  2. Step 2: Identify system behavior

    This frequent swapping causes thrashing, which slows down the system instead of speeding it up.
  3. Final Answer:

    Thrashing will occur, slowing down the system -> Option A
  4. Quick Check:

    Working set too big = Thrashing slows system [OK]
Hint: Too big working set causes thrashing and slowdown [OK]
Common Mistakes:
  • Assuming more pages always improve speed
  • Believing system ignores memory limits
  • Thinking process ends immediately without warning
4. A system is experiencing thrashing. Which change would best reduce thrashing?
medium
A. Increase the working set size of all processes
B. Reduce the number of processes competing for memory
C. Decrease the CPU speed
D. Disable paging completely

Solution

  1. Step 1: Understand cause of thrashing

    Thrashing happens when too many processes compete for limited memory, causing excessive paging.
  2. Step 2: Identify best solution

    Reducing the number of processes competing for memory lowers paging demand and reduces thrashing.
  3. Final Answer:

    Reduce the number of processes competing for memory -> Option B
  4. Quick Check:

    Less competition = less thrashing [OK]
Hint: Fewer processes competing reduces thrashing [OK]
Common Mistakes:
  • Increasing working set size worsens thrashing
  • Decreasing CPU speed does not fix memory issues
  • Disabling paging causes system failure
5. A system uses the working set model to manage memory. If a process's working set is 100 pages but only 80 pages fit in memory, what should the system do to avoid thrashing?
hard
A. Swap out some pages from the process's working set
B. Increase the process's working set size to 120 pages
C. Allow the process to run with only 80 pages and swap frequently
D. Terminate the process immediately

Solution

  1. Step 1: Analyze working set vs memory size

    The process needs 100 pages to run well, but only 80 pages fit in memory, causing potential thrashing.
  2. Step 2: Determine best memory management action

    Swapping out some pages from the working set or adjusting memory allocation helps keep the working set within limits and avoids thrashing.
  3. Final Answer:

    Swap out some pages from the process's working set -> Option A
  4. Quick Check:

    Adjust working set to fit memory to avoid thrashing [OK]
Hint: Adjust working set size to fit memory to prevent thrashing [OK]
Common Mistakes:
  • Increasing working set size worsens thrashing
  • Allowing frequent swaps causes thrashing
  • Terminating process is last resort, not first
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard