Presentation is loading. Please wait.

Presentation is loading. Please wait.

WINDSPRINT - PLATFORM FOR INDUSTRIAL DEVICES

Similar presentations


Presentation on theme: "WINDSPRINT - PLATFORM FOR INDUSTRIAL DEVICES"— Presentation transcript:

1 WINDSPRINT - PLATFORM FOR INDUSTRIAL DEVICES
Tornado and VxWorks Copyright © Wind River Systems, Inc Customer Education 1

2 WINDSPRINT - PLATFORM FOR INDUSTRIAL DEVICES
Tornado and VxWorks WINDSPRINT - PLATFORM FOR INDUSTRIAL DEVICES Tornado-VxWorks Architecture The Real-Time, Multitasking OS Intertask Synchronization and Communication The Project Facility The Debugging Tools The Networking Stack Copyright © Wind River Systems, Inc. Copyright © Wind River Systems, Inc Customer Education 2

3 WINDSPRINT - PLATFORM FOR INDUSTRIAL DEVICES
What is Tornado? WINDSPRINT - PLATFORM FOR INDUSTRIAL DEVICES Development and Debugging Tools Real-Time, Multitasking OS Networking Tornado is an integrated environment for developing real-time and embedded applications Major components of Tornado include The VxWorks real-time operating system that runs time-critical or embedded applications Development tools to aid in testing, timing, and debugging Networking support enables Interprocessor communication Remote file access Remote command / function execution Booting across a network Copyright © Wind River Systems, Inc. Copyright © Wind River Systems, Inc Customer Education 3

4 Tornado Architecture - HW Target
WINDSPRINT - PLATFORM FOR INDUSTRIAL DEVICES VxWorks Target Agent Tool Host Target Server Registry The tools, registry, and target server can run on different hosts The target server (tgtsvr) mediates tools’ interactions with the target The target server provides Communication over Ethernet, serial, NetROM, and custom connections A host-resident table of target symbols Dynamic module loading and unloading A cache of program text stored in target’s RAM A virtual I/O path with target “wtxregd”, the Wind Registry Daemon, manages the information a tool needs to connect to a target server Tools initially contact the registry to find out how to contact a particular target server Copyright © Wind River Systems, Inc. Copyright © Wind River Systems, Inc Customer Education 4

5 Tornado Architecture - Simulator Target
WINDSPRINT - PLATFORM FOR INDUSTRIAL DEVICES Host Registry Tool VxWorks Target Server Tool Target Agent Tool VxWorks runs as a process under the host OS The simulator architecture provides no emulation of instruction, native compilers are used VxSim, the VxWorks simulator, is a port of VxWorks to the various host architectures It provides a simulated target for use as a prototyping and test-bed environment Copyright © Wind River Systems, Inc. Copyright © Wind River Systems, Inc Customer Education 5

6 WINDSPRINT - PLATFORM FOR INDUSTRIAL DEVICES
Tornado and VxWorks WINDSPRINT - PLATFORM FOR INDUSTRIAL DEVICES Tornado Architecture The Real-Time, Multitasking OS Intertask Synchronization and Communication The Project Facility The Debugging Tools The Networking Stack Copyright © Wind River Systems, Inc. Copyright © Wind River Systems, Inc Customer Education 6

7 WINDSPRINT - PLATFORM FOR INDUSTRIAL DEVICES
What is a Task? WINDSPRINT - PLATFORM FOR INDUSTRIAL DEVICES A task is a Kernel object dynamically created at runtime Logical entity consisting of a Task Control Block (TCB) data structure and stack space An independent thread of execution A task is not a function However, a special purpose function (typically designed with an endless loop) is used for the task’s entry point Functions execute within the context of tasks The VxWorks routine taskSpawn() invokes the entry point function foo and gives the task it’s thread of “liveness” foo() { for (;;) { waitForData( );/* Until external event occurs */ processData( ); } } Copyright © Wind River Systems, Inc. Copyright © Wind River Systems, Inc Customer Education 7

8 WINDSPRINT - PLATFORM FOR INDUSTRIAL DEVICES
Creating a Task WINDSPRINT - PLATFORM FOR INDUSTRIAL DEVICES To create a task, VxWorks must Allocate memory for the stack and TCB from a memory pool The taskSpawn( ) function allocates these in a single contiguous block Initialize the stack For example, it must create an initial stack frame with arguments passed to the task Initialize the TCB For example, it must Store a pointer to the entry point function in the TCB Set the saved PC to the address of the wrapper routine _vxTaskEntry( ) which will call the entry point function Initialize the stack pointer Put the task into the ready queue Copyright © Wind River Systems, Inc. Copyright © Wind River Systems, Inc Customer Education 8

