1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Lịch khai giảng trong các hệ thống thời gian thực P1

21 352 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Lịch khai giảng trong các hệ thống thời gian thực P1
Tác giả Francis Cottet, Joëlle Delacroix, Claude Kaiser, Zoubir Mammeri
Chuyên ngành Real-Time Systems
Thể loại Textbook
Năm xuất bản 2002
Định dạng
Số trang 21
Dung lượng 259,27 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Basic Concepts 1.1 Real-Time Applications 1.1.1 Real-time applications issues In real-time applications, the timing requirements are the main constraints and theirmastering is the predom

Trang 1

Basic Concepts

1.1 Real-Time Applications

1.1.1 Real-time applications issues

In real-time applications, the timing requirements are the main constraints and theirmastering is the predominant factor for assessing the quality of service Timing con-straints span many application areas, such as industrial plant automation, embeddedsystems, vehicle control, nuclear plant monitoring, scientific experiment guidance,robotics, multimedia audio and video stream conditioning, surgical operation moni-toring, and stock exchange orders follow-up

Applications trigger periodic or random events and require that the associated puter system reacts before a given delay or a fixed time The timing latitude to react

com-is limited since transient data must be caught, actions have a constraint on both startand finish times, and responses or commands must be sent on time

The time scale may vary largely, its magnitude being a microsecond in a radar, asecond in a human–machine interface, a minute in an assembly line, or an hour in achemical reaction

The source of timing constraints leads to classifying them as hard or soft A real-time

system has hard timing constraints when a timing fault (missing a deadline, delivering

a message too late, sampling data irregularly, too large a scatter in data supposed to

be collected simultaneously) may cause some human, economic or ecological disaster

A real-time system has soft timing constraints when timing faults can be dealt with to

a certain extent

A real-time computer system is a computer system whose behaviour is fixed bythe dynamics of the application Therefore, a real-time application consists of twoconnected parts: the controlling real-time computer system and the controlled process(Figure 1.1)

Time mastery is a serious challenge for real-time computer systems, and it is oftenmisunderstood The correctness of system reactions depends not only on the logicalresults of the computations, but also on the time at which the results are produced.Correct data which are available too late are useless; this is a timing fault (Burns andWellings, 1997; Lelann, 1990; Stankovic, 1988)

A controlling real-time computer system may be built as:

• a cyclic generator, which periodically samples the state of the controlled process,computes the measured data and sends orders to the actuators (this is also calledsynchronous control);

Scheduling in Real-Time Systems.

Francis Cottet, Jo ¨elle Delacroix, Claude Kaiser and Zoubir Mammeri

Copyright  2002 John Wiley & Sons, Ltd.

ISBN: 0-470-84766-2

Trang 2

Control computer system

Figure 1.1 Scheme of a real-time application

• a reactive system, which responds instantaneously to the stimuli originating in thecontrolled process and thus is triggered by its dynamics;

• a union of both aspects, which schedules periodic and aperiodic tasks; this results

in an asynchronous system

1.1.2 Physical and logical architecture,

operating systems

Software design of a real-time application

Several steps are usually identified to analyse and implement real-time applications.Some of them are:

• requirements analysis and functional and timing specifications, which result in afunctional view (the question to answer is: what should the system do?)

• preliminary design, which performs an operational analysis (the question is: how

to do it?) and leads to the choice of logical components of a logical architecture

• specific hardware and software development They are often developed concurrentlywith similar design processes The hardware analysis (the question is: with whichhardware units?) leads to a physical architecture, to the choice of commercial

Trang 3

1.1 REAL-TIME APPLICATIONS 3

off-the-shelf components and to the detailed design and development of specialhardware The conceptual analysis (the question is: with which software modules?)leads to a software architecture, to the choice of standard software components and

to the implementation of customized ones These acquisition and realization stepsend with unit testing

• integration testing, which involves combining all the software and hardware ponents, standard ones as well as specific ones, and performing global testing

com-• user validation, which is carried out by measurements, sometimes combined withformal methods, and which is done prior to acceptance of the system

These steps are summarized in Figure 1.2, which gives an overview of the maindesign and implementation steps of real-time applications Once the logical and hard-ware architecture is defined, an allocation policy assigns the software modules to thehardware units In distributed fault-tolerant real-time systems, the allocation may beundertaken dynamically and tasks may migrate The operational analysis must definethe basic logical units to map the requirements and to express concurrency in the sys-tem, which is our concern The operational behaviour of the application is produced

by their concurrent execution

The major computing units are often classified as:

• passive objects such as physical resources (devices, sensors, actuators) or logicalresources (memory buffers, files, basic software modules);

• communication objects such as messages or shared variables, ports, channels, work connections;

net-• synchronization objects such as events, semaphores, conditions, monitors (as inModula), rendezvous and protected objects (as in Ada);

Requirements analysis Preliminary design

Detailed design

Detailed design

Validation Integration

Trang 4

• active objects such as processes, threads, tasks;

