Some very minor typos in the documentation

ross mcginnis ross_mcginnis at ...16...
Mon Jul 27 06:42:58 CEST 2009

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 : 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. 


>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. 


>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. 


>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

More information about the users mailing list