Implement fake stack and temporary timer change #26

Merged
ed1223 merged 4 commits from user-programs into system-calls 2024-11-06 16:57:10 +00:00

View File

@@ -18,6 +18,7 @@
#include "threads/palloc.h" #include "threads/palloc.h"
#include "threads/thread.h" #include "threads/thread.h"
#include "threads/vaddr.h" #include "threads/vaddr.h"
#include "devices/timer.h"
static thread_func start_process NO_RETURN; static thread_func start_process NO_RETURN;
static bool load (const char *cmdline, void (**eip) (void), void **esp); static bool load (const char *cmdline, void (**eip) (void), void **esp);
@@ -89,8 +90,12 @@ start_process (void *file_name_)
int int
process_wait (tid_t child_tid UNUSED) process_wait (tid_t child_tid UNUSED)
{ {
for (;;) /* As a temporary wait, waiting will just put the thread to sleep for one
barrier (); second (TIMER_FREQ = 100 ticks ~ 1 second). */
/* TODO: Implement process_wait () correctly. Remove the next line. */
timer_sleep (TIMER_FREQ);
return 0; /* TODO: Change this too */
} }
/* Free the current process's resources. */ /* Free the current process's resources. */