• structuring, grouping and combining objects such as modules, packages (as in Ada),actors (as in Chorus), processes (as in Unix, Mach)

In real-time systems, the word task is most often used as the unit for representing

con-current activities of the logical architecture The physical parallelism in the hardwarearchitecture and the logical parallelism in the application requirements are usually thebase for splitting an application into concurrent tasks Thus a task may be assigned toeach processor and to each input–output device (disk reader, printer, keyboard, display,actuator, sensor), but also to each distinct functional activity (computing, acquisition,presentation, client, server, object manager) or to each distinct behavioural activity(periodic, aperiodic, reactive, cyclic, according to deadline or importance)

Physical architecture

Real-time systems hardware architectures are characterized by the importance ofinput–output streams (for example the VME bus in Figure 1.3) An example of physicalarchitecture, the robot engine of the Pathfinder mission, will be presented in Chapter 9.The configuration of the embedded architecture is given in Figure 9.10 Figure 1.3shows an example of a symmetric multiprocessor architecture with shared memory(Banino et al., 1993)

Distributed architectures over networks are being developed more and more ter 6 is devoted to message scheduling, which is a major element in the mastery of

Chap-timing constraints We shall use the term interconnected sites Figure 1.4 summarizes

an architecture using local networks to interconnect several sites

Legend:

Processors: CPU1, , CPU4

Shared memories: MEM1, , MEM6

Controllers: VMEBD, I/OBD Interrupt dispatcher: INTER Memory bus

VME bus

VMEBD I/OBD VMEBD

Figure 1.3 Dune 3000 symmetric multiprocessor architecture with shared memory

Trang 5

Machine tool

controller

Conveyer controller

Industrial local area network

Computer-assisted manufacturing

Industrial database server

Figure 1.4 Example of a distributed architecture of real-time application

Logical architecture and real-time computing systems

Operating systems In order to locate real-time systems, let us briefly recall thatcomputing systems may be classified, as shown by Figure 1.5, into transformational,interactive and reactive systems, which include asynchronous real-time systems.The transformational aspect refers to systems where the results are computed withdata available right from the program start and usable when required at any moment.The relational aspect between programming entities makes reference to systems wherethe environment-produced data are expected by programs already started; the results

Trang 6

Interactive systems (e.g office automation, CAD)

Relational aspect between software entities

Timing aspect

Behavioural aspect

Transformational systems (e.g mathematical computations)

Input data without

1 Environment-produced

data with timing constraints

Environment-produced

data without timing constraints

Figure 1.5 Classes of computing systems

of these programs are input to other programs The timing aspect refers to systemswhere the results must be given at times fixed by the controlled process dynamics

A system is centralized when information representing decisions, resource sharing,algorithms and data consistency is present in a shared memory and is directly accessible

by all tasks of the system This definition is independent of the hardware architecture

It refers to a uniprocessor or a shared memory multiprocessor architecture as well

as to a distributed architecture where all decisions are only taken by one site Asystem is distributed when the decisions are the result of a consensus among sitesexchanging messages

Distributed programming has to cope with uncertainty resulting from the lack of acommon memory and common clock, from the variations of message transfer delaysfrom one site to another as well as from one message to another, and from the existence

of an important fault rate Thus, identical information can never be captured taneously at all sites As the time is one of these pieces of information, the sites arenot able to read a common clock simultaneously and define instantaneously whether

simul-or not ‘they have the same time’

Trang 7

1.1 REAL-TIME APPLICATIONS 7

Computing systems are structured in layers They all contain an operating systemkernelas shown in Figure 1.6 This kernel includes mechanisms for the basic man-agement of the processor, the virtual memory, interrupt handling and communication.More elaborate management policies for these resources and for other resources appear

in the higher layers

Conventional operating systems provide resource allocation and task scheduling,applying global policies in order to optimize the use of resources or to favour theresponse time of some tasks such as interactive tasks All tasks are considered asaperiodic: neither their arrival times nor their execution times are known and theyhave no deadline

In conventional operating systems the shared resources dynamically allocated totasks are the main memory and the processor Program behaviour investigations haveindicated that the main memory is the sensitive resource (the most sensitive are demandpaging systems with swapping between main memory and disk) Thus memory isallocated first according to allocation algorithms, which are often complicated, and theprocessor is allocated last This simplifies processor scheduling since it concerns onlythe small subset of tasks already granted enough memory (Bawn, 1997; Silberscharzand Galvin, 1998; Tanenbaum, 1994; Tanenbaum and Woodhull, 1997) Conventionaloperating systems tend to optimize resource utilization, principally the main memory,and they do not give priority to deadline observances This is a great difference withreal-time operating systems

Real-time operating systems In real-time systems, resources other than the sor are often statically allocated to tasks at their creation In particular, time shouldnot be wasted in dynamic memory allocation Real-time files and databases are notstored on disks but reside in main memory; this avoids the non-deterministic disk trackseeking and data access Input–output management is important since the connectionswith the controlled process are various Therefore, the main allocation parameter isprocessor time and this gives importance to the kernel and leads to it being named

