教育>本科研究生>计算机类
操作系统教程(第4版)

操作系统教程(第4版)"

作者:陆松年
ISBN:9787121226717
定价:¥49.5
字数:800千字
页数:428
出版时间:2014-04
开本:16(185*260)
版次:01-01
装帧:
出版社:电子工业出版社
简介

本书为普通高等教育“十一五”国家级规划教材。本书以操作系统的基本原理、概念和应用为框架,以传统的UNIX为主线,分析了最近推出的Linux 3.10.12版本的存储管理、进程管理、进程通信、设备管理和文件系统的基本结构、算法、重要的数据结构和流程,详细给出了典型模块的源代码和注释,还对Windows 7和操作系统安全进行了分析。全书分3篇:第1篇介绍操作系统的基本原理及较常用的操作系统实例,如UNIX、Linux、Windows 7/8和Windows Server 2012等;第2篇介绍在UNIX和Linux系统下的系统程序设计、应用开发工具及开发技术;第3篇介绍UNIX系统管理和网络管理。

前言

第4版前言 相对Linux来说,UNIX操作系统比较简洁,源代码容易读,较适合于教学。本书出版已经14年了,期间Linux和Windows操作系统都有了较大的发展,这次修订的第4版以操作系统的基本原理、概念和应用为框架,以传统的UNIX为主线,并反映了Linux和Windows操作系统的最新发展。 与第3版比较,第4版的Linux操作系统部分有了很大的修改。第4版采用最近推出的Linux 3.10.12版本,分析了存储管理、进程管理、进程通信、设备管理和文件系统的基本结构、算法、重要的数据结构和流程,详细给出了典型模块的源代码和注释,以供教师、学生和研究Linux内核的读者参考。 本书分析的部分Linux源代码很长,为了节省篇幅,非关键的部分有所省略;有些结构说明中的常数也被截短了,余下部分用符号“*”表示。 针对目前使用人数最多的Windows操作系统,本书紧跟Windows操作系统的最新进展,舍弃了Windows 2000/XP/2003的结构分析等内容。第7章中以Windows 7操作系统为主线,全面分析了系统体系结构、存储管理、进程、线程及处理器管理、I/O系统、文件系统和网络系统。对微软最新的Windows 8和服务器操作系统产品Windows Server 2012,重点分析了其对以前Windows版本的功能更新部分。第7章还对x86平台操作系统虚拟化技术的基本原理进行了介绍,并以开源的Xen虚拟化技术为例说明了虚拟化的基本原理,重点分析了Hyper-V的系统架构和处理过程。此外还介绍了可运行云服务器、数据中心、Web和应用程序的云计算操作系统Windows Azure。 随着全球计算机信息化的发展,用户对信息服务的安全性提出了越来越高的要求。计算机信息系统的安全性主要依赖于其软件系统的安全性。由于操作系统是计算机软件系统中具有基础性、战略性和唯一控制硬件的关键软件,其安全职能是其他软件安全的根基。没有操作系统的安全就不可能真正解决计算机系统安全,进而解决整个网络信息系统的安全性问题。只有增强了操作系统的安全功能,各种病毒、木马程序、网络入侵和人为非法操作才能被真正抵制。 Solaris曾是使用最广泛、最成功的商业UNIX实现版本,也是一个最安全和最稳定的商用操作系统。但自2005年Sun公司正式推出其开源项目OpenSolaris以来,并没有取得关键的发展。本书第3版曾分析了Solaris操作系统,但基于篇幅原因,第4版删去有关内容,感兴趣的读者可参见第3版。 本书内容深浅适度,安排系统、合理,不仅介绍了操作系统的最新原理,实用性也很强。本书可作为高等学校计算机科学与技术和计算机应用专业以及通信工程、信息安全、电子工程、自动化控制和信息管理类等非计算机专业的教材及教学参考书,对于计算机软件开发人员、系统和网络管理人员,也是一本很好的参考书。 全书分为原理篇、应用和开发篇、系统和网络管理篇3部分,共16章。本书由陆松年、翁亮、潘理、薛质编写,由陆松年统稿。 本书计划讲课学时为80学时,不同专业可根据需要删去或略讲书中某些章节,将学时压缩至50~70。值得指出的是,操作系统是一门实践性很强的课程,因此不论在校学生或自学者都要进行一定数量的上机实验。与本书配套的还有由陆松年主编的《操作系统实验教程》(电子工业出版社,2010)。 本书在编写过程中得到了院、系领导对本书的大力支持,不少学生也参加了Linux分析工作,在此一并表示感谢。 由于作者水平有限,教学内容尚需要不断更新,特别是对Linux 3.10.12版本的分析,国内外鲜见论著发表,几乎完全是直接对源代码进行研究和分析,书中难免存在一些错误,恳切希望各位学者和读者批评指教,作者将不胜感谢。 本书为读者提供相关教学资料,可从华信教育资源网站(http://www.hxedu.com.cn)下载。 作 者

目录

目 录 第1部分 原理篇 第1章 操作系统概论 3 1.1 什么是操作系统 3 1.2 操作系统的发展历史 4 1.3 现代操作系统类型 7 1.4 操作系统的概念、特征和功能 11 1.5 UNIX操作系统概述 14 习题1 16 第2章 存储管理 18 2.1 存储管理基础 18 2.2 基本存储管理方法 20 2.3 可变分区存储管理 21 2.4 内存扩充技术 25 2.5 纯分页的存储管理 27 2.6 请求分页系统 30 2.7 段式存储管理 33 2.8 段页式存储管理 34 2.9 Linux存储管理 35 习题2 43 第3章 进程管理 44 3.1 进程概述 44 3.2 进程控制块 46 3.3 调度 50 3.3.1 调度概述 50 3.3.2 进程调度策略 50 3.3.3 进程调度算法 51 3.4 UNIX系统的进程调度 54 3.5 进程的控制 57 3.6 进程的创建和映像改换 60 3.7 线程 62 3.7.1 多线程 62 3.7.2 线程的状态与功能 64 3.7.3 用户级和核心级线程 64 3.7.4 线程应用示例 66 3.8 Linux进程管理 66 3.8.1 Linux进程控制块 67 3.8.2 进程调度 70 3.8.3 进程创建 74 3.8.4 Linux的线程 82 习题3 83 第4章 进程通信 84 4.1 进程的同步与互斥 84 4.2 进程间互斥控制方法 85 4.3 信号量和semWait、semSignal 操作 88 4.4 信号量的应用 89 4.5 进程间的数据通信 93 4.6 软中断和信号机构 95 4.7 死锁 97 4.8 Linux的IPC机制 102 4.8.1 Linux IPC概述 102 4.8.2 消息队列 104 4.8.3 共享内存 110 4.8.4 信号量 113 习题4 118 第5章 设备管理 120 5.1 概述 120 5.2 操作系统与中断处理 122 5.3 操作系统与时钟系统 126 5.4 操作系统对I/O操作的控制 127 5.5 设备管理的数据结构 129 5.6 磁盘调度 130 5.7 UNIX系统V的设备管理 134 5.7.1 块设备管理的主要数据结构 134 5.7.2 缓冲区管理 136 5.7.3 块设备管理 139 5.7.4 字符设备管理 140 5.8 设备分配 142 5.9 Linux的设备管理 143 5.9.1 概述 143 5.9.2 Linux字符设备管理 144 5.9.3 Linux块设备管理 148 5.9.4 Linux块设备缓冲区的管理 151 5.9.5 网络设备的管理 154 习题5 154 第6章 文件系统 156 6.1 概述 156 6.2 文件目录 160 6.3 文件存储资源分配 162 6.4 文件的系统调用 164 6.4.1 文件的创建、打开、关闭和 取消 164 6.4.2 文件的读写 166 6.4.3 调整文件读写位置lseek 166 6.4.4 创建任何类型文件mknod 167 6.4.5 其他文件系统调用 167 6.5 文件的标准子例程 168 6.6 UNIX文件系统的内部结构 173 6.6.1 索引节点 173 6.6.2 文件索引结构 173 6.6.3 目录结构 174 6.6.4 打开文件结构 176 6.6.5 文件系统存储资源管理 178 6.7 管道文件和管道通信 180 6.8 Linux虚拟文件系统 184 6.8.1 虚拟文件系统 184 6.8.2 VFS主要数据结构 188 6.8.3 VFS文件的打开 193 6.8.4 VFS文件的读写 197 6.9 Ext文件系统 199 6.9.1 Ext2文件系统 199 6.9.2 Ext2的主要数据结构 202 6.9.3 Ext2文件的操作 207 6.9.4 Ext3文件系统 212 6.9.5 Ext4文件系统 213 习题6 214 第7章 Windows操作系统 216 7.1 Windows操作系统发展历程 216 7.2 Windows 7 219 7.2.1 系统体系结构 219 7.2.2 存储系统 222 7.2.3 进程、线程及处理器管理 228 7.2.4 I/O系统 232 7.2.5 文件系统 235 7.2.6 网络系统 238 7.3 Windows Server 2012 246 7.4 Windows 8 247 7.5 操作系统虚拟化及云计算 249 习题7 257 第8章 操作系统安全 259 8.1 操作系统的安全性 259 8.1.1 操作系统的安全需求 259 8.1.2 系统安全的评估与标准 260 8.1.3 Linux操作系统安全 262 8.1.4 Windows 2000操作系统安全 263 8.2 操作系统安全机制 265 8.2.1 标识与鉴别 265 8.2.2 可信路径 266 8.2.3 最小特权管理 267 8.2.4 访问控制 268 8.2.5 隐蔽通道检测与控制 270 8.2.6 安全审计 271 8.3 安全操作系统设计与实现 273 8.3.1 操作系统安全设计原理 273 8.3.2 安全策略 273 8.3.3 安全模型 274 8.3.4 安全体系结构 276 8.3.5 典型安全操作系统 278 习题8 280 第2部分 应用和开发篇 第9章 UNIX使用基础 283 9.1 登录和退出系统 283 9.2 Shell基础 284 9.3 文件系统基本知识 287 9.4 UNIX文件系统结构 289 习题9 290 第10章 UNIX实用程序 291 10.1 目录操作命令 291 10.2 文件操作命令 292 10.3 显示和打印命令 297 10.4 过滤器 299 10.5 设备操作 305 10.6 用户信息与进程控制 307 10.7 压缩和解压缩 309 10.8 其他命令 310 习题10 311 第11章 软件开发工具 313 11.1 文本编辑器vi 313 11.1.1 屏幕编辑命令 314 11.1.2 底行命令 317 11.1.3 在vi程序中执行Shell命令 319 11.2 C编译系统 320 11.3 库的维护 324 11.4 维护程序的程序(Make) 326 11.4.1 Make使用初步 327 11.4.2 Make的内部规则 328 11.4.3 Make中的宏 329 11.4.4 用Make维护库 330 11.4.5 一个综合例子 330 11.4.6 Make命令选项和参数 332 11.5 调试程序 333 11.6 源代码控制系统(SCCS) 334 11.7 其他软件开发工具 337 习题11 338 第12章 UNIX网络通信 339 12.1 检查计算机的连接情况 339 12.2 获取远程用户信息 339 12.3 用户间通话 340 12.4 远程登录和执行 341 12.5 远程文件复制和传输 342 12.6 网络服务命令 344 习题12 347 第13章 UNIX系统和网络程序设计 348 13.1 文件系统程序设计 348 13.2 用文件的系统调用实现 进程通信 351 13.3 高级进程间通信 354 13.4 远程进程间通信Socket 360 13.5 UDP套接字编程 364 习题13 367 第14章 Shell程序设计 368 14.1 Shell程序和参数 368 14.2 Shell变量 369 14.2.1 用户定义变量 369 14.2.2 系统定义变量 370 14.2.3 Shell定义变量 371 14.2.4 参数替换 372 14.2.5 引号机制 372 14.3 测试和求值 373 14.4 控制结构 374 14.4.1 顺序控制结构 374 14.4.2 if语句 375 14.4.3 case语句 377 14.4.4 for语句 377 14.4.5 while和until语句 378 14.4.6 break、continue、exit和 return语句 379 14.5 递归和Shell函数 379 14.6 Shell内部命令 380 14.7 Shell环境 382 14.8 Linux的BASH Shell 383 习题14 385 第3部分 系统和网络管理篇 第15章 UNIX系统管理 389 15.1 系统的启动和关闭 389 15.2 用户管理 392 15.3 刷新系统缓冲区 394 15.4 检查和修复文件系统 394 15.5 构造、安装和拆卸文件系统 396 15.6 定时运行程序 398 习题15 399 第16章 UNIX网络管理 400 16.1 配置TCP/IP 400 16.2 网络服务监控进程 402 16.3 域名服务系统 403 16.4 网络文件系统NFS 407 16.5 电子邮政系统 409 16.6 WWW服务器的配置 412 习题16 417 参考文献 418

作者简介

陆松年,上海交通大学计算机科学与技术系教授,主要研究方向为计算机通信网、多媒体网络通信、目录系统、信息保密与安全(主要涉及防火墙、VPN、PKI以及PMI等)、操作系统和嵌入式系统等。

编辑推荐

作者寄语

电子资料

http://www.hxedu.com.cn/hxedu/fg/book/bookinfo.html?code=G0226710

www.luweidong.cn

下一个