-
What is the difference between the code that was used to run programs in project 1 and project 2?
-
How does a user program (as a file on the disk) become a thread?
-
When you run the
args-nonetest, how come the user programs does not print anything? -
Change the *esp pointer to ignore command line args for now (change line 441 in process.c to
*esp = PHYS_BASE - 12;) and add an infinite loop to process_wait, what is the output now and why? -
In the previous question, we saw that a system call occurred. Trace
args.cand identify how the code reached thesyscall_handler.-
Which line in
args.ccalls functions that make a syscall? -
Where is the code on the user side that invokes the syscall using an interrupt (trap)?
-
-
Run the args-none user program with GDB and put a breakpoint at
syscall.cline 18. Continue the code to the breakpoint. Then using the ‘x’ command in GDB (usehelp xto view manual for the command), identify the items on the stack frame. You should refer to thewritesyscall specification in the project 2 handout.
