Thank you for the detailed explanation. I may have asked my question incorrectly.
If I choose POSIX_Init for RTEMS the Init process has a very low priority and if I use the normal (RTEMS) Init a very high priority. This does not fit in my opinion. Shouldn't the POSIX_Init - process have the prio 98 or so? Heinz > On 23. Feb 2021, at 15:17, Joel Sherrill <j...@rtems.org> wrote: > > > > On Tue, Feb 23, 2021 at 4:25 AM Heinz Junkes <jun...@fhi-berlin.mpg.de> wrote: > what I have just never understood > > POSIX Prio 2 ist LOW Priority > RTEMS Prio 1 is HIGH Priority > > In general, RTOS threading APIs tended to use 1 as a high priority. The RTEMS > Classic API based on pSOS+, VxWorks, and VRTX32 which preceded all those > all follow 1 is high priority model. > > POSIX calls for the opposite range. Not sure why. Interestingly, I had a > discussion > with the main kernel person for another RTOS about this in a standards > meeting > and he noted that although every implementation of POSIX threads we both knew > about does use low number as low priority, it is not as explicit in the POSIX > standard > as one would think. We have just all read the same text that way since POSIX > is > careful to say raises or lowers priority and the implication we all saw is > that the > numbers follow that languge. But at this point, the priorities run this way > for no > other reason than history and compatibility. For all I know, it may even be > baked > into the POSIX Compliance Test Suite. Any program with hard-coded numbers > certainly has it baked in. > > While I am beating this topic mercilessly, let me point out that POSIX only > calls > for a minimum of 32 priority levels. Portable programs cannot assume more. > And the default attribute set for all POSIX threading and synchronization > objects is implementation defined. Portable programs should always explicitly > set all attributes for pthreads, mutexes, etc. > > The RTOS choice probably reflects using a bitmap to represent if a thread > is present on the FIFO for each priority. This would make a bit index map > directly to priority in most cases. This design dates back to at least VMS > where you have 32 priority levels because you could scan 32 bits in a > single instruction. This was carried forward into Windows NT. > > THe diversity of choices reminded me of this quote from Andrew Tanenbaum: > > "The nice thing about standards is that there are so many of them to choose > from." > > In the end different people had an arbitrary decision and picked different > answers. Ada task priority is another set of choices. :) > > --joel > > > Heinz > > > > On 23. Feb 2021, at 09:17, Sebastian Huber > > <sebastian.hu...@embedded-brains.de> wrote: > > > > On 23/02/2021 08:36, Heinz Junkes wrote: > > > >> I would have a similar question ;-) > >> > >> What is the priority of the POSIX_Init - Task (as Posix-Prio)? > > There is no option to configure the priority of the POSIX initialization > > thread, so the default priority of 2 is used, see > > _POSIX_Threads_Default_attributes. > > > > -- > > embedded brains GmbH > > Herr Sebastian HUBER > > Dornierstr. 4 > > 82178 Puchheim > > Germany > > email: sebastian.hu...@embedded-brains.de > > phone: +49-89-18 94 741 - 16 > > fax: +49-89-18 94 741 - 08 > > > > Registergericht: Amtsgericht München > > Registernummer: HRB 157899 > > Vertretungsberechtigte Geschäftsführer: Peter Rasmussen, Thomas Dörfler > > Unsere Datenschutzerklärung finden Sie hier: > > https://embedded-brains.de/datenschutzerklaerung/ > > > > _______________________________________________ > devel mailing list > devel@rtems.org > http://lists.rtems.org/mailman/listinfo/devel
smime.p7s
Description: S/MIME cryptographic signature
_______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel