public inbox for ecos-discuss@sourceware.org
 help / color / mirror / Atom feed
* [ECOS] scheduler
@ 2001-05-14  3:54 mekala natarajan
  2001-05-14  5:58 ` Gary Thomas
  0 siblings, 1 reply; 2+ messages in thread
From: mekala natarajan @ 2001-05-14  3:54 UTC (permalink / raw)
  To: ecos-discuss

Hi,
   I have a doubt regarding scheduler.

i have two process one with higher priority and the
other with lower priority.

This is the example program which i used.


int main()
{
    xCreateProcess_i(xPclcpsSender_v,5,ZERO,0);
    xCreateProcess_i(xPclcpr_v,7,ZERO,0);

        mProcessId_i=xGetProcessId_i();
	xKillProcess_i(mProcessId_i);
}

void xPclcpr_v(void)
{
	while(1)
	{
	printf("\n Receiver process is created\n");
	xDelay_v(5);
	}
}

void xPclcpsSender_v(void)
{
	while(1)
	{
	printf("\n Sender process is created\n");
	xDelay_v(3);
	}
}

Output:
-------
     Sender process is created 
     Sender process is created
     receiver process is created
     Sender process is created
     Sender process is created
     receiver process is created
               ----
Why is this output. It is supposed to print Sender
process only once.

How the scheduler behaves here?

Can someone explain me?

Regards,
mekala










__________________________________________________
Do You Yahoo!?
Yahoo! Auctions - buy the things you want at great prices
http://auctions.yahoo.com/

^ permalink raw reply	[flat|nested] 2+ messages in thread

* RE: [ECOS] scheduler
  2001-05-14  3:54 [ECOS] scheduler mekala natarajan
@ 2001-05-14  5:58 ` Gary Thomas
  0 siblings, 0 replies; 2+ messages in thread
From: Gary Thomas @ 2001-05-14  5:58 UTC (permalink / raw)
  To: mekala natarajan; +Cc: ecos-discuss

On 14-May-2001 mekala natarajan wrote:
> Hi,
>    I have a doubt regarding scheduler.
> 
> i have two process one with higher priority and the
> other with lower priority.
> 
> This is the example program which i used.
> 
> 
> int main()
> {
>     xCreateProcess_i(xPclcpsSender_v,5,ZERO,0);
>     xCreateProcess_i(xPclcpr_v,7,ZERO,0);
> 
>         mProcessId_i=xGetProcessId_i();
>       xKillProcess_i(mProcessId_i);
> }
> 
> void xPclcpr_v(void)
> {
>       while(1)
>       {
>       printf("\n Receiver process is created\n");
>       xDelay_v(5);
>       }
> }
> 
> void xPclcpsSender_v(void)
> {
>       while(1)
>       {
>       printf("\n Sender process is created\n");
>       xDelay_v(3);
>       }
> }
> 
> Output:
> -------
>      Sender process is created 
>      Sender process is created
>      receiver process is created
>      Sender process is created
>      Sender process is created
>      receiver process is created
>                ----
> Why is this output. It is supposed to print Sender
> process only once.
> 

Why do you think this should be so?

> How the scheduler behaves here?
> 

I assume that xDelay_v() calls 'thread_sleep()' or some such similar
"blocking" function.

When the "receiver" process is sleeping (xDelay_v()), the "sender"
process will run, thus the printout.

> Can someone explain me?

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2001-05-14  5:58 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-05-14  3:54 [ECOS] scheduler mekala natarajan
2001-05-14  5:58 ` Gary Thomas

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).