Sharing of Computer Resources
摘要
In stand-alone computing, the deepening of resource sharing has resulted in landmark achievements such as compilers, single-tasking operating systems, and multitasking operating systems. The compiler enables source code to be shared among multiple models of computers. Single-tasking operating systems enable multiple applications to share a computer. However, this type of sharing is primary, manifested as multiple applications being executed one by one. Multitasking operating systems enable multiple applications to execute concurrently. This chapter explains the execution characteristics of machine code, and how to concisely implement a single-tasking operating system and a multitasking operating system. The concurrent execution of multiple tasks has brought about a series of problems. The knowledge involved in solving these problems includes interrupt mechanisms, function calls, dynamic linking, process management, memory management, network management, module management, data sharing, code sharing, addressing modes, virtual memory, inter-process interaction, signaling, message queues, synchronous functions and asynchronous functions, and exception handling. This chapter explains the origins, causes, and consequences of these knowledge.