From e88a8c4c379d721e9901752d440a05295087da11 Mon Sep 17 00:00:00 2001 From: manuel Date: Tue, 19 Jun 2012 01:44:56 +0200 Subject: implement page table and use it for lazy loading of segments --- proj0.txt | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) (limited to 'proj0.txt') diff --git a/proj0.txt b/proj0.txt index 24ea011..59a0d3c 100644 --- a/proj0.txt +++ b/proj0.txt @@ -35,9 +35,8 @@ Stallings, W. - Operating Systems struct thread: int64_t wakeup_tick ...absolute tick when to wake up the thread - timer.c: -static struct list wakeup_list ...list of processes waiting for an +static struct list wakeup_list ...list of processes waiting for an wakeup event and currently put to sleep ---- ALGORITHMS ---- @@ -62,7 +61,7 @@ Thus we can return as soon as the first thread doesn't need to get unblocked. >> A4: How are race conditions avoided when multiple threads call >> timer_sleep() simultaneously? -Each thread has its own variable for saving its sleep period +Each thread has its own variable for saving its sleep period therefore no race conditions arise while setting the latter. Furthermore during the access to the static wakup_list, interrupts are disabled to prevent thread preemption. @@ -131,12 +130,11 @@ strtok() uses global data, so it is unsafe in threaded programs such as kernels. execution with user privileges. Otherwise this could lead to a kernel oops or even worse code execution within the kernel. -* Outsourcing command separation from the kernel leads to a leaner +* Outsourcing command separation from the kernel leads to a leaner less complex kernel implementation and reduces the kernel workload - because tasks like searching for a command name in file system + because tasks like searching for a command name in file system can be delegated to the shell. - SURVEY QUESTIONS ================ @@ -161,4 +159,4 @@ the quarter. >> Any other comments? -It took us about 25 hours to complete this assignment. \ No newline at end of file +It took us about 25 hours to complete this assignment. -- cgit v1.2.3