操作系统概念与Linux实践教程(双语)

作者
杨一涛
丛书名
出版社
电子工业出版社
ISBN
9787121381973
简要
简介
内容简介 本书按照操作系统的功能分为10章,系统地讲述操作系统的基本原理。第1章为导论,介绍操作系统的概念、操作系统的形成与发展及操作系统的功能和操作系统提供服务的方式等;第2~6章介绍操作系统的进程管理(处理器管理),包括进程、线程、进程调度、进程同步和死锁;第7章为内存管理;第8章为外存管理;第9章为文件管理;第10章为I/O系统。为了满足双语教学的需要,本书在每章的后增加了精选的操作系统技术英文资料,供有能力的读者进行扩展阅读。本书配有PPT、源代码等教学资源,读者可登录华信教育资源网(www.hxedu.com.cn)免费下载。本书每章都配有教学视频,读者可以扫描书中二维码观看。此外,全书提供8个基于Linux系统的实验,帮助读者加深对操作系统原理的理解,部分实验也提供演示视频。本书适合作为本科院校、高职高专院校计算机操作系统和Linux相关课程的教材及参考书,也可供相关技术人员参考。
目录

第1章 导论\t1
1.1 操作系统的概念\t1
1.2 操作系统的形成与发展\t3
1.2.1 手工操作阶段\t3
1.2.2 单道批处理系统\t3
1.2.3 多道批处理系统\t4
1.2.4 分时操作系统\t5
1.2.5 微机操作系统\t5
1.2.6 分布式操作系统\t7
1.2.7 嵌入式操作系统\t7
1.3 操作系统的功能\t7
1.3.1 接管计算机\t7
1.3.2 进程管理\t10
1.3.3 存储管理\t11
1.3.4 文件管理\t12
1.3.5 设备管理\t13
1.4 操作系统的特点\t13
1.4.1 并发性\t13
1.4.2 共享性\t14
1.4.3 虚拟性\t15
1.4.4 异步性\t15
1.5 操作系统提供服务的方式\t15
1.5.1 接口\t15
1.5.2 操作接口\t16
1.5.3 程序接口\t18
1.6 GNU/Linux历史\t19
1.7 Reading Materials\t20
1.7.1 Overview\t20
1.7.2 Concurrency and Parallelism\t22
1.7.3 Graphic User Interface\t23
1.8 实验1 Linux安装及开发环境
搭建\t25
第2章 进程\t26
2.1 程序和进程\t26
2.2 进程的状态及转换\t27
2.3 进程的切换\t28
2.3.1 概述\t28
2.3.2 中断机制\t29
2.3.3 模式切换\t30
2.3.4 进程控制块\t30
2.3.5 进程切换\t31
2.4 Reading Materials\t32
2.4.1 Overview\t32
2.4.2 Inter Process Communication\t33
2.4.3 Process Control Block\t34
2.5 实验2 进程的创建\t36
第3章 线程\t39
3.1 动机和特点\t39
3.2 线程定义\t40
3.3 线程模型\t41
3.4 线程库\t42
3.5 Reading Materials\t43
3.5.1 Overview\t43
3.5.2 POSIX Thread (Pthread)
Libraries\t44
3.6 实验3 Pthread多线程\t45
第4章 进程调度\t47
4.1 概述\t47
4.2 调度标准\t49
4.3 调度算法\t50
4.3.1 先来先服务调度\t50
4.3.2 短作业优先调度\t51
4.3.3 轮转调度\t52
4.3.4 优先级调度\t54
4.4 Reading Materials\t54
4.4.1 Overview\t54
4.4.2 CFS: Completely Fair Process
Scheduling in Linux\t56
4.5 实验4 Linux调度策略\t59
第5章 进程同步\t60
5.1 背景\t60
5.2 进程的交互\t61
5.3 竞争关系\t62
5.3.1 竞争\t62
5.3.2 临界区\t62
5.3.3 软件解决方案\t63
5.3.4 硬件解决方案\t64
5.3.5 忙式等待\t65
5.4 协作关系\t65
5.4.1 信号量\t65
5.4.2 二值信号量\t66
5.4.3 计数信号量\t66
5.4.4 信号量的实现\t67
5.4.5 死锁与饥饿\t68
5.5 经典同步问题\t68
5.5.1 简单的同步问题\t68
5.5.2 生产者-消费者问题\t69
5.5.3 苹果桔子问题\t70
5.5.4 哲学家进餐问题\t71
5.6 Reading Materials\t72
5.6.1 Overview\t72
5.6.2 Mutual Exclusion\t72
5.6.3 Critical Section\t73
5.6.4 Mutex VS Semaphore\t73
5.7 实验5 并发线程互斥同步\t74
第6章 死锁\t80
6.1 定义\t80
6.2 死锁特征\t80
6.3 资源分配图\t81
6.4 死锁的防止\t82
6.5 死锁的避免\t83
6.5.1 安全状态\t83
6.5.2 银行家算法\t84
6.6 死锁的检测和恢复\t86
6.6.1 死锁的检测\t86
6.6.2 死锁的恢复\t86
6.7 Reading Materials\t87
6.7.1 Overview\t87
6.7.2 Dijkstra Biography\t88
第7章 内存管理\t90
7.1 概述\t90
7.1.1 基本概念\t90
7.1.2 基本硬件\t91
7.1.3 逻辑地址和物理地址\t92
7.1.4 地址转换\t92
7.2 连续内存分配\t95
7.2.1 固定分区分配\t95
7.2.2 可变分区分配\t96
7.2.3 碎片\t97
7.3 分段\t98
7.3.1 基本方法\t98
7.3.2 实现原理\t99
7.4 分页\t101
7.4.1 基本方法\t101
7.4.2 地址转换\t101
7.4.3 快表\t103
7.4.4 多级页表\t105
7.5 虚拟内存\t106
7.5.1 缓存与局部性原理\t106
7.5.2 虚拟内存\t107
7.5.3 请求调页\t108
7.5.4 页面置换算法\t110
7.5.5 系统抖动\t112
7.6 Reading Materials\t113
7.6.1 Overview\t113
7.6.2 Virtual Memory\t116
7.6.3 Segmented Virtual Memory\t116
7.7 实验6 进程内存空间\t117
第8章 外存管理\t124
8.1 磁盘结构\t124
8.1.1 硬件结构\t124
8.1.2 格式化\t125
8.2 磁盘调度\t125
8.2.1 磁盘性能指标\t125
8.2.2 FCFS调度\t126
8.2.3 SSTF调度\t126
8.2.4 SCAN调度\t127
8.2.5 C-SCAN调度\t128
8.2.6 LOOK调度\t128
8.2.7 调度算法选择\t129
8.3 RAID结构\t130
8.3.1 概述\t130
8.3.2 RAID级别\t130
8.4 Reading Materials\t133
第9章 文件管理\t135
9.1 概述\t135
9.2 文件\t135
9.2.1 文件类型\t136
9.2.2 文件属性\t136
9.3 存取方法\t137
9.3.1 顺序存取\t137
9.3.2 直接存取\t137
9.4 \t137
9.4.1 基本概念\t137
9.4.2 文件控制块\t138
9.4.3 单级\t139
9.4.4 两级\t139
9.4.5 树形\t140
9.4.6 UFS的实现\t141
9.5 分配方法\t141
9.5.1 连续分配\t142
9.5.2 链接分配\t142
9.5.3 索引分配\t143
9.6 空闲空间管理\t145
9.6.1 位图法\t145
9.6.2 空闲链表法\t145
9.7 Reading Materials\t146
9.7.1 Overview\t146
9.7.2 Inode\t148
9.7.3 Ext4\t149
9.8 实验7 Linux文件系统\t152
9.8.1 实验说明\t152
9.8.2 磁盘高级格式化\t152
9.8.3 Linux文件系统操作\t160
第10章 I/O系统\t163
10.1 概述\t163
10.2 I/O硬件\t163
10.2.1 硬件原理\t163
10.2.2 轮询\t164
10.2.3 中断\t165
10.2.4 DMA\t166
10.3 内核I/O结构\t167
10.4 内核I/O子系统\t168
10.4.1 I/O调度\t168
10.4.2 缓冲区\t168
10.4.3 缓存\t169
10.4.4 假脱机\t169
10.5 Reading Materials\t170
10.5.1 Overview\t170
10.5.2 I/O Channel\t171
10.5.3 The Buffer Cache\t172
10.6 实验8 Linux驱动实验\t174
参考文献\t175

推荐

车牌查询
桂ICP备20004708号-3