操作系统设计与实现

当前位置:首页 > 计算机网络 > 操作系统/系统开发 > 操作系统设计与实现

出版社:清华大学出版社
出版日期:2010-2
ISBN:9787302216100
页数:128页

章节摘录

插图:另一种区分操作系统的方法,某种意义上说,也是区分新旧操作系统的方法,就是这些操作系统是否支持线程(thread)。在较旧的操作系统中,如Unix,正在执行的程序是以进程的形式组织起来的:操作系统的任务是调度CPU上的进程,将CPU从一个进程切换到另一个进程,以实现多程序运行(multiprogramming)的目的。多程序运行是一种以最大化资源利用为目标的技术。其基本思想是同时有多个进程的存储驻留,并将CPU从已经进入阻塞状态而等待某个事件(例如,I/O操作完成)的进程切换到已准备好执行的进程。这样,就可以让CPU大部分时间保持在忙碌状态进行有用的工作,这正是资源管理器应该争取做到的。为给多程序运行下一个论断,则要更细致地考虑一下将CPIU从一个进程切换到另一个进程意味着什么,这一操作通常称为上下文切换(context switch)。其中牵涉到多个步骤。首先,当前正在执行的进程必须从CPU移除,放人该进程正在等待的事件的相关队列中。然后,将CPU决定调度执行的下一个进程分派给(dispatch)CPU。这又牵涉到重设许多机器寄存器(例如,程序计数器、通用功能寄存器、存储管理寄存器等),将这些寄存器的值设置为新分派的进程上次运行时的值。此时,就可以恢复该进程运行了。这是简化了的关于上下文切换背后运行机制的公认不误的观点;有关这一话题的更多内容将在第4章进一步讲解。在较新型的系统中,例如Mac、Solaris和windows 2000/XP/Vista,调度和分派的执行单元已经不再是进程了,而是线程;简单地讲,进程是线程的容器,可以容纳一个或多个线程。这种进程通常又称为任务(task),这也是本书约定采用的称谓。那么,任务作为线程的“容器”又是什么意思呢?意思是作为任务组成要素的线程共享分配给任务的资源,这些资源包括存储器、文件和通信端口。结果,将CPU从一个线程切换到另一个线程要比将CPU从一个进程切换到另一个进程简单得多,而对于不支持线程的操作系统,只能采用后一种方式。正如我们将看到的,OSP 2支持进程和线程。操作系统是事件驱动的。操作系统是所谓的事件驱动系统(event-driyen system)的一个绝佳的例子。正如名称所反映的,事件驱动系统响应它所熟悉的某种事件而触发动作。例如,GuI(图形用户界面)程序就是一个事件驱动系统,它响应用户鼠标的单击;最终执行哪块代码则取决于用户所单击的界面元素(工具栏项目、普通按钮、单选按钮等)。而对于操作系统的情况,OS所响应的事件包括用户(或事件系统)程序所做的系统调用、硬件中断和机器错误。典型的事件驱动系统是用包含在while循环中的大块case语句构造的,while循环“捕捉”系统打算响应的各种事件。一旦捕捉到事件,则执行与该事件相应的case语句。这种事件循环结构在操作系统中确实存在。例如,不妨考虑一下系统调用在一般的操作系统中是如何执行起来的。调用系统调用的程序首先将系统调用的参数推入系统堆栈中。

前言

OSP 2不仅是现代操作系统的一种实现,同时也是开发实现项目的灵活环境,可用于操作系统设计的入门课程。本书的写作意图在于满足操作系统入门教材的使用需求,书中包含了三个学期的设计项目。通过这些设计项目,向学生讲解操作系统的诸多重要的本质特性,同时,也使他们不必关心与机器相关的底层属性。这样,即便只学习一个学期,学生也能学会虚拟存储管理的页面替换策略、CPU调度策略、磁盘寻道时间优化以及操作系统设计的其他问题。OSP 2是用Java程序设计语言编写的,学生也将使用Java编写其OSP 2项目。因此,作为使用OSP 2的先决条件,学生应该具备扎实的Java编程能力和技巧;并深谙面向对象编程思想,如类、对象、方法和继承等;学过大学“计算机科学”课程的数据结构部分;还必须具备Java编程环境的实用知识,即javac、java、文本编辑等;OSP 2是最初的OSP软件的后继版本,最初的OSP软件发布于1990年,是用C语言编写的。OSP 2由一系列的模块组成,每一模块执行一项操作系统服务,例如设备调度、CPU调度、中断处理、文件管理、存储管理、进程管理、资源管理和进程间通信。可以按照希望的顺序来组织项目,以便与课堂讲义的内容保持同步。OSP 2软件在销售时附带了每一模块的Java实现参考,该参考是提供给课程指导教师使用的。OSP 2项目都有清晰定义的API(应用程序编程接口),学生必须实现它们才能成功完成项目。这样,OSP 2就可以锻炼学生在“开放”的环境下工作。在这种环境下,学生必须进行程序设计,以满足具体的项目需求,并使用API实现与其他子系统的接口。OSP 2项目由标准OSP 2模块的“部分装载模块”(partial load module)组成,学生实现自己所分配到的模块,然后将其与部分装载模块链接起来。最终的结果就是一个部分由学生实现的、新的、完整的操作系统。另外,每个项目还包括一个或多个“*.java”文件,其中存储了各分配模块用到的类和方法的声明。

