Commit a0eb8279 authored by Andrew Darqui's avatar Andrew Darqui
Browse files

Fixes a few typos and makes some grammar changes.

parent ad934ff8
Advantages of microkernels
==========================
There are quite a lot advantages (and disadvantages!) to microkernels, a few of which will be covered here.
There are quite a lot of advantages (and disadvantages!) to microkernels, a few of which will be covered here.
Modularity and customizability
------------------------------
......@@ -24,7 +24,7 @@ In other words: **in monolithic kernels, drivers can do whatever, without restri
Fewer crashes
-------------
When compared to microkernels, Monolithic kernels tend to be crash-prone. A crashed driver in a Monolithic kernel can crash the whole system whereas with a microkernel there is a separation of concerns which allows the system to handle any crashes safely.
When compared to microkernels, Monolithic kernels tend to be crash-prone. A crashed driver in a Monolithic kernel can crash the whole system whereas with a microkernel there is a separation of concerns which allows the system to handle any crash safely.
In Linux we often see errors with drivers dereferencing bad pointers which ultimately results in kernel panics.
......
......@@ -8,7 +8,7 @@ Resources are closely connected to schemes and are sometimes intertwined with sc
Resource operations
-------------------
A resource can be defined as a data type with following methods defined on it:
A resource can be defined as a data type with the following methods defined on it:
1. `read` - read N bytes to a buffer provided as argument. Defaults to `EBADF`
2. `write` - write a buffer to the resource. Defaults to `EBADF`.
......
......@@ -7,7 +7,7 @@ Schemes are named such that the kernel is able to uniquely identify them. This n
Schemes are a generalization of file systems. It should be noted that schemes do not necessarily represent normal files; they are often a "virtual file" (i.e., an abstract unit with certain operations defined on it).
Throughout the whole ecosystem of Redox schemes are used as the main communication primitive because they are a powerful abstraction. With schemes Redox can have one unified I/O interface.
Throughout the whole ecosystem of Redox, schemes are used as the main communication primitive because they are a powerful abstraction. With schemes Redox can have one unified I/O interface.
Schemes can be defined both in user space and in kernel space but when possible user space is preferred.
......@@ -68,7 +68,7 @@ The kernel provides a small number of schemes in order to support userspace.
</tr>
<tr>
<td><code>zero:</code></td>
<td>Scheme that will discard all writes, and always fill read buffers with zero</td>
<td>Scheme that will discard all writes, and always fill read buffers with zeroes</td>
<td><a href="https://doc.redox-os.org/kernel/kernel/scheme/zero/index.html">Docs</a></td>
</tr>
</table>
......
......@@ -25,7 +25,7 @@ Opening a URL
Opening URLs happens through the `OPEN` system call. `OPEN` takes a C-like, null-terminating string, and two pointer-sized integers, keeping the open flags and the file mode, respectively.
The path argument of `OPEN` do not have to be an URL. For compatibility reasons, it will default to the `file:` scheme. If otherwise specified, the scheme will be resolved by the registrar (see [The root scheme]), and then opened.
The path argument of `OPEN` does not have to be an URL. For compatibility reasons, it will default to the `file:` scheme. If otherwise specified, the scheme will be resolved by the registrar (see [The root scheme]), and then opened.
> TODO
......
......@@ -5,7 +5,7 @@
By unifying the API in this way, you are able to have a consistent, clean, and flexible interface.
We can't really claim credits of this concept (beyond our exact design and implementation). The idea is not a new one and is very similar to _9P_ from _Plan 9_ by Bell Lab; a similar approach has been taken in Unix and its successors.
We can't really claim credits of this concept (beyond our exact design and implementation). The idea is not a new one and is very similar to _9P_ from _Plan 9_ by Bell Labs; a similar approach has been taken in Unix and its successors.
How it differs from "Everything is a file"
------------------------------------------
......
......@@ -15,7 +15,7 @@ The term is rather misleading, since a URL is just the identifier of a scheme an
So, how does it differ from files?
----------------------------------
You can think of URLs and segregated virtual file systems, which can be arbitrarily structured (they do not have to be tree-like) and arbitrarily defined by a program. Furthermore, "files" don't have to behave file-like! More on this later.
You can think of URLs as segregated virtual file systems, which can be arbitrarily structured (they do not have to be tree-like) and arbitrarily defined by a program. Furthermore, "files" don't have to behave file-like! More on this later.
It opens up a lot of possibilities.
> [... TODO]
......
......@@ -2,7 +2,7 @@
This chapter will be dedicated to exploring every aspect of a running Redox system, in gruesome detail.
We will start with the boot system, continuing to the shell and command-line utilities, moving on the the GUI, all while explaining where things happen, and how to change them.
We will start with the boot system, continuing to the shell and command-line utilities, moving on to the GUI, all while explaining where things happen, and how to change them.
Redox is meant to be an *insanely* customizable system, allowing a user to tear it down to a very small command-line distro, or build it up to a full desktop environment with ease.
......
......@@ -25,7 +25,7 @@ Writing commands without any help from the shell would be very exhausting and im
## 2. A scripting language
Ion can also be used to write simple scripts for common tasks or system configuration after startup. It is not meant as fully-featured programming language, but more like a glue to connect other programs together.
Ion can also be used to write simple scripts for common tasks or system configuration after startup. It is not meant as a fully-featured programming language, but more like a glue to connect other programs together.
### Relation to terminals
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment