操作系统概念(第七版_英文版)ch(2)

合集下载

操作系统概念第七版答案含编程代码

操作系统概念第七版答案含编程代码

solutions to the exercisesChapter 11.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 managedcarefully in the following settings: a. Mainframe or minicomputer systems b. Workstations connected to servers c. Handheld computersAnswer:a. Mainframes:memory and CPU resources, storage, network bandwidth.b. Workstations: memory and CPU resoucesc. 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. Anothe r 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 programmingb. Virtual memoryc. Time sharingAnswer: For real-time systems, the operating system needs to support virtual memory 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 usuallydone 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.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.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 orby 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 omponent 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 systemsb. Multiprocessor systemsc. Distributed systemsAnswer: 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 li mit 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?a. A dormitory floorb. A university campusc. A stated. A nationAnswer: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. Batchb. Interactivec. Time sharingd. Real timee. Networkf. Parallelg. Distributedh. Clusteredi. HandheldAnswer: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 munication 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 canperform 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.Chapter 22.1 The services and functions provided by an operating system can be divided into two main categories. Briefly describe the two categories and discuss how they differ. Answer: One class of services provided by an operating system is to enforce protection between different processes running concurrently in the system. Processes are allowed to access only thosememory locations that are associated with their address spaces. Also, processes are not allowed to corrupt files associated with other users. A process is also not allowed to access devices directly without operating system ntervention.The second class of services provided by an operating system is to provide new functionality that is not supported directly by the underlying hardware. Virtual memory and file systems are two such examples of new services provided by an operating system.2.2 List five services provided by an operating system that are designed to make it more convenient for users to use the computer system. In what cases it would be impossible for user-level programs to provide these services? Explain. Answer:•Program execution. The operating system loads the contents (or sections) of a file into memory and begins its execution. A user-level program could not be trusted to properly allocate CPU time.• I/O operations. Disks, tapes, serial lines, and other devices must be communicated with at a very low level. The user need only specify the device and the operation to perform on it, while the system converts that request into device- or controller-specific commands. User-level programs cannot be trusted to only access devices they should have access to and to only access them when they are otherwise unused.• File-system manipulation. There are many details in file creation, deletion, allocation, and naming that users should not have to perform. Blocks of disk space are used by files and must be tracked. Deleting a file requires removing the name file information and freeing the allocated blocks. Protections must also be checked to assure proper file access. User programs could neither ensure adherence to protection methods nor be trusted to allocate only free blocks and deallocate blocks on file deletion.• Communications. Message passing between systems requires mes sages be turned into packets of information, sent to the network controller,transmitted across a communications medium, and reassembled by the destination system. Packet ordering and data correction must take place. Again, user programs might not coordinate access to the network device, or they might receive packets destined for other processes. • Error detection. Error detection occurs at both the hardware and software levels.At the hardware level, all data transfers must be inspected to ensure that data have not been corrupted in transit. All data on media must be checked to be sure they have not changed since they were written to the media. At the software level, media must be checked for data consistency; for instance, do the number of allocated andunallocated blocks of storage match the total number on the device. There, errors are frequently process-independent (for instance, the corruption of data on a disk), so there must be a global program (the operating system) that handles all types of errors. Also, by having errors processed by the operating system, processes need not contain code to catch and correct all the errors possible on a system.2.3 Describe three general methods for passing parameters to the operating system. Answer:a. Pass parameters in registersb. Registers pass starting addresses of blocks of parametersc. Parameters can be placed, or pushed, onto the stack by the program, and popped off the stack by the operating system.2.4 Describe how you could obtain a statistical profile of the amount of time spent by a program executing different sections of its code.Discuss the importance of obtaining such a statistical profile.Answer: One could issue periodic timer interrupts and monitor what instructions or what sections of code are currently executing when the interrupts are delivered.A statistical profile of which pieces of code were active should be consistent with the time spent by the program in different sections of its code. Once such a statistical profile has been obtained, the programmer could optimize those sections of code that are consuming more of the CPU resources.2.5 What are the five major activities of an operating system in regard to file management?Answer:• The creation and deletion of files• The creation and delet ion of directories• The support of primitives for manipulating files and directories• The mapping of files onto secondary storage• The backup of files on stable (nonvolatile) storage media2.6 What are the advantages and disadvantages of using the same systemcall interface for manipulating both files and devices?Answer: Each device can be accessed as though it was a file in the file system. Since most of the kernel deals with devices through this file interface,it is relatively easy to add a new device driver by implementing the hardware-specific code to support this abstract file interface. Therefore,this benefits the development of both user program code, which can bewritten to access devices and files in the samemanner, and device driver code, which can be written to support a well-defined API. The disadvantage with using the same interface is that it might be difficult to capture the functionality of certain devices within the context of the file access API, thereby either resulting in a loss of functionality or a loss of performance. Someof this could be overcome by the use of ioctl operation that provides a general purpose interface for processes to invoke operations on devices.2.7 What is the purpose of the command interpreter? Why is it usually separate from the kernel? Would it be possible for the user to develop a new command interpreter using the system-call interface provided by the operating system?Answer: It reads commands from the user or from a file of commands and executes them, usually by turning them into one or more system calls. It is usually not part of the kernel since the command interpreter is subject to changes. An user should be able to develop a new command interpreter using the system-call interface provided by the operating system. The command interpreter allows an user to create and manage processes and also determine ways by which they communicate (such as through pipes and files). As all of this functionality could be accessed by an user-level program using the system calls, it should be possible for the user to develop a new command-line interpreter.2.8 What are the two models of interprocess communication? What are the strengths and weaknesses of the two approaches?Answer: The two models of interprocess communication are message-passing model and the shared-memory model.2.9 Why is the separation of mechanism and policy desirable?Answer: Mechanism and policymust be separate to ensure that systems are easy to modify. No two system installations are the same, so each installation may want to tune the operating system to suit its needs.With mechanism and policy separate, the policy may be changed at will while the mechanism stays unchanged. This arrangement provides a more flexible system.2.10 Why does Java provide the ability to call from a Java program native methods that are written in, say, C or C++? Provide an example of a situation in which a native method is useful.Answer: Java programs are intended to be platform I/O independent. Therefore, the language does not provide access to most specific system resources such as reading fromI/O devices or ports. To perform a system I/O specific operation, you must write it in a language that supports such features (such as C or C++.) Keep in mind that a Java program that calls a native method written in another language will no longer be architecture-neutral.2.11 It is sometimes difficult to achieve a layered approach if two components of the operating system are dependent on each other. Identify a scenario in which it is unclear how to layer two system components that require tight coupling of their functionalities.Answer: The virtual memory subsystem and the storage subsystem are typically tightly-coupled and requires careful design in a layered system due to the following interactions. Many systems allow files to be mapped into the virtual memory space of an executing process. On the other hand, the virtualmemory subsystem typically uses the storage system to provide the backing store for pages that do not currently reside in memory. Also, updates to the filesystem are sometimes buffered in physical memory before it is flushed to disk, thereby requiring careful coordination of theusage of memory between the virtual memory subsystem and the filesystem.2.12 What is the main advantage of the microkernel approach to system design? How do user programs and system services interact in amicrokernel architecture? What are the disadvantages of using the microkernel approach?Answer: Benefits typically include the following (a) adding a new service does not require modifying the kernel, (b) it is more secure as more operations are done in user mode than in kernel mode, and (c) a simpler kernel design and functionality typically results in a more reliable operating system. User programs and system services interact in a microkernel architecture by using interprocess communication mechanisms such asmessaging. These messages are conveyed by the operating system. The primary disadvantage of the microkernel architecture are the overheads associated with interprocess communication and the frequent use of the operating system’s messaging functions in order to enable the user process and the system service to interact with each other.2.13 In what ways is the modular kernel approach similar to the layered approach? In what ways does it differ from the layered approach?Answer: The modular kernel approach requires subsystems to interact with each other through carefully constructed interfaces that are typically narrow (in terms of the functionality that is exposed to external modules). The layered kernel approach is similar in that respect. However, the layered kernel imposes a strict ordering of subsystems such that subsystems at the lower layers are not allowed to invoke operations corresponding to the upper-layer subsystems. There are no such restrictions in the modular-kernel approach, wherein modules are free to invoke each other without any constraints.2.14 What is the main advantage for an operating-system designer of using a virtual-machine architecture? What is the main advantage for a user?Answer: The system is easy to debug, and security problems are easy to solve. Virtual machines also provide a good platform for operating system research sincemany different operating systemsmay run on one physical system.2.15 Why is a just-in-time compiler useful for executing Java programs? Answer: Java is an interpreted language. This means that the JVM interprets the bytecode instructions one at a time. Typically,most interpreted environments are slower than running native binaries, for the interpretation process requires converting each instruction into native machine code. A just-in-time (JIT) compiler compiles the bytecode for a method into native machine code the first time the method is encountered. This means that the Java program is essentially running as a native application(of course, the conversion process of the JIT takes time as wellbut not as much as bytecode interpretation.) Furthermore, the JIT caches compiled code so that it may be reused the next time the method is encountered.A Java program that is run by a JIT rather than a traditional interpreter typically runs much faster.2.16 What is the relationship between a guest operating system and a host operating system in a system like VMware? What factors need to be considered in choosing the host operating system?Answer: A guest operating system provides its services by mapping them onto thefunctionality provided by the host operating system. A key issue that needs to be considered in choosing the host operating system is whether it is sufficiently general in terms of its system-call interface in order to be able to support the functionality associated with the guest operating system.2.17 The experimental Synthesis operating system has an assembler incorporatedwithin the kernel. To optimize system-call performance, the kernel assembles routineswithin kernel space to minimize the path that the system call must take through the kernel. This approach is the antithesis of the layered approach, in which the path through the kernel is extended to make building the operating system easier. Discuss the pros and cons of the Synthesis approach to kernel design and to system-performance optimization.Answer: Synthesis is impressive due to the performance it achieves through on-the-fly compilation. Unfortunately, it is difficult to debug problems within the kernel due to the fluidity of the code. Also, such compilation is system specific, making Synthesis difficult to port (a new compiler must be written for each architecture).2.18 In Section 2.3,we described a program that copies the contents of one file toa destination file. This program works by first prompting the user for the name of the source and destination files. Write this program using either the Windows32 or POSIX API. Be sure to include all necessary error checking, including ensuring that the source file exists. Once you have correctly designed and tested the program, if you used a system that supports it, run the program using a utility that traces system calls. Linux systems provide the ptrace utility, and Solaris systems use the truss or dtrace command. On Mac OS X, the ktrace facility provides similar functionality.Answer://Solution 1:The Copy program implemented with file system calls of Linux.//This program was written by Wendell on Mar. 5,2008.// Usage: copy src dst#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>#include <unistd.h>#define BUFSIZE 8192int main( int argc, char ** argv){if (argc!=3){printf("\n usage: copy src dst\n");return -1;}int src, dst;char buf[BUFSIZE];。

