real time operating system
play

Real-Time Operating system (RTOS) Real-time Embedded systems - PowerPoint PPT Presentation

Real-Time Operating system (RTOS) Real-time Embedded systems often have real-time computing constraints (Temporal) Determinism Correctness of system depends not only on the logical result of the computation, but also on the time at which


  1. Real-Time Operating system (RTOS)

  2. Real-time Embedded systems often have real-time computing constraints (Temporal) Determinism Correctness of system depends not only on the logical result of the computation, but also on the time at which the result is generated P. A. Laplante, “Real-Time Systems Design and Analysis”, 4 th edition, Wiley-IEEE Press Available online with UiO access

  3. Real-time Deadline Hard real-time Average time Failure to meet a single Worst-case time deadline may lead to complete system failure Soft real-time Average time Performance/quality is Worst-case time degraded by failure to meet the deadline P. A. Laplante, “Real-Time Systems Design and Analysis”, 4 th edition, Wiley-IEEE Press Available online with UiO access

  4. Timing in embedded system • Sleep / delay() super loop • Timer interrupts

  5. Abstraction levels Software user application RTOS Operating system SW Hardware abstraction layer Device Drivers CPU bus Registers HW Hardware functions

  6. Real-Time Operating System (RTOS) A structure that primarily provides: • Time management • Task management • Inter-task communication

  7. What does an RTOS do? • Break time into uniform chunks (ticks) • Split a problem into smaller manageable units / subtask. (tasks) TASK 1 TASK 2 TASK 3 • Assign time slots to these subtasks (scheduling) T1 T2 T1 T2 T3 T3 T1 T2 T1 T2 T3 T3

  8. Scheduler T1 T2 T1 T2 T3 T3 T1 T2 T1 T2 T3 T3 The part of the OS or kernel that is responsible for determining which task to run next But how does it decide?

  9. Priorities Most RTOSs assigns an explicit priority to each task TASK 1 TASK 2 TASK 3 P2 P3 P1 The OS then runs the task with the highest priority T3 T3 T3 T3 T3 T3 T3 T3 T3 T3 T3 T3

  10. Blocking delay(t) Inter-task communication

  11. Priorities & blocking TASK 1 TASK 2 TASK 3 P2 P3 P1 The scheduler evaluates which task to run at every timer tick T1 T2 T1 T2 T3 T3 T1 T2 T1 T2 T3 T3 The highest priority unblocked tasks always runs

  12. Inter-task communication Semaphores Messages ( mailbox, queues) “Key” to control access, by multiple tasks, to a Can be used to communicate data between common resource tasks Both can be used to synchronize the execution of tasks

  13. Example from FYS4220 project shared_jtag_sem pend and post pend and post ISR task_interrupt task_accel post pend post pend msg_box key1_sem

Recommend


More recommend