DOC PREVIEW
UB CSE 321 - RTSysSept9

This preview shows page 1-2-3-4-5 out of 16 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 16 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 16 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 16 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 16 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 16 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 16 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

RTS: Kernel Design and Cyclic ExecutivesKernel & Device driversTask characteristics of real workloadSimple kernelsSimple kernels: cyclic executivesCyclic Executives: Example: Interactive gamesFinite state automata and Co-routine based kernelsInterrupt driven systemsInterrupt driven systems: code exampleProcess schedulingMore on Cyclic ExecutivesThe basic systemsBlind BingoCyclic Executive Design 1 (pages 83-87)Cyclic executiveRT Cyclic Executive ProgramCHAPTER 401/13/191RTS: Kernel Design and Cyclic ExecutivesKernel & Device drivers01/13/192Shell XWin Thread lib ftp User applicationsSystem call interface DevicesProcess, memory, file system, network managers.Device drivers KernelServers (application ~, web ~, component ~)Hardware/controllerTask characteristics of real workload01/13/193Each task Ti is characterized by the following temporal parameters:Precedence constraints: specify any tasks need to precede other tasks.Release or arrival time: ri,j: jth instance of ith taskPhase Φi: release time of first instant of ith taskResponse time: time between activation and completionAbsolute deadline: instant by which task must completeRelative deadline: maximum allowable response time Period Pi: maximum length of intervals between the release times of consecutive tasks.Execution time: the maximum amount of time required to complete a instance of the task assuming all the resources are available.Simple kernels01/13/194Polled loop: Say a kernel needs to process packets that are transferred into the DMA and a flag is set after transfer:for(;;) { if (packet_here) { process_data(); packet_here=0; }}Excellent for handling high-speed data channels, a processor is dedicated to handling the data channel.Disadvantage: cannot handle burstsSimple kernels: cyclic executives01/13/195Illusion of simultaneity by taking advantage of relatively short processes in a continuous loop:for(;;) { process_1(); process_2(); process_3(); … process_n();}Different rate structures can be achieved by repeating tasks in the list:for(;;) { process_1(); process_2(); process_3(); process_3();}Cyclic Executives: Example: Interactive games01/13/196Space invaders:for(;;) { check_for_keypressed(); move_aliens(); check_for_keypressed(); check_collision(); check_for_keypressed(); update_screen(); }}check_keypressed() checks for three button pressings: move tank left or right and fire missiles.If the schedule is carefully constructed we could achieve a very efficient game program with a simple kernel as shown above.Finite state automata and Co-routine based kernels01/13/197void process_a(void){for(;;) { switch (state_a) { case 1: phase_a1(); | case 2: phase_a2(); |…. case n: phase_an();}}}void process_b(void){for(;;) { switch (state_b) { case 1: phase_b1(); | case 2: phase_b2(); |…. case n: phase_bn();}}}state_a and state_b are state counters;Communication between coroutines thru’ global variables;Example: the famous CICS from IBM : Customer Information Control SystemIBM’s OS/2 uses this in Windows presentation management.Interrupt driven systems01/13/198Main program is a simple loop.Various tasks in the system are schedules via software or hardware interrupts;Dispatching performed by interrupt handling routines.Hardware and software interrupts.Hardware: asynchronousSoftware: typically synchronousExecuting process is suspended, state and context saved and control is transferred to ISR (interrupt service routine)Interrupt driven systems: code example01/13/199void main() { init(); while(TRUE);}void int1(void){ save (context); task1(); retore (context);}void int1(void){ save (context); task1(); restore (context);}Foreground/background systems is a variation of this where main does some useful task in the background;Process scheduling 01/13/1910Scheduling is a very important function in a real-time operating system.Two types: pre-run-time and run-timePre-run-time scheduling: create a feasible schedule offline to meet time constraints, guarantee execution order of processes, and prevents simultaneous accesses to shared resources.Run-time scheduling: allows events to interrupt processes, on demand allocation of resources , and used complex run-time mechanisms to meet time constraints.01/13/1911More on Cyclic ExecutivesSimple loop cyclic executiveFrame/slots Table-based predetermined schedule cyclic executivePeriodic, aperiodic and interrupt-based taskLets design a cyclic-executive with multiple periodic tasks. 1101/13/1912The basic systemsSeveral functions are called in a prearranged sequenceSome kind of cooperative schedulingYou a have a set of tasks and a scheduler that schedules these tasksTypes of tasks: base tasks (background), interrupt tasks, clock tasksFrame of slots, slots of cycles, each task taking a cycle, burn tasks to fill up the left over cycles in a frame.1201/13/1913Blind Bingo 13A c b g k V n m L sE t y w fD v z x eDisplay();Read input();Loop: update display(); If all done exit(); Read input();End Loop;Cyclic Executive Design 1 (pages 83-87)01/13/1914Base tasks, clock tasks, interrupt tasksBase: no strict requirements, background activityClock: periodic with fixed runtimeInterrupt: event-driven preemption, rapid response but little processingDesign the slotsTable-driven cyclic executiveCyclic executive01/13/1915Each task implemented as a functionAll tasks see global data and share themCyclic executive for three priority levelThe execution sequence of tasks within a cyclic executive will NOT vary in any unpredictable manner (such as in a regular fully featured Operating Systems)Clock tasks, clock sched, base tasks, base sched, interrupt tasks Each clock slot executes, clock tasks, at the end a burn task that is usually the base taskStudy the figures in pages 83-86 of your textRT Cyclic Executive Program01/13/1916Lets examine the code:Identify the tasksIdentify the cyclic schedule specified in the form of a tableObserve how the functions are specified as table entryLearn how the function in the table are


View Full Document

UB CSE 321 - RTSysSept9

Documents in this Course
Anomaly1

Anomaly1

48 pages

ProcSept9

ProcSept9

17 pages

LecSept2

LecSept2

30 pages

CRCNov23

CRCNov23

14 pages

Load more
Download RTSysSept9
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view RTSysSept9 and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view RTSysSept9 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?