Bird
Raised Fist0
Operating Systemsknowledge~5 mins

FCFS disk scheduling in Operating Systems - Time & Space Complexity

Choose your learning style10 modes available
Time Complexity: FCFS disk scheduling
O(n)
Understanding Time Complexity

We want to understand how the time to complete disk requests grows as more requests come in when using FCFS disk scheduling.

Specifically, how does the number of disk movements increase with the number of requests?

Scenario Under Consideration

Analyze the time complexity of the following FCFS disk scheduling code snippet.


int total_movement = 0;
int current_position = start_position;
for (int i = 0; i < n; i++) {
    total_movement += abs(requests[i] - current_position);
    current_position = requests[i];
}
return total_movement;
    

This code calculates the total head movement by servicing disk requests in the order they arrive.

Identify Repeating Operations

Identify the loops, recursion, array traversals that repeat.

  • Primary operation: Looping through each disk request once.
  • How many times: Exactly once per request, so n times.
How Execution Grows With Input

As the number of requests increases, the total operations grow directly with the number of requests.

Input Size (n)Approx. Operations
1010 operations
100100 operations
10001000 operations

Pattern observation: The work grows in a straight line with the number of requests.

Final Time Complexity

Time Complexity: O(n)

This means the time to process all requests grows directly in proportion to how many requests there are.

Common Mistake

[X] Wrong: "The time depends on how far the disk head moves, so it could be more than linear."

[OK] Correct: While the total movement distance varies, the number of steps in the code is always one per request, so time complexity is based on request count, not distance.

Interview Connect

Understanding how FCFS disk scheduling scales helps you explain simple scheduling algorithms clearly and shows you can analyze how work grows with input size.

Self-Check

"What if we changed FCFS to a scheduling algorithm that sorts requests before processing? How would the time complexity change?"

Practice

(1/5)
1. What does FCFS stand for in disk scheduling?
easy
A. Fastest-Cylinder First Service
B. First-Come, First-Served
C. Frequent Cylinder File System
D. First-Come, Fast-Served

Solution

  1. Step 1: Understand the abbreviation FCFS

    FCFS is a common term in scheduling that means requests are handled in the order they arrive.
  2. Step 2: Match the full form

    First-Come, First-Served matches the concept of serving requests in arrival order.
  3. Final Answer:

    First-Come, First-Served -> Option B
  4. Quick Check:

    FCFS = First-Come, First-Served [OK]
Hint: Remember FCFS means serve in arrival order [OK]
Common Mistakes:
  • Confusing FCFS with other scheduling algorithms
  • Thinking FCFS means fastest service
  • Mixing up the abbreviation letters
2. Which of the following correctly describes the order in which FCFS disk scheduling processes requests?
easy
A. Processes requests in the order they arrive
B. Processes requests based on shortest seek time first
C. Processes requests starting from the outermost track
D. Processes requests based on priority levels

Solution

  1. Step 1: Recall FCFS scheduling principle

    FCFS processes disk requests in the exact order they arrive without reordering.
  2. Step 2: Compare options with FCFS behavior

    Only Processes requests in the order they arrive matches this behavior exactly.
  3. Final Answer:

    Processes requests in the order they arrive -> Option A
  4. Quick Check:

    FCFS = order of arrival [OK]
Hint: FCFS means no reordering, just arrival order [OK]
Common Mistakes:
  • Choosing shortest seek time instead of arrival order
  • Confusing with priority scheduling
  • Assuming outermost track first
3. Given the disk queue requests at tracks [55, 58, 60, 70, 18] and the disk head starting at track 50, what is the total head movement using FCFS scheduling?
medium
A. 72
B. 80
C. 98
D. 85

Solution

  1. Step 1: Calculate head movements in FCFS order

    Start at 50, move to 55 (5), then 58 (3), then 60 (2), then 70 (10), then 18 (52). Total = 5+3+2+10+52 = 72.
  2. Step 2: Verify calculation carefully

    Recalculate: 5 + 3 + 2 + 10 + 52 = 72 confirmed.
  3. Final Answer:

    72 -> Option A
  4. Quick Check:

    Sum of movements = 72 [OK]
Hint: Add absolute differences in request order [OK]
Common Mistakes:
  • Adding distances incorrectly
  • Mixing request order
  • Forgetting to include last move
4. Identify the error in this FCFS disk scheduling calculation: Starting at track 45, requests are [50, 40, 55]. The total head movement is calculated as |45-50| + |50-55| + |55-40| = 5 + 5 + 15 = 25. What is wrong?
medium
A. Starting track should be included twice
B. Absolute values should not be used
C. The total should be 30, not 25
D. The order of requests is incorrect in calculation

Solution

  1. Step 1: Check the request order in calculation

    The requests are [50, 40, 55], so after 50, the head should move to 40, then 55.
  2. Step 2: Verify the distances in correct order

    Calculate: |45-50|=5, |50-40|=10, |40-55|=15; total = 5+10+15=30, not 25.
  3. Final Answer:

    The order of requests is incorrect in calculation -> Option D
  4. Quick Check:

    Correct order matters for total movement [OK]
Hint: Follow request order exactly for distance sums [OK]
Common Mistakes:
  • Mixing request order
  • Ignoring absolute distance
  • Miscounting starting position
5. A disk head starts at track 100. The request queue is [120, 10, 50, 90]. Using FCFS scheduling, what is the total head movement? How does this compare to SSTF (Shortest Seek Time First) scheduling for the same requests?
hard
A. FCFS: 200, SSTF: 90; SSTF reduces movement
B. FCFS: 100, SSTF: 100; Both equal
C. FCFS: 210, SSTF: 150; SSTF reduces movement
D. FCFS: 150, SSTF: 120; FCFS is better

Solution

  1. Step 1: Calculate FCFS total head movement

    100->120 (20), 120->10 (110), 10->50 (40), 50->90 (40). Total = 20+110+40+40 = 210.
  2. Step 2: Calculate SSTF total head movement

    From 100 closest is 90 (10)->90; closest 120 (30)->120; closest 50 (70)->50; then 10 (40). Total = 10+30+70+40 = 150.
  3. Step 3: Compare

    SSTF (150) reduces movement compared to FCFS (210).
  4. Final Answer:

    FCFS: 210, SSTF: 150; SSTF reduces movement -> Option C
  5. Quick Check:

    SSTF reduces head movement compared to FCFS [OK]
Hint: SSTF picks closest request, reducing movement [OK]
Common Mistakes:
  • Mixing request order in FCFS
  • Misordering SSTF requests
  • Ignoring large jumps in FCFS
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