|
35 | 35 | \item It is also possible to connect segments of shared memory |
36 | 36 | (\texttt{shm\_open}) or files (\texttt{mmap}) into the address space. |
37 | 37 | \item The text is shared between all processes which execute the same code. |
38 | | -The data segment and stack are private for each process. |
| 38 | +The~data segment and stack are private for each process. |
39 | 39 | \item Each system can use a different layout of a process address space |
40 | 40 | (and typically it is indeed so). See the next slide which also shows |
41 | 41 | sections for \texttt{mmap} and \emph{heap}. |
|
54 | 54 | \item \emph{(User) stack} \dots{} local non-static variables, function |
55 | 55 | parameters (on certain architectures in certain modes - e.g. 32-bit x86), return |
56 | 56 | addresses. Each process has 2 stacks -- one for a user mode and another for |
57 | | -kernel mode. The user stack automatically grows according to its use (except |
| 57 | +kernel mode. The~user stack automatically grows according to its use (except |
58 | 58 | for threads where each thread has its own limited stack). |
59 | 59 | \item \emph{User area (u-area)} \dots{} contains process information used by |
60 | 60 | the kernel which is not needed when the process is swapped out to disk |
61 | 61 | (number of open files, signal handling settings, number of shared memory segments, |
62 | 62 | program arguments, environment variables, current working directory, etc.). |
63 | | -This area is accessible only to the kernel which will see just the area |
| 63 | +This~area is accessible only to the kernel which will see just the area |
64 | 64 | of a currently running process. The rest of the data needed even if the process |
65 | 65 | is not currently running or while swapped out to disk is stored in the |
66 | 66 | \texttt{proc} structure. \texttt{proc} structures for all processes are always |
|
0 commit comments