Operating Systems: Literature Review On Scheduling Algorithms of Operating System
Operating Systems: Literature Review On Scheduling Algorithms of Operating System
Operating Systems: Literature Review On Scheduling Algorithms of Operating System
Operating Systems
Digital Assignment – 1
17BIT0294
Chandra Teja. P
Scope of future work: There is a high scope for the further work on mutual dependencies of
the two schedulers.
Scope of future work: Real-time processes could be scheduled according to their criticality so that
important processes are always scheduled first other than the less-important ones. Alternatively, a
real- time scheduling algorithm could also aim to maximize the system utilization. Priorities could be
fixed or dynamic under different scheduling algorithms, depends on their objectives.
4) Title of the Paper: Scheduling Algorithms and Operating Systems Support for
Real- Time System
Summary: This paper summarizes the state of the real-time field in the areas of scheduling
and operating system kernels. Given the vast amount of work that has been done by both the
operations research and computer science communities in the scheduling area, we discuss
four paradigms underlying the scheduling approaches and present several exemplars of each.
The four paradigms are: static tabledriven scheduling, static priority preemptive scheduling,
dynamic planning-based scheduling, and dynamic best efSort scheduling. In the operating
system context, we argue that most of the proprietary commercial kernels as well as real-time
extensions to time-sharing operating system kernels do not fit the needs of predictable
realtime systems. We discuss several research kernels that are currently being built to
explicitly meet the needs of real-time applications.
Challenges: The variety of metrics that have been suggested for realtime systems is
indicative of the different types of real-time systems that exist in the real world as well as the
types of requirements imposed on them. This sometimes makes it hard to compare different
scheduling algorithms. Another difficulty arises from the fact that different types of task
characteristics occur in practice. Tasks can be associated with computation times, resource
requirements, importance levels (sometimes also called priorities or criticalness), precedence
relationships, communication requirements, and of course, timing constraints. If a task is
periodic, its period becomes important; if it is aperiodic, its deadline becomes important. A
periodic task may have a deadline by which it must be completed. This deadline may or may
not be equal to the period. Both periodic and aperiodic tasks may have start time constraints.
Conclusion: This paper presents a categorized summary of work in the areas of scheduling
and operating systems for real-time applications. In particular, four scheduling paradigms
were identified: static table-driven scheduling, static priority preemptive scheduling, dynamic
planning-based scheduling, and dynamic best effort scheduling. Real-time operating systems
were categorized into three classes: small, proprietary kemels, real-time extensions to
commercial operating systems, and research kemels. Rather than being exhaustive, we have
provided specific examples from each of the categories. Exciting developments and serious
limitations of the current work both in scheduling and operating systems was also noted.
Important interactions between scheduling algorithm development and operating systems
exist. For example, whereas scheduling is an integral part of any real-time operating system,
barring a few exceptions, most scheduling work has ignored the overheads involved in
scheduling. As we saw, for predictability, it is essential to account for all the overheads
involved.
Scope of future work: Clearly, a real-time operating system must be able to perform
integrated CPU scheduling and resource allocation so that collections of cooperating tasks
can obtain the resources they need, at the right time, in order to meet timing constraints. In
addition to proper scheduling algorithms, predictability requires bounded operating system
primitives. Using the current operating system paradigm of allowing arbitrary waits for
resources or events, or treating a task as a random process will not be feasible in the future to
meet the more complicated set of requirements. It is also important to avoid having to rewrite
the operating system for each application area.
8) Title of the Paper: Scheduling Techniques for Operating Systems for Medical and
IoT Devices: A Review
Summary: Software and Hardware synthesis are the major subtasks in the implementation of
hardware/software systems. Increasing trend is to build SoCs/NoC/Embedded System for
Implantable Medical Devices (IMD) and Internet of Things (IoT) devices, which includes
multiple Microprocessors and Signal Processors, allowing designing complex hardware and
software systems, yet flexible with respect to the delivered performance and executed
application. An important technique, which affect the macroscopic system implementation
characteristics is the scheduling of hardware operations, program instructions and software
processes. This paper presents a survey of the various scheduling strategies in process
scheduling. Process Scheduling has to take into account the real-time constraints. Processes
are characterized by their timing constraints, periodicity, precedence and data dependency,
pre- emptivity, priority etc. The affect of these characteristics on scheduling decisions has
been described in this paper.
Challenges: Process scheduling is the problem of determining when processes execute and
includes handling synchronization and mutual exclusion problem. Algorithms for process
scheduling are important constituents of operating systems and runtime schedulers. The
model of the scheduling problem is more general. Processes have a coarser granularity and
their overall execution time may not be known. Processes may maintain a separate context
through local storage and associated control information. Scheduling objectives may also
vary. In a multitasking operating system, scheduling primarily addresses increasing processor
utilization and reducing response time.
Conclusion: Different goals and algorithms characterize process scheduling in real-time
operating system. Schedules may or may not exist that satisfy the given timing constraints. In
general, the primary goal is to schedule the tasks such that all deadlines are met: in case of
success (failure) a secondary goal is maximizing earliness (minimizing tardiness) of task
completion. An important issue is predictability of the scheduler, i.e., the level of confidence
that the scheduler meets the constraints. In this section, various scheduling schemes and their
schedulability tests have been given. Recent work in process scheduling for multiprocessor
and distributed systems is also covered.
Scope of future work: Scheduling scheme for multiprocessor systems has to provide
solutions for the problems that arise in multiprocessor environments. The problems that need
to be tackled by the multiprocessor scheduling schemes are: task assignment to a processor,
Synchronization protocol, load-balancing etc. Also, scheduling scheme for multiprocessor
system has to take into account the following important factors: memory and resource
utilization, deadlock avoidance, precedence constraints, and communication delay. Because
of these conflicting requirements, development of scheduling scheme for multiprocessor
system is difficult. So there is a need for further development of scheduling algorithms
scheme for multiprocessor system.
Conclusion: A real-time system may have tasks with soft deadlines, as well as hard
deadlines. While earliestdeadline-first scheduling is effective for hard-deadline tasks,
applying it to soft- deadline tasks may waste schedulable processor capacity or sacrifice
average response time. Better average response time may be obtained, while still
guaranteeing hard deadlines, with an aperiodic server. Three scheduling algorithms for
aperiodic servers are described, and schedulability tests are derived for them. A simulation
provides performance data for these three algorithms on random aperiodic tasks. The
performances of the deadline aperiodic servers are compared with those of several
alternatives, including background service, a deadline polling server, and rate-monotonic
servers, and with estimates based on the M/M/I queueing model. This adds to the evidence in
support of deadline scheduling, verstts fixed priority scheduling.
Scope of future work: this research paper talks about the criteria which is out of my under
standing so couldn’t figure out what should be done in next research paper.
10) Title of the Paper: Operating System Concepts for Reconfigurable Computing:
Review and Survey
Summary: In this article they presented a summary of ideas to integrate reconfigurable
computing into an operating system. Furthermore, several implemented systems are
presented. Based on these systems summary and discussion on the implemented concepts are
given. Several common patterns are identified. hw-applications usually use a PThread-based
abstraction model; the hwapplications themselves are presented as delegate (sw-)threads
inside operating system; preemptive multitasking is used by the newest systems; partitioning
is usually implemented on top of islands style based architecture; typical benchmarks include
image and video processing, data encryption and decryption, and data compression and
decompression.
Challenges: One of the key future challenges for reconfigurable computing is to enable
higher design productivity and a more easy way to use reconfigurable computing systems for
users that are unfamiliar with the underlying concepts. One way of doing this is to provide
standardization and abstraction, usually supported and enforced by an operating system.
Conclusion: This article gives historical review and a summary on ideas and key concepts to
include reconfigurable computing aspects in operating systems. The article also presents an
overview on published and available operating systems targeting the area of reconfigurable
computing. The purpose of this article is to identify and summarize common patterns among
those systems that can be seen as de facto standard. Furthermore, open problems, not covered
by these already available systems, are identified.
Scope of future work: However, there is still room for improvement, especially to exploit
the possibilities of dynamic and partial reconfiguration. Furthermore some concepts, like
security, were rarely discussed/investigated in the past but should gain more interest in the
future.