操作系统概念(第七版 翻译版)复习题

操作系统概念(第七版 翻译版)复习题

2011-12操作系统复习题(一)进程同步●进程同步1进程P1和进程P2并发执行时满足一定的时序关系,P1的代码段S1执行完后,才能执行P2的代码段S2.为描述这种同步关系, :试设计相应的信号量, :给出信号量的初始值,●:给出进程P1和P2的结构●进程同步2问题描述:(理发店问题)一个理发店有一间配有n个椅子的等待室和一个有理发椅的理发室。

如果没有顾客,理发师就睡觉;如果顾客来了二所有的椅子都有人,顾客就离去;如果理发师在忙而有空的椅子,顾客就会坐在其中一个椅子;如果理发师在睡觉,顾客会摇醒他。

①给出同步关系②设计描述同步关系的信号量;③给出满足同步关系的进程结构(请完成满足同步关系的进程结构)。

●进程同步2设公共汽车上,司机和售票员的活动分别为:司机的活动为启动车辆,正常行车,到站停车;售票员的活动为关车门,售票,开车门。

给出在汽车不断地到站、停车、行驶过程中,司机和售票员的活动的同步关系。

用信号量和wait, signal操作实现他们间的协调操作。

●进程同步3:某高校计算机系开设网络课并安排上机实习,假设机房共有2m台机器,有2n名学生选该课,规定:(1)每两个学生组成一组,各占一台机器,协同完成上机实习;(2)只有凑够两个学生,并且此时机房有空闲机器,门卫才允许该组学生进入机房;(3)上机实习由一名教师检查,检查完毕,一组学生才可以离开机房。

