操作系统课程设计实验讲义.doc

上传人:叶*** 文档编号:35092984 上传时间:2022-08-20 格式:DOC 页数:40 大小:163.50KB
返回 下载 相关 举报
操作系统课程设计实验讲义.doc_第1页
第1页 / 共40页
操作系统课程设计实验讲义.doc_第2页
第2页 / 共40页
点击查看更多>>
资源描述

《操作系统课程设计实验讲义.doc》由会员分享,可在线阅读,更多相关《操作系统课程设计实验讲义.doc(40页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、操作系统课程设计实验讲义黑龙江大学计算机科学技术学院 软件学院2004年-2015年目 录第一部分 课程目的与任务1一、课程基础1二、适应对象1三、教学目的1四、内容提要1第二部分 主要内容与基本要求2一、进程控制2二、分页式存储管理4三、设备管理6四、文件管理11五、进程调度15六、总结报告模板16第三部分 “操作系统课程设计”读书工程环节方案20一、目的与要求20二、考核方式20三、参考书目20四、读书报告模板25第 38 页第一部分 课程目的与任务一、课程基础在学这门课之前,学生必须预修过高级语言、数据结构、离散数学方面的基本知识,并学习操作系统课程相关内容。二、适应对象计算机科学与技术

2、-计算机应用; 软件工程-软件工程; 电子信息科学类-电子信息科学与技术;管理类-信息管理专业三、教学目的为配合“操作系统”课程的教学,通过模拟操作系统的实现,使学生能更深刻地领会操作系统工作原理与操作系统实现方法,并提高程序设计能力。四、内容提要本课程要求实现一套模拟单用户多任务操作系统的软件程序。该软件通过5个互相关联的模块模拟进程管理、存储管理、设备管理与文件管理四部分的主要内容,最终形成一套完整的模拟程序。第二部分 主要内容与基本要求一、进程控制基本要求:利用简单的结构与控制方法模拟进程结构、进程状态与进程控制。参考学时:6学时实验提示:1、 用PCB表示整个进程实体,利用随机数方法或

3、键盘控制方法模拟进程执行中产生的事件,或者利用基于图形界面的鼠标或者键盘操作控制进程管理内容。2、 定义PCB:包括理论PCB中的基本内容,如内部ID、外部ID、队列指针。由于很难实现真正的进程创建功能,在实验中只需建立PCB节点,并用它代表一个完整的进程。每创建一个进程时,可动态分配PCB节点,对相应内容赋值,并链接到适当的队列上。可参考如下数据结构(动态形式):struct PCBchar name10;struct PCB*next;struct PCB *ready,*blocked,*running;创建进程时:struct PCB *p=(struct PCB *)malloc(s

4、izeof(struct PCB);并将此进程添加到就绪队列末尾:add(ready,p);其中,ready为就绪队列头节点,并在开始处分配了空间;add函数是链表中添加节点函数,代码可以为:void add(struct PCB *head,struct PCB*process) struct PCB*tmp=head; while(tmp-next!=NULL) tmp=tmp-next; tmp-next=process; process-next=NULL;3、 定义进程状态转换方式:真实的进程状态转换是由进程内部操作或操作系统的控制引起的。由于模拟程序中无法实现这些功能,我们可以采用

5、随机数方法或键盘控制方法模拟,并实现对应的控制程序。随机方法指产生15的随机数,分别代表创建进程(1)、时间片到(2)、进程阻塞(3)、唤醒进程(4)、结束进程(5)等事件;键盘模拟方法指定义5个选项菜单代表以上五种事件。4、 根据随机数或键盘操作处理就绪队列、阻塞队列与当前执行进程的状态。每次事件处理后应显示出当前系统中的执行进程是哪一个,就绪队列与阻塞队列分别包含哪些进程。5、 *(带*部分为试验班与特长班需要完成的内容,普通班选作)完成可变分区的分配与回收,创建进程的同时申请一块连续的内存空间,结束进程同时回收分配的内存空间。分配采用最佳适应算法,碎片大小为2Kb,最后回收所有进程的空间

6、。可以查看进程所占的空间与系统空闲空间。评分标准:满分15分要求必须完成以下几个方面的内容:l 能够模拟进程的创建与撤销过程;5分l 可对进程的状态进行全面的控制;5分l 按先进先出方式管理就绪与阻塞队列,能够按队列形式输出进程状态。5分二、分页式存储管理基本要求:在第1部分实验基础上实现进程的分页式内存分配与地址转换过程,并进一步实现请求分页式存储分配与地址转换过程。页面置换算法至少应实现先进先出(FIFO)、最近最久未使用(LRU)等算法。 参考学时:6学时实验提示:1、 建立1个位示图,用来模拟内存的分配情况,位示图的位数与设定的物理块个数相同。程序启动时可利用一组随机0与1填充位示图,

7、表示内存已被占用情况。假设内存容量为64K,块大小为1K,则共有64个块,随机填充后的位示图可能的值如下:第0字节1 0 1 1 0 0 1 1第2字节1 1 1 0 0 1 1 1第4字节0 0 0 1 1 1 1 1第6字节1 1 1 1 1 0 0 0第1字节0 1 1 0 1 1 0 0第3字节1 0 0 0 0 1 1 1第5字节0 1 1 1 0 0 1 1第7字节0 0 0 0 0 0 0 1该位示图表示内存的2(0字节第2位)、3(0字节第3位)、6(0字节第6位)、8(1字节第0位)、9(1字节第1位)、12(1字节第4位)、15(1字节第7位)等块没有被占用。2、 创建进程

8、时输入进程大小,并根据程序中设定的物理块大小为进程分配物理块,同时建立页表。例如,在上图基础上,若要建立一个大小为5000字节的进程,则:l 计算出该进程共有“向上取整(5000/1024)=5”个页,需要占用5个内存块;l 建立空的页表,即长度为5的一维整数数组;l 从位示图中找出前5个“0”位在整个位示图中的位置号(即i字节j位为0,则该位的位置为8*i+j),并将这些号依次填入页表中,同时把前5个“0”改为“1”,以示对应内存块已经分配。3、 输入当前执行进程所要访问的逻辑地址,并将其转换成相应的物理地址。4、 进程退出时,根据其页表内容向位示图反向回填“0”。5、 扩充页表,将其变成支

9、持请求与置换功能的二维页表(增加存在位等)。创建进程时可装入固定的前三页(或键盘输入初始装入页数,不同进程的装入个数可以不同-2倍,对其还需建立独立的置换空间位示图)。6、 分别采用FIFO或LRU置换算法对地址转换过程中遇到的缺页现象进行页面置换,可将多次地址转换过程中所涉与到的页号视为进程的页面访问序列,从而计算置换次数与缺页率。7、 *可以在完成第六步的基础上实现OPT的页面置换算法,并加以比较。评分标准(满分15分):要求必须完成以下几个方面的内容(实验提示前4部分,10-12分):l 在第1部分基础上扩展;l 能够模拟内存的分页式分配与回收过程,可查看内存分配位示图与进程页表;l 可

10、根据内存分配状态进行地址转换。如果实现以下要求(实验提示后3部分),有额外3-5分加分:l 能够模拟基于虚拟存储器的内存分配与回收过程,可查看交换空间位示图与扩展的页表;l 在虚拟存储器基础上完成地址转换,缺页时能够实现页面置换;l 页面置换过程中能够模拟FIFO、LRU置换算法,可将多次地址转换过程中所涉与到的页面视为进程的页面访问序列,从而计算置换次数与缺页率。三、设备管理基本要求:在前面的实验基础上实现设备管理功能的模拟,主要包括通道与控制器的添加与删除,设备的添加、删除,设备的分配与回收。参考学时:6学时实验提示:1、 假定模拟系统中已有键盘、鼠标、打印机与显示器四个设备,另有三个控制

11、器与两个通道。2、 设备管理子系统涉与到系统设备表(SDT)、通道控制表(CHCT)、控制器控制表(COCT)与设备控制表(DCT)来表达输入输出系统的四级结构与三级控制。应实现上述数据结构来完成对外围设备的管理。数据结构参考代码:C/C+版:struct Node char name10;/名称 struct PCB *process;/占用该节点的进程 struct PCB *waitinglist;/等待该节点的进程队列 struct Node *next;/下一个节点 struct Node *parent;/父节点struct Node *CHCTs;/通道队列头节点struct N

12、ode *COCTs;/控制器队列头节点struct Node *DCTs;/设备队列头节点Java版:class IONode String name; IONode next; Process process; Vector waitinglist; IONode parent;class CHCT extends IONodeclass COCT extends IONodeclass DCT extends IONode3、 实现上述设备、控制器以与通道的层次关系,同时能够添加或删除新的设备、控制器或通道。上述数据结构之间的关系如下图所示:CHCT链表COCT链表DCT链表通道1通道2

13、控制器1设备1控制器2设备2控制器3设备3设备4设备5next指针next指针next指针parent指针parent指针占用的进程等待的进程等待的进程process指针waitinglist链表占用的进程等待的进程等待的进程process指针waitinglist链表占用的进程等待的进程等待的进程process指针waitinglist链表4、 通过键盘命令模拟进程执行过程中提出的设备分配或释放请求,并为此请求分配或释放设备。分配设备成功后可将进程状态调整为阻塞,释放设备后变为就绪状态。5、 分配设备时应如果该设备已被其它进程占用,则设备分配失败,请求进程进入阻塞状态,同时等待该设备的释放。

14、如果设备空闲,进程占用设备的同时还应提出申请控制器请求,直到与设备相关的通道都已申请成功为止。6、 设备、控制器或通道的释放应引起对应节点的等待队列中的第一个阻塞进程被唤醒。如果被唤醒的进程还未完成申请操作,应继续执行上级节点的申请操作。7、 设备分配流程:process=null(设备空闲)?执行进程提出设备分配请求在设备链表DCTs中找到所申请的设备process=执行进程,向上找到控制器process=null(控制器空闲)?process=执行进程,向上找到通道process=null(通道空闲)?process=执行进程,执行进程变阻塞状态,就绪进程变为执行状态分配成功或失败,返回执

15、行进程进入该设备的waitinglist队列并变为阻塞状态,就需进程变为执行状态执行进程进入该控制器的waitinglist队列并变为阻塞状态,就需进程变为执行状态执行进程进入该通道的waitinglist队列并变为阻塞状态,就需进程变为执行状态YYYNNN8、 回收流程:d-process=p?进程p提出释放设备d的请求在DCTs中找到所释放的设备d为第1个等待进程分配设备、控制器回收结束,返回YN有等待d的进程(waitinglist不空)?Nch-process=p?YN有等待进程(waitinglist不空)?N找到控制器的通道ch(即co-parent)ch-process=第1个等

16、待进程co-process=p?YN有等待进程(waitinglist不空)?N找到设备的控制器co(即d-parent)为第1个等待进程分配控制器、通道出错返回YYd-process=nullco-process=nullch-process=null9、*表达设备独立性,可以在设备分配时只指定设备类型,如果有空闲设备即可分配。评分标准(满分15分):要求必须完成以下几个方面的内容(10-12分):l 在第1、2部分基础上扩展;l 能够模拟设备的分配与回收流程;l 设备分配成功与否,进程都应进入阻塞状态;l 能够较形象地输出通道、控制器、设备的层次关系以与进程的占用、等待状态;也可实现如下扩

17、充要求(3-5分):l 能够添加、删除通道、控制器或设备;l 能够模拟SDT基础上的设备分配过程。四、文件管理基本要求:利用磁盘文件实现操作系统的文件管理功能,主要包括目录结构的管理、外存空间的分配与释放以与空闲空间管理三部分。 参考学时:6学时实验提示:1、 通过初始化操作建立一个模拟外存空间的虚拟磁盘文件,在该文件中保存目录与文件内容。创建该文件时应创建初始的根目录内容、文件分配表。根目录实为一特殊文件,其开始内容为空,大小为一个块。2、 文件目录项(可以采用FCB格式)应包括类型(目录 or文件)、创建日期、大小、第一个磁盘块块号。3、 显示命令提示符“$”,并根据输入命令完成相应的文件

18、操作:l MD(创建子目录):创建目录文件,并在父目录文件中增加目录项。l CD(切换工作目录):根据当前目录切换到指定目录。l RD(删除子目录):搜索所要删除的目录是否为空目录,若是则删除。l MK(创建空文件):创建指定大小的文件(如输入命令 “mk test 2000”,表示创建大小为2000字节的test文件),并在父目录中添加文件名称;还应对FAT表进行适当修改。l DEL(删除文件):如果所要删除的文件存在,则删除,同时修改父目录内容;还应对FAT表进行适当修改。l DIR:列出当前目录的所有目录项。l FORMAT:根据进一步的虚拟磁盘文件名与块个数信息创建出虚拟磁盘文件。l

19、*TREE:根据磁盘文件与目录按着树形结构加以显示。4、 实现提要l 首先应确定采用FAT16表,块大小固定为1024Byte;l 定义目录项结构:struct FCB/文件或目录控制块char name8;/文件名最长不超过8个字符,这样整个FCB大小正好为32Byteint size;/大小int first_block;/第一块块号char type;/类型,1为文件,2为目录,0为已删除目录项char datetime15;/日期时间,格式为yyyymmdd hhmmssl 定义两个宏:EMPTY_BLOCK与LAST_BLOCK,用于表示FAT表中的特殊内容#define EMPTY

20、_BLOCK 0x0000#define LAST_BLOCK 0xFFFFl 格式化时创建虚拟磁盘文件。例如,创建块大小为1024Byte,块个数为8个的虚拟磁盘文件时,所建立的文件内容为00000000000000000000000000000000FAT16表,共占用16个字节0块1块2块3块4块5块6块7块l 在上面的虚拟磁盘文件中自动创建大小为1块的根目录文件后变成:FFFF0000000000000000000000000000FAT16表,共占用16个字节空的根目录文件,占用0号块,FAT表有相应变化0块1块2块3块4块5块6块7块l 继续创建test子目录后变成:FFFFFFF

21、F000000000000000000000000FAT16表,共占用16个字节test 1 1024 2012-11-20 20:16:72 10块空的test目录文件,占用1号块,FAT表也有相应变化1块2块3块4块5块6块7块l 创建大小为2000Byte的文件a.c后变成:FFFFFFFF3FFFF0000000000000000FAT16表,共占用16个字节test 1 1024 2012-11-20 20:16:72 1a.c 0 2000 2012-11-20 20:18:25 20块空的test目录文件,占用1号块,FAT表也有相应变化1块2块3块4块5块6块7块l 删除空目录

22、test后:FFFF00003FFFF0000000000000000FAT16表,共占用16个字节a.c 0 2000 2012-11-20 20:18:25 20块空块1块2块3块4块5块6块7块评分标准(满分15分):要求必须完成以下几个方面的内容(10-12分):l 能够在磁盘文件基础上模拟外存分配与回收流程;l 支持dir、md、cd、rd命令。也可实现如下扩充要求(3-5分):l 可较方便查看位示图、索引节点、目录树关系l 能够实现创建文件的mknod命令以与删除文件的del命令,可对所创建的文件内容进行简单的编辑。五、进程调度基本要求:在1、2、3阶段实验基础上实现按先来先服务F

23、CFS、短作业优先SJF以与时间片轮转算法调度进程的模拟过程。 参考学时:6学时实验提示:1、 程序开始运行时选择调度算法,创建进程时输入进程所需服务时间以与到达时间。可参考如下数据结构:struct PCBchar name10;int size;int arrival_time;/到达时间int burst_time;/服务时间int finished_time;/结束运行时间int runned_time;/已运行时间struct PCB*next;struct PCB *ready,*blocked,*running,*finished;其中,finished队列是已运行结束的进程队列

24、,便于统计各项时间数据。2、 根据当前所设定调度算法,连续调度所有进程,并计算每个进程的周转时间与带权周转时间、所有进程的平均周转时间与平均带权周转时间。3、 调度时应适当输出调度过程中各进程状态队列的变化情况以与进程的已执行时间、还需服务时间(针对时间片轮转算法)。4、 *完成银行家算法的实现。评分标准(满分15分):要求必须完成以下几个方面的内容(10-12分):l 在第1-3部分基础上扩展;l 支持FCFS、短作业优先以与时间片调度算法。也可实现如下扩充要求(3-5分):l 能够较方便地查看调度过程与平均周转时间、平均带权周转时间;l *支持优先权调度算法与其它算法相结合的调度模式。六、

25、总结报告模板“操作系统课程设计”总结报告学号姓名学院年级专业报告日期成绩黑龙江大学计算机科学技术学院 软件学院本学期开设了操作系统课程,为了更好的理解操作系统理论,掌握其应用,特设此操作系统实验课程,在该操作系统实验中包括进程管理、存储管理、设备管理与文件管理等五个部分。一、 进程控制二、请求分页存储器管理 三、设备管理四、文件管理五、进程调度六、课程总结第三部分 “操作系统课程设计”读书工程环节方案一、目的与要求“操作系统”是计算机科学技术专业与软件工程专业的必修课程,也是该专业核心理论课程。为了更全面的理解理论知识,提高实践能力,计算机科学与技术专业以与软件工程专业开设了实践类必修课程-“

26、操作系统课程设计”。将读书环节融入教学内容的设计中,做好理论教学、实践教学、读书环节三者有机结合,可使学生进一步了解课程理论知识,拓宽视野,加深对本专业相关课程的理解。在读书工程环节,学生可以通过阅读相关的参考书目,对课程设计的五个部分(进程控制、进程调度、请求分页存储管理、设备管理、文件管理)中的任意一个题目进行深入的分析探讨与总结,并提交相应的读书工程报告。二、考核方式通过提交读书报告进行考核,该部分成绩要占课程总成绩的15%。该报告至少应包括基本理论阐述、当前理论或实践应用现状、本人对相关内容的体会、课程设计过程中对相应部分的设计与实现思路、读书工程心得总结等几个方面,并列出参考书目,字

27、数不少于5000字。三、参考书目现代操作系统(第2版、第3版,中文/英文原版)l (荷)Andrew S. Tanenbauml 译者:陈向群,马洪兵l 出版社:机械工业出版社l 出版日期:2005年6月本书是操作系统领域的经典之作,与第1版相比有较大的变化。书中集中讨论了操作系统的基本原理,除了重点放在单处理机操作系统之外,还包含了有关计算机安全、多媒体操作系统、unix、windows 2000以与操作系统设计等方面的内容。书中涉与的主题包括图形用户界面、多处理机操作系统、笔记本电脑电源管理、可信系统、病毒、网络终端、cd-rom文件系统、互斥信号量、raid、软定时器、稳定存储器以与新的

28、页面置换算法等。此外,书中还增加了大量习题,方便教学。 本书适合作为高等院校计算机科学与技术专业操作系统课程教材,也是设计、开发操作系统的重要参考书。Andrew S. Tanenbaum 是ACM与IEEE的资深会员,荷兰皇家艺术与科学学院院士,获得过1997年度ACM/SIGCSE计算机科学教育杰出贡献奖。当前,他的主要研究方向是设计规模达十亿级用户的广域分布式系统。在进行这些研究项目的基础上,他在各种学术杂志与会议上发表了70多篇论文,并出版了多本计算机专著。Tanenbaum还入选了世界名人录。Tanenbaum教授的个人主页是http:/cs.vu.nl/ast。操作系统设计与实现(

29、第二版,有电子书,中文版)l (美)Andrew S. Tanenbaum,Albert S. Woodhulll 译者:陈渝 谌卫军l 出版社:电子工业出版社l 出版日期:2007年3月本书是关于操作系统的权威教材,详细探讨了操作系统的基本原理,包括进程、进程间通信、信号量、管程、消息传递、调度算法、输入/输出、死锁、设备驱动程序、存储管理、调页算法、文件系统设计、安全与保护机制等。大多数关于操作系统的图书均重理论而轻实践,而本书则在这两者之间进行了较好的折中。本册给出了上册提到的minix3操作系统的安装方法以与详细的原代码,并附有光盘。本书适用于高校计算机专业的学生,也可供程序设计人员、

30、工程技术人员、系统架构师等相关人员参考。操作系统精髓与设计原理(第六版,有电子书)l (美)William Stallingsl 译者:陈向群,陈渝l 出版社:电子工业出版社l 出版日期:2006年2月操作系统精髓与设计原理(第6版)不仅全面地讲述了操作系统的基本概念、原理与方法,还清楚地展现了当代操作系统的本质与特点。全书分为八个部分,由浅入深地介绍了计算机系统、操作系统、进程描述与控制、线程、微内核、并发性、内存管理、虚拟内存、单处理器调度、多处理器与实时调度、i/o管理与磁盘调度、文件管理、嵌入式操作系统、计算机安全技术以与分布式操作系统等内容。操作系统精髓与设计原理(第6版)内容丰富,

31、具有很强的实用价值,适合作为高等院校计算机与相关专业本科生的操作系统课程教材,也可供专业技术人员参考。William Stallings,拥有美国麻省理工学院计算机科学博士学位,现任教于澳大利亚新南威尔士大学国防学院(堪培拉)信息技术与电子工程系。他是世界知名的计算机学者与畅销教材作者,已经撰写了17部著作,出版了40多本书籍,内容涉与计算机安全、计算机网络与计算机体系结构等方面,堪称计算机界的全才。他曾九次荣获美国“教材与学术专著作者协会”颁发的“年度最佳计算机科学教材”奖。计算机的心智:操作系统之哲学原理l 邹恒明l 出版社:机械工业出版社l 出版日期:2009年4月本书集中精力对操作系统

32、的核心内容进行分析,包括操作系统发展的历史背景、进程与线程、内存管理、文件系统、输入与输出、多核环境下的进程调度与操作系统设计。本书用大量生活实例,生动解释了操作系统中的主要难点与模糊点:锁的实现、同步机制的发展轴线、纯粹分段到段页式的演变、多核环境下的进程同步与调度与操作系统设计等内容,而放弃了对操作系统核心以外内容,如安全、多媒体系统、虚拟机技术、光盘技术等的论述。本书重点突出、逻辑清晰、内容连贯,便于学生顺利掌握操作系统的核心内容。本书从生活哲学的视角对操作系统的原理进行阐述,通过逻辑推理演绎操作系统核心技术的奥秘,讨论范围包括操作系统的所有基础内容:背景与历史。进程与线程、通信与同步、

33、调度与死锁,分页与分段。磁盘与文件。输入与输出等。此外,作者以新颖的组织方式讲解了锁的实现、同步机制的发展逻辑。从分段到段页式的演变、多核环境下的同步与调度、操作系统设计的原则。本书对操作系统原理的讨论充满趣味性:每一章都力求细致地阐明一个主题,将通俗的哲学原理与逻辑推理贯穿于每一个主题,构成全书的有机整体,并适当地引入计算机组成与编译器知识,揭示操作系统在程序运行中发挥的作用,把读者对操作系统的理解带到一个崭新的境界。操作系统概念精要(Operating System Concepts Essentials)(2011年版)(英文版,有电子书)l ABRAHAM SILBERSCHATZ,P

34、ETER BAER GALVIN,GREG GAGNEl 出版社:JOHN WILEY & SONS. INCl 出版日期:2011年本书是一本操作系统的入门教材,适用于本科三、四年级或研究生一年级学生,还适用于相关工程技术人员。本书清晰地描述了操作系统的基本概念。 本书直观地描述了概念,也阐述了重要理论结论,但省略了形式化的证明。参考文献中给出了有关研究论文,其中有的论文首次提出并证明了这些结论,有的资料是可供进一步阅读的参考材料。本书还通过使用图表与实例来代替证明,以说明结论的正确性。Abraham Silberschatz是美国耶鲁大学计算机科学系教授。前任新泽西州Murray Hill

35、的贝尔实验室信息科学研究中,Peter Baer Galvin是技术合作公司的技术主管,曾任美国布朗大学计算机科学系的系统主管。作为顾问与培训教师,他在世界各地讲解与教授网络系统管理、安全与性能等。Greg Gagne是美国盐湖城威斯特敏斯特学院计算机科学与数学系主任。除了讲授操作系统外,他还教授计算机网络/分布式系统/面向对象程序设计与数据结构等。Windows操作系统原理(第2版)l 陈向群 向勇 王雷 马洪兵 郑扣根(美)Dava Probertl 出版社:机械工业出版社l 出版日期:2004年11月Windows操作系统是微软公司开发的个人电脑操作系统,一经推出便以其方便性、易用性征服

36、了广大用户,迅速成为应用最广泛的主流操作系统。许多读者迫切希望了解Windows操作系统的内部体系结构与工作原理,以便在Windows操作平台上进行开发。为了满足这一需求,2001年8月, Windows操作系统原理的第1版面世,这是国内第一本以Windows操作系统为例,全面讲述操作系统原理的教程。微软总裁比尔盖茨先生亲自写来贺词,这是比尔盖茨先生第一次为美国境外出版的图书写贺词。中国科学院院士杨芙清教授、微软亚洲研究院前任院长张亚勤先生亲自为本书作序,教育部高教司司长、著名的操作系统专家张尧学教授也给予本书极高的评价。第1版出版以来得到了广大读者的好评。时隔三年,Windows操作系统在不

37、断发展,本书的内容也必须进行更新,以反映Windows操作系统的发展,于是推出了这本Windows操作系统原理(第2版)。与第1版相比,本书有如下特色:l 内容更加全面:第2版以Windows Server2003为实例详细介绍windows操作系统的基本原理,充分反映了windows操作系统的发展变化。l 作者阵容强大:本书的作者均为国内重点大学操作系统课程的主讲教师,具有丰富的专业知识与教学经验,微软内核开发组的骨干成员、Windows Server 2003的研发人员之一的Dave Probert也参与了第2版的编写工作,有效地保证了第2版的内在质量。l 资料来源权威微软公司与微软亚洲研

38、究院为本书的编写提供了许多第一手资料,并第一次在国内授权作者阅读其最新操作系统Windows Server 2003的源代码,从而保证了本书的权威性。本书全面反映计算机操作系统的设计思想、概念与发展趋势,深入剖析Windows操作系统的基本原理,既可以帮助读者全面了解Windows操作系统,也对读者举一反三地了解其他操作系统有所帮助。本书讲述当代计算机操作系统的原理,并具体分析操作系统原理在Windows Server2003中的实现技术与方法,将抽象的原理与具体的实例相结合,既有设计思想精要的提炼,又有具体实现细节的分析。UNIX操作系统设计(中文版,英文版,有电子书)l (美)Mauric

39、e J. Bachl 出版社:机械工业出版社l 出版日期:2006年9月Linux之父Linus Torvalds曾捧读的经典著作. 本书是一本全面介绍unix系统v内核结构的经典教材。bach在这本传世之作中深入分析了unix的内核算法、基本数据结构以与它们同上层编程接口的关系。本书首先对系统内核结构进行了简要介绍,然后分章节描述了文件系统、进程调度与存储管理,并在此基础上讨论了unix系统的高级问题,如驱动程序接口、进程间通信与网络等。.本书虽然以unix系统v为背景,但是介绍的算法、数据结构却并没有专门针对任何一种特定的内核,所以直到今日,本书仍然是世界上许多大学操作系统课程的必读或推荐

40、教材。读者如果想要学习unix,本书依然是最好的选择之一。本书的适用范围非常广泛。首先,本书可用作高等院校高年级本科生或低年级研究生的操作系统课程教材,学生使用本书的同时若能参考系统源代码将获益匪浅,但也可以独立地学习本书。其次,系统程序员可将本书作为参考书,从而更好地理解内核的工作原理,并将unix系统中采用的算法与其他操作系统的算法加以比较。最后,unix系统程序员也可将本书作为参考书,从而更深入地了解他们的程序是如何与系统相互作用的,进而编写出更有效、更高级的程序。自己动手写操作系统l 于渊l 出版社:电子工业出版社l 出版日期:2005年8月本书在详细分析操作系统原理的基础上,用丰富的

41、实例代码,一步一步地指导读者用C语言与汇编语言编写出一个具备操作系统基本功能的操作系统框架。本书不同于其他的理论型书籍,而是提供给读者一个动手实践的路线图。书中讲解了大量在开发操作系统中需注意的细节问题,这些细节不仅能使读者更深刻地认识操作系统的核心原理,而且使整个开发过程少走弯路。本书适合各类程序员、程序开发爱好者阅读,也可作为高等院校操作系统课程的实践参考书。操作系统课程设计l 罗宇,褚瑞等l 出版社:机械工业出版社l 出版日期:2005年9月本书设计了一组基于linux环境的操作系统课程实验,带领读者由浅入深地实际体验linux操作系统的设计原理。本书不仅仅提供了实验背景知识、实验内容、

42、解决方案的描述,还系统地描述了linux操作系统的基本实现原理,同时也给出了应用与内核编程可能涉与的系统调用、多线程库函数与内核函数。本书适合作为高等院校计算机专业操作系统实验课程的教材,也可以作为linux环境应用与内核编程的参考书。Unix程序设计艺术(The art of Unix programming影印版,有电子书)l Eric Raymond l 出版社:中国电力出版社l 出版日期:2004年4月荣获美国software development productivity award大奖作品!本书是作者封笔30年后历时5年创作而成的一部软件工程方面的佳作。作者首次将哲学、设计模式、

43、工具、文化与传统结合在一起,使得unix成为世界上最好且最具创新意义的软件,并展示了如何将其拓展到linux与当今的开源(open-source)运动中。通过取自最主要的开源项目中的示例,作者向unix与linux编程人员展示了如何更巧妙地创建软件,使其更雅致、更灵巧、更具可重用性且具有更长的生命期。计算机操作系统实验与实践:基于Windows与Linuxl 秦明,李波l 出版社:清华大学出版社l 出版日期:2010年9月本教材是与操作系统原理课相配套的实验指导书,主要介绍了基于Windows操作系统内核与Linux操作系统内核的操作系统理论课程实验与课程设计的主要实验内容,对操作系统的5大管

44、理功能进程管理、资源管理、存储管理、设备管理、文件管理进行了各种模拟实验,通过这些模拟实验,学生能更深入地理解操作系统管理计算机各类资源的方法,对操作系统原理有更深刻的认识与体会。本教材分为上下两篇,上篇介绍基于windows内核的围绕操作系统5大管理功能的各个实验,共5章,每章通过一个典型的实验对操作系统的其中一个管理功能进行模拟;下篇除了介绍基于linux内核的围绕操作系统5大管理功能的各个实验之外,还介绍了linux socket编程实验(第16章)以与linux操作系统的预备实验(第7章与第8章),其余各章分别围绕操作系统的5大管理功能分别介绍了相应的模拟实验。Linux程序设计:第4版l (英)Neil Matthew, Richard Stonesl 译者:陈健,宋健建l 出版社:人民邮电出版社l 出版日期:2010年6月本书是linux程序设计领域的经典名著,以简单易懂、内容全面与示例丰富而受到广泛好评。中文版前两版出版后,在国内的linux爱好者与程序员中也引起了强烈反响,这一热潮一直持续至今。本书是国内读者翘首以待的第4版,此次新版内容组织更加严谨,译者更是细心雕琢,保留了这部权威著作的原汁原味。对linux所提供的功能全面而准确的阐述,以与贯穿全书的示例程序体验,使本书不仅成为初学者的最佳l

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 工作报告

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