This preview shows page 1. Sign up to view the full content.
Unformatted text preview: d when the fork was called. When either of the processes performs any subsequent writes, the copy-on-write mechanism creates new pages, thus preserving the abstraction of a private address space for each process. 10.8.3 The execve Function Revisited
Virtual memory and memory mapping also play key roles in the process of loading programs into memory. Now that we understand these concepts, we can understand how the execve function really loads and executes programs. Suppose that the program running in the current process makes the following call to execve:
Execve("a.out", NULL, NULL); The excecve function loads and runs the program contained in the executable object ﬁle a.out within the current process, effectively replacing the current program with the a.out program. Loading and running a.out requires the following steps: ¯ ¯ Delete existing user areas. Delete the existing area structs in the user portion of the current process’s virtual address. Map private areas. Create new area structs for the text, data, bss, and stack areas of the new program. All...
View Full Document
This note was uploaded on 09/02/2010 for the course ELECTRICAL 360 taught by Professor Schultz during the Spring '10 term at BYU.
- Spring '10
- The American