试用信号量机制实现它们的同步关系。

进程同步4:多个进程对信号量S进行了5次 wait操作,2次signal操作后,现在信号量的值是-3,与信号量S相关的处于阻塞状态的进程有几个?信号量的初值是多少?进程同步5:使用两个进程计算Y=F1(X)+F2 (X). 在这个问题中,F1(X)和F2 (X)的计算是可以并行处理的,因此F1(X)和F2 (X)可以分别出现在两个进程中。

在F1(X)+F2 (X)中,必须在F1(X)和F2(X)计算完毕,才能进行加法运算,因此本问题是同步问题。

操作系统ppt第一章(第七版)

操作系统ppt第一章(第七版)

3
What is an Operating System?
❖ A program that acts as an intermediary between a user of a
computer and the computer hardware ❖ Operating system goals: ✦ Execute user programs and make solving user problems easier ✦ Make the computer system convenient to use ✦ Use the computer hardware in an efficient manner
Chapter 1: Introduction
Chapter 1: Introduction
❖ What Operating Systems Do ❖ Computer-System Organization ❖ Computer-System Architecture ❖ Operating-System Structure ❖ Operating-System Operations ❖ Process Management ❖ Memory Management ❖ Storage Management ❖ Protection and Security ❖ Kernel Data Structures ❖ Computing Environments ❖ Open-Source Operating Systems
4
Computer System Structure
❖ Computer system can be divided into four components:

