VxWorks 5.4 - PowerPoint PPT Presentation

1 / 20
About This Presentation
Title:

VxWorks 5.4

Description:

Types of Intertask Communications: 14. Intertask Communication, Shared Data. Access SharData ... Time the task is willing to wait (time in ticks) in pended state. ... – PowerPoint PPT presentation

Number of Views:186
Avg rating:3.0/5.0
Slides: 21
Provided by: clifto9
Category:
Tags: vxworks | of | ticks | types

less

Transcript and Presenter's Notes

Title: VxWorks 5.4


1
VxWorks 5.4
  • Group A3
  • Wafa Jaffal
  • Kathryn Bean

2
Topics Covered
  • What is Real Time Operating System (RTOS)
  • Standard for RTOS
  • VxWorks Features as RTOS
  • Layer Structure
  • Microkernal Functions
  • Multitasking
  • Scheduling
  • Interrupt Service Code
  • Shared Code and Reentrancy
  • Intertask Communications
  • Applications for VxWorks

3
What is Real Time OS (RTOS)
  • RTOS Characteristics
  • Processing must be done within a time constraint
    or the system will fail.
  • All delays in the system will be bounded from
    the retrieval of stored data to the time RTOS
    finishes the request.
  • Types of RTOS
  • Hard RTOS
  • Soft RTOS

4
Standard for RTOS
  • Standard requirement for RTOS
  • POSIX 1003.1b by ISO/IEEE chapter.

POSIX interfaces
  • Queued signals
  • Scheduling
  • Clocks and timers
  • Asynchronous I/O
  • Semaphore
  • Message queues
  • Memory management

5
VxWorks OS as RTOS
6
Layer Structure
Real-Time Embedded Application
Internet
Graphics
Multiprocessing
Java Support
POSIX Library
File System
WindNet Networking
Core OS
Wind Microkernal
7
Multitasking
P
R
D
S
  • Suspended used primarily for debugging
  • Ready wait for CPU,
  • a single primitivecreateactivate
  • Pended blocked, wait ?t time for recourses.
    After ?t - Error.
  • Delay asleep for ?t time, after ?t goes to
    ready state.
  • On a context switch, a tasks context is saved in
    TCB. All code executes in a single common space.
    Memory isnt saved.

8
Scheduling, One CPU
  • Priority-based preemptive scheduling
  • Each task has priority (from 0 - highest to 255
    - lowest). Each priority has its own queue.
  • If two tasks are in the ready state, a lower
    priority task would be pre-empted by one of a
    higher priority.
  • Round-robin scheduling
  • After time slice for a task expires, another task
    with the same priority will execute during the
    given time slice.
  • Preemption locks
  • These locks prevent task context switching, but
    do not prevent interrupt handling.

9
Interrupt Service Code
Via interrupts, the system is informed of
external events.
  • Interrupt Service Routines (ISRs) run outside
    any task context.
  • Interrupt handling involves no task context
    switch.
  • Limitations of ISR
  • All ISRs share the same stack
  • ISR has no context that can be suspended
  • Cannot take the semaphore, but can give the
    semaphores, releasing any task waiting on them.
  • Cannot perform I/O through drivers except pipe.

10
Shared Code and Reentrancy
  • Shared Code - a single copy of code executed by
    multiple tasks.
  • Shared Code must be reentrant. A subroutine is
    reentrant if a single copy of the routine can be
    called simultaneously from several task contexts
    without conflict.
  • Reentrancy Techniques
  • Dynamic Stack Variables
  • Global and Static Variables Guarded by
    Semaphores
  • Task Variables

11
Shared Code and Reentrancy, Continued
Dynamic Stack Variables
Task Stacks
Common Function
Tasks
Task1( ) .. comFun(myData1)
myData1
comFun(yourData)
Task2( ) .. comFun(myData2)
myData2
12
Shard Code and Reentrancy, Continued
  • Guarded Global and Static Variables
  • Mutual-exclusion mechanism - only one task at a
    time can be in a critical section of the code.
  • Task Variables
  • Four byte variables are added to the task
    context block (TCB).

13
Intertask Communications, One CPU
Types of Intertask Communications
  • Shared Data
  • Message Queue
  • Pipes - Virtual I/0
  • Network Intertask Communication
  • Sockets
  • Remote Procedure Call

14
Intertask Communication, Shared Data
Tasks
Memory
Access SharData
1.
Access SharData
SharData
2.
Access SharData
3.
15
Semaphores
Semaphore - mechanism for mutual exclusion and
intertask communication.
  • Binary Semaphore

Semaphore available
TimeOut No_Wait
Task is pended for timeOut
NO
NO
NO
YES
YES
Task cont. Semaphore taken
Task cont. Semaphore not taken
16
Semaphores, Continued
  • Counting Semaphore
  • Every time is semaphore is given count
  • Every time is semaphore is taken count --
  • If count0, task that tried to take semaphore is
    blocked
  • If semaphore is given and task is blocked, task
    is unblocked
  • Is semaphore is given and no tasks are blocked,
    count
  • Special Semaphore Option (Not in POSIX)
  • Timeout
  • Time the task is willing to wait (time in ticks)
    in pended state. If time gt timeout, ERROR occurs.

17
Intertask Communication, Message Queue
  • Allows a variable number of messages to be
    queued
  • Any task or ISR can send a message to a queue.
  • Multiple tasks can send and receive from the
    same message queue.
  • Timeout Parameter
  • Send message how long to wait for buffer space
    to place message.
  • Receive message how long to wait to obtain
    message.

18
Applications for VxWorks
Some usage of RTOS
  • Flight simulators
  • Radio and optical telescopes
  • Navigation systems
  • Deep sea instrumentation
  • Traffic control systems
  • Modems
  • Printers
  • Digital cameras
  • Hand-held computing devices
  • Routers, switches, and other network devices

any systems where rigid time requirement have
been placed on the operation of a processor or
the flow of the data.
19
Thank You
Any Questions ?
20
Bibliography
VxWorks 5.4 Programmer Guide
Write a Comment
User Comments (0)
About PowerShow.com