Bird
Raised Fist0
Operating Systemsknowledge~6 mins

LOOK and C-LOOK variants in Operating Systems - Full Explanation

Choose your learning style10 modes available
Introduction
When a computer reads or writes data on a disk, it needs to decide the order to access different locations. This decision affects how fast the disk works. LOOK and C-LOOK are two ways to organize these disk accesses to reduce waiting time and improve speed.
Explanation
LOOK Algorithm
LOOK moves the disk arm in one direction to service all requests until there are no more requests in that direction. Then, it reverses direction and services requests on the way back. It does not go all the way to the disk's end if there are no requests there, saving time by 'looking' ahead.
LOOK optimizes disk arm movement by only going as far as the last request in each direction before reversing.
C-LOOK Algorithm
C-LOOK is similar to LOOK but instead of reversing direction, the disk arm jumps back to the first request at the beginning of the disk after reaching the last request in one direction. This jump is faster because it skips empty areas, making the disk arm movement more efficient.
C-LOOK improves efficiency by moving the disk arm in a single direction and jumping back to the start without servicing requests on the return.
Real World Analogy

Imagine a librarian who needs to collect books from shelves arranged in a line. With LOOK, the librarian walks down the aisle picking up books until no more are ahead, then walks back picking up books on the way. With C-LOOK, the librarian walks down the aisle picking up books, then quickly returns to the start without picking any books on the way back.

LOOK Algorithm → Librarian walking down the aisle picking books, then walking back picking books on the return
C-LOOK Algorithm → Librarian walking down the aisle picking books, then quickly returning to start without picking books
Diagram
Diagram
Disk Start
  │
  ▼
[Request 1] → [Request 2] → [Request 3] → [Request 4]
  ↑                             ↓
  └──────────── LOOK ──────────┘

Disk Start
  │
  ▼
[Request 1] → [Request 2] → [Request 3] → [Request 4]
  ↑                             ↓
  └────── C-LOOK (jump back) ──┘
This diagram shows how LOOK moves back and forth servicing requests, while C-LOOK moves in one direction and jumps back to the start.
Key Facts
LOOK → Disk scheduling algorithm that moves the arm only as far as the last request in each direction before reversing.
C-LOOK → Disk scheduling algorithm that moves the arm in one direction and jumps back to the first request without servicing on return.
Disk Arm Movement → The physical movement of the read/write head over the disk surface to access data.
Seek Time → The time it takes for the disk arm to move to the position of the requested data.
Common Confusions
Thinking LOOK always goes to the physical end of the disk before reversing.
Thinking LOOK always goes to the physical end of the disk before reversing. LOOK only goes as far as the last request in the current direction, not the disk's physical end.
Believing C-LOOK services requests on the return jump.
Believing C-LOOK services requests on the return jump. C-LOOK skips servicing requests during the jump back to the start, making it faster.
Summary
LOOK reduces disk arm movement by only going as far as needed before reversing direction.
C-LOOK improves efficiency by moving in one direction and jumping back to the start without servicing requests on the return.
Both algorithms aim to reduce seek time and improve disk performance by optimizing the order of servicing requests.

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