操作系统概念第七版答案(含编程代码)

操作系统概念第七版答案(含编程代码)

操作系统概念第七版答案(含编程代码)Operating system concepts(Seventh edition) 2021.3solutions to the exercisesChapter 11.1 In a multiprogramming and time-sharing environment, several usersshare 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 systemresources (CPU, memory, disk space, peripherals) without proper accounting.b. Probably not, since any protection scheme devised by humans caninevitably be broken by a human, and the more complex the scheme, the moredifficult it is to feel confident of its correct implementation.1.2 The issue of resource utilization shows up in different forms indifferent types of operating systems. List what resources must be managedcarefully in the following settings: a. Mainframe or minicomputer systems b. Workstations connected to servers c. Handheld computersAnswer:a. Mainframes:memory and CPU resources, storage, network bandwidth.b. Workstations: memory and CPU resoucesc. Handheld computers: power consumption, memory resources.1.3 Under what circumstances would a user be better off using atimesharing system rather than a PC or single-user workstation?Answer: When there are few other users, the task is large, and thehardware 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 thanon 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 tothe 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. TimesharingAnswer: For real-time systems, the operating system needs to supportvirtual memoryOperating system concepts(Seventh edition) 2021.3and time sharing in a fair manner. For handheld systems,the operatingsystem 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 ofmultiprocessor systems?Answer: Symmetric multiprocessing treats all processors as equals, and I/Ocan be processed on any CPU. Asymmetric multiprocessing has one master CPU andthe 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.1.6 How do clustered systems differ from multiprocessor systems? What is required for two machines belonging to a cluster to cooperate to provide ahighly available service?Answer: Clustered systems are typically constructed by combining multiple computers into a single system to perform a computational task distributedacross the cluster. Multiprocessor systems on the other hand could be a singlephysical entity comprising of multiple CPUs. A clustered system is lesstightly coupled than a multiprocessor system.Clustered systems communicateusing messages, while processors in a multiprocessor system could communicate using shared memory.In order for twomachines to provide a highly available service, the stateon the two machines should be replicated and should be consistently updated. When one of the machines fail, the other could then take-over thefunctionality 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 theclient 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 aseither 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 cookingrecipes.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 otherpeer nodes for the specified recipe.Operating system concepts(Seventh edition) 2021.3The node (or perhaps nodes) with the requested recipe could provide it tothe requesting node. Notice how each peer may act as both a client (i.e. itmay request recipes) and as a server (it may provide recipes.)1.8 Consider a computing cluster consisting of twonodes runningadatabase.Describe two ways in which the cluster software can manage access tothe 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 providingredundancy. However, it does not utilize the potential processing power ofboth hosts. With parallel clustering, the database application can run inparallel on both hosts. The difficulty implementing parallel clusters isproviding some form of distributed locking mechanism for files on the shared disk.1.9 How are network computers different from traditional personalcomputers? Describe some usage scenarios in which it is advantageous to use network computers.Answer: A network computer relies on a centralized computer for most ofits services. It can therefore have a minimal operating system to manage its resources. A personal computer on the other hand has to be capable ofproviding all of the required functionality in a standalonemanner withoutrelying on a centralized manner. Scenarios where administrative costs are highand 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 theinterrupt; control is then returned to the interrupted context and instruction.A trap is a software-generated interrupt. An interrupt can be used to signalthe 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 toavoid 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 controllerisOperating system concepts(Seventh edition) 2021.3transferring data. Does this process interfere with the execution of theuser 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.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 makeit 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 omponent 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 maybe 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, thecache must retain data as well), and (b) the cache is affordable, becausefaster storage tends to be more expensive.Operating system concepts(Seventh edition) 2021.31.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 systemsAnswer: 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,differentprocessors 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 toprevent a program from modifying the memory associated with other programs.Answer: The processor could keep track of what locations are associatedwith each process and limit access to locations that are outside of aprogram’s extent. Information regarding the extent of a program’s memorycould be maintained by using base and limits registers and by performing acheck for every memory access.1.16 What network configuration would best suit the following environments?a. A dormitory floorb. A university campusc. A stated. A nationAnswer: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. Batchb. Interactivec. Time sharingd. Real timee. Networkf. Parallelg. Distributedh. Clusteredi. Handheld感谢您的阅读,祝您生活愉快。

