本教材的创新点是采用双语制,提供中英文教学素材,适应高等院校所提倡的双语教学模式,响应国际型人才培养战略的要求。在内容的编排上,每章后面将本章的主要概念、原理和算法附上英文教学内容。既可作为高等院校计算机相关专业的计算机操作系统课程的双语教材,也可供广大师生自学之用。
本书介绍了计算机操作系统的基本概念、原理和相关的技术。从计算技术的产生到操作系统的发展,从单机批处理操作到多道程序系统的实现,由浅入深、循序渐进,构成计算机操作系统的整体架构。全书共分8章,分别介绍计算机操作系统的基本概念;讲述处理机的管理内容,包括进程管理、进程同步、进程通信等;介绍内存管理和虚拟存储器的实现;阐述文件管理、设备管理的相关知识。
1.本教程的创新点是采用双语制,提供中英文教学素材,适应高等院校所提倡的双语教学模式,响应国际型人才培养战略的要求。在内容的编排上,每章后面将本章的主要概念、原理和算法附加英文教学内容。即可做为高等院校计算机相关专业的计算机操作系统课程的双语教材,也可供广大师生自学之用。
2.本书介绍了计算机操作系统的基本概念、原理和相关的技术。从计算技术的产生到操作系统的发展,从单机批处理操作到多道程序系统的实现,由浅入深、循序渐进,构成计算机操作系统的整体架构。全书共分八章,分别介绍了计算机操作系统的基本概念;讲述处理机的管理内容,包括进程管理、进程同步、进程通信等;介绍了内存管理和虚拟存储器的实现;阐述了文件管理、设备管理的相关知识。
1946年世界上第一台计算机的面世开启了人类信息化文明的新时代。现今世界正在被以计算机技术为核心的信息化文明深深地影响和改变。
计算机是实现信息化的重要工具。操作系统是覆盖在计算机硬件之上的第一层系统软件。学习操作系统知识体系,对于计算机相关专业的本科生至关重要。
双语教学是目前各高等院校提倡的教学模式,是培养学生成为国际型人才的重要的教学手段。本教材采用双语制,每章后面将本章的主要概念、算法附上英文教学内容,为双语教学提供方便,有利于学生专业外语能力的提高。
学习计算机操作系统知识体系主要分为四个阶段:① 学习某一种具体的操作系统(如Windows XP)的使用;② 学习计算机操作系统的基本原理;③ 通过学习研究某一种操作系统(如Linux)的具体实现来体验计算机操作系统的基本原理;④ 操作系统的编程训练,在某一种具体的操作系统源代码中加入自己的个性化代码,培养开发大中型计算机软件所必备的编程能力和团队协作精神。
本书对应的是上述第二个阶段的教学环节,即为高等院校计算机及相关专业本科生的“计算机操作系统”课程提供双语授课教材。全书贯穿操作系统的核心概念、原理和各种算法,使学生了解计算机系统中硬件、软件的相互配合及高效率工作的原理。
全书共8章,第1章介绍计算机操作系统的基本概念;第2~4章主要讲述处理机的管理,分别阐述进程管理、进程同步、进程通信等内容;第5、6章讲述内存管理和虚拟存储器的实现;第7章阐述文件管理的相关内容;第8章介绍设备管理的相关内容。
本教材的编写过程中,得到了沈阳工业大学和清华大学出版社的大力支持,在此表示衷心的感谢!此外,朱琪、李康泰、常欣、王传鹰等同志在本教材的编撰、整理和绘图等工作中,都付出了许多艰辛的劳动,为本教材的出版做出了许多贡献,谨向上述各位表示衷心的感谢!
本教材难免会有疏漏及不当之处,恳请读者批评指正。
第1章 操作系统引论 1
1.1 计算机的基本工作原理 1
1.1.1 自动计算 1
1.1.2 计算机基础 1
1.2 操作系统的产生 5
1.2.1 早期计算机的使用 5
1.2.2 批处理系统 6
1.2.3 分时系统 8
1.2.4 实时系统 9
1.3 操作系统的概念 9
1.3.1 操作系统的定义 9
1.3.2 操作系统与计算机其他软件及硬件的关系 10
1.3.3 操作系统的使用 11
1.4 操作系统的引导 11
1.5 操作系统特征 13
1.6 操作系统组成 14
1.6.1 处理机管理 14
1.6.2 内存管理 15
1.6.3 文件管理 16
1.6.4 设备管理 17
Chapter 1 Introduction to Computer 18
1.1 The Basic Principle of Computer 18
1.1.1 Computer Architecture 18
1.1.2 Computer System 19
1.2 Operating System Concepts 20
1.2.1 Operating System Definitions 20
1.2.2 Use of the Operating System 21
1.2.3 Operating System Several Related Concepts 22
1.3 System Components 23
1.3.1 Process Management 23
1.3.2 Memory Management 24
1.3.3 File-System Management 25
1.3.4 I/O Systems 26
习题 26
第2章 进程管理 29
2.1 计算机程序的执行 29
2.1.1 计算机程序执行 29
2.1.2 多道程序的执行 30
2.2 进程 30
2.2.1 进程概念的引入 30
2.2.2 进程的概念 31
2.2.3 进程与程序的关系 31
2.2.4 进程的特征 32
2.3 进程控制块 32
2.3.1 进程控制块概述 32
2.3.2 进程控制块的内容 32
2.3.3 Linux的进程控制块 33
2.3.4 进程控制块的组织方式 34
2.4 进程的状态 35
2.4.1 进程基本状态 35
2.4.2 进程基本状态的转换 36
2.4.3 带挂起的进程状态 37
2.5 进程控制 38
2.5.1 进程的创建 38
2.5.2 进程的终止 40
2.6 处理机调度 41
2.6.1 处理机调度的层次 41
2.6.2 进程调度的功能及实现方式 43
2.7 调度算法 45
2.7.1 调度算法的性能评价准则 45
2.7.2 先来先服务调度算法 46
2.7.3 短作业优先调度算法 47
2.7.4 高优先权优先调度算法 49
2.7.5 基于时间片的轮转调度算法 50
2.8 实时调度 52
2.8.1 实时调度的基本条件 53
2.8.2 实时调度算法 55
Chapter 2 Process Management 58
2.1 Process Concepts 58
2.1.1 Process Concepts 58
2.1.2 Process and Program 58
2.2 Process Control Block 59
2.2.1 Process Control Block 59
2.2.2 Process Control Block Contents 59
2.3 Process State 60
2.3.1 Basic States of a Process 60
2.3.2 Process State Change 61
2.3.3 Process State with the Pending 62
2.4 Operations on Processes 63
2.4.1 Process Creation 63
2.4.2 Termination of Process 64
2.5 CPU Scheduling 65
2.5.1 Queues and Schedulers 65
2.5.2 Schedule Criteria 68
2.5.3 First-Come, First-Served Scheduling 69
2.5.4 Shortest-Job-First Scheduling 70
2.5.5 Priority Scheduling 72
2.5.6 Round-Robin Scheduling 73
习题 74
第3章 进程同步 78
3.1 计算机程序的并发执行 78
3.1.1 程序的并发执行 78
3.1.2 前趋图 80
3.2 进程同步 81
3.2.1 临界资源与临界区 81
3.2.2 信号量 82
3.2.3 进程同步 83
3.2.4 改进的信号量机制 84
3.3 经典同步问题 88
3.3.1 生产者-消费者问题 88
3.3.2 读者-写者问题 91
3.3.3 哲学家问题 93
3.4 死锁 94
3.4.1 死锁的产生 94
3.4.2 预防死锁 96
3.4.3 死锁的检测与解除 101
3.5 管程 103
Chapter 3 Process Synchronization 106
3.1 Process Synchronization 106
3.1.1 Critical Section 106
3.1.2 Semaphore 106
3.2 Classic Problems of Synchronization 110
3.2.1 Producer-Consumer (Bounded-Buffer) Problem 110
3.2.2 The Readers-Writers Problem 111
3.3 Deadlocks 113
3.3.1 Causes of Deadlocks 113
3.3.2 Deadlock Avoidance 115
习题 119
第4章 进程通信与多线程 126
4.1 进程通信 126
4.1.1 共享存储区通信 126
4.1.2 消息传递系统 127
4.1.3 管道通信 130
4.1.4 Socket通信 131
4.2 多核技术 134
4.2.1 并行计算机 135
4.2.2 多核处理器 136
4.2.3 操作系统对多核处理器的支持方法 137
4.3 线程与线程管理 139
4.3.1 线程 139
4.3.2 线程管理 141
4.4 多线程的实现 143
4.4.1 典型的实现方式 143
4.4.2 用户级线程实现 145
4.4.3 核心级线程实现 146
Chapter 4 Interprocess Communicationand and Multi-Threading 148
4.1 Interprocess Communication 148
4.1.1 Shared-Memory Systems 148
4.1.2 Message-Passing Systems 148
4.1.3 pipe 150
4.1.4 Socket Communication 151
4.2 Multiprocessor Systems 151
4.3 Threads 152
4.3.1 Motivation 152
4.3.2 Multithreading Models 153
习题 154
第5章 内存管理 155
5.1 重定位 155
5.2 分区式管理 156
5.2.1 单一连续区分配 157
5.2.2 固定分区分配 157
5.2.3 可变式分区 159
5.3 分页式管理 164
5.3.1 分页的基本工作原理 164
5.3.2 动态地址变换 166
5.3.3 快表 168
5.3.4 两级和多级页表 169
5.4 分段式管理 171
5.4.1 分段的基本工作原理 171
5.4.2 地址变换 172
5.4.3 分段管理的信息共享 173
5.5 段页式管理 174
5.5.1 段页式的基本工作原理 174
5.5.2 地址变换 175
Chapter 5 Memory Management 177
5.1 Address Binding 177
5.2 Continuous Memory Allocation 179
5.3 Paging 181
5.3.1 Basic Method 181
5.3.2 Caching 183
5.3.4 Hierarchical Paging 185
5.4 Segmentation 185
习题 187
第6章 虚拟存储器 192
......