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/