操作系统概念第七版习题答案完整版

操作系统概念第七版习题答案完整版

1.1 在多道程序和分时环境中,多个用户同时共享一个系统,这种情况导致多种安全问题。

a. 列出此类的问题 b. 在一个分时机器中,能否确保像在专用机器上一样的安全度?并解释之。

Answer:a. 窃取或者复制某用户的程序或数据;没有合理的预算来使用资源(CPU内存,磁盘空间,外围设备)b.应该不行,因为人类设计的任何保护机制都会不可避免的被另外的人所破译,而且很自信的认为程序本身的实现是正确的是一件困难的事。

1.2资源的利用问题在各种各样的操作系统中出现。

试例举在下列的环境中哪种资源必须被严格的管理。

(a)大型电脑或迷你电脑系统(b)与服务器相联的工作站(c)手持电脑An swer: (a)大型电脑或迷你电脑系统:内存和CPU资源,外存,网络带宽(b)与服务器相联的工作站:内存和CPU资源(c)手持电脑:功率消耗,内存资源1.3在什么情况下一个用户使用一个分时系统比使用一台个人计算机或单用户工作站更好?Answer: 当另外使用分时系统的用户较少时,任务十分巨大,硬件速度很快,分时系统有意义。

充分利用该系统可以对用户的问题产生影响。

比起个人电脑,问题可以被更快的解决。

还有一种可能发生的情况是在同一时间有许多另外的用户在同一时间使用资源。

当作业足够小,且能在个人计算机上合理的运行时,以及当个人计算机的性能能够充分的运行程序来达到用户的满意时,个人计算机是最好的,。

1.4在下面举出的三个功能中,哪个功能在下列两种环境下,(a) 手持装置(b)实时系统需要操作系统的支持?(a)批处理程序(b)虚拟存储器(c) 分时An swer:对于实时系统来说,操作系统需要以一种公平的方式支持虚拟存储器和分时系统。

对于手持系统,操作系统需要提供虚拟存储器,但是不需要提供分时系统。

批处理程序在两种环境中都是非必需的。

1.5描述对称多处理(SMP )和非对称多处理之间的区别。

多处理系统的三个优点和一个缺点?Answer: SMP意味着所以处理器都对等,而且I/O 可以在任何处理器上运行。

(完整版)操作系统概念第七版习题答案(中文版)完整版

(完整版)操作系统概念第七版习题答案(中文版)完整版

(完整版)操作系统概念第七版习题答案(中文版)完整版1.1 在多道程序和分时环境中,多个用户同时共享一个系统,这种情况导致多种安全问题。

a. 列出此类的问题b.在一个分时机器中,能否确保像在专用机器上一样的安全度?并解释之。

Answer:a.窃取或者复制某用户的程序或数据;没有合理的预算来使用资源(CPU,内存,磁盘空间,外围设备)b.应该不行,因为人类设计的任何保护机制都会不可避免的被另外的人所破译,而且很自信的认为程序本身的实现是正确的是一件困难的事。

1.2 资源的利用问题在各种各样的操作系统中出现。

试例举在下列的环境中哪种资源必须被严格的管理。

(a)大型电脑或迷你电脑系统(b)与服务器相联的工作站(c)手持电脑Answer: (a)大型电脑或迷你电脑系统:内存和CPU 资源,外存,网络带宽(b)与服务器相联的工作站:内存和CPU 资源(c)手持电脑:功率消耗,内存资源1.3 在什么情况下一个用户使用一个分时系统比使用一台个人计算机或单用户工作站更好?Answer:当另外使用分时系统的用户较少时,任务十分巨大,硬件速度很快,分时系统有意义。

充分利用该系统可以对用户的问题产生影响。

比起个人电脑,问题可以被更快的解决。

还有一种可能发生的情况是在同一时间有许多另外的用户在同一时间使用资源。

当作业足够小,且能在个人计算机上合理的运行时,以及当个人计算机的性能能够充分的运行程序来达到用户的满意时,个人计算机是最好的,。

1.4 在下面举出的三个功能中,哪个功能在下列两种环境下,(a)手持装置(b)实时系统需要操作系统的支持?(a)批处理程序(b)虚拟存储器(c)分时Answer:对于实时系统来说,操作系统需要以一种公平的方式支持虚拟存储器和分时系统。

