STRIDE 3.0.01xx: Difference between revisions

From STRIDE Wiki
Jump to navigation Jump to search
No edit summary
Line 6: Line 6:
Based on customer requirements, in this release we have made significant changes to [[Integrating STRIDE#The STRIDE Runtime|STRIDE Runtime]] and [[Integrating STRIDE#The Platform Abstraction Layer (PAL)|PAL]].
Based on customer requirements, in this release we have made significant changes to [[Integrating STRIDE#The STRIDE Runtime|STRIDE Runtime]] and [[Integrating STRIDE#The Platform Abstraction Layer (PAL)|PAL]].


==Support for Multi-Process Target==
===Support for Multi-Process Target===
New routines and support have been added to Runtime and PAL to support multi-process target. Changes include implementation of shared memory, protecting using named Mutex objects, and usage of current process and thread IDs.
New routines and support have been added to Runtime and PAL to support multi-process target. Changes include implementation of shared memory, protecting using named Mutex objects, and usage of current process and thread IDs.


==Runtime Logging (Optional)==
===Runtime Logging (Optional)===
Runtime and PAL use a logging routine that can optionally be implemented in PAL.
Runtime and PAL use a logging routine that can optionally be implemented in PAL.


=Change Details=
=Change Details=
==Shared Memory==
===Shared Memory===
Pool and dynamic shared memory support has been implemented in Runtime. Runtime makes PAL calls to acquire shared memory and manages the memory according to runtime configurations set by user.  
Pool and dynamic shared memory support has been implemented in Runtime. Runtime makes PAL calls to acquire shared memory and manages the memory according to runtime configurations set by user.  


==Protection using Mutex==
===Protection using Mutex===
Runtime now uses named mutex objects to protect shared resources between multiple processors and threads. Runtime makes PAL calls to obtain and control mutex objects.
Runtime now uses named mutex objects to protect shared resources between multiple processors and threads. Runtime makes PAL calls to obtain and control mutex objects.



Revision as of 00:31, 22 May 2008

This page documents the changes in Version 2.1.0301 of STRIDE (code name StoneSteps).

Please review this information before upgrading from an earlier version.

What's New

Based on customer requirements, in this release we have made significant changes to STRIDE Runtime and PAL.

Support for Multi-Process Target

New routines and support have been added to Runtime and PAL to support multi-process target. Changes include implementation of shared memory, protecting using named Mutex objects, and usage of current process and thread IDs.

Runtime Logging (Optional)

Runtime and PAL use a logging routine that can optionally be implemented in PAL.

Change Details

Shared Memory

Pool and dynamic shared memory support has been implemented in Runtime. Runtime makes PAL calls to acquire shared memory and manages the memory according to runtime configurations set by user.

Protection using Mutex

Runtime now uses named mutex objects to protect shared resources between multiple processors and threads. Runtime makes PAL calls to obtain and control mutex objects.

PAL

New Routines

  • Shared Memory Management

Recommended approach is to use Memory-Mapped Files to implement shared memory.

palOpenSharedMem - Open/Create shared memory segment 
palCloseSharedMem - Close shared memory segment
  • Named Mutexes
palMutexInit - Initialize a mutex object
palMutexDestroy - Destroy a mutex object
palMutexLock - Lock a mutex object
palMutexUnlock - Unlock a mutex object
  • Task Synchronization
palGetThreadId - Get current thread Id
palGetProcessId - Get current process Id
palSleep - Suspend the execution of the current thread
  • Logging

This is optional.

palLog - Logging utility

Removed / Old Routines

palProtect
palUnprotect

Runtime

  • STRIDE Host Release 2.1.0301 is compatible with the Runtime versions 3.0.
  • To support multi-process target, significant changes have been made to runtime.
  • A new public routine, srUninit(), has been added to sr.h and srapi.c.
  • The following Runtime files have been modified:
sr.h
srapi.c
srconn.c
srconn.h
srib.c
srib.h
sribtr.c
sribtr.h
srmsgptr.c
srmsgptr.h
srmsgque.c
srmsgque.h
srmsgrt.c
srmsgrt.h
srmsgsub.c
srmsgsub.h
srstid.c
srstid.h
srsuid.c
srsuid.h
srtime.c
srtime.h
  • The following Runtime files have been added:
srmem.c
srmem.h

Migration to 2.1.0301

Recommended steps for migration from a previous version:

PAL

Runtime

Host-based TargetApps using s2shostapptrt library

  • Need to call routine HostAppSetMaster() before calling HostAppRun() from the process that starts the runtime thread srThread.