Question: When a process makes a system call with arguments, e.g. retval= read(fd1, buf, cnt) many operating systems pass these arguments in registers, but xv6

When a process makes a system call with arguments, e.g. retval= read(fd1, buf, cnt) many operating systems 

When a process makes a system call with arguments, e.g. retval= read(fd1, buf, cnt) many operating systems pass these arguments in registers, but xv6 passes them in memory. Which of these statements is true? These arguments are passed on the user call stack, because the process cannot access the kernel stack until the system call instruction is executed, at which time arguments must be in their expected location These arguments are passed on the user call stack, because the process does not know which kernel stack will be used until after the system call instruction is executed O These arguments are placed in the process's kernel stack, so that they will be accessible from kernel code O These arguments are placed in the process's kernel stack by the system call instruction

Step by Step Solution

3.44 Rating (157 Votes )

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock

The image presents a multiplechoice question related to how arguments are passed during a system cal... View full answer

blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Programming Questions!