对于手持系统,操作系统需要提供虚拟存储器,但是不需要提供分时系统。

批处理程序在两种环境中都是非必需的。

1.5 描述对称多处理(SMP)和非对称多处理之间的区别。

操作系统概念英文——.ppt

操作系统概念英文——.ppt

7.2.2 Resource-Allocation Graph (cont.)
§7.2 Deadlock Characterization (cont.)
7.2.2 Resource-allocation graph
A system resource allocation graph is a directed graph and consists of a set of vertices V and a set of edges E
V is partitioned into two types
P = {P1, P2, …, Pn}, the set consisting of all the processes in the system
R = {R1, R2, …, Rm}, the set consisting of all resource types in the system.
November 2013
Operating System Concepts - Chapter 7 Deadlocks - 6
§7.1 System Model
System model resource-allocation model
Finite number of resources in systems, resource types R1, R2, . . ., Rm physical resources, e.g., CPU cycles, memory space, I/O devices logical resources, e.g., files, semaphores, monitors
no preemption

操作系统概念OperatingSystemconcepts

操作系统概念OperatingSystemconcepts

操作系统概念OperatingSystemconceptsOS⼤题预测进程同步与信号量,对semaphore的定义,wait()和singal()操作进程调度策略,画Gantt图,求各个进程的轮转时间,等待时间,以及平均轮转时间,平均等待时间给出页⾯的引⽤串,根据不同的调度策略(LRU,Opt,FIFO,Clock)进⾏计算,得出缺页次数与缺页率死锁避免,银⾏家算法,系统安全状态(能否找到⼀个安全序列),对于进程的资源请求判断是否会造成死锁(避免算法)给定⽂件的索引结构,计算查找特定记录所需要的磁盘I/O次数,以及⽂件可存储的最⼤⼤⼩操作系统类型简单批处理系统多道程序批处理系统:⽆论何时都有程序在运⾏,从⽽使CPU的利⽤率达到最⼤。

分时系统(time-sharing):在进程之间频繁切换CPU,以便⽤户在程序运⾏时能与其进⾏交互,特点是⽴即响应。

并⾏/多处理器系统:增加吞吐量(多个处理器加速⽐⼩于N),规模经济(资源共享减少开销),增加可靠性(⼀个处理器故障不会导致系统罢⼯)实时系统分布式系统:资源共享,计算加速,可靠性,通信系统调⽤System CallSystem call - the method used by a process to request action by the operating system.Usually takes the form of a trap (software interrupt).Control passes through an interrupt vector to a service routine in the OS, and the mode bit is automatically set to supervisor mode.The OS verifies that the parameters are correct and legal, executes the request, and returns control to the instruction following the system call.参数传递机制Passing parameters to the kernel for a system call must be performed differently than when using an ordinary functional call. This is because a system call is performed by the kernel itself, which typically runs in a completely different address space than the process which made the call. Thus it is not possible to simply place system call parameters onto the process’ stack as this will not be readily available to the kernel. There are three main methods to pass the parameters required for a system call:(1) Pass the parameters in registers (this may prove insufficient when there are more parameters than registers).(2) Store the parameters in a block, or table, in memory, and pass the address of block as a parameter in a register. This approach is used by Linux and Solaris.(3) Push the parameters onto a stack(内核栈); to be popped off by the OS. Block and stack methods do not limitt the number or length of parameters passed.中断InterruptThe occurrence of an event is usually signaled by a (an) interrupt from either the hardware or the software.Hardware may trigger it at any time by sending a signal to the CPU, usually by way of the system bus.硬件中断,⼜称外部中断,由CPU的外部硬件信号引发。

操作系统概念——

操作系统概念——

操作系统概念——操作系统概念——计算机世界的基石在当今数字化的时代,计算机已经成为我们生活和工作中不可或缺的一部分。

而在计算机系统中,操作系统扮演着至关重要的角色,它就像是一个大管家,默默地管理着计算机的各种资源,为用户和应用程序提供了一个稳定、高效的运行环境。

那么,什么是操作系统呢?简单来说,操作系统是管理计算机硬件与软件资源的程序,同时也是计算机系统的内核与基石。

它负责控制和协调计算机的各个部件,使得计算机能够正常运行,并为用户提供各种服务。

操作系统的首要任务是管理计算机的硬件资源。

这包括中央处理器(CPU)、内存、硬盘、输入输出设备(如键盘、鼠标、显示器、打印机等)。