proces-Hardware

Kernel

Operating system services

Semaphores

Scheduler Internet

management

Clock management

Virtual memory management

Peripheral drivers Network drivers Task

management

Memory management

Name server

Trang 8

Task i Task j Task k

P R O C E S S Request Activation

Figure 1.7 Schema of a real-time application

the real-time operating system (Figure 1.7) Nevertheless, conventional operating tem services are needed by real-time applications that have additional requirementssuch as, for example, management of large data sets, storing and implementing pro-grams on the computer also used for process control or management of local networkinterconnection Thus, some of these conventional operating systems have been reengi-neered in order to provide a reentrant and interruptible kernel and to lighten the taskstructure and communication This has led to real-time Unix implementations Themarket seems to be showing a trend towards real-time systems proposing a Posixstandard interface (Portable Operating System Interface for Computer Environments;international standardization for Unix-like systems)

sys-1.2 Basic Concepts for Real-Time Task

Scheduling

1.2.1 Task description

Real-time task model

Real-time tasks are the basic executable entities that are scheduled; they may be odic or aperiodic, and have soft or hard real-time constraints A task model has been

Trang 9

peri-1.2 BASIC CONCEPTS FOR REAL-TIME TASK SCHEDULING 9

defined with the main timing parameters A task is defined by chronological parametersdenoting delays and by chronometric parameters denoting times The model includesprimary and dynamic parameters Primary parameters are (Figure 1.8):

• r, task release time, i.e the triggering time of the task execution request.

• C, task worst-case computation time, when the processor is fully allocated to it.

• D, task relative deadline, i.e the maximum acceptable delay for its processing.

• T , task period (valid only for periodic tasks).

• when the task has hard real-time constraints, the relative deadline allows

compu-tation of the absolute deadline d = r + D Transgression of the absolute deadline

causes a timing fault

The parameter T is absent for an aperiodic task A periodic task is modelled by the

four previous parameters Each time a task is ready, it releases a periodic request Thesuccessive release times (also called request times, arrival times or ready times) are

request release times at r k = r0+ kT , where r0 is the first release and r k the k+ 1th

release; the successive absolute deadlines are d k = r k + D If D = T , the periodic task has a relative deadline equal to period A task is well formed if 0 < C ≤ D ≤ T

The quality of scheduling depends on the exactness of these parameters, so theirdetermination is an important aspect of real-time design If the durations of operationslike task switching, operating system calls, interrupt processing and scheduler executioncannot be neglected, the design analysis must estimate these durations and add them

t

r0: release time of the1st request of task

C: worst-case computation time D: relative deadline

Note: for periodic task with D = T (deadline equal to period)

deadline at next release time is represented by

T D

t(r0, C , D , T )

with 0 ≤ C ≤ D ≤ T

Figure 1.8 Task model

Trang 10

to the task computation times That is why a deterministic behaviour is required forthe kernel, which should guarantee maximum values for these operations.

Other parameters are derived:

• u = C/T is the processor utilization factor of the task; we must have u ≤ 1.

• ch = C/D is the processor load factor; we must have ch ≤ 1.

The following dynamic parameters help to follow the task execution:

• s is the start time of task execution.

• e is the finish time of task execution.

• D(t) = d − t is the residual relative deadline at time t: 0 ≤ D(t) ≤ D.

• C(t) is the pending execution time at time t: 0 ≤ C(t) ≤ C.

• L = D − C is the nominal laxity of the task (it is also called slack time)and it denotes the maximum lag for its start time s when it has sole use of the processor.

• L(t) = D(t) − C(t) is the residual nominal laxity of the task at time t and it

denotes the maximum lag for resuming its execution when it has sole use of the

processor; we also have L(t) = D + r − t − C(t).

• TR = e − r is the task response time; we have C ≤ TR ≤ D when there is no

time fault

• CH (t) = C(t)/D(t) is the residual load; 0 ≤ CH (t) ≤ C/T (by definition, if e =

d , CH (e) = 0).

Figure 1.9 shows the evolution of L(t) and D(t) according to time.

Periodic tasks are triggered at successive request release times and return to the sive state once the request is completed Aperiodic tasks may have the same behaviour

pas-if they are triggered more than once; sometimes they are created at release time.Once created, a task evolves between two states: passive and triggered Processorand resource sharing introduces several task states (Figure 1.10):

• elected: a processor is allocated to the task; C(t) and D(t) decrease, L(t) does

not decrease

• blocked: the task waits for a resource, a message or a synchronization signal; L(t) and D(t) decrease.

• ready: the task waits for election: in this case, L(t) and D(t) decrease.

• passive: the task has no current request.

• non-existing: the task is not created.

Other task characteristics

In addition to timing parameters of the task model, tasks are described by other features

Ngày đăng: 08/11/2013, 00:15

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm