Bird
Raised Fist0
Operating Systemsknowledge~5 mins

LOOK and C-LOOK variants in Operating Systems - Time & Space Complexity

Choose your learning style10 modes available
Time Complexity: LOOK and C-LOOK variants
O(n log n)
Understanding Time Complexity

We want to understand how the time to schedule disk requests grows as the number of requests increases in LOOK and C-LOOK algorithms.

How does the number of disk requests affect the total operations needed to service them?

Scenario Under Consideration

Analyze the time complexity of the LOOK disk scheduling algorithm variant.

function LOOK(requests, head) {
  sort requests by track number
  direction = choose initial direction
  while requests remain {
    move head in direction servicing requests until no more in that direction
    reverse direction
  }
}

This code moves the disk head back and forth, servicing requests in order along the track numbers.

Identify Repeating Operations

We look for repeated actions that affect time.

  • Primary operation: Scanning and servicing requests in sorted order along the disk tracks.
  • How many times: Each request is visited once during the head movement in one direction.
How Execution Grows With Input

As the number of requests grows, the head must move to each request once, scanning through them in order.

Input Size (n)Approx. Operations
10About 10 moves to service all requests
100About 100 moves, scanning through requests
1000About 1000 moves, one per request

Pattern observation: The operations grow roughly in direct proportion to the number of requests.

Final Time Complexity

Time Complexity: O(n log n)

This means the time to service all requests grows linearly with the number of requests after sorting.

Common Mistake

[X] Wrong: "LOOK and C-LOOK algorithms take longer than scanning all requests because they move the head back and forth multiple times."

[OK] Correct: Each request is serviced once in order, so the total work grows linearly after sorting. The back-and-forth movement is efficient and does not multiply the work.

Interview Connect

Understanding how disk scheduling algorithms scale helps you explain system efficiency clearly and confidently in interviews.

Self-Check

What if the requests were not sorted first? How would that affect the time complexity?

Practice

(1/5)
1. What is the main difference between the LOOK and C-LOOK disk scheduling algorithms?
easy
A. LOOK moves only in one direction, while C-LOOK moves back and forth.
B. LOOK uses a queue, while C-LOOK uses a stack.
C. LOOK schedules requests randomly, while C-LOOK schedules them sequentially.
D. LOOK moves the disk head back and forth, while C-LOOK moves in one direction and jumps back.

Solution

  1. Step 1: Understand LOOK algorithm movement

    LOOK moves the disk head back and forth servicing requests only as far as needed in each direction.
  2. Step 2: Understand C-LOOK algorithm movement

    C-LOOK moves the disk head in one direction only and jumps back to the start without servicing requests on the return.
  3. Final Answer:

    LOOK moves the disk head back and forth, while C-LOOK moves in one direction and jumps back. -> Option D
  4. Quick Check:

    LOOK vs C-LOOK movement = back/forth vs one-way jump [OK]
Hint: LOOK moves back/forth; C-LOOK jumps back after one-way move [OK]
Common Mistakes:
  • Confusing direction of head movement
  • Thinking C-LOOK moves back and forth
  • Mixing up scheduling order
2. Which of the following is the correct way to describe the C-LOOK algorithm's disk head movement?
easy
A. The head moves back and forth servicing all requests.
B. The head moves in one direction and then jumps back to the first request.
C. The head moves randomly to service requests.
D. The head moves in a circular queue servicing requests in order.

Solution

  1. Step 1: Identify C-LOOK movement pattern

    C-LOOK moves the disk head in one direction only, servicing requests along the way.
  2. Step 2: Understand jump back behavior

    After reaching the last request in that direction, the head jumps back to the first request without servicing on the return.
  3. Final Answer:

    The head moves in one direction and then jumps back to the first request. -> Option B
  4. Quick Check:

    C-LOOK = one-way move + jump back [OK]
