From da415702d27b66fd66e9c86665c83ad4389d3a30 Mon Sep 17 00:00:00 2001 From: "L.S. Cook" Date: Wed, 24 Feb 2016 07:10:33 -0800 Subject: [PATCH] doc: Minor edits needed on microkernel_fibers.rst General grammar edits: removed an "is is", added clarification, and removed Latin abbreviation as per style guide reqs. Change-Id: Ie9365dea2cdf27c107675487d4bf392711f4acb2 Signed-off-by: L.S. Cook --- doc/kernel/microkernel/microkernel_fibers.rst | 32 ++++++++++++------- 1 file changed, 20 insertions(+), 12 deletions(-) diff --git a/doc/kernel/microkernel/microkernel_fibers.rst b/doc/kernel/microkernel/microkernel_fibers.rst index 90f4edf8805..dc4ebae8498 100644 --- a/doc/kernel/microkernel/microkernel_fibers.rst +++ b/doc/kernel/microkernel/microkernel_fibers.rst @@ -6,16 +6,16 @@ Fiber Services Concepts ******** -A fiber is a lightweight, non-preemptible thread of execution that implements -a portion of an application's processing. It is is normally used when writing -device drivers and other performance critical work. +A :dfn:`fiber` is a lightweight, non-preemptible thread of execution that +implements a portion of an application's processing. Fiber-based services are +often used in device drivers and for performance-critical work. A microkernel application can use all of the fiber capabilities that are available to a nanokernel application; for more information see -:ref:`Nanokernel Fiber Services `. +:ref:`nanokernel_fibers`. While a fiber often uses one or more nanokernel object types to carry -out its work, it can also interact with microkernel events and semaphores +out its work, it also can interact with microkernel events and semaphores to a limited degree. For example, a fiber can signal a task by giving a microkernel semaphore, but it cannot take a microkernel semaphore. For more information see :ref:`microkernel_events` and :ref:`microkernel_semaphores`. @@ -28,12 +28,20 @@ Microkernel Server Fiber The microkernel automatically spawns a system thread, known as the *microkernel server* fiber, which performs most operations involving -microkernel objects; see :ref:`Microkernel Server `. +microkernel objects. The nanokernel scheduler decides which fibers +get scheduled and when; it will schedule the microkernel server fiber +when there are no fibers of a higher priority. -Both the fiber's stack size and scheduling priority can be configured, -using the :option:`MICROKERNEL_SERVER_STACK_SIZE` and -:option:`MICROKERNEL_SERVER_PRIORITY` configuration options, respectively. +By default, the microkernel server fiber has priority 0 (that is, +the highest priority). However, this can be changed. If you drop its +priority, the nanokernel scheduler will give precedence to other, +higher-priority fibers, such as time-sensitive device driver or +application fibers. -By default, the microkernel server has priority 0 (i.e. highest priority). -However, this can be changed so that the nanokernel scheduler gives precedence -to other fibers, such as time-sensitive device driver or application fibers. +Both the fiber's stack size and scheduling priority can be configured +with the :option:`MICROKERNEL_SERVER_STACK_SIZE` and +:option:`MICROKERNEL_SERVER_PRIORITY` configuration options, +respectively. + + +See also :ref:`microkernel_server`. \ No newline at end of file