9.3. Sharing the operating system

In order that a process can easily make system calls to request system services, it is often arranged that the operating system code and data occupy the same part of every process's address space, typically one half of it. UNIX is structured in this way, as shown in Figure 9.2. When a process is executing in user mode it may be separate from all other processes (as in UNIX). When it requests system service by making a system call, it enters a region which is shared with all other processes. Operating system code accesses shared operating system data. When concurrent processes access shared data the problems of interference mentioned in Section 9.1.1 can arise.

Figure 9.2. UNIX structure.

Example

Figure 9.3 shows ...

Get Operating Systems: Concurrent and Distributed Software Design now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.