Right now any read past the first 12KB of a file requires reading a sector from an indirect block, waiting on an interrupt for the data, then issuing a read sector for the actual desired data.
Dsky will need a List to display labels of user text input and the resulting output. List items don't need to be uniform in size, and will be culled to only render the items visible.
Windows/libWindows was a placeholder. Yes this is kind of a waste of an issue, but it serves as searchable part of history to mark when the name change happened.
The way ShareMemory works right now is the sender knows the recipient's shared address and by sending the message to the service registry, the appropriate recipient page tables are modified whether the recipient accepts/knows or not. Change it so the owner of the memory to be shared initiates a share memory request with its owned memory address and the task id of the recipient, the service registry then forwards the request to the recipient on the owner's behalf and if the recipient accepts then only is the memory shared.
TextRenderer::layoutText uses face->glyph->{advance, metrics}.x whether or not the glyph is cached, but if the glyph is cached then face->glyph won't be the same as the cached glyph.
A number of new features in the works - a shell language, UI layout format ala XAML, perhaps logging and configuration files - will be based off of S-Expressions. So it is imperative that a functional parsing framework exists, and putting it in libSaturn is an easy way to make it accessible to all services/applications.
Apollo UI Layouts will be stored as text files formatted as s-expressions. Once the text has been loaded into a string, parse the string to get the s-expressions, and then walk through the s-expression tree to create all known containers and other ui elements.
The current heap is slow, and doesn't really support freeing memory. Add fixed-size bins with free lists for each size to optimize finding free chunks.
ReadStream takes a memory address to write to, as well as a max length. Then instead of fread issuing (dataSize / 512) separate ReadRequests, it would issue just one ReadStreamRequest. The VFS would wait until all the requested data is available, then memcpy the whole shebang into the buffer at once, and issue one response.
Now that the 64-bit rewrite is happening, Saturn needs a 32-bit loader to replace the old pre_kernel hacks. It will handle setting up the free physical page stacks and other low-level things, and ensure that the kernel starts in a stable and well-known state, or doesn't start at all and lets the user know why.
Commands are organized into different categories and have a unique shortcut, so for example one category could be Container [ (S)plit, (C)hange split]. Initially the text area would show: