On Tue, Nov 16, 1999 at 02:47:22PM -0700, [EMAIL PROTECTED] wrote:
> THANKS, Stuart and GN DeSouza for the table posted comparing RTL & RTAI in
> such a basic and cogent way!  A first question about it:
>         Under the column 486, RTL v2 with linux kernel 2.2.x reads "n" =>
> presumably meaning this does not run on 486's.  But is that true?  I've run
> miniRTL 2.0 derived directly from RTL 2.0, with kernel 2.2.13 on a Pentium I.   

The table  is not correct. We do great on 486s now. 

> 
> Either way, this table would be great in THE RT MANUAL, with a change in
> header(s) so as to include 586es.  I could help with the manual too, but
> again as noviate.
> 
> Dr. S.C.
> 
> 
> At 02:54 PM 16-11-1999 +0000, you wrote:
> >Hi Gloria,
> >
> >I have forwarded a table previously posted on the RTL list.
> >
> >Stuart.
> >
> >Glòria wrote:
> >> 
> >> Hello:
> >> 
> >> Is there any document about the differences betwen RTL and RTAI?
> >> 
> >> Thanks in advance.
> >> 
> >> 
> >> 
> >> --
> >> Glòria Hernández Ballester
> >> 
> >> e-mail:  [EMAIL PROTECTED]: [EMAIL PROTECTED]
> >Return-Path: [EMAIL PROTECTED]
> >Received: from rtlinux.cs.nmt.edu (rtlinux.cs.nmt.edu [129.138.6.62]) by
> hinge.mistral.co.uk (8.8.5/8.6.9) with ESMTP id TAA15859; Thu, 7 Oct 1999
> 19:46:31 +0100
> >Message-Id: <[EMAIL PROTECTED]>
> >Date: Thu, 7 Oct 1999 14:35:38 -0500 (EST)
> >From: Guilherme Nelson DeSouza <[EMAIL PROTECTED]>
> >Reply-To: Guilherme Nelson DeSouza <[EMAIL PROTECTED]>
> >Subject: [rtl] Table, API
> >To: [EMAIL PROTECTED]
> >MIME-Version: 1.0
> >Content-Type: TEXT/plain; charset=us-ascii
> >
> >Content-MD5: rhcKNx2XyqRpurLqxAPS+g==
> >
> >
> > Again, thanks to those who sent corrections/suggestions.
> > 
> > The table and API-differences below are getting smoother.
> >I hope it has converged to something useful to other people
> >in this list.
> >
> > As we all (probably) expected, the differences between RTL
> >and RTAI are NOT that many (refer to RTLv2 and RTAIv6). As
> >a matter of fact, in my opinion the "only" discussion in this
> >list should be around POSIX compliance, once that this should
> >be the common denominator and, at the same time, the unifier
> >between both implementations. Other than that there are some
> >"unimportant" details such as unified header files, similar
> >installations, etc. But yet, that should come naturally after.
> >
> >  
> >    Guilherme
> >    
> >    
> >---------------------------------------------------------------------------
> -------
> >|     | I | S | Sched.  | S |Po-  |pthre|F   | Shr| FP | GPL | Ker-  | 486
> | PPC |
> >|     | P | e |    |    | M | six |    -| I  | Mem|    |     |  nel  |
> |     |
> >|     | C | m |Per.| OS | P |     |ads  |  FO|    |    |     |       |
> |     |
> >-------------------|-------------------------------------------------------
> -------
> >|     |   |   |    |    |   |     |     |    |    |    |     |       |
> |     |
> >| RTL | o | o | w/ | w/ | n |  *  |  n  | y  | o  | y  |  y  | 2.0.x |  y
> |  n  |
> >| v1  |   |   |8254|8254|   |     |     |    |    |    |     |       |
> |     |
> >|     |   |   |    |    |   |     |     |    |    |    |     |       |
> |     |
> >---------------------------------------------------------------------------
> -------
> >|     |   |   |    | w/ |   |     |     |    |    |    |     |       |
> |     |
> >|     |   |   |    |8254|   |     |     |    |    |    |     |       |
> |     |
> >|     |   |   |    | +  |   |     |     |    |    |    |     |       |
> | in  |
> >|     |   |   | w/ |TSC |   |     |     |    |    |    |     |       |
> |     |
> >| RTL | o | o |    |    | y |  *  | **  | y  | o  | y  |  y  | 2.2.x |  n
> |deve-|
> >| v2  |   |   |8254|APIC|   |     |     |    |    |    |     |       |
> |     |
> >|     |   |   |    | in |   |     |     |    |    |    |     |       |
> |lopm.|
> >|     |   |   |    |SMP |   |     |     |    |    |    |     |       |
> |     |
> >|     |   |   |    |    |   |     |     |    |    |    |     |       |
> |     |
> >---------------------------------------------------------------------------
> -------
> >|     |   |   |    |8254|   |     |     |    |    |    |     |       |
> |     |
> >|     |   |   |    | in |   |     |     |    |    |    |     |       |
> |     |
> >|     |   |   |    |UP -|   |     |     |    |    |    |     |       |
> |     |
> >|     |   |   |    |SMP |   |     |     |    |    |    |     |       |
> |     |
> >|     |   |   | w/ | &  |   |     |     |    |    |    |     |       |  y
> |     |
> >| RTAI| y | y |    |MUP | y |  *  | **  | y  | o  | y  |  y  | 2.2.x |
> |  n  |
> >| v.6 |   |   |8254|    |   |     |     |    |    |    |     |       |(for
> |     |
> >|     |   |   |    |APIC|   |     |     |    |    |    |     |       |1
> CPU|     |
> >|     |   |   |    | in |   |     |     |    |    |    |     |
> |only)|     |
> >|     |   |   |    |SMP |   |     |     |    |    |    |     |       |
> |     |
> >|     |   |   |    | &  |   |     |     |    |    |    |     |       |
> |     |
> >|     |   |   |    |MUP |   |     |     |    |    |    |     |       |
> |     |
> >---------------------------------------------------------------------------
> -------
> >
> > y - embeded in the RT modules
> > n - not implemented
> > o - optional (it can be "insmod'ed" separately)
> > * - in RTAI, a POSIX lite API is implemented on top of the original API
> >     in RTL, the original API is implemented on top of a POSIX lite API.
> >** - RTAI - dynamic thread creation, conditional variables and priority
> >            inheritance mutex,
> >     RTL - static thread creation.
> >
> >
> >Original API comparison
> >=======================
> >
> >  What follows is a comparison btw the two original APIs (RTAI
> >and RTLv1). We are not listing the POSIX (lite) API present in
> >both recent releases of RTAI and RTL.
> >
> >
> >set up peridic mode
> >------------------                 
> >
> >RTL:
> >     RTIME task_ticks;
> >        task_ticks = (RT_TICKS_PER_SEC/FREQ);
> >     rtl_set_periodic_mode(task_ticks);
> >
> >RTAI:        
> >     RTIME task_ticks;
> >     rt_set_periodic_mode(void);
> >     task_ticks = nano2count(1000000000/FREQ)
> >        start_rt_timer(task_ticks)
> >
> >
> >Tell Linux you will be using the FPU
> >--------------------------------------        
> >
> >RTL:
> >        ??
> >
> >RTAI:
> >     rt_linux_use_fp(1)
> >
> >
> >initialise a task
> >-----------------
> >
> >RTL:
> >        rt_task_init(   RT_TASK *task,
> >                     void (*fn)(int),
> >                     int data,
> >                     int stack_size,
> >                     int priority )
> >
> >        If it uses the FPU, add:
> >
> >        rt_task_use_fp( RT_TASK *task, 1 )
> >
> >RTAI:
> >     rt_task_init(   RT_TASK *task,
> >                        void (*fn)(int),
> >                     int data,
> >                     int stack_size,
> >                     int priority,
> >                     int uses_fpu,
> >                     void (*signal)(void) )
> >                             
> >
> >
> >set a (periodic) task running
> >-----------------------------
> >
> >RTL/RTAI:
> >     
> >     rt_task_make_periodic( RT_TASK *task,
> >                             RTIME start_time_ticks,
> >                             RTIME period_ticks)
> >
> >
> >suspend a running task until the next tick
> >-------------------------------------------
> >
> >RTL:
> >     rt_task_wait(void)
> >
> >RTAI:
> >     rt_task_wait_period(void)
> >
> >
> >
> >cleanup/stop a task
> >--------------------
> >
> >RTAI:                stop_rt_timer(void)
> >RTL/RTAI:    rt_task_suspend(RT_TASK *task)
> >             rt_task_delete( RT_TASK *task)
> >  
> >
> >create a fifo
> >--------------
> >
> >RTL:
> >             rtf_create(unsigned int fifo, int fifo_size)
> >                       
> >RTAI:
> >             rtf_create_using_bh(unsigned int, int size, 0)
> >
> >NOTE: both can be used with the simple rtf_create, but the behaviour is
> >different.  Under RTAI, a user task will only be woken up at the next
> >run of schedule (this is an intended feature).  To get the same effect
> >of waking up as soon as possible, use the above code.
> >
> >
> >put data to a fifo
> >-------------------
> >
> >RTL/RTAI:
> >             rtf_put(unsigned int fifo, void *buf, int count)
> >
> >
> >get data from a fifo
> >----------------------
> >
> >RTL/RTAI:
> >             rtf_get(usigned int fifo, void *buf, int count)
> >
> >
> >
> >destroy a fifo
> >---------------
> >
> >RTL/RTAI:
> >             rtf_destroy(usigned int fifo)
> >
> >
> >
> >Filename comparison
> >===================
> >
> >Another problem is the name and location of files. This means that
> >Makefiles and code has to be changed to locate the different include
> >files. 
> >
> >Header names
> >-----------
> >
> >RTL:
> >     rtl_fifo.h, rtl_sched.h
> >
> >RTAI:
> >     rtai_fifos.h, rtai_sched.h
> >
> >Note: in addition you must also include rtai.h first for RTAI.
> >
> >
> >
> >
> >           -------------< G. N. DeSouza >-------------
> >           ---------< [EMAIL PROTECTED]>---------
> >           --< http://rvl1.ecn.purdue.edu/~gnelson >--
> >
> >
> >
> >
> >------------- End Forwarded Message -------------
> >
> >
> >
> >
> >           -------------< G. N. DeSouza >-------------
> >           ---------< [EMAIL PROTECTED]>---------
> >           --< http://rvl1.ecn.purdue.edu/~gnelson >--
> >
> >
> >
> >--- [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/
> >
> >
> 
> --- [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/
--- [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