Characteristics of real time system
ABSTRACT
Scheduling refers to the set of policies and mechanism
to control the order of work to be performed by a
computer system.process scheduling in real time
system has almost used many more algorithms like
FIFO, Round ROBIN ,Uniprocessor Multiprocessor
etc.The choices for these algorithms are simplicity
and speed in the operating system but the cost to the
system in the form of reliability and maintainability
have not been assessed.In this paper we describe the
distinguish characteristics of real time system which
can be expressed as a function of time.This paper is
also described in the form of a time driven model for
a real time operating system and also provide a tool
for measuring the effectiveness of a real time
|system .For this model ,we have generated a real time
system in which we measure a number of well known
scheduling algorithms.To meet the real time
constraints for scheduling the task different
algorithms were used.Most of the real time system
are designed using prioty based preemptive
scheduling and worst case execution time.
INTRODUCTION
In computer science ,scheduling is the procedure by
which threads, process or given the access to system
resources.The scheduling is mainly concerned with these
things Throughout:Total number of processes that
complete their execution per unit time.
Response time:when a request was submitted what
amount of time takes when first response produced.
Turnaround time:total time between completion and
submission of process.
Fairness:equal time to each process.
In real time operating systems like embedded system the
scheduler also perform that the process can meet
deadline that is necessary for stabling the
system.Schedular are sent to mobile devices and
managed by an administrative back end.A common
characteristic of many real-time systems isthat their
requirements specification
includes timing information in the form of deadlines. An
acute deadline is represented in Figure
1. The timetaken to complete an event is mapped against
the “value”thisevent has to the system. Here “value” is
loosely defined tomean thecontributionthisevent has to
the system‟s objectives. With thecomputationalevent
represented in Figure 1this value iszero beforethe starttimeand returns tozeroonce thedeadlineis passed. The
mapping of time tovalue between start-time and deadline
is application dependent.
SchedulingIn a general purpose computer system a
scheduler is considered good if it is fair and gives
execution time to all tasks equally. When scheduling a
real-time system what is most important is that all tasks
meet their deadlines and are executed so that any task
depending on them, meet their deadlines as well.
Types of scheduling
1Network scheduling
2 DISK Scheduling
3job scheduling
4Manual scheduling
5Multilevel queue scheduling6First in first out
7Process scheduling
Process scheduling is divided into four main types
1 long term scheduling which determines which
programs are admitted to the system for execution and
when, and which ones should be exited.
Concept of scheduling in real time system
2 medium schedulingWhich determines when
processes are to be a suspended and remain.
3 short term scheduling ordispatcher
which determine which process have cpu resources and
for how long.
Process scheduling in computer operating system is
instance of extensively studied problem from operation
research which in form of producing a sequence of jobs
which must a common resource.all decisions should be
made dynamically for example all jobs have to be
scheduled and processing time requirements are available
at the start of sequence time =0 the new job will not
come during processing.if it happens the priviouly
computed job is invalidated and scheduling must be
started overif is maintained.Now process
scheduling in real time system can categorized into
two categories
1 periodic
2 aperiodic
Periodic processes : which arrive at regular intervals
are called periodic process and aperiodic are those which
arrive at irregular.the main difference between real time
systems and other computer system have not
understood.the time to complete a process is important in
all computer systems but in real time response time play
a cruicial part in the correctness of the application
softwareReal-time systems are divided into two classes:
Hard real -time systems and soft real -time systems. Hard
real-time systems are those whose deadlines must
absolutely be met and system will be considered to have
failed whereas soft real-time systems allow
forsomemorendeadlines, at least occasionally, to be
missed with only adegradation performance but not a
complete failure of the system.In judge a number of
existing real time systems we study the DMA cycling
,interrupt processing blocking ang non-blocking.The
deadline scheduler gives no reasonable control over the
choice of which deadlines are delayed and which lead to
unperictable failures result to the impact on reliability
and maintainability of the real time system.real process
completion is handled by step function in which there is
no any value in completing the process after its deadline
the characteristic of a real-time system is that correctness
is determined not only by what is done, but when itis
done, we propose to use a representation of a process
completion value to measure the algorithms in real time
system
Computational model consists a set of processes every
process has a request time R ,Time interval c and avalue
function R.
Its value function become zero or negative.the value
function may be negative at R,not rise above zero the
request time R may be future time or past time .if request
time r is future time then process is not scheduable but
attributes in computations asre load in which current
scheduling decisions are made classical algorithms are.
1 Deadline:The earlist critical time in process at each
decision point
2FIFO:The longest request set is executed in process at
decision point
3Random:chosen from the request set and executed
4stack:the process with the smallest stack time is
executed in each decision point
5SPT:The shortest completion time is executed in each
decision point.
There are many approaches for utilizing a time driven
model in real time system.real time operating system
support or modify the value for the process or the set of
processes during run time.In this way application designr
can set and modify scheduling policy for various
systems.For describing these processes we assume
primtives to creat and kill processes already exist.There
are three real time interfaces
Time control primitive:
The arguments of these operating systems communicate
the information needed to implement the model but the
issue is the structure of informative that passed to the
operating system.In single primitive each parameter
would be flexible but in user might set inconsistent
parametres.
Scheduling policies:
In real time operating system it is compulsory to provide
a mechanism to express the scheduling model to
implentour model.the system should also able to modify
these policies to take advantage or flexibility of the
system.
Periodic policies:
There is one way to describe a periodic policies to using
optional arguments in a creative process.The creative
Process make new instance of process at a specific node
5 ways for scheduling the task in real time systems.
Real time system and scheduling techniques
Real time scheduling techniques are divided into
two main categories.
One is called static scheduling techniqueAnd other
is called dynamic scheduling technique.Dynamic
may be static perioty or dynamic perioty.
Static prioty is divided into two types
1 rate monolithic : rate-monotonic scheduling is
a scheduling algorithm used in real- time operating
systems with a static-priority scheduling class.
[2]
The
static priorities are assigned on the basis of the cycle
duration of the job: the shorter the cycle duration is, the
higher is the job’s priority.
These operating systems are generally preemptive and
have deterministic guarantees with regard to response
times. Rate monotonic analysis is used in conjunction
with those systems to provide scheduling guarantees for
a particular application.
2 deadline monolithic :
Dynamic prioty is also divided into two types
1)earlist time first
2)least stack time first
System and the task model
Each type and unit of work that is scheduled and execute
the system as a job.ALL the tasks are taken to be
periodic.the system knows all the things about arrival
time ,periodexecution time.the task are ready to execute
if it arrives the system.IN soft real time system each task
has a real positive value.The main goal of the task is to
obtain a value as much as possible
There are the two conditions if the task succeed the
system acquire that value if the task is not succeed
the ystem gain less value in a special case like soft
real systems the task has nothing a vale
3 Basic requirements of schedulars in real time
operating system
There are five basic requirements of scheduler in
real time operating system
1 Multitasking and preemptable
In real time operating applications real time
operating system should be multitask and
preemtable.the scheduler are able to preempt any
kind of task in the system and give the resources to
task that the system needs it
2 Dynamic deadline identification
With the earlist deadline RTOS should be able to
identify the task.deadline information may be
converted to prioty levels for resource allocation
3 predictable synchronization
To communicate multiple threads among
themselves in a timely fashionsynchronization
mechanism also reqired and also the abiliy to lock
or unlock is the resource to achieve dta integrity.
4 Sufficient perioty levels
The real time operating systems must also have a
sufficient number of priority levels for effective
implementation.Namelypurety,inheritance,ceiling
protocol need sufficient prioty levels
5 predefined latencies
the timing of system call define the following
specifications
Task awitchinglatency :time to save the context of a
current execution time and switch to another
Interrupt latency:the time elaped between first instruction
of the handler and execution time of the last instruction
of the interrupt task
Dynamic scheduling algorithm:
Dynamic algorithm at runtime assign perioties based on
the execution parametres of tasks the most important
dynamic scheduling with puriotysscheduling algorithms
are
1 EArlist deadline first algorithm
The perioty of each task based on the value of
itsdeadlinethe algorithm is simple and preemptive.
2 ACO Based scheduling algorithms.
The ACO algorithms are computational models for the
collective foraging behavior of ants .Ant is an agent that
generate a path.ANT do not need synchronization.ant
moves to the good looking neighbor for the crrent node
probabaisatically
Time Triggered
When scheduling a distributed system using offline
scheduling the whole system including the
communication is scheduled before the start of the
system giving a very rbust system but the cost of adding
a new node is high, complete rescheduling of the whole
system.To schedule a time-triggered distributed real-time
system we use the same techniques as we did with the
single processor system, but understandably with more
complex graphs.For example we might have a
precedence graph, where one task is preceded by several
tasks on different nodes. Making a schedule that have a
task precede by tasks on several nodes requires more of
the system then of the schedule, even the best schedule
will fail if the nodes time references is not synchronized
and tasks are not executed in time. This requires all
nodes to synchronize time with each other. This can be
done at an application level like in normal distributed
systems, with a common time reference with a
communication protocol that handles time
synchronization TTCAN, TTP and FlexRay to namea
few.
SUMMARY AND CONCLUSIONS
We have looked at the most commonly used scheduling
techniques and communication protocols used in
distributed realtimesystems.When we started this paper
we where looking at doing a survey of everything related
to distributed real-time systems,but found that to be a to
vast and growing field so we narrowed our field to
communication protocols and scheduling algorithms
used in distributed real-time systems. During our
research for this paper we have been looking
atschedulers that are created to work better with the
FlexRaycommunications bus or in a similar fashion.We
have taken a real interest in distributed real-time systems
and are looking forward to seeing the advances in
scheduling and communication for distributed real-time
systems and maybe one day join the research field our
selves.
With this paper we hoped to introduce the reader to the
problem of scheduling real-time tasks in distributed
systems. We presented the different interpretations of the
problem and the various options available to the solution
designers. Our analysis of some of the existing
scheduling algorithms tried to focus on the affect of the
specific problem on the choices made in the solution. We
hope that what we presented provides the reader with a
broad understanding of the problem and a range available
solutions. This paper was also aimed at providing the
reader with a solid foundation for further research on the
subject. Finally, we suggested possible future research
directions.Referrences.
1 ^ Liu, C. L.; Layland, J. (1973), “Scheduling algorithms for
multiprogramming in a hard real-time environment”, Journal of
the ACM 20 (1): 46–61, doi:10.1145/321738.321743.
1. N. Audsley, Survey: Scheduling Hard Real-Time Systems,
Department of Computer
Science, University of York (1990).
2. O. Babaoglu, K. Marzullo and F.B. Schneider, „„Priority
Inversion and its Prevention in
Real-Time Systems‟‟, PDCS Report No.17, Dipartimento di
Matematica, Universita di
Bologna (1990).
3. J A. Bannister and K.S. Trivedi, „„Task Allocation in FaultTolerant Distributed Systems‟‟,
ActaInformatica 20, pp. 261-281 (1983).
4. S.H. Bokhari and H. Shahid, „„A Shortest Tree Algorithm for
Optimal Assignment Across
Space and Time in a Distributed Processor System‟‟, IEEE
Transactions on Software
Engineering SE-7(6), pp. 583-589 (1981).
5. A. Burns, Concurrent Programming in Ada, Ada Companion
Series, Cambridge University
Press,Cambridge (1985).
6. A. Burns, Programming in occam 2, Addison Wesley,
Wokingham (1988).
with time
triggered communication. In Proceedings of ICC‟2000,
Amsterdam, 2000.[1] M. Behnam. Hierarchical real-time
scheduling and
synchronization. School of Innovation, Design and
Engineering, M
â€alardalen University, 2008.
[2] M. Dertouzos. Control robotics: The procedural
control of physical processes. Information Processing,
74:807–813, 1974.
[3] R. Dobrin and G. Fohler. Implementing off-line
message scheduling on controller area network (can).
In Proceedings of the 8th IEEE International
Conference on Emerging Technologies and Factory
Automation, 2001.
[4] D. Dolev and M. Warmuth. Scheduling precedence
graphs of bounded height. J. Algorithms, 5(1):48–59,
1984.
[5] W. Elmenreich and R. Ipp. Introduction to ttp/c and
ttp/a. In Proceedings of the Workshop on
Time-Triggered and Real-Time Communication,
Manno, Switzerland, Dec. 2003.
[6] F. Hartwich and et al. Can network
[Ati98] Y. Atif and B. Hamidzadeh, “A Scalable Scheduling
Algorithm for Real-Time Distributed Systems,â€
Proceedings of the 18th International Conference on Distributed
Computing Systems, May 26-29 1998, pp. 352-359.
[Dar94] S. Darbha and D. P. Agrawal, “SDBS: A Task
Duplication Based Optimal Scheduling Algorithm,â€
Proceedings of the Scalable High Performance Computing
Conference, May 23-25 1994, pp. 756-763.
[Dar96] S. Darbha and D. P. Agrawal, “Scalable Scheduling
Algorithm for Distributed Memory Machines,â€
Proceedings of the 8th IEEE Symposium on Parallel and
Distributed Processing, October 23-26 1996, pp. 84-91.
[Khe97] A. Khemka and R. K. Shyamasundar, “An Optimal
Multiprocessor Real-Time Scheduling Algorithm,â€
Journal of Parallel and Distributed Computing, vol. 43, 1997,
pp. 37-45.
Order Now