'Yealds' - What does it mean exactly? (an online translation into German did not give me adequate help).
Note if you are searching, the correct spelling is "yield".
The camera OS is a multitasking OS like Windows or Linux.
Each "task" is similar to a process or thread on those operating systems. A bit more like a thread, since they share memory.
Only a single task can physically execute at a given time.
When a task yields, it means it stops executing and the OS can execute some other task.
CHDK runs in several different tasks: spytask is created specifically by CHDK, and we also run modified code in kbd_task, capt_seq_task and some others.
Could you also make this a littlebit more clear to me? What is a semaphore and an eventflag? Is it something I have to program or does it exists and I use it?
These are synchronization objects that exist in the Canon firmware. There are functions to use them in stubs_entry and the address list files. The recent FsIoNotify crash fixes in 1.3 uses a semaphore that already exists in the canon firmware.
Semaphores are a standard primitive used in many different systems, though the exact details may vary. See
http://en.wikipedia.org/wiki/Semaphore_%28programming%29Event flags is less standard terminology but
http://en.wikipedia.org/wiki/Event_flag should give you the right general idea. The stuff about specific bits etc doesn't apply to the camera OSes. Windows Event objects should be conceptually similar
http://msdn.microsoft.com/en-us/library/windows/desktop/ms682655%28v=vs.85%29.aspxTo understand the exact details of how to use them on the camera OSes, you need to look at the firmware disassembly.