内容概要

作者:(美国)基夫尔(Michael Kifer) (美国)斯莫尔卡(Scott A.Smolka) 译者:王俊华 等

书籍目录

第1章 OSP 2的组织结构  1.1 本章学习目标  1.2 操作系统基础  1.3 OSP 2的组织结构  1.4 OSP 2中模拟的硬件  1.5 实用程序  1.6 OSP 2的事件  1.7 OSP 2的守护进程  1.8 编译和运行项目  1.9 编写代码的一般规则  1.10 系统日志、快照和统计数据  1.11 调试  1.12 项目提交第2章 综合训练: OSP 2示例教程  2.1 本章学习目标  2.2 OSP 2线程管理概览  2.3 学生方法do_resume()  2.4 步骤1:  编译和运行项目  2.5 步骤2:  检查OSP.log文件  2.6 步骤3:  在do_resume()中引入错误操作系统设计与实现(OSP 2方法)目录第3章 TASKS:  任务(进程)管理37  3.1 本章学习目标  3.2 概念背景  3.3 TaskCB类  3.4 TASKS包输出的方法第4章 THREADS:  线程管理和调度  4.1 本章学习目标  4.2 线程概览  4.3 ThreadCB类  4.4 TimerInterruptHandler类  4.5 THREADS包输出的方法第5章 MEMORY:  虚拟存储管理  5.1 本章学习目标  5.2 虚拟存储管理概览  5.3 FrameTableEntry类  5.4 PageTableEntry类  5.5 PageTable类  5.6 MMU类  5.7 PageFaultHandler类  5.8 MEMORY包输出的方法第6章 DEVICES:  磁盘请求调度  6.1 本章学习目标  6.2 I/O处理概览  6.3 IORB类  6.4 Device类  6.5 DiskInterruptHandler类  6.6 DEVICES包输出的方法第7章 FILESYS:  文件系统  7.1 本章学习目标  7.2 文件系统设计目标  7.3 OSP 2文件系统概览  7.4 MoutTable类  7.5 INode类  7.6 DirectoryEntry类  7.7 OpenFile类  7.8 FileSys类  7.9 FileSys包输出的方法第8章 PORTS:  进程间通信  8.1 本章学习目标  8.2 OSP 2中的进程间通信  8.3 Message类  8.4 PortCB类  8.5 PORTS包输出的方法第9章 RESOURCES: 资源管理  9.1 本章学习目标  9.2 资源管理概述  9.3 OSP 2资源管理概述  9.4 ResourceTable类  9.5 RRB类  9.6 ResourceCB类  9.7 RESOURCES包输出的方法

编辑推荐

《操作系统设计与实现(OSP 2方法)》:计算机科学本科核心课程教材

作者简介

《操作系统设计与实现(OSP 2方法)》内容简介:理解现代操作系统的基本原理和算法对于大学计算机科学至关重要。然而,由于这一课题的复杂性,掌握它需要丰富的实践经验。《操作系统设计与实现(OSP 2方法)》就是为满足这一要求而编写的。通过让学生亲自动手使用0SP2这一下一代高度流行的教学软件,教授操作系统设计与实现中的入门级话题。
《操作系统设计与实现(OSP 2方法)》向学生展示了操作系统的许多重要特性,但同时又避免让学生接触底层的、与机器相关的问题。使用与《操作系统设计与实现(OSP 2方法)》配套的软件,《操作系统设计与实现(OSP 2方法)》包含的项目设计足够用作三个学期的课程,但每一学期的课程都足以覆盖虚拟存储管理中的页面替换策略、CPU调度策略、磁盘寻道时间优化,以及操作系统设计中的其他话题。
《操作系统设计与实现(OSP 2方法)》为刚接触操作系统课程的大学生编写。通过用户友好型的、高度灵活的OSP2教学软件环境,《操作系统设计与实现(OSP 2方法)》提供了操作系统设计与实现的重要基础。

图书封面


 操作系统设计与实现下载



发布书评

 
 


精彩短评 (总计5条)

  •     拿到这本书后,看了半天,最后从官方网站的信息中证实:OSP 2是提供给授课老师的,并非开源软件,晕!
  •     还可以接受吧,亚马逊的正版书貌似都这质量,蛮薄的
  •     不想想象中的那么好。。。
  •     内容太复杂,太简略,看不懂
  •     这本书是不是应有有配套的软件啊?需要另外花钱买吧?多少钱?怎么买?
 

外国儿童文学,篆刻,百科,生物科学,科普,初中通用,育儿亲子,美容护肤PDF图书下载,。 零度图书网 

零度图书网 @ 2024