9 WINDSPRINT - PLATFORM FOR INDUSTRIAL DEVICES
Multitasking WINDSPRINT - PLATFORM FOR INDUSTRIAL DEVICES Separate tasks are created to perform different system requirements For example, data acquisition and data computation Each task alternates between “ready” and “waiting” A “task manager” (the multitasking kernel) is therefore required VxWorks allows a task to wait for A specified time delay (Delay) An event such as an interrupt (Pend) Copyright © Wind River Systems, Inc. Copyright © Wind River Systems, Inc Customer Education 9

10 WINDSPRINT - PLATFORM FOR INDUSTRIAL DEVICES
Task States WINDSPRINT - PLATFORM FOR INDUSTRIAL DEVICES Non-suspended tasks may be in one of four states Ready Tasks that are eligible to execute The “executing” task has the highest priority among all ready tasks Other tasks in the ready queue are waiting for the CPU Delayed Tasks that are waiting for an amount of time to pass Pended Tasks that are waiting for an object event (e.g., a system resource ) become available Pended & Delayed Tasks that are waiting for an object event, but with a timeout specified Suspended tasks will not execute Tasks that are delayed or pended can be suspended When resumed they will return to the appropriate state Copyright © Wind River Systems, Inc. Copyright © Wind River Systems, Inc Customer Education 10

11 WINDSPRINT - PLATFORM FOR INDUSTRIAL DEVICES
Multitasking Kernel WINDSPRINT - PLATFORM FOR INDUSTRIAL DEVICES The “wind” kernel is that part of VxWorks which directly manages tasks It allocates the CPU to tasks according to the VxWorks scheduling algorithm It uses Task Control Blocks (TCBs) to keep track of tasks One per task Declared as WIND_TCB data structure in taskLib.h O.S. control information state, task priority, delay timer,breakpoint list, error status,I/O redirections CPU Context Information PC, SP, CPU registers, FPU registers The TCB contains a pointer to the floating point register set storage location for those tasks which use floating point There are a few spare fields at the end of the TCB which may be used by an application to store additional information specific to a task See the declaration in taskLib.h Copyright © Wind River Systems, Inc. Copyright © Wind River Systems, Inc Customer Education 11

12 WINDSPRINT - PLATFORM FOR INDUSTRIAL DEVICES
Kernel Operation WINDSPRINT - PLATFORM FOR INDUSTRIAL DEVICES The default scheduling alogorithm is priority-based preemptive scheduling Optionally, one can use a round-robin scheduling algorithm, which attempts to share the CPU failrly among all ready tasks of the same priority Scheduler Copyright © Wind River Systems, Inc. Copyright © Wind River Systems, Inc Customer Education 12

13 Multitasking Facilities
WINDSPRINT - PLATFORM FOR INDUSTRIAL DEVICES VxWorks multitasking facilities include Message passing queues for intertask communication within a CPU Network routines for intertask communication between CPU’s Semaphores to protect data which is shared by tasks Timers and other interrupts to trigger task execution I/O system facilities to read/write data to hardware devices Copyright © Wind River Systems, Inc. Copyright © Wind River Systems, Inc Customer Education 13

14 WINDSPRINT - PLATFORM FOR INDUSTRIAL DEVICES
Tornado and VxWorks WINDSPRINT - PLATFORM FOR INDUSTRIAL DEVICES Tornado-VxWorks Architecture The Real-Time, Multitasking OS Intertask Synchronization and Communication The Project Facility The Debugging Tools The Networking Stack Copyright © Wind River Systems, Inc. Copyright © Wind River Systems, Inc Customer Education 14

15 Intertask synchronization
WINDSPRINT - PLATFORM FOR INDUSTRIAL DEVICES In a multitasking environment, facilities to achieve mutual synchronization are needed Producer-consumer architecture Client-server architecture In VxWorks, intertask synchronization is achieved using Binary Semaphores Message Queues Events Pipes Some intertask synchronization facilities (queues and pipes) also enable data transmission (intertask communication) Copyright © Wind River Systems, Inc. Copyright © Wind River Systems, Inc Customer Education 15