它需要合理地分配这些资源,确保每个正在运行的程序都能够得到足够的资源来完成其任务,同时避免资源的浪费和冲突。

以 CPU 资源为例,操作系统会通过一种叫做进程调度的机制来决定哪个程序在什么时候使用 CPU。

当多个程序同时需要 CPU 时,操作系统会根据一定的算法,如优先级、时间片轮转等,来安排它们的执行顺序和时间,以保证系统的响应性和公平性。

内存管理也是操作系统的一项关键任务。

计算机的内存是有限的,而操作系统需要确保不同的程序能够安全、有效地使用内存。

它会为每个程序分配内存空间,并在程序不再需要时及时回收这些空间,以防止内存泄漏和浪费。

同时,操作系统还会采用虚拟内存技术,将部分硬盘空间作为内存的扩展,从而让计算机能够运行更大的程序。

除了硬件资源,操作系统还负责管理软件资源。

它提供了一个平台,让各种应用程序能够在上面运行。

操作系统会为应用程序提供一系列的服务和接口,例如文件系统、网络通信、图形用户界面等。

文件系统是操作系统用于管理存储在硬盘等存储设备上的文件和目录的机制。

它使得用户能够方便地创建、读取、写入、删除和组织文件。

用户可以通过直观的文件名和目录结构来访问和操作文件,而无需关心文件在物理存储设备上的具体位置和存储方式。

网络通信功能则让计算机能够与其他计算机进行数据交换和通信。

操作系统原理绪论(英文课件)

操作系统原理绪论(英文课件)
Types of Operating Systems
Batch Processing Operating Systems are designed to handle a group of jobs in a queue and execute them one by one.
Batch Processing Operating Systems are less complex and have fewer resources compared to other types of operating systems.
The OS assigns CPU time to processes, determining which process runs and when.
The OS ensures that processes access shared resources in a coordinated manner to avoid conflicts.
02
These programs include compilers, interpreters, debuggers, and text editors. Nhomakorabea03
They are typically written in a high-level language and run on top of the kernel.
Memory Protection
File Storage
The OS manages the storage of files on secondary storage devices, such as hard disks.
File Access Control

操作系统概念第七版答案

操作系统概念第七版答案

操作系统概念第七版答案【篇一:操作系统概念第七版答案(含编程代码)】> chapter 11.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 managedcarefully in the following settings: a. mainframe or minicomputer systems b. workstations connected to serversc. handheld computersanswer:a. mainframes:memory and cpu resources, storage, network bandwidth.b. workstations: memory and cpu resoucesc. 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 prog ram 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 programmingb. virtual memoryc. time sharinganswer: for real-time systems, the operating system needs to support virtual memoryand 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.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 multiprocessorsystem.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 shouldbe 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 tha t 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 nodesfor 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 istransferring 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 operationsat peak speeds since it has to compete with the device in order to obtain access to the memory bus.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.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 canbe 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 omponent 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 adatum.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 systemsb. multiprocessor systemsc. distributed systemsanswer: in single-processor systems, the memory needs tobe 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 protectionin 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 locationsthat are outside of a program’s extent. informatio n 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? a. a dormitory floorb. a university campusc. a stated. a nationanswer: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. batchb. interactivec. time sharingd. real timee. networkf. parallelg. distributedh. clusteredi. handheld【篇二:操作系统概念第七版4-6章课后题答案(中文版)】举两个多线程程序设计的例子来说明多线程不比单线程方案提高性能答:1)任何形式的顺序程序对线程来说都不是一个好的形式。

操作系统概念(第七版_英文版)ch2

操作系统概念(第七版_英文版)ch2

System Programs
Operating System Design and Implementation Operating System Structure Virtual Machines
Operating System Generation
System Boot
Operating System Concepts – 7th Edition, Jan 14, 2005
2.6
Silberschatz, Galvin and Gagne ©2005
User Operating System Interface - CLI
CLI(Command Line Interface) allows direct command entry
பைடு நூலகம்
processes, and other systems
To discuss the various ways of structuring an operating system To explain how operating systems are installed and customized
and how they boot
Operating System Concepts – 7th Edition, Jan 14, 2005
2.3
Silberschatz, Galvin and Gagne ©2005
Operating System Services
One set of operating-system services provides functions that are
Program Interface (API) rather than direct system call use

操作系统概念(英文)

操作系统概念(英文)
Operating System Concepts- Chapter1 Introduction 9

