《操作系统设计与实现第六章(共9页).doc》由会员分享,可在线阅读,更多相关《操作系统设计与实现第六章(共9页).doc(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上第六章 阅读材料和参考文献前五章中我们已经对操作系统的许多内容作了介绍。本章的目的在于为那些希望对操作系统作进一步研究的读者能提供一些帮助。6.1节罗列了向读者推荐的阅读材料,6.2节按照字母顺序列出了本书中所引用的所有书籍和论文。除了下面列出的参考文献之外,ACM每年举办的操作系统原理专题研讨会论文集Proceedings of the n-th ACM Symposium on Operating Systems Principles,以及IEEE每年举办的分布式计算系统国际会议论文集Proceedings of the n-th International Co
2、nference on Distributed Computing System都是查阅有关操作系统最新论文的好途径。同样,USENIX操作系统设计和实现专题研讨会也是一个好的信息源。更进一步,ACM Transactions on Computer Systems和Operating Systems Review这两本学报也常常登载相关的文章。6.1 推荐的进一步阅读材料6.1.1 介绍和概论Brooks, The Mythical Man-Month: Essays on Software Engineering一本机智、幽默和信息量很大的著作,关于如何避免象某些人那样以一种很困难的方式来
3、编写操作系统,其中有很多好的建议。Comer, Operation System Design. The Xinu Approach一本关于Xinu 操作系统的书。Xinu操作系统运行在LSI11计算机上,它包含有源代码的详细说明,其中包括使用C语言的完整程序。Corbato, On Building Systems That Will FailCorbato被誉为分时系统之父,在他接受图灵奖的颁奖演说中,他谈到许多Brooks在其著作The Mythical Man-Month中所述及的问题。Corbato的结论是复杂系统将最终失败,而且若想要成功,最重要的就是必须摈弃复杂性,尽力争取设计的
4、简洁和优雅。Deitel, Operating Systems, 2nd Ed.一本操作系统的综述性教材。本书在标准内容之外,添加了一些实例,如UNIX、MSDOS、MVS、OS/2以及Mac OS。Finkel, An Operating Systems Vade Mecum关于操作系统的另一本综述性教材。它面向实际应用,写得很好,并且述及到很多本书中讲述的问题。如果想找一本书从不同角度描述同一问题,则它是非常合适的。IEEE, Information Technology - Portable Operating System Interface (POSIX), Part 1: Syst
5、em Application Program Interface (API) C Language这是一个标准。其中的有些部分非常易读,尤其是附件B:合理性和标注,它对为什么采取这样的方法来解决问题作了许多说明。引用标准的好处之一是,从定义来讲,它是绝对没有错误的。即使是排版过程中导致的一个宏定义名字错,也不能算作错误,因为它是官方认可的标准。Lampson, Hints for Computer System DesingButtler Lampson是世界上新型操作系统设计的领导人物之一。他汇集了多年实际经验中的种种启示、建议和指南,并将其集中在这篇睿智和信息量很大的文章中。与Brooks
6、的书一样,这是每一个优秀的系统设计人员的必读材料。Lewine, POSIX Programmers Guide这本书用一种比POSIX标准文档更具可读性的方式描述了POSIX标准,同时还包括一些讨论,如怎样将老的程序转换到POSIX,以及如何在POSIX环境下开发新程序。书中有很多代码实例,包括一些完整的程序。本书还描述了所有POSIX需要的库函数和头文件。Silberschatz and Galvin, Operating System Concepts, 4th Ed.这是关于操作系统的另一本教材。它涵盖了进程、存储器管理、文件和分布式系统。其中包含两个实例:UNIX和Mach。封面上画
7、满了恐龙,不知道在九十年代这与操作系统有什么关系。Stallings, Operating Systems, 2nd Ed.关于操作系统的又一本教材。它包含了通常操作系统所有的论题,也包括一小部分分布式系统的内容,附录介绍了一些排队理论。Stevens, Advanced Programming in the UNIX Environment本书教读者如何使用UNIX系统调用接口和标准C库来编写C程序。所给的例子基于系统V版本4和4.4BSD UNIX。书中详细讨论了这些UNIX实现与POSIX之间的关系。Switzer, Operating Systems, A Practical Appr
8、oach.该书与本书很类似。书中使用伪码对理论概念给出了解释,还包含有关TUNIX的大段C源代码,TUNIX是一个模型化的操作系统。与MINIX不同,TUNIX并不在真实机器上运行,而是在一台虚拟机上运行。在设备驱动程序方面TUNIX没有MINIX那样面向实际,但在其他方面它确实比MINIX走得更远,比如虚拟存储器。6.1.2 进程Andrews and Schneider, Concepts and Notations for Concurrent Programming本文探讨了进程和进程间通信,包括忙等待、信号量、管程、消息传递以及其他技术。同时也说明了这些概念如何嵌入在不同的程序设计语
9、言中。Ben-Ari, Principles of Concurrent Programming这本小册子专门讨论进程间通信问题,其中有不同的章节讨论互斥性、信号量、管程以及哲学家就餐问题,等等。Dubois et al. Synchronization, Coherence, and Event Ordering in Multiprocessors这是关于在共享存储器的多处理机系统中的同步问题的指导性材料,但其中的某些思想对单处理机系统和分布存储器系统同样有效。Silberschatz and Galvi, Operating System Concepts, 4th Ed.本书的第4到第
10、6章讨论了进程和进程间通信,包括调度、临界区、信号量、管程以及经典进程间通信问题。6.1.3 输入/输出Chen et al., RAID: High Performance Reliable Secondary Storage在高端系统中,使用多个磁盘驱动器并行操作以获得高速输入/输出是一个发展潮流。作者就此进行了讨论并从性能、价格和可靠性等方面研究了不同的组织结构。Coffman et al., System Deadlocks本文简短地介绍了死锁,死锁的产生以及如何预防和检测死锁。Finkel, An Operating Systems Vade Mecum. 2nd Ed.本书第5章讨
11、论了输入/输出硬件和设备驱动程序,重点针对终端和磁盘。Geist and Daniel, A Continuum of Disk Scheduling Algorithms本文给出了一个通用的磁盘臂调度算法,并给出了详细的模拟和实验结果。Holt, Some Deadlock Properties of Computer Systems本文主要围绕死锁进行讨论。Holt引入了一个可被用于分析某些死锁情况的有向图模型。IEEE Computer Magazine, March 1994该期杂志包含8篇关于先进输入/输出系统的文章,其中涉及到仿真、高性能存储器、高速缓存、并行计算机的输入/输出以及
12、多媒体。Isloor and Marsland, The Deadlock Problem: An Overview这是关于死锁的指导性材料,其中重点讲了数据库系统,并描述了多种模型和算法。Stevens, Heuristics for Disk Drive Positioning in 4.3 BSD本文详细研究了在Berkeley UNIX中的磁盘性能。正如多数计算机系统一样,实际情况远比理论预测复杂。Wilkes et al., The HP AutoRAID Hierarchical Storage SystemRAID(廉价冗余磁盘阵列)是高性能磁盘系统的一项重要进展,在RAID中,
13、由若干小磁盘构成的阵列一起工作,以构造一个高性能系统。本文中作者详细描述了他们在HP实验室里开发的系统。6.1.4 存储器管理Denning, Virtual Memory本文是一篇关于虚拟存储器的经典文章,其中论及了许多虚拟存储器的许多方面。Denning是该领域的先躯之一,也正是他创立了工作集概念。Denning, Working Sets Past and Present本书很好地综述了众多的存储器管理机制和调页算法,书后附有完整的参考文献。Knuth, The Art of Computer Programming Vol. 1在本书中,集中讨论和比较了最先适应算法、最佳适应算法和其他
14、算法。Silberschatz and Galvin, Operating System Concepts, 4th Ed.本书第8和第9章讨论存储器管理问题,包括对换、调页和分段,其中提到很多页面算法。6.1.5 文件系统Denning, The United States vs. Craig Neidorf当一个年轻的黑客发现并发表了有关电话网系统的工作原理之后,他被指控为计算机诈骗。本文就讲述了这样一件事情,这中间牵涉到很多基本的问题,包括言论的自由。本文发表后引起了一些非议和反驳。Hafner and Markoff, Cyberpunk本书以一名纽约时报计算机记者的口吻讲述了三个杜撰
15、的故事和他自己的记者生涯。,在故事中,年轻的计算机黑客闯入了全世界范围的计算机。而这名记者本身曾攻破了Internet蠕虫病毒。Harbron, File Systems本书描述文件系统的设计、应用和性能,其中对结构和算法均作了介绍。McKusick et al., A Fast File System for UNIXUNIX的文件系统在4.2BSD环境下被重新加以实现。本文描述了新文件系统的设计,其中重点放在性能特性上。Silberschatz and Galvin Operating System Concepts, 4th Ed.本书第10和11章的内容是文件系统。其中包括文件操作、文
16、件访问方式、一致性语义、目录和保护等,此外还有其他主题的实现。Stallings, Operating Systems, 2nd Ed.本书第14章包含很多有关系统环境安全的内容,特别是关于计算机黑客、病毒和其他威胁。6.2 按字母排序的参考文献ANDERSON, T.E., BERSHAD, B.N., LAZOWSKA, E.D., and LEVY, H.M.:Scheduler Activations: Effective Kernel Support for the Uer-level Management of Parallelis, ACM Trans. on Computer
17、Systems, vol. 10, pp. 53-79, Feb. 1992.ANDRES, G.R., and SCHNEIDER, F.B.:Concepts and Notations for Concurrent Programming, Computing Surveys, vol. 15, pp.3-43, March 1983.BACH, M.J.:The Design of the UNIX Operating Systems, Englewood Cliffs, NJ: Prentice Hall, 1987.BALA, K., KAASHOEK, M.F., WEIHL,
18、W.:Software Prefetching and Caching for Translation Lookaside Buffers, Proc. First Symp. on Operating System Design and Implementation, USENIX. pp. 243-254, 1994.BAYS, C.:A Comparison of Next-Fit, First-Fit, and Best-Fit, Comun. of the ACM, vol. 20, pp. 191-192, March 1977.BEN-ARI, M:Principles of C
19、oncurrent Programming, Englewood Cliffs, NJ: Prentice Hall International, 1982.BRINCH HANSEN, P.:The Programming Language Concurrent Pascal, IEEE Trans. on Software Engineering, vol. SE-1, pp. 199-207, June 1975.BROOKS, F.P., jR.:The Mythical Man-Month: Essays on Software Engineering, Anniversary ed
20、ition, Reading, MA: Addison-Wesley, 1996.CADOW, H.:OS/360 Job Control Language, Englewood Cliffs, NJ: Prentice Hall, 1970.CHEN, P.M., LEE, E.K., GIBSON, G.A., KATZ, R.H., and PATTERSON, D.A.:RAID: High Performance Reliable Storage, Computing Surveys, vol. 26, pp. 145-185, June 1994.CHERITON, D.R.:An
21、 Experiment Using Registers for Fast Message-Based Interprocess Communication, Operating Systems Review, vol. 18, pp.12-20, Oct. 1984.COFFMAN, E.G., FELPHICK, M.J., and SHOSHANI, A.:System Deadlocks, Computing Surveys, vol. 3, pp.67-78, June 1971.COMER, D.:Operating System Design, The Xinu Approach,
22、 Englewood Cliffs, N.J.: Prentice Hall, 1984.CORBATO, F.J.:One Building Systems That Will Fail, Commun. of the ACM, vol. 34, pp. 72-81, June 1991.CORBATO, F.J., MERWIN-DAGGETT, M., and DALEY, R.C:An Experimental Time-Sharing System, Proc. AFIPS Fall Joint Computer Conf., AFIPS, pp. 335-344, 1962.COR
23、BATO, F.J., SALTZER, J.H., and CLINGER, C.T.:MULTICS-The First Seven Years, Proc. AFIPS Spring Joint Computer Conf., AFIPS, pp.571-583, 1972.CORBATO, F.J., and VYSSOTSKY, V.A.:Introduction and Overview of the MULTICS System, Proc. AFIPS Fall Joint Computer Conf., AFIPS, pp. 185-196, 1965.COURTOIS, P
24、.J., HEYMANS, F., and PARNAS, D.L.:Concurrent Control with Readers and Writers, Commun. of the ACM, vol. 10. 667-668, Oct. 1971.DALEY, R.C., and DENNIS, J.B.:Virtual Memory, Process, and Sharing in MULTICS, Commun. of the ACM, vol. 11, pp. 306-312, May 1968.DEITEL, H.M.:Operating Systems, 2nd Ed., R
25、eading, MA: Addison-Wesley, 1990.DENNING, D.:The United states vs. Craig Neidorf, Commun. of the ACM, vol. 34, pp. 22-43, March 1991.DENNING, P.J.:The Working Set Model for Program Behavior, Commun. of the ACM, vol. 11, pp. 323-33, 1968a.DENNING, P.J.:Thrashing: Its Causes and Prevention, Proc. AFIP
26、S National Computer Conf., AFIPS, pp. 915-922, 1968b.DENNING, P.J.:Virtual Memory, Computing Surveys, vol. 2, pp. 153-189, Sept. 1970.DENNING, P.J.:Working Sets Past and Present, IEEE Trans. on Software Engineering, vol. SE-6, pp. 64-84, Jan. 1980.DENNING, J.B., and VAN HORN, E.C.:Programming Semant
27、ics for Multiprogrammed Computations, Commun. of the ACM, vol. 9, pp. 143-155, March 1966.DIJKSTRA, E.W.:Co-operating Sequential Processes, in Programming Languages, Genuys, F. (Ed.), London: Academic Press, 1965.DIJKSTRA, E.W.:The Structure of THE Multiprogramming System, Commun. of the ACM, vol. 1
28、1, pp. 341-346, May 1968.DUBOIS, M., SCHEURICH, C., and BRIGGS, F.A.:Synchronization, Coherence, and Event Ordering in Multiprocessors, IEEE Computer, vol. 21, pp. 9-21, Feb. 1988.ENGLER, D.R., KAASHOEK, M.F., and OTOOLE, J.Jr.:Exokernel: An Operating System Architecture for Application-Level Resour
29、ce Management, Proc. of the Fifteenth Symp. on Operating Systems Principles, ACM, pp. 251-266, 1995.FABRY, R.S.:Capability-Based Addressing, Commun. of the ACM, vol. 17, pp. 403-412, July 1974.FEELEY, M.J., MORGAN, W.E., PIGHIN, F.H., KARLIN, A.R., LEVY, H.M., and THEKKATH, C.A.:Implementing Global
30、Memory Management in a Workstation CLuster, Proc. of the Fifteenth Symp. on Operating Systems Principles, ACM, pp. 201-212, 1995.FINKEL, R.A.:An Operating Systems Vade Mecum, 2nd Ed., Englewood Cliffs, NJ: Prentice Hall, 1988.FOTHERINGHAM, J.:Dynamic Storage Allocation in the Atlas Including an Auto
31、matic Use of a Backing Store, Commun. of the ACM, vol. 4, pp. 435-436, Oct. 1961.GEIST, R., and DANIEL, S.:A Continuum of Disk Scheduling Algorithms, ACM Trans. on Computer Systems, vol. 5, pp. 77-92, Feb. 1987.GOLDEN, D., and PECHURA, M.:The Structure of Microcomputer File Systems, Commun. of the A
32、CM, vol. 29, pp. 222-230, March 1986.GRAHAM, R.:Use of High-Level Languages for System Programming, Project MAC Report TM-13, M.I.T, Sept. 1970.HAFNER, K., and MARKOFF, J.:Cyberpunk, New York: Simon and Schuster, 1991.HARBRON, T.R.:File Systems, Englewood Cliffs, NJ: Prentice Hall, 1988.HAUSER, C.,
33、JACOBI, C., THEIMER, M., WELCH, B., and WEISER, M.:Using Threads in Interactive Systems: A Case Study, Proc. of the Fourteenth Symp. on Operating Systems Principles, ACM, pp. 94-105, 1993.HAVENDER, J.W.:Avoiding Deadlock in Multitasking Systems, IBM Systems Journal, vol. 7, pp. 74-84, 1968.HEBBARD,
34、B. et al.:A Penetration Analysis of the Michigan Terminal System, Operating Systems Review, vol. 14, pp. 7-20, Jan. 1980.HOARE, C.A.R.:Monitors, An Operating System Structuring Concept, Commun. of the ACM, vol. 17, pp. 549-557, Oct. 1974; Erratum in commun. of the ACM, vol. 18, p. 95, Feb. 1975.HOLT
35、, R.C:Some Deadlock Properties of Computer Systems, Computing Surveys, vol. 4, pp. 179-196, Sept. 1972.HOLT, R.C:Concurrent Euclid, The UNIX System, and TUNIS, Reading, MA: Addison-Wesley, 1983.HUCK, J., and HAYS, J.:Architectural Support for Translation Table Management in Large Address Space Machi
36、nes, Proc. Twentieth Annual Intl Symp. on Computer Arch., ACM. pp. 39-50, 1993.IEEE:Information technology - Protable Operating System Interface (POSIX), Part 1: System Application Program Interface (API) C Language, New York: Institute of Electrical and Electronics Engineers, Inc., 1990ISLOOR, S.S.
37、, and MARSLAND, T.A.:The Deadlock Problem: An Overview, IEEE Computer, vol. 13, pp. 58-78, Sept. 1980.KERNIGHAN, B.W., and RITCHIE, D.M.:The C Programming Language, 2nd Ed., Englewood Cliffs, NJ: Prentice Hall, 1988.KLEIN, D.V.:Foiling the Cracker: A Survey of, and Improvements to, Password Security
38、, Proc. UNIX Security Workshop II, USENIX, Summer 1990.KLEINROCK, L.:Queueing Systems. Vol. 1, New York: John Wiley, 1975.KNUTH, D.E.:The Art of Computer Programming, Volume 1: Fundamental Algorithms, 2nd Ed., Reading, MA: Addison - Wesley, 1973.LAMPSON, B.W.:A Scheduling Philosophy for Multiprogram
39、ming Systems, Commun. of the ACM, vol. 11, pp. 347-360, May 1968.LAMPSON, B.W.:A Note on the Confinement Problem, Commun. of the ACM, vol. 10, pp. 613-615, Oct. 1973.LAMPSON, B.W.:Hints for Computer System Design, IEEE Software, vol. 1, pp. 11-28, Jan. 1984.LEVIN, R., COHEN, E.S., CORWIN, W.M., POLL
40、ACK, F.J., and WULF, W.A.:Policy/Mechanism Separation in Hydra, Proc. of the Fifth Symp. on Operating Systems Principles, ACM, pp. 132-140, 1975.LEWINE, D.:POSIX Programmers Guide, Sebastopol, CA: OReilly & Associates, 1991.LI, K., and HUDAK, P.:Memory Coherence in Shared Virtual Memory Systems, ACM
41、 Trans. on Computer Systems, vol. 7, pp. 321-359, Nov. 1989.LINDE, R.R.:Operating System Penetration, Proc. AFIPS National Computer Conf., AFIPS, pp. 361-368, 1975.LIONS, J.:Lions Commentary on Unix 6th Edition, with Source Code, San Jose, CA: Peer-to-Peer Communications, 1996.LIU, C.L., and LAYLAND
42、, J.W.:Scheduling Algorithms for Multiprogramming in a Hard Real-Time Environment, Journal of the ACM, vol. 20, pp. 46-61, Jan. 1973.MARSH, B.D., SCOTT, M.L., LEBLANC, T.J., and MARKATOS, E.P.:First-Class User-Level Threads, Proc. of the Thirteenth Symp. on Operating Systems Principles, ACM, pp. 110
43、-121, 1991.McKUSICK, M.J., JOY, W.N., LEFFLER, S.J., and FABRY, R.S.:A Fast File System for UNIX, ACM Trans. on Computer Systems, vol. 2, pp. 181-197, Aug. 1984.MORRIS, R., and THOMPSON, K.:Password Security: A Case History, Commun. of the ACM, vol. 2, pp. 594-597, Nov. 1979.MULLENDER, S.J., and TAN
44、ENBAUM, A.S.:Immediate Files, Software - Practice and Experience, vol. 14, pp. 365-368, April 1984.ORGANICK, E.I.: The Multics System, Cambridge, MA: M.I.T Press, 1972.PETERSON, G.L.:Myths about the Mutual Exclusion Problem, Information Processing Letters, vol. 12, pp.115-116, June 1981.ROSENBLUM, M
45、., and OUSTERHOUT, J.K.:The Design and Implementation of a Log-Structured File System, Proc. Thirteenth Symp. on Operating System Principles. ACM, pp. 1-15, 1991.SALTZER, J.H.:Protection and Control of Information Sharing in MULTICS, Commun. of the ACM, vol. 17, pp. 388-402, July 1974.SALTZER, J.H.,
46、 and SCHROEDER, M.D.:The Protection of Information in Computer Systems, Proc. IEEE, vol. 63, pp. 1278-1308, Sept. 1975.SALUS, P.H.:UNIX At 25, Byte, vol. 19, pp. 75-82, Oct. 1994.SANDHU, R.S.:Lattice-Based Access Control Models, Computer, vol. 26, pp. 9-19, Nov. 1993.SEAWRIGHT, L.H., and MACHINNON,
47、R.A.:VM/370 - A Study of Multiplicity and Usefulness, IBM Systems Journal, vol. 18, pp. 4-17, 1979.SILBERSCHATZ, A., and GALVIN, P.B.:Operating System Concepts, 4th Ed. Reading, MA: Addison-Wesley, 1994.STALLINGS, W.:Operating Systems, 2nd Ed., Englewood Cliffs, NJ: Prentice Hall, 1995.STEVENS, W.R.:Advanced Programming in the UNIX Environment, Reading, MA: Addison-Wesley, 1992.STEVENS, W.R.:Heuristics for Disk Drive Partitioning in 4.3BSD, Computing Systems, vol. 2, pp. 251-274, Summer 1989.STOLL, C.