Re: [Xenomai-core] user and kernel space
Date: Sat, 31 Dec 2011 16:32:20 +0100 From: gilles.chanteperd...@xenomai.org To: jan0...@hotmail.de CC: xenomai-core@gna.org Subject: Re: [Xenomai-core] user and kernel space On 12/31/2011 12:18 PM, Jan-Erik Lange wrote: Hello, I have a question concerning user space and kernel space. I'm dealing with the native API and I read, that this API provides the same funtkions for both kernel and user space. When looking at the sourcecode of buffer.h for example, there I find a section called public interface. When looking at the function rt_buffer_create(); for example, how does the Implementation von this function in userspace differs to the implementation for this function kernel space? Or is it the same implementation for user and kernel space. For most services such as buffer services, user functions emit system calls which implementation in kernel-space use the corresponding kernel service. There are some exceptions such as mutexes implementation where we try hard to avoid system calls and so provide both a user-space implementation and a kernel-space implementation. Ok, but the names of the API function are the same for user and kernel space. How is it realized to take the implementation A for kernel space and the implementation B for userspace? Is this realzied in the linking process? Another exception is the __xn_rdtsc() function, which relies on most platforms on the same mechanism in user and kernel-space to access the machine high resolution counter, and so has an identical implementation. -- Gilles. ___ Xenomai-core mailing list Xenomai-core@gna.org https://mail.gna.org/listinfo/xenomai-core
Re: [Xenomai-core] user and kernel space
On 01/01/2012 01:56 PM, Jan-Erik Lange wrote: Date: Sat, 31 Dec 2011 16:32:20 +0100 From: gilles.chanteperd...@xenomai.org To: jan0...@hotmail.de CC: xenomai-core@gna.org Subject: Re: [Xenomai-core] user and kernel space On 12/31/2011 12:18 PM, Jan-Erik Lange wrote: Hello, I have a question concerning user space and kernel space. I'm dealing with the native API and I read, that this API provides the same funtkions for both kernel and user space. When looking at the sourcecode of buffer.h for example, there I find a section called public interface. When looking at the function rt_buffer_create(); for example, how does the Implementation von this function in userspace differs to the implementation for this function kernel space? Or is it the same implementation for user and kernel space. For most services such as buffer services, user functions emit system calls which implementation in kernel-space use the corresponding kernel service. There are some exceptions such as mutexes implementation where we try hard to avoid system calls and so provide both a user-space implementation and a kernel-space implementation. Ok, but the names of the API function are the same for user and kernel space. How is it realized to take the implementation A for kernel space and the implementation B for userspace? Is this realzied in the linking process? Yes, kernel and user-space are separated execution space, there is no possible confusion. -- Gilles. ___ Xenomai-core mailing list Xenomai-core@gna.org https://mail.gna.org/listinfo/xenomai-core
[Xenomai-core] user and kernel space
Hello, I have a question concerning user space and kernel space. I'm dealing with the native API and I read, that this API provides the same funtkions for both kernel and user space. When looking at the sourcecode of buffer.h for example, there I find a section called public interface. When looking at the function rt_buffer_create(); for example, how does the Implementation von this function in userspace differs to the implementation for this function kernel space? Or is it the same implementation for user and kernel space. Best regards Jan ___ Xenomai-core mailing list Xenomai-core@gna.org https://mail.gna.org/listinfo/xenomai-core
Re: [Xenomai-core] user and kernel space
On 12/31/2011 12:18 PM, Jan-Erik Lange wrote: Hello, I have a question concerning user space and kernel space. I'm dealing with the native API and I read, that this API provides the same funtkions for both kernel and user space. When looking at the sourcecode of buffer.h for example, there I find a section called public interface. When looking at the function rt_buffer_create(); for example, how does the Implementation von this function in userspace differs to the implementation for this function kernel space? Or is it the same implementation for user and kernel space. For most services such as buffer services, user functions emit system calls which implementation in kernel-space use the corresponding kernel service. There are some exceptions such as mutexes implementation where we try hard to avoid system calls and so provide both a user-space implementation and a kernel-space implementation. Another exception is the __xn_rdtsc() function, which relies on most platforms on the same mechanism in user and kernel-space to access the machine high resolution counter, and so has an identical implementation. -- Gilles. ___ Xenomai-core mailing list Xenomai-core@gna.org https://mail.gna.org/listinfo/xenomai-core