Page 41 - DCAP103_Principle of operating system
P. 41
Principles of Operating Systems
Notes
Figure 1.10: Slave Processors
Private Private
memory Processor Processor memory
Processor Processor /O
Common memory /O
Memory
Multiple processors with unique access to This image depictsan ASMP system where only one
I
I
memory and /O. processor has direct access to /O.
1.10 Multitasking
An operating system that utilizes multitasking is one that allows more than one program to
run simultaneously. If that operating system has cooperative multitasking, it’s up to each
running program to yield control of system resources to allow the other running applications to
perform their chores. In other words, programs must cooperate. In a cooperative multitasking
environment, programs can be written such that they do not cooperate graciously—or even
such that they do not cooperate at all. A better method of implementing multitasking is for an
operating system to employ preemptive multitasking. In a preemptive multitasking environment
the operating system can, and does, preempt currently running applications.
With preemptive multitasking, the burden of passing control from one program to another
falls on the operating system rather than on running applications. The advantage is that no one
program can grab and retain control of system resources. If you have not already guessed, the
BeOS has preemptive multitasking. The BeOS microkernel (a low-level task manager discussed
later in this unit) is responsible for scheduling tasks according to priority levels. All tasks are
allowed use of a processor for only a very short time—three-thousandths of a second. If a
program does not completely execute a task in one such time-slice, it will pick up where it left
off the next time it regains use of a processor.
1.11 Distributed Systems
A network, in the simplest terms, is a communication path between two or more systems.
Distributed systems depend on networking for their functionality. By being able to
communicate, distributed systems are able to share computational tasks, and provide a rich
set of features to users.
Networks vary by the protocols used, the distances between nodes, and the transport media.
TCP/IP is the most common network protocol, although ATM and other protocols are in
widespread use. Likewise, operating-system support of protocols varies. Most operating systems
support TCP/IP, including the Windows and UNIX operating systems. Some systems support
proprietary protocols to suit their needs. To an operating system, a network protocol simply
needs an interface device-a network adapter, for example-with a device driver to manage it,
and software to package data in the communications protocol to send it and to unpackage it to
receive it. These concepts are discussed throughout the book.
Networks are typecast based on the distances between their nodes. A local-area network (LAN),
exists within a room, a floor, or a building. A wide-area network (WAN), usually exists between
buildings, cities, or countries. A global company may have a WAN to connect its offices,
worldwide. These networks could run one protocol or several protocols. The continuing advent
of new technologies brings about new forms of networks. For example, a metropolitan-area
34 LOVELY PROFESSIONAL UNIVERSITY