Silberschatz, Galvin, & Gagne, 2009; Tanenbaum, 2008). The operating system manages the execution of these processes and controls their access to these interfaces and services.
Understanding how an operating system accomplishes this can best be achieved through examination of the major elements and technologies comprising the system, as well as an introduction to the problems and strategies involved in developing an operating system. The following sections of this lecture briefly introduce each of these topics. They will be explored in depth in successive course modules.
Process Management
Process management is required to manage the execution of multiple concurrent processes.
The operating system must be designed to enable multiple processes at the same time.
Since a CPU can run only one process at a time, process management must handle the scheduling and synchronization processes necessary for effective multitasking. Interprocess communication is complicated by the fact that processes do not actually execute simultaneously, but rather concurrently. This means that interprocess communications must be carefully synchronized. The operating system must be designed to ensure that process can access the resources without interfering with one another.
Memory Management
No process can be permitted to access a memory space that is allocated for exclusive use by another process. When multiple processes are running, each process has its memory allocation, and the operating system—usually with help from the hardware—must make sure that every process gets the memory it needs, and that no application can access memory in use by some other application. Moreover, the amount of memory required by the processes will often exceed what is physically available on the system. To remedy this, operating
IT
References: Bishop, M. (2003). Computer security: Art and Science. Boston, MA: Addison Wesley. Comer, D. (1984). Operating system design: The XINU approach. Englewood Cliffs, NJ: Prentice Hall. Custer, H. (1993). Inside Windows NT. Redmond, WA: Microsoft Press. Franklin, C., & Coustan, D. (2000, August 14). How operating systems work. Retrieved from http://computer.howstuffworks.com/operating-system1.htm Page, T. W., Weinstein, M. J., & Popek, G. J. (1985). Genesis: A distributed database operating system. Silberschatz, A., Galvin, P. B., & Gagne, G. (2009). Operating system concepts. Hoboken, NJ: John Wiley & Sons. Tanenbaum, A. (2008). Modern operating systems (3rd ed.). Upper Saddle River, NJ: Pearson.