Reword, comma.

This commit is contained in:
linse 2017-09-16 18:03:19 -04:00
parent 6dd0b6d62b
commit afd52350b9

View file

@ -65,8 +65,8 @@ as boot parameter.
MirageOS is an event based operating system with asynchronous tasks. A task
yields the CPU once its execution is finished, or if it has to wait for IO.
This concurrency model leads to a cooperative multitasking programming style,
rather than the error prone preemptive multitasking where each code block needs
to make sure to use appropriate locking strategies, to avoid reentrant execution errors.
rather than the error prone preemptive multitasking, where each code block needs
to make sure to use appropriate locking strategies to avoid reentrant execution errors.
A recent example for code which is not safe under reentrant execution
[in Ethereum](http://hackingdistributed.com/2016/06/18/analysis-of-the-dao-exploit/)
@ -86,9 +86,8 @@ An example for corrupting the page table is [Xen's XSA-182](http://xenbits.xen.o
### Simple library model with localized reasoning
As stated above, a MirageOS unikernel is much smaller than a comparable UNIX
virtual machine, since only the required libraries are linked into the virtual
machine image. By avoiding superfluous code we decrease the attack surface
A MirageOS unikernel is much smaller than a comparable UNIX
virtual machine. By avoiding superfluous code we decrease the attack surface
immensly.
As example, the lines of code of the [Bitcoin Piñata](/Projects/Pinata) compared