16 WINDSPRINT - PLATFORM FOR INDUSTRIAL DEVICES
Binary Semaphores WINDSPRINT - PLATFORM FOR INDUSTRIAL DEVICES Binary semaphores exist in one of two states Full (synchronizing event has occurred) Empty (synchronizing event has not occurred) Intertask synchronization is obtained by creating an empty, binary semaphore for the synchronizing event The task waiting for the event calls semTake( ) and blocks until the semaphore is given The task or interrupt service routine detecting the event calls semGive( ), which unblocks the waiting task The events referred to on this slide are generic occurrences, not VxWorks events Interrupt Service Routines can call semGive( ), but not semTake( ) Copyright © Wind River Systems, Inc. Copyright © Wind River Systems, Inc Customer Education 16

17 WINDSPRINT - PLATFORM FOR INDUSTRIAL DEVICES
Message Queues WINDSPRINT - PLATFORM FOR INDUSTRIAL DEVICES Message queues are kernel objects used for passing information between tasks Message queues provide a FIFO buffer of messages The task waiting for the synchronization message calls msgQueueReceive( ) and blocks until a message is on the queue The task sending the synchronization message calls msgQueueSend( ), which unblocks a pending task Task A Task B Message queues also provide built-in mutual exclusion Interrupt Service Routines can call msgQueueSend( ), but not msgQueueReceive() Copyright © Wind River Systems, Inc. Copyright © Wind River Systems, Inc Customer Education 17

18 WINDSPRINT - PLATFORM FOR INDUSTRIAL DEVICES
Pipes WINDSPRINT - PLATFORM FOR INDUSTRIAL DEVICES Pipes provide an alternative interface to the message queue facility in the VxWorks I/O system Tasks block When they read from an empty pipe, until data is available When they write to a full pipe, until there is space available Similar to their use of message queues, interrupt service routines can write to a pipe, but cannot read from it Copyright © Wind River Systems, Inc. Copyright © Wind River Systems, Inc Customer Education 18

19 WINDSPRINT - PLATFORM FOR INDUSTRIAL DEVICES
Events WINDSPRINT - PLATFORM FOR INDUSTRIAL DEVICES VxWorks events are means of synchronization between Tasks and tasks Interrupt service routines and tasks VxWorks objects (binary semaphores and message queues) and tasks Only tasks can receive events, whereas tasks, interrupt service routines or VxWorks objects can send events Events are synchronous in nature The receiving task pends while waiting for the events to be sent Events allow a task to wait simultaneously on multiple resources For example, events can be sent by semaphores, message queues and other tasks A "registration process" is required for events sent by VxWorks objects In order for a task to receive events from a VxWorks object, the task must register with the object In this case only, one task at a time can be registered for a particular event Copyright © Wind River Systems, Inc. Copyright © Wind River Systems, Inc Customer Education 19

20 Mutual Exclusion Semaphores
WINDSPRINT - PLATFORM FOR INDUSTRIAL DEVICES Mutually exclusive access to shared resources is provided in VxWorks by mutual-exclusion semaphores (mutexes) VxWorks mutexes are designed to address issues inherent to mutual exclusion, like Priority inversion Deletion safety Recursive access to the shared resource Semaphore ownership Each critical section of the code has to be protected with mutexes, by having a task Take the mutex before accessing the code Give the mutex after having accessed it Means for obtaining mutually exclusive access to shared resources are always required whenever shared resources are accessed in an environment using a preemptive scheduling mode Critical sections are those sections of code which access a shared resource Preemption locks or interrupt locks may be considered as an alternative to mutexes to achieve mutual exclusion Copyright © Wind River Systems, Inc. Copyright © Wind River Systems, Inc Customer Education 20

21 WINDSPRINT - PLATFORM FOR INDUSTRIAL DEVICES
Counting Semaphores WINDSPRINT - PLATFORM FOR INDUSTRIAL DEVICES Counting semaphores are similar to binary semaphores, except that they keep track of the number of times the semaphore is given or taken Every time the semaphore is given, the count is incremented Every time the semaphore is taken, the count is decremented When the count reaches zero, a task that tries to take the semaphore is blocked Counting semaphores are useful for guarding multiple copies of resources Copyright © Wind River Systems, Inc. Copyright © Wind River Systems, Inc Customer Education 21

22 WINDSPRINT - PLATFORM FOR INDUSTRIAL DEVICES
Signals WINDSPRINT - PLATFORM FOR INDUSTRIAL DEVICES Signals asynchronously alter the control flow of a task An interrupt service routine or a task can send a signal to a task The task which has received the signal will asynchronously execute a signal handler The signal handler executes in the receiving task’s context and makes use of the task’s stack If no signal handler is installed, the received signal is ignored Since signals are asynchronous in nature, they are more appropriate for error and exception handling than as a general-purpose intertask communication mechanism Copyright © Wind River Systems, Inc. Copyright © Wind River Systems, Inc Customer Education 22

23 WINDSPRINT - PLATFORM FOR INDUSTRIAL DEVICES
Tornado and VxWorks WINDSPRINT - PLATFORM FOR INDUSTRIAL DEVICES Tornado-VxWorks Architecture The Real-Time, Multitasking OS Intertask Synchronization and Communication The Project Facility The Debugging Tools The Networking Stack Copyright © Wind River Systems, Inc. Copyright © Wind River Systems, Inc Customer Education 23

24 WINDSPRINT - PLATFORM FOR INDUSTRIAL DEVICES
Projects WINDSPRINT - PLATFORM FOR INDUSTRIAL DEVICES The project facility allows one to manage two project types Bootable projects To configure and build a VxWorks image Downloadable projects To build and download application modules to a running target Projects can be grouped together in Workspaces For each project more than one build specification can be used Copyright © Wind River Systems, Inc. Copyright © Wind River Systems, Inc Customer Education 24

25 WINDSPRINT - PLATFORM FOR INDUSTRIAL DEVICES
Bootable projects WINDSPRINT - PLATFORM FOR INDUSTRIAL DEVICES Bootable projects are used to create a new, customized VxWorks image The system image consists of all desired system modules linked together in a single, non-relocatable object module with no unresolved external references The image can be customized by adding or removing VxWorks components from the Workspace GUI A bootable project is created specifying A BSP A toolchain (GNU or Diab) Copyright © Wind River Systems, Inc. Copyright © Wind River Systems, Inc Customer Education 25

26 Downloadable Projects
WINDSPRINT - PLATFORM FOR INDUSTRIAL DEVICES Downloadable projects are used to create relocatable object modules that can be downloaded and dynamically linked to VxWorks Module downloading and dynamic linking is performed by the Target Server, which maintains a host-resident target’s symbol table Downloadable projects Are created by specifying a toolchain GNU or Diab Allow “on the fly” development Modules can iteratively be downloaded, tested and debugged without rebooting the target system Copyright © Wind River Systems, Inc. Copyright © Wind River Systems, Inc Customer Education 26

27 Project Facility Workspace Window
WINDSPRINT - PLATFORM FOR INDUSTRIAL DEVICES 3 Workspace window views Copyright © Wind River Systems, Inc. Copyright © Wind River Systems, Inc Customer Education 27

28 WINDSPRINT - PLATFORM FOR INDUSTRIAL DEVICES
Tornado and VxWorks WINDSPRINT - PLATFORM FOR INDUSTRIAL DEVICES Tornado-VxWorks Architecture The Real-Time, Multitasking OS Intertask Synchronization and Communication The Project Facility The Debugging Tools The Networking Stack Copyright © Wind River Systems, Inc. Copyright © Wind River Systems, Inc Customer Education 28

29 Host-Resident Debugging Tools
WINDSPRINT - PLATFORM FOR INDUSTRIAL DEVICES WindShell Command Shell Provides command-line based, interactive access to all run-time facilities Browser System-object viewer, graphical companion to WindShell CrossWind Debugger Remote source-level debugger Extended version of the GNU source-level debugger (GDB) WindView Software Logical Analyzer Dynamic visualization tool A target resident shell, eventually equipped with target resident symbol table, loading and debugging features is also available Copyright © Wind River Systems, Inc. Copyright © Wind River Systems, Inc Customer Education 29

30 WINDSPRINT - PLATFORM FOR INDUSTRIAL DEVICES
WindShell WINDSPRINT - PLATFORM FOR INDUSTRIAL DEVICES WindShell allows one to Access all VxWorks facilities by allowing calls to any VxWorks routines For example, Spawning tasks Creating VxWorks objects like semaphores, message queues, and pipes Download object modules to the target system Perform assembly-level debugging Create and examine variables symbolically Examine and modify memory Copyright © Wind River Systems, Inc. Copyright © Wind River Systems, Inc Customer Education 30

31 WINDSPRINT - PLATFORM FOR INDUSTRIAL DEVICES
WindShell WINDSPRINT - PLATFORM FOR INDUSTRIAL DEVICES Copyright © Wind River Systems, Inc. Copyright © Wind River Systems, Inc Customer Education 31

32 WINDSPRINT - PLATFORM FOR INDUSTRIAL DEVICES
Browser WINDSPRINT - PLATFORM FOR INDUSTRIAL DEVICES The browser monitors the state of a target It shows detailed information on Tasks VxWorks objects (semaphores, message queues, ...) Stack usage by all task on the target Target CPU usage by task Object-module structure and symbols Interrupt vectors The displays are snapshots, which can be updated interactively Alternatively, the Browser can be configured to automatically update its display at specified intervals Copyright © Wind River Systems, Inc. Copyright © Wind River Systems, Inc Customer Education 32

33 WINDSPRINT - PLATFORM FOR INDUSTRIAL DEVICES
Browser WINDSPRINT - PLATFORM FOR INDUSTRIAL DEVICES The browser can give information on the real-time application, which is complementary to that given by the WindShell Shwon here, similar to what was shown in the WindShell, are the properties of the tLogTask and the messagge queue it is pending on Copyright © Wind River Systems, Inc. Copyright © Wind River Systems, Inc Customer Education 33

34 WINDSPRINT - PLATFORM FOR INDUSTRIAL DEVICES
CrossWind WINDSPRINT - PLATFORM FOR INDUSTRIAL DEVICES CrossWind is a source level, graphical, debugging front-end using an enhanced version of GDB as its debugging engine It allows two debugging strategies Task mode debugging One task runs under debug control, while other tasks are not affected CrossWind can either Attach to a running task, or Start a new task under debugger control System mode debugging Whenever a task hits a breakpoint, the whole system stops This is useful to debug tasks, interrupt service routines and pre-kernel execution For complex or unpredictable debugging needs, the command-line interface gives full access to a wealth of specialized debugging commands Copyright © Wind River Systems, Inc. Copyright © Wind River Systems, Inc Customer Education 34

35 WINDSPRINT - PLATFORM FOR INDUSTRIAL DEVICES
CrossWind WINDSPRINT - PLATFORM FOR INDUSTRIAL DEVICES Copyright © Wind River Systems, Inc. Copyright © Wind River Systems, Inc Customer Education 35

36 WINDSPRINT - PLATFORM FOR INDUSTRIAL DEVICES
WindView 2.2 WINDSPRINT - PLATFORM FOR INDUSTRIAL DEVICES WindView allows one to study dynamic interactions of all the elements of complex, real-time systems Copyright © Wind River Systems, Inc. Copyright © Wind River Systems, Inc Customer Education 36

37 WINDSPRINT - PLATFORM FOR INDUSTRIAL DEVICES
WindView 2.2 WINDSPRINT - PLATFORM FOR INDUSTRIAL DEVICES The WindView graph provides manageable access to important application information WindView allows Scrolling the information forward and backward in time Zooming in/out Tailoring the display to only focus on the tasks and events of interest Setting locks on certain events and searching for their successive occurrences Copyright © Wind River Systems, Inc. Copyright © Wind River Systems, Inc Customer Education 37

38 WINDSPRINT - PLATFORM FOR INDUSTRIAL DEVICES
WindView 2.2 Example WINDSPRINT - PLATFORM FOR INDUSTRIAL DEVICES Copyright © Wind River Systems, Inc. Copyright © Wind River Systems, Inc Customer Education 38

39 Problem Solving with WindView 2.2
WINDSPRINT - PLATFORM FOR INDUSTRIAL DEVICES WindView allows to Detect race conditions, deadlocks, CPU starvation and other problems related to task interaction Determine application responsiveness and performance See cyclic patterns in application behavior Conduct post-mortem analysis of failed systems Detect memory leaks Copyright © Wind River Systems, Inc. Copyright © Wind River Systems, Inc Customer Education 39