September 2012
§1.2 Computer-System Organization
1.2.1 Computer-System Operation Fig. 1.2 A modern computer system
Commonly acknowledged classifications of OS PC/Desktop OS : Windows, Linux,Mac OS X Server OS : Unix, Linux, Windows NT Mainframe OS : Unix, Linux——open source!! Embedded OS : Vxworks, (Palm OS), (Symbian), (WinCE)/Windows Mobile/Phone, Android, iOS, embedded Linux (e.g. μcLinux)

September 2012 Operating System Concepts- Chapter1 Introduction 8
1.1.2 OS Concepts (cont.)

For OS definitions in other textbooks, refer to Appendix 1.B OS definitions
September 2012
Operating System Concepts- Chapter1 Introduction -
3
Fig.1.1-1 Components of a computer system
Application Software

操作系统概念(英文)

操作系统概念(英文)
5 页面替换策略
•页面替换 •页面淘汰算法 •“抖动”(Thrashing)现象
影响缺页中断率的因素(1)
• 假定作业p共计n页,系统分配给它 的主存块只有m块(1≤m≤n)。 如果作业p在运行中成功的访问次数 为s, 不成功的访问次数为F,则总 的访问次数A为: A=S+F 又定义: f=F/A
2)先进先出页面替换算法(FIFO)
• 基于程序总是按线性顺序来访问物 理空间这一假设。 • 算法总是淘汰最先调入主存的那一 页,或者说在主存中驻留时间最长 的那一页(常驻的除外)。
FIFO实现技术
• 系统中设臵一张具有m个元素的页号表, 它是M个数: P[0], P[1], …, P[m-1] 组成的数组,每个P[i] (i =0,1,…m-1) 存储一个在主存中的页面的页号。用 指针k指示当前调入新页时应淘汰的那 一页在页号表中的位臵。每当调入一 个新页后,执行 P[k] := 新页的页号; k := (k+1)mod m;
Page9 use=1
Page19 Use=1
Page1 Use=0
2
Page1 Use=0
2
下一个 帧指针
Page3 3 Use=1 Page222 Use=0
7
Page4 5 Use=1 Page191 Use=1 Page556 Use=0
3 8
Page222 Use=0 Page3 3 Use=1
计算缺页中断实例(1)
• 假设固定分配,运行FORTRAN程序, 共有0.25×106 次页面引用,页面 大小为256个字。分给进程的页框 数分别为6、8、10、12和14。 • FIFO所产生的缺页中断基本上是 Opt的2倍,Clock则比较接近于LRU。

操作系统概念第七版习题答案(中文版)完整版

操作系统概念第七版习题答案(中文版)完整版

操作系统概念第七版习题答案(中文版)完整版1、1 在多道程序与分时环境中,多个用户同时共享一个系统,这种情况导致多种安全问题。

a、列出此类得问题b、在一个分时机器中,能否确保像在专用机器上一样得安全度?并解释之。

Answer:a、窃取或者复制某用户得程序或数据;没有合理得预算来使用资源(CPU,内存,磁盘空间,外围设备)b.应该不行,因为人类设计得任何保护机制都会不可避免得被另外得人所破译,而且很自信得认为程序本身得实现就是正确得就是一件困难得事。

1、2 资源得利用问题在各种各样得操作系统中出现。

试例举在下列得环境中哪种资源必须被严格得管理。

(a)大型电脑或迷您电脑系统(b)与服务器相联得工作站(c)手持电脑Answer: (a)大型电脑或迷您电脑系统:内存与CPU 资源,外存,网络带宽(b)与服务器相联得工作站:内存与CPU资源(c)手持电脑:功率消耗,内存资源1、3 在什么情况下一个用户使用一个分时系统比使用一台个人计算机或单用户工作站更好?Answer:当另外使用分时系统得用户较少时,任务十分巨大,硬件速度很快,分时系统有意义。

充分利用该系统可以对用户得问题产生影响。

比起个人电脑,问题可以被更快得解决。

还有一种可能发生得情况就是在同一时间有许多另外得用户在同一时间使用资源.当作业足够小,且能在个人计算机上合理得运行时,以及当个人计算机得性能能够充分得运行程序来达到用户得满意时,个人计算机就是最好得,。

1、4在下面举出得三个功能中,哪个功能在下列两种环境下,(a)手持装置(b)实时系统需要操作系统得支持?(a)批处理程序(b)虚拟存储器(c)分时Answer:对于实时系统来说,操作系统需要以一种公平得方式支持虚拟存储器与分时系统.对于手持系统,操作系统需要提供虚拟存储器,但就是不需要提供分时系统。

批处理程序在两种环境中都就是非必需得。

1、5 描述对称多处理(SMP)与非对称多处理之间得区别。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档