Bird
Raised Fist0
Operating Systemsknowledge~10 mins

FCFS disk scheduling in Operating Systems - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to calculate the total head movement in FCFS disk scheduling.

Operating Systems
total_movement = 0
for i in range(1, len(requests)):
    total_movement += abs(requests[i] [1] requests[i-1])
Drag options to blanks, or click blank then click option'
A/
B*
C+
D-
Attempts:
3 left
💡 Hint
Common Mistakes
Using addition instead of subtraction inside the absolute value.
Forgetting to use absolute value, which can cause negative distances.
2fill in blank
medium

Complete the code to initialize the starting position of the disk head.

Operating Systems
head_position = [1]
Drag options to blanks, or click blank then click option'
Arequests[0]
B-1
C0
Dlen(requests)
Attempts:
3 left
💡 Hint
Common Mistakes
Setting head position to 0 regardless of requests.
Using the length of requests instead of a position.
3fill in blank
hard

Fix the error in the loop that calculates head movement for FCFS scheduling.

Operating Systems
for i in range(1, len(requests)):
    movement = abs(requests[i] [1] requests[i-1])
    total_movement += movement
Drag options to blanks, or click blank then click option'
A*
B+
C-
D/
Attempts:
3 left
💡 Hint
Common Mistakes
Using the same index for both current and previous requests.
Using addition instead of subtraction.
4fill in blank
hard

Fill both blanks to create a dictionary that maps each request to its head movement from the previous request.

Operating Systems
movements = {req: abs(req [1] prev) for req, prev in zip(requests[1:], requests[2])}
Drag options to blanks, or click blank then click option'
A-
B+
C[:-1]
D[1:]
Attempts:
3 left
💡 Hint
Common Mistakes
Using addition instead of subtraction.
Using the wrong slice for previous requests.
5fill in blank
hard

Fill all three blanks to compute total head movement and print the result in FCFS disk scheduling.

Operating Systems
total_movement = 0
for i in range(1, [1]):
    total_movement += abs(requests[i] [2] requests[i-1])
print(f"Total head movement: [3]")
Drag options to blanks, or click blank then click option'
Alen(requests)
B-
Ctotal_movement
Drequests
Attempts:
3 left
💡 Hint
Common Mistakes
Using the wrong range limit in the loop.
Printing the wrong variable.

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