Hello, I am just emailing with a list of some typos that I noticed when I read the project documentation a while back. These are very minor and hardly worth fixing and some aren't even true errors but just stylistic opinion, but I hope my mentioning them helps the project in some (very small) way. The erros are in square brackets in the list of notes below:
GENERAL OVERVIEW:
General overview : The high functional requirements and the broad range of existing hardware [let =>causes?] such a kernel grow huge. General overview : Each user application runs within a dedicated address space and [interact => interacts] in a safe, well-controlled manner with other user applications only via mechanisms provided by the kernel. General overview : Even though Genode allows for dynamic workload and arbitrarily structured process trees, the system remains [to behave => ""] deterministic.
------------------------
ARCHITECTURE:
Genode architecture documents :This correlation is [particular=>particularly] perturbing for todays commodity operating systems with their tremendous complexity. Goals and Challenges: Given the special liability of such an application, it is very carefully designed, low [complex=>complexity : This sentence could perhaps be reworded: "... it is very carefully designed to have low complexity and require as little infrastructure as possible."], and requires as little as possible infrastructure.
Interfaces and Mechanisms: The parent, in turn, can mediate such a service to [his=>its] other children. Interfaces and Mechanisms: is called by a child to request a connection to the specified service as known by [his=>its] parent whereas service_name is the name of the desired service interface. Interfaces and Mechanisms: Each parent can decide [upon=>""] itself whether to further announce services of their children to the outer world or not Interfaces and Mechanisms: Once a session [got=>is/has been?] established, its properties are fixed and cannot be changed.
Core:The only policy of core is the startup of the init process to which core grants all available resources[ to init=>""]. Core:To make the RAM session functional, it must be loaded with quota from another already existing RAM session, which we call [""=>the?] reference account. Core:On session construction, a file identifier must be specified as [""=>a] session argument using the tag filename. Core:For platforms that rely on I/O ports for device access, core's IO_PORT service enables [fain=>fine]-grained assignment of port ranges to individual processes. Core: The set_pager function registers the thread's pager whereas pager_cap (obtained by calling add_client at a RM session) refers to the RM session to be used as [""=>the] address-space layout Core: Once a new thread [got=>is/has been?] created from a CPU session, it can be assigned to the PD by calling:
Process creation: [ctc=>csc].set_pager(thread_cap, pager_cap); Process creation: [ctc=>csc].start(thread_cap, ip, sp);
Framework infrastructure: The special object IPC_REPLY_WAIT replies [""=>to] the request of the previous server-loop iteration with the message stored in snd_buf (ignored for the first iteration) and then waits for an incoming RPC request to be received in rcv_buf. Framework infrastructure: The interface of the server entrypoint [envisions=> ? : prehaps a better word here, unfortunately I can't really think of one. I would reword it slightly and use the word "provides"?] to attach multiple server activations to one and the same server entrypoint to enable the concurrent handling of multiple RPC requests.
-----------------------------------------
DEVELOPER RESOURCES:
How to start exploring Genode: If you now issue make again, you will see some additional targets such as init, nitpicker, timer, and fb_sdl [to be=>are] created. How to start exploring Genode: When specifying search locations for header files via the INC_DIR variable or for source [file=>files] via vpath, relative pathnames are illegal to use
Walking through the Genode demo scenario: The creation [of=>and] destruction of single processes as well as arbitrarily complex sub systems Walking through the Genode demo scenario: In Figure 3, you see an illustration of the current setup. At the very bottom, there are the kernel, core, and init. Init has started framebuffer, timer, input [Figure 3 doesn't have the input server], nitpicker, and launchpad as it children (note: on Linux, input and framebuffer are both contained in the fb_sdl process). Walking through the Genode demo scenario: When started, testnit tells us some status information. By further starting the program called nitlog, we create a new LOG service as [""=>a] child of launchpad. Walking through the Genode demo scenario: Init as the parent of scout again overrides this label [by=>with] the name of its immediate child from which the GUI request comes from
Creating your first Genode application: The Genode build system enables developers to create software in different repositories that don't need to [interfer=>interfere] with the rest of the Genode tree. Creating your first Genode application: [For=>A] client using the Hello service will invoke the service functions by using a session capability. Creating your first Genode application: This function is responsible for parsing the parameter string the client hands over to the server and [create=>creates] a Hello::Session_component object from these parameters.
Conventions for the Genode development: Each directory should contain a file called README that [shortly=>concisely/briefly?] explains what the directory is about. In doc/Makefile is a rule for generating an directory overview from the README files automatically. Conventions for the Genode development: In doc/Makefile is a rule for generating [an=>a] directory overview from the README files automatically.
----------------------------------------
API REFERENCE INDEX:
Base API: The PD [services is=>service is/services are] rarely used by applications directly. Base API: The heap can be used for anonymous memory allocation and is [""=>the] front end for allocating RAM dataspaces from the process' RAM session and attaching these dataspaces to the process' RM session. Base API: By default, the process environment holds one initial LOG session used as [""=>the] standard text-output facility. Base API: Most book-keeping tasks in Genode rely [in=>on] single-connected lists, which use the List template. Base API: Signals are communicated in a reliable fashion, which means that the exact number of signals submitted to a signal transmitter [is=>are?] communicated to the corresponding signal receiver. Base API: Timed sleep is rather [be=>"" : you could also perhaps replace "rather" with "instead"] provided by a server implementing a timer-device driver.
--------------------------------------
Hope this helps the project, Ross McGinnis
_________________________________________________________________ View photos of singles in your area Click Here http://a.ninemsn.com.au/b.aspx?URL=http%3A%2F%2Fdating%2Eninemsn%2Ecom%2Eau%...
Hello Ross,
Many thanks for your suggestions. We will incorporate them during our next documentation revision.
Greets