Download Comparative Study on Real Time Enhanced Linux
Transcript
40 CHAPTER 2. KERNEL SPACE API pthread_exit pthread_setcanceltype pthread_setcancelstate pthread_cancel pthread_testcancel pthread_join pthread_kill pthread_cleanup_pop pthread_cleanup_push sysconf uname 2.3.2 POSIX signals The POSIX signals were developed in the framwork of the OCERA project at the university of Valencia (DISCA), there implementation is strictly POSIX oriented and a elaborate compliance test is included. As the POSIX signals incure a cirtain scheduler overhad for processing, they are provided as a compile time configuration option. The POSIX signals in RTLinux are implemented as a 32bit signal ‘register‘, a signal delivery means that a signal is marked in this 32bit value. When the scheduler is invokd it will, after selecting a task, check for any pending, non-blocked signals and process them if necessary. POSIX signals in RTLinux have a lazy delivery behavior, that is they will not call the scheduler to deliver signals imediatly on there own, if this behavior is anticipated then its up to the programmer to invoke the scheduler after having sent a signal to a thread. RTLinux signal handlers execute in the context of the thread that the signal is deliverd to (invocation after the context switch occurs). pthread_kill sigemptyset sigfillset sigaddset sigdelset sigismember sigaction sigprocmask