操作系统原理及应用(第2版)(微课版)(高等院校互联网+新形态创新系列教材·计算机系列)
定 价:55 元
丛书名:高等院校互联网+新形态创新系列教材·计算机系列
《操作系统原理及应用(第2版)(微课版)》全面系统地讲述了操作系统的基本理论和相关技术,从多方面描述了操作系统的精髓和特征,以简洁、易懂的语言展现全书内容。《操作系统原理及应用(第2版)(微课版)》共分为7章,第1章为操作系统的基础知识,第2章为进程管理,第3章为处理机调度与死锁,第4章为存储管理,第5章为设备管理,第6章为文件系统,第7章为Linux网络及服务器配置实例。附录实验指导给出了8个实验指导以供读者参考使用。为方便教学,可为教师用户提供电子课件、教学大纲等资源,其他配套资源还包括微视频、习题答案等。《操作系统原理及应用(第2版)(微课版)》既可作为高等院校计算机及相关专业本科、专科的教材,也可供从事计算机科学、工程、应用等方面工作的科技人员参考使用。
《操作系统原理及应用(第2版)(微课版)》以LINUX操作系统为原型,从操作系统的资源管理角度分别介绍了相关软、硬件资源管理的内容,并在其中引入Linux 2.4相关的内容进行实例说明。全书内容知识体系完整,理论与实践案例相结合,新版加入了国产操作系统简述、多道批处理下多级调度的计算实例等内容。
操作系统是计算机系统中较为重要的系统软件,在计算机学科的课程体系中占有重要的地位,是计算机及相关专业的一门基础必修课,也是计算机专业从业者必须掌握的知识。一本适用的教材对于操作系统的学习尤为重要。因此,作者在多年教学工作的基础上,结合Linux 2.4内核相关内容编写了本书。 考虑到课程学习的有限课时数,我们对内容进行了精选。本书着重于操作系统基本概念、基本原理、实现策略、基本算法原理的阐述,力图从两个主线操作系统的资源管理角度和面向用户的角度,将操作系统内容组织成一个逻辑清晰的整体。 本书共分7章。从操作系统的资源管理角度分别介绍了相关软、硬件资源管理的内容,并在其中引入Linux 2.4相关的内容进行实例说明。 本书自第1版出版以来,计算机系统有了一些新的发展。为将这些新技术和操作系统的发展融入相关知识点中,本书第2版(微课版)特修订了部分章节,具体内容如下。 (1) 第1章对操作系统的发展历程进行了系统描述,补充了操作系统功能、操作系统结构等部分内容。 (2) 鉴于国产操作系统日益推陈出新,不断扩大的生态系统,在第1章加入了国产操作系统的简述。 (3) 为了完整体现操作系统的相关发展,增补了进程状态从两态模型到七态模型的变迁,还增加了操作系统程序的执行方式说明。 (4) 为了给读者更多的参照,第2章增补了一些经典的IPC问题,第3章增加了多道批处理下多级调度的计算实例。 本书由福建工程学院陈敏任主编,福建工程学院许雪林、汤龙梅、王璇、杨海燕任副主编。本书在编写过程中参考了大量的相关技术资料及经典案例,汲取了许多宝贵经验,在此向相关作者表示感谢! 在本书的修订过程中,听取了许多授课教师与读者的意见和建议,在此谨致谢意! 因作者水平有限,书中难免存在疏漏和不妥之处,恳请同行和广大读者,特别是希望使用本书的教师和学生多提宝贵意见。 编 者
陈敏,福建工程学院副教授,博士。研究领域为:模式识别,智能算法等方面研究。主编清华大学出版社教材1部、参编厦门大学出版社教材1部。主持参与省部级、厅级科研项目20余项,近年来在国内外学术期刊上发表论文20余篇。长期从事高级语言程序设计、计算机组成、操作系统等课程的授课,在教学过程中累积了较为丰富的教学经验。
第1章 概述 11.1 操作系统的定义 31.1.1 面向用户的操作系统 31.1.2 面向系统资源的操作系统 41.2 操作系统的形成与发展历程 41.2.1 推动操作系统发展的因素 41.2.2 计算机硬件发展概述 51.2.3 计算机操作系统的发展 61.3 计算机系统硬件简介 141.3.1 中央处理器 151.3.2 存储器 151.3.3 磁盘 151.3.4 I/O设备 151.3.5 总线 161.3.6 操作系统的工作过程 161.4 操作系统的功能 181.5 用户接口 191.5.1 命令接口 191.5.2 程序接口 201.6 现代操作系统的特征 221.7 操作系统的结构 241.8 Linux操作系统简介 271.8.1 Linux的产生 271.8.2 Linux的特性 271.8.3 Linux与Windows操作系统之间的差别 281.8.4 Linux的用户界面 281.9 国产操作系统 29本章小结 30习题 31第2章 进程管理 332.1 进程的概念 352.1.1 程序的顺序执行 352.1.2 程序的并发执行 362.1.3 进程的引入原因 392.2 进程的状态 412.2.1 两态模型 412.2.2 三态模型 422.2.3 进程的创建和终止 422.2.4 五态模型 442.2.5 被挂起的进程 462.3 进程的描述 492.3.1 操作系统的控制结构 492.3.2 进程的控制结构 502.4 进程控制 522.4.1 进程创建 522.4.2 进程撤销 542.4.3 进程等待 552.4.4 进程唤醒 552.5 操作系统的执行 552.5.1 系统程序与用户程序隔离运行 562.5.2 系统程序在用户空间运行 562.5.3 系统程序以分离的进程运行 572.6 线程 572.6.1 线程的引入及定义 572.6.2 线程与进程的关系 582.6.3 线程的实现方法 582.7 进程间通信 592.7.1 临界区与临界资源 602.7.2 忙等的互斥 602.7.3 用信号量机制实现互斥与同步 642.7.4 经典的IPC问题 702.7.5 进程通信 772.7.6 管程 772.8 Linux进程与线程 792.8.1 Linux系统的启动 792.8.2 Linux进程/线程 822.8.3 Linux进程/线程的状态 832.8.4 Linux进程创建 842.8.5 Linux线程管理 872.8.6 Linux IPC 902.9 小型案例实训 96本章小结 97习题 97第3章 处理机调度与死锁 1013.1 作业的概念 1023.2 作业与进程的关系 1033.3 多级调度的概念 1043.3.1 高级调度 1043.3.2 中级调度 1053.3.3 低级调度 1053.3.4 线程调度 1053.4 调度算法 1053.4.1 作业调度算法 1063.4.2 进程调度算法 1083.5 进程调度的时机 1123.6 Linux进程调度 1133.6.1 Linux进程调度的目标 1133.6.2 Linux进程分类 1133.6.3 Linux进程优先级 1133.6.4 Linux进程调度程序 1153.6.5 进程调度策略 1153.6.6 可变优先级 1153.6.7 可变时间片 1153.6.8 Linux进程调度实现 1163.7 死锁 1173.7.1 死锁的定义和起因 1173.7.2 规避死锁的方法 1173.8 小型案例实训 120本章小结 128习题 128第4章 存储管理 1334.1 存储管理概述 1344.1.1 计算机系统的存储体系 1354.1.2 存储器的组织方式 1364.2 单一连续存储管理 1394.3 分区存储管理 1394.3.1 固定分区方式 1394.3.2 可变分区方式 1414.3.3 分区式存储管理的特点 1434.3.4 分区式存储管理的内存扩充技术 1444.4 分页存储管理 1464.4.1 分页存储管理的基本原理 1464.4.2 分页存储管理的数据结构 1474.4.3 页式地址结构及转换 1494.4.4 相联存储器和快表 1514.4.5 分页存储管理的内存分配与回收 1524.4.6 分页存储管理的内存共享与保护 1534.4.7 分页存储管理的特点 1544.5 分段存储管理 1544.5.1 分段存储管理的基本原理 1544.5.2 分段存储管理的数据结构 1554.5.3 分段存储管理的地址结构及转换 1554.5.4 内存分配与回收 1564.5.5 段共享与保护 1574.5.6 分段存储管理的特点 1584.5.7 分页存储管理和分段存储管理的区别 1584.6 段页式存储管理 1584.7 虚拟存储管理系统 1584.7.1 虚拟存储概述 1584.7.2 请求分页虚拟存储管理 1604.7.3 请求分段虚拟存储管理 1654.7.4 段页式虚拟存储管理 1654.8 Linux的存储管理 1664.8.1 Intel 80386体系结构下的内存管理机制 1664.8.2 Linux地址转换机制 1694.8.3 Linux内存分配和释放 1704.8.4 Linux进程虚拟内存地址 1724.8.5 Linux页面操作 1744.9 小型案例实训 176本章小结 179习题 180第5章 设备管理 1835.1 概述 1845.1.1 设备的分类 1845.1.2 设备管理的功能 1855.2 设备控制器 1865.2.1 设备控制器的基本功能 1865.2.2 设备控制器的组成 1875.3 数据传送控制方式 1875.3.1 程序直接控制方式 1885.3.2 中断控制方式 1885.3.3 直接存取方式 1895.3.4 通道控制方式 1915.4 中断技术 1925.4.1 中断的基本概念 1925.4.2 中断类型 1955.4.3 中断的优先级 1955.4.4 软件中断 1965.5 缓冲技术 1965.5.1 缓冲技术的引入 1965.5.2 缓冲的分类与管理 1975.6 设备独立性 1975.7 设备分配 1985.7.1 设备分配中的数据结构 1985.7.2 设备分配时应考虑的因素 1995.8 SPOOLing系统 2015.9 Linux设备管理 2015.9.1 设备管理概述 2025.9.2 Linux的I/O控制 2035.9.3 字符设备与块设备管理 2055.10 小型案例实训 207本章小结 210习题 211第6章 文件系统 2136.1 文件 2156.1.1 文件管理的几个基本概念 2156.1.2 文件分类 2166.2 文件组织形式 2166.2.1 文件的逻辑结构 2166.2.2 文件的物理结构 2176.3 文件存储空间的管理 2196.3.1 空闲文件目录法 2206.3.2 空闲块链法 2206.4 文件目录管理 2216.4.1 文件目录管理的基本要求 2216.4.2 文件控制块和索引节点 2216.4.3 文件目录结构 2226.4.4 文件共享 2236.4.5 文件保护 2246.5 文件操作 2246.6 文件系统的层次模型 2256.7 Linux文件系统概述 2266.7.1 Linux文件系统特点 2266.7.2 Linux的文件类型 2276.7.3 Linux的虚拟文件系统 2276.7.4 挂载、卸载文件系统 2296.7.5 ext2文件系统 2306.8 小型案例实训 231本章小结 236习题 237第7章 Linux网络及服务器配置实例 2397.1 Linux网络基础 2407.1.1 Linux网络的相关概念 2407.1.2 Linux的网络端口 2407.1.3 Linux网络的相关配置文件 2417.2 配置网卡 2447.2.1 配置TCP/IP 网络 2447.2.2 网络相关命令 2457.2.3 桌面环境下配置网卡 2467.2.4 配置网络的shell命令 2487.3 Linux网络服务 2507.3.1 服务器软件与网络服务 2507.3.2 管理服务 2517.4 Samba服务器 2517.4.1 Samba概述 2517.4.2 Samba的安装 2537.4.3 Samba的配置文件 2547.4.4 Samba的文件共享 2547.4.5 Samba的打印共享 2567.4.6 启动和停止Samba服务 2567.4.7 编辑文件配置Samba服务器实例 2577.5 DNS服务器 2597.5.1 配置主DNS服务器 2597.5.2 配置辅助DNS服务器 2607.5.3 测试DNS服务器 2617.6 FTP服务器 2637.6.1 FTP服务器简介 2637.6.2 vsftpd服务器配置基础 2647.6.3 配置vsftpd服务器 265本章小结 267习题 267附录 实验指导 269参考文献 286