'Under Graduate School/운영체제(OS)'에 해당되는 글 3건
보안 관련 사이트 모음 :: 2007/05/04 13:40
- 안랩 V스쿨 http://cafe.naver.com/vgeneration
- 웹보안의 모든것 http://blog.naver.com/citsoft
운영체제 CPU 스케쥴링 :: 2007/04/17 15:59
Operating Systems Chapter1 Exercises :: 2007/03/18 10:54
1.1 In a multiprogramming and time-sharing environment, several users
share the system simultaneously. This situation can result in various
security problems.
a. What are two such problems?
b. Can we ensure the same degree of security in a time-shared machine
as in a dedicated machine? Explain your answer.
Answer:
a. Stealing or copying one’s programs or data; using system resources
(CPU, memory, disk space, peripherals) without proper
accounting.
b. Probably not, since any protection scheme devised by humans
can inevitably be broken by a human, and the more complex
the scheme, the more difficult it is to feel confident of its correct
implementation.
1.2 The issue of resource utilization shows up in different forms in different
types of operating systems. List what resources must be managed
carefully in the following settings:
a. Mainframe or minicomputer systems
b. Workstations connected to servers
c. Handheld computers
Answer:
a. Mainframes:memory and CPU resources, storage, network bandwidth.
b. Workstations: memory and CPU resouces
c. Handheld computers: power consumption, memory resources.
1.3 Under what circumstances would a user be better off using a timesharing
system rather than a PC or single-user workstation?
Answer: When there are few other users, the task is large, and the
hardware is fast, time-sharingmakes sense. The full power of the system
can be brought to bear on the user’s problem. The problemcan be solved
faster than on a personal computer. Another case occurs when lots of
other users need resources at the same time.
A personal computer is best when the job is small enough to be executed
reasonably on it and when performance is sufficient to execute the
program to the user’s satisfaction.
1.4 Which of the functionalities listed below need to be supported by the
operating system for the following two settings: (a) handheld devices
and (b) real-time systems.
a. Batch programming
b. Virtual memory
c. Time sharing
Answer: For real-time systems, the operating system needs to support
virtualmemory and time sharing in a fair manner. For handheld systems,
the operating system needs to provide virtual memory, but does not
need to provide time-sharing. Batch programming is not necessary in
both settings.
1.5 Describe the differences between symmetric and asymmetric multiprocessing.
What are three advantages and one disadvantage of multiprocessor
systems?
Answer: Symmetric multiprocessing treats all processors as equals, and
I/O can be processed on any CPU. Asymmetric multiprocessing has one
master CPU and the remainder CPUs are slaves. The master distributes
tasks among the slaves, and I/O is usually done by the master only.
Multiprocessors can save money by not duplicating power supplies,
housings, and peripherals. They can execute programs more quickly
and can have increased reliability. They are also more complex in both
hardware and software than uniprocessor systems.
Exercises 3
1.6 How do clustered systems differ from multiprocessor systems? What is
required for two machines belonging to a cluster to cooperate to provide
a highly available service?
Answer: Clustered systems are typically constructed by combining
multiple computers into a single system to perform a computational
task distributed across the cluster. Multiprocessor systems on the other
hand could be a single physical entity comprising of multiple CPUs. A
clustered system is less tightly coupled than a multiprocessor system.
Clustered systems communicate using messages, while processors in a
multiprocessor system could communicate using shared memory.
In order for twomachines to provide a highly available service, the state
on the two machines should be replicated and should be consistently
updated. When one of the machines fail, the other could then take-over
the functionality of the failed machine.
1.7 Distinguish between the client–server and peer-to-peer models of distributed
systems.
Answer: The client-server model firmly distinguishes the roles of the
client and server. Under this model, the client requests services that are
provided by the server. The peer-to-peer model doesn’t have such strict
roles. In fact, all nodes in the system are considered peers and thus may
act as either clients or servers - or both. A node may request a service
from another peer, or the node may in fact provide such a service to
other peers in the system.
For example, let’s consider a system of nodes that share cooking recipes.
Under the client-server model, all recipes are stored with the server. If
a client wishes to access a recipe, it must request the recipe from the
specified server. Using the peer-to-peer model, a peer node could ask
other peer nodes for the specified recipe. The node (or perhaps nodes)
with the requested recipe could provide it to the requesting node. Notice
how each peer may act as both a client (i.e. it may request recipes) and
as a server (it may provide recipes.)
1.8 Consider a computing cluster consisting of twonodes running adatabase.
Describe two ways in which the cluster software can manage access to
the data on the disk. Discuss the benefits and disadvantages of each.
Answer: Consider the following two alternatives: asymmetric clustering
and parallel clustering. With asymmetric clustering, one host runs
the database application with the other host simply monitoring it. If
the server fails, the monitoring host becomes the active server. This is
appropriate for providing redundancy. However, it does not utilize the
potential processing power of both hosts. With parallel clustering, the
database application can run in parallel on both hosts. The difficulty
implementing parallel clusters is providing some form of distributed
locking mechanism for files on the shared disk.
1.9 How are network computers different from traditional personal computers?
Describe some usage scenarios in which it is advantageous to
use network computers.
Answer: A network computer relies on a centralized computer for
most of its services. It can therefore have a minimal operating system
to manage its resources. A personal computer on the other hand has
to be capable of providing all of the required functionality in a standalonemanner
without relying on a centralized manner. Scenarios where
administrative costs are high and where sharing leads to more efficient
use of resources are precisely those settings where network computers
are preferred.
1.10 What is the purpose of interrupts? What are the differences between a
trap and an interrupt? Can traps be generated intentionally by a user
program? If so, for what purpose?
Answer: An interrupt is a hardware-generated change-of-flow within
the system. An interrupt handler is summoned to deal with the cause
of the interrupt; control is then returned to the interrupted context and
instruction. A trap is a software-generated interrupt. An interrupt can
be used to signal the completion of an I/O to obviate the need for device
polling. A trap can be used to call operating system routines or to catch
arithmetic errors.
1.11 Direct memory access is used for high-speed I/O devices in order to
avoid increasing the CPU´s execution load.
a. How does the CPU interface with the device to coordinate the
transfer?
b. How does the CPU know when the memory operations are complete?
c. The CPU is allowed to execute other programs while the DMA
controller is transferring data. Does this process interfere with
the execution of the user programs? If so, describe what forms of
interference are caused.
Answer: The CPU can initiate a DMA operation by writing values
into special registers that can be independently accessed by the device.
The device initiates the corresponding operation once it receives a command
from the CPU. When the device is finished with its operation, it
interrupts the CPU to indicate the completion of the operation.
Both the device and the CPU can be accessing memory simultaneously.
The memory controller provides access to the memory bus in a fair
manner to these two entities. A CPU might therefore be unable to issue
memory operations at peak speeds since it has to compete with the
device in order to obtain access to the memory bus.
1.12 Some computer systems do not provide a privileged mode of operation
in hardware. Is it possible to construct a secure operating system for
these computer systems? Give arguments both that it is and that it is not
possible.
Answer: An operating system for a machine of this type would need to
remain in control (or monitor mode) at all times. This could be accomplished
by two methods:
a. Software interpretation of all user programs (like some BASIC,
Java, and LISP systems, for example). The software interpreter
would provide, in software, what the hardware does not provide.
Exercises 5
b. Require meant that all programs be written in high-level languages
so that all object code is compiler-produced. The compiler
would generate (either in-line or by function calls) the protection
checks that the hardware is missing.
1.13 Give two reasons why caches are useful.What problems do they solve?
What problems do they cause? If a cache can be made as large as the
device for which it is caching (for instance, a cache as large as a disk),
why not make it that large and eliminate the device?
Answer: Caches are useful when two or more components need to exchange
data, and the components perform transfers at differing speeds.
Caches solve the transfer problem by providing a buffer of intermediate
speed between the components. If the fast device finds the data it needs
in the cache, it need not wait for the slower device. The data in the cache
must be kept consistent with the data in the components. If a component
has a data value change, and the datum is also in the cache, the cache
must also be updated. This is especially a problem on multiprocessor
systemswhere more than one process may be accessing a datum.Acomponent
may be eliminated by an equal-sized cache, but only if: (a) the
cache and the component have equivalent state-saving capacity (that is,
if the component retains its data when electricity is removed, the cache
must retain data as well), and (b) the cache is affordable, because faster
storage tends to be more expensive.
1.14 Discuss, with examples, how the problem of maintaining coherence of
cached data manifests itself in the following processing environments:
a. Single-processor systems
b. Multiprocessor systems
c. Distributed systems
Answer: In single-processor systems, the memory needs to be updated
when a processor issues updates to cached values. These updates can be
performed immediately or in a lazy manner. In amultiprocessor system,
different processors might be caching the same memory location in its
local caches. When updates are made, the other cached locations need to
be invalidated or updated. In distributed systems, consistency of cached
memory values is not an issue. However, consistency problems might
arise when a client caches file data.
1.15 Describe a mechanism for enforcing memory protection in order to prevent
a program from modifying the memory associated with other programs.
Answer: The processor could keep track of what locations are associated
with each process and limit access to locations that are outside
of a program’s extent. Information regarding the extent of a program’s
memory could be maintained by using base and limits registers and by
performing a check for every memory access.
1.16 What network configuration would best suit the following environments?
6 Chapter 1 Introduction
a. A dormitory floor
b. A university campus
c. A state
d. A nation
Answer:
a. A dormitory floor - A LAN.
b. A university campus - A LAN, possible a WAN for very large
campuses.
c. A state - AWAN.
d. A nation - A WAN.
1.17 Define the essential properties of the following types of operating systems:
a. Batch
b. Interactive
c. Time sharing
d. Real time
e. Network
f. Parallel
g. Distributed
h. Clustered
i. Handheld
Answer:
a. Batch. Jobs with similar needs are batched together and run
through the computer as a group by an operator or automatic
job sequencer. Performance is increased by attempting to keep
CPU and I/O devices busy at all times through buffering, off-line
operation, spooling, andmultiprogramming. Batch is good for executing
large jobs that need little interaction; it can be submitted
and picked up later.
b. Interactive. This system is composed of many short transactions
where the results of the next transaction may be unpredictable.
Response time needs to be short (seconds) since the user submits
and waits for the result.
c. Time sharing. This systems uses CPU scheduling and multiprogramming
to provide economical interactive use of a system. The
CPU switches rapidly from one user to another. Instead of having
a job defined by spooled card images, each program reads its next
control card from the terminal, and output is normally printed
immediately to the screen.
d. Real time. Often used in a dedicated application, this system
reads information from sensors and must respond within a fixed
amount of time to ensure correct performance.
e. Network. Provides operating system features across a network
such as file sharing.
f. SMP. Used in systems where there are multiple CPU’s each running
the same copy of the operating system.Communication takes
place across the system bus.
g. Distributed.This system distributes computation among several
physical processors. The processors do not share memory or a
clock. Instead, each processor has its own local memory. They
communicate with each other through various communication
lines, such as a high-speed bus or local area network.
h. Clustered. A clustered system combines multiple computers into
a single system to perform computational task distributed across
the cluster.
i. Handheld. A small computer system that performs simple tasks
such as calendars, email, and web browsing. Handheld systems
differ from traditional desktop systemswith smallermemory and
display screens and slower processors.
1.18 What are the tradeoffs inherent in handheld computers?
Answer: Handheld computers are much smaller than traditional desktop
PC’s. This results in smaller memory, smaller screens, and slower
processing capabilities than a standard desktop PC. Because of these
limitations,most handhelds currently can perform only basic tasks such
as calendars, email, and simple word processing. However, due to their
small size, they are quite portable and, when they are equipped with
wireless access, can provide remote access to electronic mail and the
world wide web.




CPU 스케쥴링.pdf