Hint: C-LOOK moves one way, then jumps back to start [OK]
Common Mistakes:
  • Assuming head moves back and forth
  • Confusing C-LOOK with LOOK
  • Thinking head services requests on return jump
3. Given the disk requests at positions [10, 22, 20, 2, 40, 6] and the disk head starting at position 15 moving towards higher numbers, what is the order of servicing requests using the LOOK algorithm?
medium
A. [20, 22, 40, 10, 6, 2]
B. [20, 22, 40, 6, 2, 10]
C. [20, 22, 40, 6, 2]
D. [20, 22, 40, 10, 2, 6]

Solution

  1. Step 1: Move head towards higher requests

    Starting at 15, LOOK moves up servicing 20, 22, and 40.
  2. Step 2: Reverse direction and service lower requests

    After 40, head moves back down servicing 10, 6, and 2. But LOOK only goes as far as the last request in each direction. Since 10 is before 15, it will be serviced on the return.
  3. Step 3: Verify options

    [20, 22, 40, 6, 2] lists only requests serviced in one direction (20, 22, 40) without the return. LOOK services both directions, so [20, 22, 40, 6, 2] is incomplete. [20, 22, 40, 10, 6, 2] includes 10, 6, 2 after 40, which matches LOOK behavior.
  4. Final Answer:

    [20, 22, 40, 10, 6, 2] -> Option A
  5. Quick Check:

    LOOK = up then down servicing all requests [OK]
Hint: LOOK moves up then down servicing requests in both directions [OK]
Common Mistakes:
  • Ignoring requests on return path
  • Assuming C-LOOK behavior
  • Ordering requests incorrectly
4. Identify the error in this description of the C-LOOK algorithm: "The disk head moves from the lowest to the highest request, then moves back servicing requests on the return path."
medium
A. C-LOOK does not move back to service requests; it jumps back without servicing.
B. C-LOOK services requests randomly, not in order.
C. C-LOOK moves back and forth like LOOK, so the description is correct.
D. C-LOOK only services the lowest request and stops.

Solution

  1. Step 1: Understand C-LOOK movement

    C-LOOK moves the head in one direction servicing requests from lowest to highest.
  2. Step 2: Check return path behavior

    Unlike LOOK, C-LOOK does not service requests on the return jump; it jumps back to the start without servicing.
  3. Final Answer:

    C-LOOK does not move back to service requests; it jumps back without servicing. -> Option A
  4. Quick Check:

    C-LOOK jump back skips servicing requests [OK]
Hint: C-LOOK jump back skips servicing requests [OK]
Common Mistakes:
  • Assuming servicing on return jump
  • Confusing C-LOOK with LOOK
  • Misunderstanding head movement direction
5. A disk has requests at positions [5, 15, 25, 35, 45] and the head is currently at position 20 moving towards higher numbers. Using the C-LOOK algorithm, what is the total distance the disk head will move to service all requests?
hard
A. 50
B. 40
C. 35
D. 60

Solution

  1. Step 1: Service requests moving up from 20

    The head moves from 20 to 25, then 35, then 45. Distance = 45 - 20 = 25.
  2. Step 2: Jump back to lowest request and service upwards

    After 45, the head jumps back to 5 (distance = 45 - 5 = 40, but jump is not counted as movement in C-LOOK). Then it services 5 and 15 moving up. Distance from 5 to 15 = 10.
  3. Step 3: Calculate total movement

    Total movement = 25 (upwards) + 10 (from 5 to 15) = 35. But jump back is considered instantaneous (no movement counted). So total movement is 25 + 10 = 35.
  4. Step 4: Re-examine options

    Total movement of 35 matches 35.
  5. Final Answer:

    35 -> Option C
  6. Quick Check:

    C-LOOK counts only servicing moves, jump back ignored [OK]
Hint: Count only servicing moves; ignore jump back distance [OK]
Common Mistakes:
  • Counting jump back as movement
  • Ignoring requests before head position
  • Adding distances incorrectly
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