Hi Kaspar, 

Thanks for detailed mail. I understand design decisions. 

My concern was I ported my device(PsoC 5LP) correctly or not? 
Ipc_pingpong example is working on PsoC5LP well. So, I am on right way :)

Regards. 

Murat.

-----Original Message-----
From: devel [mailto:[email protected]] On Behalf Of Kaspar Schleiser
Sent: Tuesday, February 10, 2015 1:38 PM
To: RIOT OS kernel developers
Subject: Re: [riot-devel] Context Switching

Hi,

I think I didn't get that you're doing a new port. I was assuming that
general kernel initialization, task switching etc. was working (e.g., the
applications in test/ do what they're supposed to do.

On 02/09/15 19:33, Murat CAKMAK wrote:
> According to your explanations (Interrupting with ISR or higher 
> priority), RIOT works like as a single thread application.
This is a design philosophy of RIOT.

The main idea is that in an embedded OS, dividing the CPU into time slices
poses an addidional task switching (and thus power consumption) overhead
that is not needed if there's no user that needs the impression of things
happening at the same time.

> I would expect a context switch mechanism for a quantum value even if 
> threads have same priority.
... as it is being done on standard time-slicing schedulers like on most
preemptive operating systems.

But most applications spend most of their time waiting for either IO, a
timer, user input, ... Those apps will be preempted during their waiting
periods, yielding for other threads.

Your simple example (delaing, toggling an LED) will work as expected if the
delay function is changed into something that yields, as soon as the
scheduler is running correctly.

Only if you're busy-waiting, which is inefficient on any system, equally or
lower prioritized threads might starve.

That said, it is fairly easy to implement time-slice based task switching
for a given priority if it really should be needed for a specific
application.

Kaspar
_______________________________________________
devel mailing list
[email protected]
http://lists.riot-os.org/mailman/listinfo/devel

_______________________________________________
devel mailing list
[email protected]
http://lists.riot-os.org/mailman/listinfo/devel

Reply via email to