This paper examines four major CPU scheduling algorithms — First-Come First-Served (FCFS), Round Robin (RRS), Shortest Process Next (SPN), and Shortest Remaining Time (SRT) — alongside Rate Monotonic Scheduling (RMS), evaluating the advantages and disadvantages of each. It then explores Unix-like operating systems and their file-mounting conventions before comparing the FAT16, FAT32, and NTFS file systems. The paper concludes with a detailed comparison of Windows and Linux file system architectures, covering directory structures, case sensitivity, fragmentation behavior, and cross-platform compatibility.
This algorithm is also known by other names such as "run-to-completion" and "run-until-done." Its advantages include the fact that it is the simplest CPU scheduling algorithm, with processes dispatched according to their arrival time in the queue, and that once a process has the CPU it fulfills its task to completion. It is also straightforward to understand and implement. In short, FCFS scheduling is fair and predictable.
Disadvantages include the potential lengthiness of tasks, with some important jobs taking secondary place to less important ones, and longer jobs occupying a disproportionate amount of time while shorter tasks are forced to wait. FCFS does not guarantee good response time, and average waiting time is often quite long. For these reasons, it would not be suitable for scheduling interactive users or for use in a modern operating system on its own, though it can be embedded within other scheduling systems.
Many prefer RRS over FCFS because, while processes are dispatched in a FIFO manner, each is allocated a limited amount of CPU time called a "quantum" or "time-slice." If a process is not complete by the time its CPU allocation expires, the process is preempted and returned to the back of the queue while the next task in line is served. In this way, RRS retains the advantages of FCFS while avoiding its main disadvantages.
However, setting the quantum too short causes too many context switches and reduces CPU efficiency, while setting it too long may reintroduce the same problems associated with FCFS. Either way, the average waiting time under RRS is frequently quite long.
In SPN scheduling, tasks requiring the shortest completion time are prioritized so that the CPU processes tasks with the smallest quantum first. This approach works well when running batch jobs where task durations are known in advance.
The disadvantages are that longer jobs may in fact be more important than shorter ones, and the scheduler must have an approximation of each task's running time beforehand. SPN cannot be used in a timesharing environment where predictable response time is required, nor in a development environment where program execution time is rarely known in advance. In a production environment where the same jobs run regularly, however, it may be possible to approximate performance based on past experience.
In SRT scheduling, the process with the smallest estimated time remaining to completion is run next. The currently running job may be preempted by a newly arrived process whose remaining run time is even shorter. SRT has higher overhead than SPN because it also handles occasional interruptions. The benefit is that small tasks receive immediate attention; the drawback is that longer, potentially more important tasks may face extended waiting times.
Rate Monotonic Scheduling assigns static priorities to tasks: the shorter a task's cycle, the higher its priority, with preemption granted to higher-priority tasks over all others. Rate monotonic analysis is used as a scheduling guarantee for particular real-time applications.
RMS operates according to rate-monotonic analysis in which threads share the following characteristics:
RMS is a mathematical model that examines the runtime behavior of all threads contained in a system and determines the amount of CPU time required. In mathematical terms, it resembles a queue of closed periods, each with its own periodic task. Cases where deadlines are greater than periods are known as an "open problem."
"Virtual file systems, mount points, and automounting"
"Cluster size, journaling, and permission differences"
"Directory structure, fragmentation, and cross-platform support"
You’re 34% through this paper. Sign up to read the remaining 3 sections.
Sign Up Now — Instant Access Already a member? Log inAlways verify citation format against your institution’s current style guide requirements.