40 WINDSPRINT - PLATFORM FOR INDUSTRIAL DEVICES
Tornado and VxWorks WINDSPRINT - PLATFORM FOR INDUSTRIAL DEVICES Tornado-VxWorks Architecture The Real-Time, Multitasking OS Intertask Synchronization and Communication The Project Facility The Debugging Tools The Networking Stack Copyright © Wind River Systems, Inc. Copyright © Wind River Systems, Inc Customer Education 40

41 VxWorks Network Components
WINDSPRINT - PLATFORM FOR INDUSTRIAL DEVICES netDrv Target server NFS Application layer rlogin telnet rsh ftp RPC Application programming interface zbuf Sockets TCP UDP Transport layer IP Network layer PPP Shared Memory Network MUX Link layer Ethernet Copyright © Wind River Systems, Inc. Copyright © Wind River Systems, Inc Customer Education 41

42 Shared-Memory Backplane Network
WINDSPRINT - PLATFORM FOR INDUSTRIAL DEVICES This allows multiple processors to communicate over their common backplane as if they were communicating over a network by using a standard network driver host Ethernet vx3 vx2 vx1 Shared-Memory Network Backplane (e.g. VME, PCI) Copyright © Wind River Systems, Inc. Copyright © Wind River Systems, Inc Customer Education 42

43 MUX – The Network Driver Interface
WINDSPRINT - PLATFORM FOR INDUSTRIAL DEVICES This interface decouples the link layer and the network layer The network protocol does not need to be modified when adding new network dirvers A new network protocol can be added without modifying the existing MUX-based network driver interfaces Copyright © Wind River Systems, Inc. Copyright © Wind River Systems, Inc Customer Education 43

44 WINDSPRINT - PLATFORM FOR INDUSTRIAL DEVICES
TCP/IP Protocol Suite WINDSPRINT - PLATFORM FOR INDUSTRIAL DEVICES Based on the 4.4 BSD TCP/IP release, the TCP/IP protocol suite comprises UDP – User Datagram Protocol Low-overhead delivery mechanism of datagrams, used by several applications like BOOTP, DHCP, DNS, TFTP, ... TCP – Transmission Control Protocol Reliable, end-to-end transmission mechanism, used by Telnet, Rlogin, FTP, ... IP – Internet Protocol Hop-by-hop protocol to transmit datagrams ICMP – Internet Control Messagge Protocol Reports unexpected events in data transfer, used by ping IGMP – Internet Group Management Protocol Used to support multicasting Copyright © Wind River Systems, Inc. Copyright © Wind River Systems, Inc Customer Education 44

45 WINDSPRINT - PLATFORM FOR INDUSTRIAL DEVICES
Sockets WINDSPRINT - PLATFORM FOR INDUSTRIAL DEVICES Sockets allow processes to communicate within a single CPU, across an Ethernet, across a backplane or across any connected combination of networks VxWorks provides BSD Sockets Datagram Sockets (UDP) Stream Sockets (TCP) Raw Sockets Zbuf Sockets An alternative set of sockets based on a data abstraction called zbuf, zero-copy buffer Applications can read and write BSD sockets without copying data between application buffers and network buffers Copyright © Wind River Systems, Inc. Copyright © Wind River Systems, Inc Customer Education 45

46 Remote Access Applications
WINDSPRINT - PLATFORM FOR INDUSTRIAL DEVICES RSH – Remote Command Execution Allows a VxWorks application to run commands on a remote system and receive the command results on standard output and error over socket connection Only the client side implementation is provided A server running on the remote system is assumed FTP – File Transfer Protocol Both client and server applications are provided NFS – Network File System Server component A target running VxWorks act as a file server for any system that runs an NFS client Client component A target running VxWorks can mount a remote file system Copyright © Wind River Systems, Inc. Copyright © Wind River Systems, Inc Customer Education 46

47 Remote Access Applications (cont’d)
WINDSPRINT - PLATFORM FOR INDUSTRIAL DEVICES TFTP – Trivial File Transfer Protocol Client and Server applications are provided Unlike FTP or RSH, TFTP does not require any authentication Rlogin – Remote Login On a VxWorks terminal, rlogin( ) gives users the ability to log in to remote systems on the network The remote login daemon, rlogind( ), allows remote users to log in to VxWorks Telnet The server application only is provided RPC – Remote procedure call RPC implements a client-server model of task interaction A client requests a remote service from a server and waits for a reply Copyright © Wind River Systems, Inc. Copyright © Wind River Systems, Inc Customer Education 47

