diff --git a/input/chapter04/chapter04.xml b/input/chapter04/chapter04.xml index c8d309d..aefb7aa 100644 --- a/input/chapter04/chapter04.xml +++ b/input/chapter04/chapter04.xml @@ -812,7 +812,7 @@ run next. All possible tasks are kept on a run queue, which is simply a linked list of processes which the kernel knows are in a "runnable" state (i.e. not waiting on disk activity or otherwise asleep). The problem arises -that to calculate the next process to run, every possible runnable +when to calculate the next process to run, every possible runnable process must have its goodness calculated and the one with the highest goodness ``wins''. You can see that for more tasks, it will take longer and longer to decide which processes will run next. diff --git a/input/chapter06/chapter06.xml b/input/chapter06/chapter06.xml index 45c3728..cc8f054 100644 --- a/input/chapter06/chapter06.xml +++ b/input/chapter06/chapter06.xml @@ -103,7 +103,7 @@ The first step of compiling a source file to an executable file is converting the code from the high level, human understandable language to assembly code. We - know from previous chapters than assembly code works directly with + know from previous chapters that assembly code works directly with the instructions and registers provided by the processor. The compiler is the most complex step of process for a number of reasons. Firstly, humans are very unpredictable and