On Wed, Jan 14, 2037 at 03:30:16AM -0500, Dean W. Anneser wrote:
> 
> >     This would also be helpful for people who want to be able to run
> > multiple copies of the same RT task.  At the recent RTLinux conference in
> > Orlando I ran into a guy who was running engine simulations.  He wanted to
> > be able to run two copies of the same code at the same time and examine
> > variables in each.  Obviously if they are global variables (and they are),
> > he will need some sort of namespace architecture to make this work.  Has
> > anyone given this any thought?

I'm not sure what this means. Can you explain? It makes little
sense to me to have global variables that are not global.

> 1) run N number of user applications (simulations or control code
> written in C and/or Fortran) in real-time, at different rates
> (typically 5/10/20/50 msec), across multiple cpus (it would be nice if

Not a problem.

> Linux had a notion of real-time priorities, so the only component that
> would have to run as a kernel module would be the frequency based
> scheduler) 

Use rtlinux_sigaction although I think this is not the best solution in
most cases.

> 2) provide the user "on the fly" r/w access to any statically defined
> parameter in any real-time user application, on any cpu for purposes
> of display, access from within test scripts, or binding to i/o channels

gbd, XDB, ...


> 3) need to provide a comprehensive namespace management scheme,
> whereby multiple copies of a single executable (with different process
> names like "left_engine" and "right_engine") may be run, and the user

That's easy.
      pthread_create(&p1,f ...)
      pthread_create(&p2,f, ... )

> is able to distinguish whether objects of the same name are one shared
> object, or different objects

This I don't understand.

> 4) define/delete/modify i/o channel attributes and bindings to
> parameters in simulation space, at any time

We don't have an i/o channel abstraction so this is an application 
problem.

> 
> 5) have a system that is self configuring at boot time -- i.e. no i/o
> process code needs to change when more i/o boards are added/removed

Easily solved in applications - I don't see how this involves the OS at all.

> 6) scale from small applications - where the number of simulation
> parameters are in the thousands, and the i/o channel counts are in the
> hundreds; to large applications - where the the parameter count can be
> greater than 100,000 and i/o points are greater than 2000

Application - the OS has no problem.

> 
> 7) provide a utility to walk the elf/dwarf user applications and
> extract parameter attributes of only the user defined static
> parameters, such as program, module, common (f77) or C struct,
> parameter name, parameter type, logical address, number of dimensions,
> upper/lower bounds of each dimension, etc...

gdb, nm, ...

> 
> 8) allow users to change their real-time applications without ever
> having to change or re-link the user interface or i/o process
> applications 

Sure.  This is done all the time on RTLinux now.

> 
> 
> We are doing all of this now on systems provided by Concurrent
> Computer Corp (formally Harris Computer Systems).  
> 
> One question I would like to ask for starters:  Short of looking at
> gdb source, how could I extract parameter attribute information from
> executables (to build a symboltable) -- I don't seen any mention of
> dwarf info as being available in RedHat 6.2 or 7.0.  The "nm" utility
> does not provide enough info.

see objdump.

> 
> -- 
> Dean W. Anneser
> Software Engineering Fellow
> Real-Time Test Systems
> Pratt & Whitney Aircraft 
> 400 Main St., m.s. 161-05
> East Hartford, CT  06108 
> email: [EMAIL PROTECTED] 
> phone: 860.565.9372    fax: 860.557.3482             
> "One test result is worth one thousand expert opinions" - Wernher von Braun

-- 
---------------------------------------------------------
Victor Yodaiken 
Finite State Machine Labs: The RTLinux Company.
 www.fsmlabs.com  www.rtlinux.com

-- [rtl] ---
To unsubscribe:
echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED]
---
For more information on Real-Time Linux see:
http://www.rtlinux.org/rtlinux/

Reply via email to