48 WINDSPRINT - PLATFORM FOR INDUSTRIAL DEVICES
DNS and SNTP WINDSPRINT - PLATFORM FOR INDUSTRIAL DEVICES DNS – Domain Name System DNS is a distributed database used by TCP/IP applications that maps hostnames to IP addresses SNTP – Simple Network Time Protocol Client and server components are provided The client is normally used to maintain its system internal clock accuracy based on time values reported by one or more servers The server provides time information to other systems Copyright © Wind River Systems, Inc. Copyright © Wind River Systems, Inc Customer Education 48

49 BOOTP – Bootstrap Protocol
WINDSPRINT - PLATFORM FOR INDUSTRIAL DEVICES The BOOTP server Retrieves boot information from the Bootp Database (bootptab) Supplies an Internet host with an IP address and related configuration information The IP address is permanently assigned The BOOTP client Uses broadcasts to discover an appropriate server Lets a target retrieve a set of boot parameters like an IP address and a filename of the bootable image Both client and server components are provided BOOTP is implemented on top of UDP To retrieve the bootable image, the target can use a file transfer program, such as TFTP, FTP, or RSH Copyright © Wind River Systems, Inc. Copyright © Wind River Systems, Inc Customer Education 49

50 DHCP – Dynamic Host Configuration Protocol
WINDSPRINT - PLATFORM FOR INDUSTRIAL DEVICES Like BOOTP, DHCP allows the permanent allocation of configuration parameters to specific clients However, DHCP also supports the assignment of a network address for a finite lease period VxWorks includes a DHCP client, server, and relay agent The client can retrieve one or more sets of configuration parameters from either a DHCP or BOOTP server The server can process both BOOTP and DHCP messages The DHCP relay agent provides forwarding of DHCP and BOOTP messages across subnet boundaries Copyright © Wind River Systems, Inc. Copyright © Wind River Systems, Inc Customer Education 50

51 WINDSPRINT - PLATFORM FOR INDUSTRIAL DEVICES
IP Routing WINDSPRINT - PLATFORM FOR INDUSTRIAL DEVICES If the destination is directly connected to the sender (e.g., a point-to-point link) or on a shared network (e.g., Ethernet), then IP datagrams are sent directly to the destination Otherwise, the sender sends the IP datagrams to a default router, and lets the router deliver them to destination Each router maintains a routing table, which is used to deliver the IP datagrams to either A local IP address, for a direct route, or The next-hop router IP address, for an indirect route Copyright © Wind River Systems, Inc. Copyright © Wind River Systems, Inc Customer Education 51

52 Dynamic Routing Protocols
WINDSPRINT - PLATFORM FOR INDUSTRIAL DEVICES Dynamic routing occurs when routers talk to adjacent routers, informing each other of what network each router is connected to Entries in the routing tables change dynamically as routes change over time The Routing Information Protocol (RIP) is provided with VxWorks This is intended for small to medium-sized networks The longest path must be less than 16 hops It uses a distance-vector protocol It contains a vector of distances as the hop count RIP version 1 and 2 are supported Copyright © Wind River Systems, Inc. Copyright © Wind River Systems, Inc Customer Education 52

53 WINDSPRINT - PLATFORM FOR INDUSTRIAL DEVICES
Summary WINDSPRINT - PLATFORM FOR INDUSTRIAL DEVICES Tornado’s three components VxWorks, real-time, multitasking operating system Priority-based, preemptive scheduling algorithm Intertask synchronization and communication services Project facility and debugging tools Bootable and downloadable projects Networking Connects hosts and targets during development and debugging TCP/IP stack Rich set of network applications and protocols Copyright © Wind River Systems, Inc. Copyright © Wind River Systems, Inc Customer Education 53

54 WINDSPRINT - PLATFORM FOR INDUSTRIAL DEVICES
References WINDSPRINT - PLATFORM FOR INDUSTRIAL DEVICES Manuals available either in the Tornado on-line help, or via the Wind River Bookstore at: Tornado User’s Guide WindView User’s Guide and User’s Reference VxWorks Programmer’s Guide VxWorks OS Libraries VxWorks Network Programmer’s Guide Copyright © Wind River Systems, Inc. Copyright © Wind River Systems, Inc Customer Education 54


Download ppt "WINDSPRINT - PLATFORM FOR INDUSTRIAL DEVICES"

Similar presentations


Ads by Google