N-Step-SCAN disk scheduling


The disc scheduling method N-Step-SCAN (also called N-Step-LOOK) determines the sequence whereby disc requests for input/output are handled. It is a development for the SCAN (Elevator) method, which functions by moving the disc arm in a particular direction and responding to demands there as long as it receives no more inquiries or requests from that guidance, at which point it switches directions.

The N-Step-SCAN algorithm adds an option, N, that specifies how many requests must be handled in a particular direction beforehand transforming. N-Step-SCAN support N demands in a particular direction, irrespective of whether or not there are still demands in that particular direction, as opposed to maintaining asks for as long as there currently have been no more requests in a single direction.


The N-Step-SCAN disk scheduling algorithm

The algorithm of the N-Step-SCAN method in detail is provided below−

  • Study the disc arm's present position.

  • Disc monitor numbers should be utilized for placing the open disc I/O inquiries.

  • Given its current place and the initial demand in the order of requests, decide how the disc arm should move around.

  • Services N demands moving the disc arm in the chosen course.

  • Continue to step 4 if there are any more inquiries in the present path.

  • The transformation of the orientation of the disc arm and proceed to step 4 if there are no additional demands in the present path.

  • Until every request has been fulfilled, continue with steps 4 through 6 as necessary.

The N-Step-SCAN method seeks to increase disc arranging effectiveness by minimizing the number of guidance modifications. It cuts down on precious time eliminated in looking for alternate paths throughout the disc by handling N demands in a particular direction prior to altering the path. The workload's attributes and variables like the typical look for time influence the selection of the number N.

Use Cases of N-Step-SCAN disk scheduling

This N-Step-SCAN disc scheduling method is able to be used in the following real-time instances−

  • File System Optimization − The N-Step-SCAN method may be implemented to optimize the processing of disc I/O requests while obtaining documents on a disc. It can reduce the look for the duration and enhance general file system efficiency by effectively establishing the course of disc arm motion and handling numerous inquiries for that guidance beforehand altering its course.

  • Video Streaming − The N-Step-SCAN method is able to be utilized for guaranteeing fluid replay in an audio-watching usage where information is examined from the disc and played to the users in real-time. It improves the user interface by reducing the possibility of protecting or postponing streaming videos and efficiently handling disc I/O requests.

  • Database Management Systems − Database platforms frequently require significant disc I/O operations. The sequence when hinders or documents are obtained may be optimized by using the N-Step-SCAN method to plan disc utilizes in a database. This reduces the search time and enhances the information storage method's overall efficiency.

  • Multimedia Editing − Multimedia editing programs, including audio and video modifying programs, frequently call for writes and reads to the disc. These tasks can be efficiently scheduled and prioritized using the N-Step-SCAN method, which also improves the editing programs' adaptability and decreases latency.


Here's an example implementation of the N-Step-SCAN disk scheduling algorithm in Python.

In this example, we simulate the N-Step-SCAN disk scheduling algorithm. The algorithm processes the disk I/O requests in a specific order, handling N requests in a particular direction before changing direction. The output shows the requests being processed in batches according to the algorithm's behavior.

def n_step_scan(current_position, requests, n):
   direction = 1  # 1 for moving towards higher block numbers, -1 for moving towards lower block numbers

   # Sort the requests in ascending order
   sorted_requests = sorted(requests)

   while len(sorted_requests) > 0:
      processed_requests = []
      # Handle N requests in the current direction
      for i in range(n):
            if current_position in sorted_requests:

            current_position += direction

      if len(processed_requests) > 0:
         print("Processing requests:", processed_requests)
      # Change direction if there are no more requests in the current direction
      if len(sorted_requests) == 0:
      direction *= -1  # Change the direction
   print("All requests processed.")

# Example usage
current_position = 50
requests = [40, 45, 55, 58, 60, 70, 75, 80]
n = 3

n_step_scan(current_position, requests, n)


current_position − The current position of the disk arm.

requests − A list of disk I/O requests.

− The number of requests to handle in a particular direction before changing direction.


Processing requests: [55, 58, 60]
Processing requests: [70, 75, 80]
Processing requests: [40, 45]
All requests processed.

Note − In this example implementation, we are assuming a simplified scenario with a single disk arm and a linear disk layout. In practice, disk scheduling algorithms are more complex and take into account various factors such as seek time, request priorities, and the disk's physical characteristics.

Benefits of N-Step-SCAN disk scheduling

A few benefits of the N-Step-SCAN disc scheduling system include−

  • Reduced Seek Time − In comparison to conventional SCAN algorithms, the N-Step-SCAN algorithm decreases want time by handling many requests in just one guidance prior to altering the path.

  • Fairness in Servicing Requests − When handling disc I/O requests to either side of the disc, N-Step-SCAN ensures fairness.

  • Improved Throughput − Efficiency can be increased by the method's capacity to handle several requests in a particular direction prior to switching.

  • Simple Implementation − Comparatively speaking, the implementation of N-Step-SCAN is simpler than that of more intricate disc time management algorithms.

  • Adaptable to Different Workloads − By altering the value of N, the N-Step-SCAN method can be modified to accommodate various workloads and structure features.

Drawbacks of N-Step-SCAN disk scheduling

A few drawbacks of the N-Step-SCAN disc scheduling system include−

  • Suboptimal Seek Time − Even though the N-Step-SCAN method speeds up look-for times contrasted to conventional SCAN algorithms, it sometimes results in less-than-ideal seek times.

  • Lack of Adaptability − The total number of demands to be handled in one direction is represented by N, and the N-Step-SCAN method calls for the choice of an initial value for N.

  • Inefficient for Unevenly Distributed Requests − The N-Step-SCAN method may produce uneven servicing if the disc I/O requests are dispersed inconsistently throughout the disc.

  • Lack of Dynamic Adaptation − The N-Step-SCAN algorithm runs according to an established pattern that involves handling N demands in a single direction before switching.

  • Limited Consideration of Request Priorities − The N-Step-SCAN technique's main goals are to reduce seek time and provide equitable demand maintenance.


The equipment's unique features and specifications must be carefully considered when thinking about implementing the N-Step-SCAN algorithm. It is important to consider aspects like workload distribution, typical seek time, structure adaptability, and priority specifications. It is also advised to compare the method against various disc scheduling techniques to find the one that is best suited for the specific use case. The N-Step-SCAN method's main goals are to reduce seek time and provide fair demand maintenance. It might not, yet account for the relative importance of various requests.

Updated on: 17-Jul-2023


Kickstart Your Career

Get certified by completing the course

Get Started