Re: replace a legacy proprietary RTOS (Real-Time executive) with NetBSD!
"Thirupathiah Annapureddy" <[email protected]> Mon, 12 Jan 2009 15:40:56 +0100
| Newsgroups | gmane.os.netbsd.ports.arm,gmane.os.netbsd.devel.kernel,gmane.os.netbsd.devel.embedded |
|---|---|
| Message-ID | <[email protected]> |
Hi, Thanks for the information. Few other specific questions: - Is there a message queue/mailbox mechanism inside the kernel for communication between two kernel tasks? or do we need to go for a custom implementation. - is there a semaphore implementation for usage from kernel space? I could see mutex(9), but not semaphore. - is there a kernel space timer APIs to handle addition of a soft timer, deletion, modification etc functions. - can the interrupts be field in the user-space in case we decide to port some of the device/IO access code to the user space to minimize the porting changes? Thanks in advance, Thiru On Sat, Jan 10, 2009 at 1:29 AM, Mindaugas Rasiukevicius <[email protected]> wrote: > Hello, > > "Thirupathiah Annapureddy" <[email protected]> wrote: >> Hi All, >> >> We are evaluating to replace a legacy proprietary RTOS (Real-Time >> executive) with NetBSD as one of the potential and leading candidates. >> >> ... >> >> - Although man pages are good, it is difficult to figure out the what >> kind of APIs it provides for a particular OS service for ex: >> synchronization and communication services, threading services on both >> the kernel and user side. Is there an architecture handbook that be >> quickly browsed to find out such info and later refer to the man pages >> for more info? > > While it would be nice to have a handbook (unfortunately, I do not know any), > manuals provide quite good and up-to-date documentation. Some man pages > describing common kernel interfaces, which may be a ground to start: > > mutex(9), rwlock(9), condvar(9), kpreempt(9) > spl(9), callout(9), softintr(9), kthread(9) > kmem_alloc(9), pool_cache(9) > > By the way, kernel preemption is currently supported only in x86. However, > since MI code is in the place, it should not be problematic to extend the > support to ARM and maybe other architectures. > > NetBSD mostly conforms to the POSIX standard (including its real-time > extensions), so user-level applications can follow it. > > Note that these interfaces (also relevant improvements for real-time > computing) are in upcoming 5.0 release and -current versions of NetBSD! > >> >> Thanks in advance >> Thiru > > -- > Best regards, > Mindaugas >