欢迎光临
我们一直在努力

南开19秋《操作系统原理》课程期末复习资料

可做奥鹏国开全部院校作业论文!答案请添加qq:599792888 或 微信:1095258436

《操作系统原理》课程期末复习资料

 

《操作系统原理与应用教程》目录

第1章  计算机组成概述……………………………………………………………………………………. 1

1.1 计算机功能部件…………………………………………………………………………………….. 2

1.1.1 处理器………………………………………………………………………………………… 2

1.1.2 存储器………………………………………………………………………………………… 8

1.1.3 输入/输出设备…………………………………………………………………………….. 12

1.1.4 时钟部件……………………………………………………………………………………. 13

1.1.5系统总线…………………………………………………………………………………….. 15

1.1.6 硬件组织结构……………………………………………………………………………… 18

1.2 计算机指令执行…………………………………………………………………………………… 18

1.2.1 指令集与指令操作流程…………………………………………………………………. 19

1.2.2 指令执行周期……………………………………………………………………………… 19

1.3 中断机制…………………………………………………………………………………………….. 21

1.3.1 中断的作用………………………………………………………………………………… 21

1.3.2 中断查询机制……………………………………………………………………………… 23

1.3.3 中断管理程序……………………………………………………………………………… 24

1.3.4 中断类型及中断处理……………………………………………………………………. 25

1.3.5 多中断管理技术………………………………………………………………………….. 26

1.4 缓存机制…………………………………………………………………………………………….. 28

1.4.1 高速缓存的作用………………………………………………………………………….. 28

1.4.2 具有高速缓存的内存访问……………………………………………………………… 29

1.5 计算机软件…………………………………………………………………………………………. 30

1.5.1固化软件…………………………………………………………………………………….. 30

1.5.2 系统软件……………………………………………………………………………………. 31

1.5.3 工具软件……………………………………………………………………………………. 31

1.5.4应用软件…………………………………………………………………………………….. 32

1.6 本章小结…………………………………………………………………………………………….. 32

练习 1…………………………………………………………………………………………………….. 33

 

第2章 操作系统引论…………………………………………………………………………………………. 1

2.1对操作系统基本认识……………………………………………………………………………….. 2

2.1.1 用户均需了解操作系统…………………………………………………………………… 2

2.1.2 构建操作系统目标…………………………………………………………………………. 3

2.1.3操作系统主要功能………………………………………………………………………….. 4

2.2 操作系统发展历程…………………………………………………………………………………. 7

2.2.1 第一阶段……………………………………………………………………………………… 7

2.2.2 第二阶段……………………………………………………………………………………… 7

2.2.3第三阶段………………………………………………………………………………………. 8

2.2.4 第四阶段……………………………………………………………………………………… 8

2.2.5 第五阶段……………………………………………………………………………………… 9

2.3 操作系统分类……………………………………………………………………………………….. 9

2.3.1  批处理操作系统…………………………………………………………………………. 10

2.3.2 分时操作系统……………………………………………………………………………… 13

2.3.3 实时操作系统……………………………………………………………………………… 14

2.3.4 支持多处理器的操作系统……………………………………………………………… 15

2.3.5 网络操作系统……………………………………………………………………………… 17

2.3.6 分布式操作系统………………………………………………………………………….. 17

2.3.7 个人计算机操作系统……………………………………………………………………. 19

2.3.8 嵌入式操作系统………………………………………………………………………….. 19

2.4 操作系统研究技术……………………………………………………………………………… 19

2.4.1 并行管理技术……………………………………………………………………………… 20

2.4.2 存储管理技术……………………………………………………………………………… 20

2.4.3 文件与I/O管理技术…………………………………………………………………….. 21

2.4.4调度算法与信息安全控制………………………………………………………………. 22

2.5 操作系统建造结构………………………………………………………………………………… 23

2.5.1 无结构系统………………………………………………………………………………… 23

2.5.2 层次结构系统……………………………………………………………………………… 24

2.5.3 虚拟机结构………………………………………………………………………………… 25

2.5.4微内核结构…………………………………………………………………………………. 26

2.6 微机中常见操作系统…………………………………………………………………………….. 28

2.6.1  MS-DOS…………………………………………………………………………………… 28

2.6.2  Microsoft Windows……………………………………………………………………… 30

2.6.3  UNIX操作系统………………………………………………………………………….. 31

2.7 本章小结…………………………………………………………………………………………….. 33

练习 2    35

 

第3章 课程设计基础……………………………………………………………………………………….. 1

3.1 构建Linux系统环境……………………………………………………………………………….. 2

3.1.1 Linux系统主要安装步骤…………………………………………………………………. 2

3.1.2 配置ADSL和网卡…………………………………………………………………………. 7

3.2 Linux系统使用简介………………………………………………………………………………… 9

3.2.1 用户的注册与注销……………………………………………………………………….. 10

3.2.2 关于账户的管理…………………………………………………………………………… 11

3.2.3 对用户口令的管理……………………………………………………………………….. 12

3.2.4 用户组信息………………………………………………………………………………… 13

3.2.5  shell程序………………………………………………………………………………….. 13

3.2.6  UNIX常用命令介绍……………………………………………………………………. 14

3.3 Linux编辑工具vi………………………………………………………………………………….. 24

3.3.1  vi的基本使用方法……………………………………………………………………… 24

3.3.2 命令行方式中常用命令介绍…………………………………………………………… 25

3.3.3 末行方式下常用命令介绍……………………………………………………………… 26

3.3.4 进入vi文本插入方式的命令………………………………………………………….. 28

3.3.5 使用vi的注意事项………………………………………………………………………. 28

3.4 库函数使用方法…………………………………………………………………………………… 29

3.4.1 glib基本类型定义………………………………………………………………………… 30

3.4.2 glib中的宏………………………………………………………………………………….. 30

3.4.3内存管理函数………………………………………………………………………………. 31

3.4.4字符串处理函数…………………………………………………………………………… 32

3.4.5 glib可支持的数据结构………………………………………………………………….. 34

3.4.6 GString………………………………………………………………………………………. 37

3.4.7计时器函数…………………………………………………………………………………. 38

3.4.8 错误处理函数……………………………………………………………………………… 39

3.5 关于UNIX的系统调用………………………………………………………………………….. 40

3.5.1 系统调用分类……………………………………………………………………………… 40

3.5.2系统调用与库函数的关系………………………………………………………………. 41

3.6 C程序的编译与调试……………………………………………………………………………… 42

3.6.1 C程序的编译………………………………………………………………………………. 43

3.6.2 C程序的调试………………………………………………………………………………. 44

3.7 本章小结…………………………………………………………………………………………….. 46

练习 3    47

 

第4章 并行管理单元—进程……………………………………………………………………………….. 1

4.1 进程的概念…………………………………………………………………………………………… 2

4.1.1 多道程序的执行环境……………………………………………………………………… 2

4.1.2 进程定义……………………………………………………………………………………… 5

4.1.3 进程特性……………………………………………………………………………………… 6

4.1.4 进程描述……………………………………………………………………………………… 7

4.1.5 进程与程序的区别…………………………………………………………………………. 8

4.2 进程的生成与终止…………………………………………………………………………………. 8

4.2.1 进程创建……………………………………………………………………………………… 9

4.2.2 进程终止……………………………………………………………………………………. 10

4.3 进程的状态…………………………………………………………………………………………. 11

4.3.1 进程实际执行情况……………………………………………………………………….. 11

4.3.2 进程基本状态模型……………………………………………………………………….. 13

4.3.3 进程挂起模型……………………………………………………………………………… 16

4.4 进程并发执行控制………………………………………………………………………………… 17

4.4.1 进程并发条件……………………………………………………………………………… 18

4.4.2 进程并发管理基础……………………………………………………………………….. 20

4.4.3 实现进程管理的操作……………………………………………………………………. 21

4.5 进程应用实践………………………………………………………………………………………. 23

4.5.1 了解UNIX进程管理机制………………………………………………………………. 23

4.5.2 在用户程序中创建进程…………………………………………………………………. 24

4.5.3 控制进程执行特定任务…………………………………………………………………. 26

4.5.4 控制进程终止……………………………………………………………………………… 29

4.5.5 控制父子进程同步……………………………………………………………………….. 29

4.5.6 进程应用综合实践……………………………………………………………………….. 31

4.6 本章小结…………………………………………………………………………………………….. 33

练习 4…………………………………………………………………………………………………….. 35

 

第5章 并行管理单元—线程…………………………………………………………………………….. 1

5.1 线程概念……………………………………………………………………………………………… 2

5.1.1线程定义………………………………………………………………………………………. 2

5.1.2线程完成的工作…………………………………………………………………………….. 3

5.2 包含线程的进程模型………………………………………………………………………………. 4

5.2.1 单线程进程模型……………………………………………………………………………. 4

5.2.2 多线程进程模型……………………………………………………………………………. 5

5.3 对线程的控制与管理………………………………………………………………………………. 6

5.3.1 多线程特性………………………………………………………………………………….. 6

5.3.2 线程状态及控制……………………………………………………………………………. 7

5.4线程管理实现模式………………………………………………………………………………….. 8

5.4.1 用户级线程管理模式……………………………………………………………………… 8

5.4.2 核心级线程管理模式……………………………………………………………………. 10

5.4.3 混合型线程管理模式…………………………………………………………………….. 11

5.5多线程编程基础……………………………………………………………………………………. 12

5.5.1 适合多线程解决的问题…………………………………………………………………. 12

5.5.2 多线程编程技术………………………………………………………………………….. 15

5.5.3多线程标准库应用………………………………………………………………………… 17

5.5.4多线程编程规则…………………………………………………………………………… 19

5.6 多线程编程实践…………………………………………………………………………………… 23

5.6.1 用多线程提高程序执行效率…………………………………………………………… 23

5.6.2 用多线程查询数据库……………………………………………………………………. 25

5.6.3用多线程复制文件………………………………………………………………………… 27

5.7 本章小结…………………………………………………………………………………………….. 31

练习 5…………………………………………………………………………………………………….. 32

 

第六章 并发控制与进程通信……………………………………………………………………………….. 1

6.1 进程同步与互斥…………………………………………………………………………………….. 2

6.1.1 进程间的交互……………………………………………………………………………….. 2

6.1.2 进程互斥……………………………………………………………………………………… 3

6.1.3 进程同步……………………………………………………………………………………. 10

6.2 信号量管理技术…………………………………………………………………………………… 15

6.2.1 信号量及信号量操作……………………………………………………………………. 15

6.2.2 信号量的公有性及私有性……………………………………………………………… 16

6.2.3 用信号量管理进程互斥…………………………………………………………………. 16

6.3 管程…………………………………………………………………………………………………… 17

6.3.1 管程基本概念……………………………………………………………………………… 17

6.3.2 管程内部管理机制……………………………………………………………………….. 18

6.4 进程通信…………………………………………………………………………………………….. 20

6.4.1 进程通信分类……………………………………………………………………………… 21

6.4.2 信号通信方式……………………………………………………………………………… 21

6.4.3 消息通信方式……………………………………………………………………………… 23

6.4.4 共享存储区通信方式……………………………………………………………………. 25

6.5 经典IPC问题………………………………………………………………………………………. 28

6.5.1经典IPC问题—读者/写者问题……………………………………………………….. 28

6.5.2经典IPC问题—哲学家就餐问题……………………………………………………… 30

6.6 进程通信编程实践………………………………………………………………………………… 33

6.6.1 实践1—用信号传递完成进程间通信……………………………………………….. 33

6.6.2 实践2—用消息传递完成进程间通信……………………………………………….. 36

6.7 本章小结…………………………………………………………………………………………….. 38

练习 6    40

 

第7章 处理机调度……………………………………………………………………………………………. 1

7.1处理器调度基本概念……………………………………………………………………………….. 2

7.1.1 处理器调度与操作系统关系…………………………………………………………….. 2

7.1.2 调度所关注的问题…………………………………………………………………………. 3

7.2 处理器分级调度…………………………………………………………………………………….. 4

7.2.1长程调度………………………………………………………………………………………. 4

7.2.2 中程调度……………………………………………………………………………………… 5

7.2.3短程调度………………………………………………………………………………………. 6

7.3 衡量处理器调度标准………………………………………………………………………………. 7

7.3.1 面向用户的性能指标……………………………………………………………………… 7

7.3.2 面向系统的调度指标……………………………………………………………………… 8

7.3.3 调度算法评测指标…………………………………………………………………………. 9

7.3.4 调度指标的量化与计算…………………………………………………………………… 9

7.4 处理器调度算法…………………………………………………………………………………… 10

7.4.1 先来先服务 (FCFS)……………………………………………………………………… 11

7.4.2 短进程优先(SPN)…………………………………………………………………….. 12

7.4.3 时间片轮转(RR)………………………………………………………………………. 13

7.4.4 多级队列(MLQ)…………………………………………………………………………… 15

7.4.5  优先级法(PS)………………………………………………………………………… 16

7.4.6 多级轮转反馈法(RRMF)……………………………………………………………….. 17

7.4.7 调度算法性能比较……………………………………………………………………….. 19

7.5 死锁问题…………………………………………………………………………………………….. 19

7.5.1 死锁概述……………………………………………………………………………………. 20

7.5.2 死锁问题分析……………………………………………………………………………… 21

7.5.3 死锁预防实现方法……………………………………………………………………….. 22

7.5.4 死锁避免实现方法……………………………………………………………………….. 23

7.5.5 死锁检测实现方法……………………………………………………………………….. 26

7.5.6 死锁解决综合方法……………………………………………………………………….. 27

7.6  UNIX进程调度实例……………………………………………………………………………. 27

7.6.1调度时机安排………………………………………………………………………………. 27

7.6.2 调度标志设置……………………………………………………………………………… 28

7.6.3 进程调度策略及优先数计算…………………………………………………………… 28

7.6.4 进程调度实现……………………………………………………………………………… 30

7.7 本章小结…………………………………………………………………………………………….. 30

练习 7    31

 

第8章  存储管理……………………………………………………………………………………………… 2

8.1 存储器组成结构…………………………………………………………………………………….. 2

8.1.1 存储器配置策略……………………………………………………………………………. 2

8.1.2  PC机存储器结构…………………………………………………………………………. 3

8.2 地址重定位…………………………………………………………………………………………… 4

8.2.1地址空间………………………………………………………………………………………. 4

8.2.2地址重定位意义…………………………………………………………………………….. 5

8.2.3地址重定位的实现………………………………………………………………………….. 6

8.3进程交换技术………………………………………………………………………………………… 8

8.3.1进程交换的意义…………………………………………………………………………….. 8

8.3.2 用位示图控制交换…………………………………………………………………………. 9

8.3.3 用链表实现交换………………………………………………………………………….. 10

8.4 分区存储管理………………………………………………………………………………………. 11

8.4.1 单一分区存储管理……………………………………………………………………….. 11

8.4.2 多分区管理………………………………………………………………………………… 12

8.4.3 动态分区管理……………………………………………………………………………… 13

8.5 分区管理的分配算法…………………………………………………………………………….. 16

8.5.1 分配算法描述……………………………………………………………………………… 16

8.5.2 算法应用效果……………………………………………………………………………… 18

8.6 分页管理…………………………………………………………………………………………….. 19

8.6.1 分页基本思想……………………………………………………………………………… 19

8.6.2 静态页式管理……………………………………………………………………………… 20

8.6.3 动态页式管理……………………………………………………………………………… 25

8.7 段式管理…………………………………………………………………………………………….. 26

8.7.1段式管理基本原理………………………………………………………………………… 26

8.7.2段式管理中的地址变换………………………………………………………………….. 28

8.8 段页式管理…………………………………………………………………………………………. 29

8.8.1 分页与分段的主要特点…………………………………………………………………. 29

8.8.2 段页式管理技术………………………………………………………………………….. 30

8.9 虚拟存储技术………………………………………………………………………………………. 31

8.9.1 局部性原理………………………………………………………………………………… 31

8.9.2虚拟存储的基础…………………………………………………………………………… 32

8.9.3 分页式虚拟存储管理……………………………………………………………………. 33

8.9.4 页面置换算法……………………………………………………………………………… 35

8.10 系统虚拟存储配置实践………………………………………………………………………… 40

8.10.1虚拟存储区的大小………………………………………………………………………. 41

8.10.2 调整分页位置……………………………………………………………………………. 42

8.10.2虚拟内存使用技巧………………………………………………………………………. 43

8.11 本章小结…………………………………………………………………………………………… 44

练习 8…………………………………………………………………………………………………….. 45

 

 

第九章 文件管理系统………………………………………………………………………………………… 1

9.1文件管理概述………………………………………………………………………………………… 2

9.1.1 信息描述单元……………………………………………………………………………….. 2

9.1.2 文件系统的功能……………………………………………………………………………. 3

9.1.3 文件命名规则……………………………………………………………………………….. 4

9.1.4 文件分类……………………………………………………………………………………… 5

9.2文件结构及文件访问……………………………………………………………………………….. 6

9.2.1 文件组成结构……………………………………………………………………………….. 6

9.2.2 文件访问……………………………………………………………………………………… 9

9.2.3 文件的物理存储………………………………………………………………………….. 10

9.2.4 文件属性及文件控制块…………………………………………………………………. 11

9.3目录管理……………………………………………………………………………………………… 12

9.3.2 目录中的信息……………………………………………………………………………… 12

9.3.3目录结构…………………………………………………………………………………….. 15

9.4 构建磁盘文件系统………………………………………………………………………………… 19

9.4.1 磁盘分区与格式化……………………………………………………………………….. 19

9.4.2建立磁盘物理存储格式………………………………………………………………….. 22

9.4.3 目录存储策略……………………………………………………………………………… 26

9.4.4多级目录中文件共享…………………………………………………………………….. 28

9.4.5 磁盘文件系统的分层构造……………………………………………………………… 33

9.5  UNIX文件系统技术介绍……………………………………………………………………… 34

9.5.1 UNIX的文件与目录……………………………………………………………………… 34

9.5.2 文件系统的安装与卸载机制…………………………………………………………… 35

9.5.3 UNIX文件系统组成结构……………………………………………………………….. 36

9.5.4 UNIX文件存储策略……………………………………………………………………… 37

9.5.5 文件访问动态管理机制…………………………………………………………………. 39

9.5.6  UNIX虚拟文件系统……………………………………………………………………. 40

9.6文件管理的系统调用及应用实践………………………………………………………………. 42

9.6.1 了解UNIX文件系统调用………………………………………………………………. 42

9.6.2  UNIX的文件描述符……………………………………………………………………. 43

9.6.3 文件创建及文件链接……………………………………………………………………. 44

9.6.4  文件打开及文件关闭…………………………………………………………………… 45

9.6.5 对文件的多种访问操作…………………………………………………………………. 45

9.6.6 文件访问编程实践……………………………………………………………………….. 47

9.7 本章小结…………………………………………………………………………………………….. 52

练习9……………………………………………………………………………………………………… 53

 

第十章      I/O技术与设备管理……………………………………………………………………………. 1

10.1  I/O设备硬件……………………………………………………………………………………… 3

10.1.1  I/O设备分类……………………………………………………………………………… 3

10.1.2 设备控制器………………………………………………………………………………… 5

10.1.3  I/O端口描述与访问……………………………………………………………………. 6

10.1.4  DMA访问机制………………………………………………………………………….. 7

10.1.5  I/O中断机制……………………………………………………………………………. 10

10.2  I/O软件设计技术………………………………………………………………………………. 12

10.2.1  I/O软件的功能………………………………………………………………………… 12

10.2.2 程序控制I/O访问方式………………………………………………………………… 14

10.2.3 中断驱动I/O访问方式………………………………………………………………… 15

10.2.4 直接存储器I/O访问方式…………………………………………………………….. 16

10.2.5  I/O软件技术的变迁………………………………………………………………….. 17

10.3  构建I/O管理子系统………………………………………………………………………….. 18

10.3.1  I/O子系统设计特点………………………………………………………………….. 18

10.3.2  I/O子系统构建结构………………………………………………………………….. 19

10.3.3  中断处理程序设计……………………………………………………………………. 20

10.3.4  设备驱动程序设计……………………………………………………………………. 23

10.3.5  设备无关性设计……………………………………………………………………….. 26

10.3.6  I/O缓存技术……………………………………………………………………………. 28

10.4 用户层I/O软件设计……………………………………………………………………………. 32

10.4.1 建立I/O访问库…………………………………………………………………………. 32

10.4.2 虚拟设备管理……………………………………………………………………………. 33

10.5  磁盘管理…………………………………………………………………………………………. 35

10.5.1关系磁盘性能的参数……………………………………………………………………. 35

10.5.2 磁盘调度的策略…………………………………………………………………………. 36

10.5.3 关于磁盘格式化…………………………………………………………………………. 38

10.5.4  RAID技术………………………………………………………………………………. 40

10.6 时钟管理…………………………………………………………………………………………… 43

10.6.1 时钟硬件组成……………………………………………………………………………. 43

10.6.2时钟软件的功能………………………………………………………………………….. 44

10.7 字符设备管理…………………………………………………………………………………….. 45

10.7.1 字符设备接口……………………………………………………………………………. 45

10.7.2 字符设备输入软件……………………………………………………………………… 46

10.7.3 字符设备输出软件……………………………………………………………………… 48

10.8  实例介绍–Win2000/XP I/O子系统………………………………………………………… 48

10.8.1 Win2000/XP I/O子系统组成结构……………………………………………………. 49

10.8.2  I/O管理器功能………………………………………………………………………… 50

10.8.3  PnP管理器功能……………………………………………………………………….. 51

10.9 实例介绍–Linux I/O子系统………………………………………………………………….. 53

10.9.1 特殊文件及其作用……………………………………………………………………… 53

10.9.2 设备驱动程序与内核接口…………………………………………………………….. 54

10.9.3 字符设备管理……………………………………………………………………………. 55

10.9.4 块设备管理……………………………………………………………………………….. 56

10.10 本章小结…………………………………………………………………………………………. 57

练习 10……………………………………………………………………………………………………. 58

 

第十一章 操作系统安全性………………………………………………………………………………….. 1

11.1 操作系统安全基本知识………………………………………………………………………….. 2

11.1.1威胁操作系统安全的人………………………………………………………………….. 2

11.1.2 安全管理的目标…………………………………………………………………………… 4

11.1.3操作系统安全性原则……………………………………………………………………… 5

11.1.4 系统级安全措施功能…………………………………………………………………….. 6

11.2 数字加密技术………………………………………………………………………………………. 8

11.2.1 数字加密……………………………………………………………………………………. 8

11.2.2 数字签名…………………………………………………………………………………… 11

11.3 用户身份验证…………………………………………………………………………………….. 13

11.3.1 用户口令验证……………………………………………………………………………. 13

11.3.2对用户持有物件的验证………………………………………………………………… 15

11.3.2人体生物识别技术………………………………………………………………………. 16

11.4 病毒攻击方式分析………………………………………………………………………………. 17

11.4.1 植入系统内部的危害…………………………………………………………………… 18

11.4.2 来自系统外部的危害…………………………………………………………………… 22

11.4.3 病毒藏匿与引发机制…………………………………………………………………… 24

11.4.4 病毒传播方式……………………………………………………………………………. 26

11.5 操作系统安全与反入侵技术………………………………………………………………….. 27

11.5.1构建安全的操作系统……………………………………………………………………. 27

11.5.2 系统运行中的反入侵策略…………………………………………………………….. 28

11.5.3常用病毒防范技术………………………………………………………………………. 29

11.5.4避免病毒感染的措施……………………………………………………………………. 30

11.6 本章小结…………………………………………………………………………………………… 31

练习11…………………………………………………………………………………………………….. 32

 

(注:目录中的页码与教材编排不一致)

 

 

 

第部一部分 客观题(选择、判断、填空)

 

一、单项选择题

1、程序执行时下一条执行指令的地址放在( PC )寄存器中。

A.IR  B. PSW   C. PC

★考核知识点:常用寄存器的作用。

附1.1.1(考核知识点解释):

计算机系统中常见的各种寄存器有:

数据寄存器(data register)。这些寄存器是可以由程序员指派其中内容的。

地址寄存器(address  register)。这类寄存器可以是指向数据或指令的地址,也可以是指向一个地址的指针,包括变址寄存器(index register)、 段指针(segment pointer)、 栈指针(stack pointer)等。

条件码或标志位寄存器。这类寄存器一般允许程序访问,但不允许程序对其修改,它所包含的内容通常是根据操作结果由处理器硬件完成设置的。

程序计数器 PC(program counter)。用来存储处理器下一条将要执行指令的地址。

指令寄存器IR (instrucyion register)。用来存储处理器将要执行的下一条指令的内容。

程序状态字PSW(program status word)。存储指令执行结果表现的各种状态。

中断寄存器IR(interrupt register)。保存与中断管理有关的信息和状态字。

用于存储管理的寄存器。指处理器与存储器交互中用到的寄存器。

用于I/O控制的寄存器。指处理器与I/O控制模块交互中使用到的寄存器。

 

2、程序状态字PSW的用途是( C)

A.储存下一条指令的地址  B.储存下一条指令的内容  C.存储指令执行结果表现的各种状态   D.存储条件码和标志位

★考核知识点:常用寄存器的作用。

(考核知识点解释):同上条

 

3、下列不属于操作系统功能的是( C)

A.内存管理  B.中断处理  C.文档编辑   D.CPU调度

★考核知识点:操作系统的基本功能。

附1.1.2(考核知识点解释):

操作系统是用于管理计算机资源并控制程序运行的系统软件,操作系统的主要功能包括处理器管理、存储管理、文件管理、设备管理和作业管理。它所研究的主要内容包括,操作系统本身应该采用什么样的结构进行设计、如何为用户的多项请求提供服务、当用户多项请求之间发生冲突时如何保证它们能正确执行下去,如何建立互斥、同步、防范死锁的并行机制,如何实现内存的分配、设备的分配,以及系统容错和系统恢复等机制。操作系统可以提供给用户一个方便操作、方便程序运行、方便文件管理的软件平台,Windows、Linux等就属于这种类型的软件。

 

4、当两个进程需要的资源被对方进程占用,同时还在请求着永远不能得到的资源时,就说这些进程在调度中出现了( C )。

A.互斥    B.同步    C.死锁

★考核知识点:死锁的定义。

附1.1.3(考核知识点解释):

操作系统中对进程发生死锁的定义是:

当一个并发进程组中每个进程都在等待只能由该组进程中的其他进程才能引发的事件发生时,就称这组进程处于死锁状态。在资源共享时,无论是硬件资源还是软件资源,只要它们是有条件地被共享,就都有可能发生死锁,处于死锁状态的进程在没有外来干预的情况下,将永远无法运行下去。

5、在一个进程运行过程中,当它所需要的设备没有准备好时,进程将会进入到(E  )。

A.运行态     B.挂起态  C.就绪态    D.终止态   E.阻塞态

★考核知识点:进程状态及其变换。

附1.1.4(考核知识点解释):

在进程执行中可以用进程状态刻画进程的执行情况和它的各个生命周期,其中五状态进程模式是一种典型模型。在五状态进程模式中,进程运行中主要经历了就绪、运行、阻塞这三个主要的阶段,另外增加了创建和退出两个状态来描述进程的创建过程和退出过程。五状态进程模式如图4-9所示,下面详细解释该模式中进程状态的描述:

运行态(running):进程占有CPU可完成进程的执行任务,通常设定系统中运行态进程的数目应少于处理器的个数。

就绪态(ready):进程已占有了不包含CPU在内的所有请求资源,只须分配处理器该进程就可运行。系统中就绪进程可以有多个,而且可以按进程优先级进行排队。

阻塞态(blocked):进程阻塞态是进程运行时由于需要等待I/O操作或其它相关事件发生而无法运行时进入的一种状态,处于这种状态的进程需要某种事件的引发才能继续运行。

创建态(new):进程在新创建时处于一种创建状态,处于创建状态的进程不能运行,它需要系统为其分配和建立进程PCB的各表项,进行资源分配,安排程序地址空间等项工作。

 

 

 

退出态(exit):进程结束运行,它所使用的大部分资源需要回收。

 

图4-9五状态进程模式

 

6、当一个进程在执行中获得了所需要的资源,在本轮调度中又获得了处理器使用权,该进程进入( A)。

A.运行态     B.阻塞态  C.就绪态    D.终止态

★考核知识点:进程状态及其变换。

(考核知识点解释):同第5题内容

 

7、所谓进程调度,其调度的对象是进程,而其任务是( A   )。

A.从就绪队列中按一定的调度策略选择一个进程占用CPU

B.将程序中使用的数据调入内存

C.将指令从外存储空间调入内存

★考核知识点:处理器调度概念 。

附1.1.5(考核知识点解释):

对处理器的调度实际上就是对并发进程的运行管理,其中主要任务就是在当前的并发进程中找出一个最合适的进程,让它占用处理器去完成它所要完成的工作。由进程的状态描述可知,这个最合适的进程应该是处于就绪状态,因此选择可以占用处理器的进程应该是在就绪队列中查找。

 

8、由下列突发事件引起的中断,其优先级最高的是( D  )。

A.除数为0   B.超时中断  C.键盘请求输入   D.I/O端口出错

★考核知识点:中断优先级。

附1.1.6(考核知识点解释):

计算机中常见的中断类型包括:

1.程序中断。程序中断包含的是程序执行中可能发生的突发事件,比如像:

算术溢出

被“0”除

执行非法指令

访问超出用户空间等

2.时钟中断。与时钟管理有关的突发事件,像超时中断、时间片中断等。

3.I/O中断。与I/O设备控制有关的中断管理,比如键盘输入请求、打印结束等。

4.硬件失效中断。来自于硬件的突发失效事件,比如存储器读写失败、I/O端口出错、突然掉电等。

由以上列出的中断事件性质可知,硬件失效中断的优先级应该是最高的,而程序中断优先级相对比较低。在每一级中断中都可以再派生出多个同级中断,比如I/O中断中可包含针对不同I/O设备的多个中断;程序中断中可包含多种程序异常的中断;而时钟中断中也可能包含多种类型的时钟中断。

 

9、一个分时操作系统的( A  )性是最好的。

A.交互    B.及时响应    C.吞吐

★考核知识点:操作系统的分类与特征。

附1.1.7(考核知识点解释):

分时系统具有鲜明的特征,主要表现为:

系统处理的多路性。在系统中允许多个用户程序同时工作,多道程序通过共享系统资源,提高了系统资源利用率;通过让用户直接操作计算机并及时反馈执行结果的形式,促进了用户的参与性,加快了计算机应用的普及。

同时运行的多道程序能够保持各自的独立性。在分时系统中,多道程序可并发执行但各自能够保持独立操作,互不干扰。

3. 用户与系统有较好的交互性。在分时系统中一个重要的技术指标就是系统能够及时响应用户的操作请求,与批处理系统相比,分时系统可以显著提高程序的调试和修改效率,可以最大限度地缩短程序在系统中的周转时间。

 

10、在处理器调度中采用交互方式,即在分派处理器的过程中不断与用户交互的操作系统是( B )。

A.实时系统    B.分时系统    C.批处理系统

★考核知识点:操作系统的分类与特征。

(考核知识点解释):同第9题

11、在Linux系统调用中,使用(  A )系统调用可以让一个进程创建一个子进程。

A.fork    B.execv    C.open    D.read

12、在Linux系统调用中,使用( B )系统调用可以让进程执行与其父进程不同的操作。

A.fork    B.execv    C.open    D.read

★11,12题考核知识点:进程并发应用实践。

附1.1.8(考核知识点解释):

见教程“4.5.2 在用户程序中创建进程”中的描述可知:

在UNIX中当一个进程需要创建一个子进程时,可以使用系统调用fork()来完成。该系统调用格式为:

pid = fork( )

当用户程序使用系统调用fork( )时,可以在系统中创建一个新的进程,该语句中的pid是执行系统调用后的返回值,当系统调用失败时pid=-1,当系统调用成功时pid≥0,表示父进程所创建的子进程标识符PID号。

 

在操作系统内部,对exec系统调用的具体步骤是:当用户调用exec系统调用后,UNIX用exec调用参数中指明的一个可执行程序的复本将调用进程的正文段和数据段进行覆盖,然后使用调用进程提供的参数去执行这段新的执行代码,这样就可以做到子进程执行与父进程不同的程序代码了。

 

13、采用分页方式管理内存时,若将页划分的过小会导致( A  )情况出现。

A.页表过长     B.内碎片过多  C.页面抖动

★考核知识点:分页管理。

附1.1.9(考核知识点解释):

内存管理的性能如何,不能用分页的大小一概而论,这里需要衡量的指标是页大小与系统的适应性如何。比如当分页比较小时,那么分配时产生的内碎片会比较小,这是好的一面;但是如果系统内存的总容量比较大,为了描述进程占用内存情况所使用的页表就会比较长,而页表本身也是需要占用内存空间的,页表长带来的直接问题就是页表占用空间大;同时,另一个问题就是当页表比较长时对页表的查找时间也会加长,这些又是会对系统性能产生负面影响的因素。如果将页划分的比较大时,进程的页表会比较短,那么对内存的管理开销就会减小,而且在实现内外存交换时I/O响应效率也会比较高,即缺页的次数会减少;但是另一方面,由于页比较大时内存分配的内碎片就会增大,这又会带来一定的内存浪费,这又是不好的一面。

 

14、在请求分页存储管理中,若把页面尺寸增大一倍,在程序顺序执行时,则一般缺页中断次数会( B )

A.增加  B.减少  C.不变  D.不确定

★考核知识点:分页管理。

(考核知识点解释):同于13题

 

15、当两个进程之间各自的执行结果互为对方的执行条件时,就说这两个进程间存在着(  C )关系。

A.死锁    B.交互    C.同步

★考核知识点:进程同步概念。

附1.1.10(考核知识点解释):

4.4.2 进程并发管理基础

并发进程间除了互斥制约关系以外还存在着一种直接制约关系。进程执行的直接相关性是指并发进程之间各自执行的结果互为对方的执行条件,这种相关性使得进程的运行直接影响着其它进程的执行速度。对于具有直接制约关系的并发进程,需要通过相互传递信息,达到协同工作的目的。这种在一组并发进程中,因为直接制约关系而相互发送信息、协同工作的过程称为进程间的同步。

 

16、按照软件分类原理,操作系统应属于( C )范畴。

A.应用软件   B.支撑软件    C.系统软件

★考核知识点:构建操作系统目标。

附1.1.11(考核知识点解释):参见P30图2.2及相关文字描述,理解了计算机系统分层关系后即可得出此结论。

 

17、为了防止非法用户入侵,系统可以对进入系统的用户的身份进行认证,认证方法可以是(B)。

A. 了解他的工作经历  B. 用生物识别法采集比对有关信息  C. 检查他使用的磁盘信息

★考核知识点:用户身份认证。

附1.1.12(考核知识点解释):

在对用户身份做认证时可以采用 :1)用户口令验证;2)对用户持有物件的验证;3)人体生物识别技术。

 

18、在多道系统环境中,将多个解决不同问题的程序装入计算机的内存中,其主要目的是为了(B)。

A.扩大存储空间    B.使多道程序并发执行     C.增加I/O的访问效率

★考核知识点:多道并发环境。

附1.1.13(考核知识点解释):参见4.1进程概念一节描述。

因为在多道环境中,将对程序的控制转换为对进程的控制,只有装入内存的进程才可以运行,为了实现并发就必须要在内存中装入多个程序,让系统能够进行进程切换进而达到并发的效果。

 

19、在多道并发环境中处理器调度的基本单元可以是( C )。

A.程序    B.文件    C.进程

★考核知识点:进程概念。

(考核知识点解释):参见4.1进程概念一节描述

 

20、一个用户编写的程序在未被调用执行前,其逻辑地址的起始位置通常设为( C  )。

A.500     B.1000    C.0

★考核知识点:逻辑地址空间。

附1.1.14(考核知识点解释):

逻辑地址空间

用户编写的程序经过编译或汇编后会形成目标程序,在这类程序中,指令运行和数据访问会被限定在一个地址范围内,这个地址空间就称为逻辑地址空间,有时也称为相对地址空间或虚地址空间。在这个地址空间中,程序中所使用的地址单元编号具有一种逻辑关系,通常所有的地址都与该程序的第一条指令形成对应关系。该地址空间具有以下特征:

程序的首地址为0,其它地址是相对于首址进行编址。

程序中所描述的地址只说明了指令的逻辑执行关系,并不能作为实际运行时的地址进行读、写访问。

由于程序员在编写程序时,他(她)的主要任务是描述所要解决问题的逻辑关系。对程序做编译时,也只是检测这些逻辑关系是否合理,这两个阶段都不关心程序的具体执行。而逻辑地址空间对逻辑关系表述有利,所以在程序执行之前,通常都采用逻辑地址空间描述问题。

 

21、把逻辑地址变为内存的物理地址的过程叫做( D )

A.编译  B.连接   C.运行  D.地址重定位

★考核知识点:地址重定位。

附1.1.15(考核知识点解释):参见8.2.2地址重定位的意义

由于程序在运行之前被放在逻辑地址空间中,只有当程序需要运行时才被分配到物理地址空间中。因此程序在逻辑地址空间的位置,与其将要调度到的物理地址空间位置可能会发生变化,而这个变化会对程序中的地址访问产生一定的影响。所以一个程序从逻辑地址空间转储到物理地址空间时,需要进行必要的地址映射和地址转换。这就是地址重定位的意义。

 

22、在分页管理中,若将页划分的过大会导致( B  )情况发生。

A.页表过长     B.内碎片过多  C.内存空间变小

★考核知识点:分页大小策略。

附1.1.16(考核知识点解释):

4、分页大小的确定策略

分页管理中页大小的确定与系统的资源配置有关,其主要依据是内、外存的容量,内、外存之间的传输速率。那么分页究竟多大为合适呢?在不同系统中,页大小的变化也是比较大的。有些系统规定一个页是几K字节,有些系统规定一个页可以是几拾K字节。对于内存比较大的系统,一个页可以确定的大些;而对于内存比较少的系统,页就可以划分的小一些。

内存管理的性能如何,不能用分页的大小一概而论,这里需要衡量的指标是页大小与系统的适应性如何。比如当分页比较小时,那么分配时产生的内碎片会比较小,这是好的一面;但是如果系统内存的总容量比较大,为了描述进程占用内存情况所使用的页表就会比较长,而页表本身也是需要占用内存空间的,页表长带来的直接问题就是页表占用空间大;同时,另一个问题就是当页表比较长时对页表的查找时间也会加长,这些又是会对系统性能产生负面影响的因素。如果将页划分的比较大时,进程的页表会比较短,那么对内存的管理开销就会减小,而且在实现内外存交换时I/O响应效率也会比较高;但是另一方面,由于页比较大时内存分配的内碎片就会增大,这又会带来一定的内存浪费,这又是不好的一面。

 

23、在操作系统中,可以为用户程序提供系统功能访问接口的是(  C )。

A.库函数  B.DELL    C.系统调用    D.中间件

★考核知识点:系统调用。

附1.1.17(考核知识点解释):

UNIX系统是一款功能完备的操作系统,在UNIX的核心层可以为用户提供多种类型的服务功能,而这些系统服务功能通常是以系统调用方式提供给用户的(Linux系统在这一点上与UNIX完全一致)。编程中用户可以使用系统调用完成各种应用需求,实现对系统内核功能的使用和对各种系统资源的访问。

 

 

24、程序中的逻辑炸弹和后门陷阱通常是由于 (B )造成的。

A.存储空间过小   B.内部编程人员编写     C.访问I/O次数过多

★考核知识点:植入系统内部的危害。

附1.1.18(考核知识点解释):

3. 埋伏逻辑炸弹

所谓逻辑炸弹,实际上是指一种安置在系统内部具有破坏性的程序。说它是一个逻辑炸弹,是因为这种程序在一般情况下并不运行,只有在特定的条件下才会被引发执行,而一旦它被执行就会起到破坏作用,会对系统造成不同程度的危害。由于这种破坏程序是事先按某种逻辑步骤安排好的,按照这个逻辑步骤运行时会引发,不按照该逻辑步骤运行时永远不会引发,由此得名为埋伏逻辑炸弹。

应该说可以完成这种逻辑炸弹设计的人,通常都是内部设计人员。因为不了解程序执行步骤和设计方法的人,很难做到在系统中埋伏逻辑炸弹。例如,某公司的一个程序员编写了一个逻辑炸弹,该炸弹程序的作用是潜伏在某项程序内部,在一般情况下不会引起运行,因此也不会对系统造成破坏。

 

25、在下述存储管理技术中,只有( D )可提供虚拟存储基础。

A.动态分区法  B.交换技术  C.静态分页法   D.动态分页

★考核知识点:虚拟存储实现方法。

附1.1.19(考核知识点解释):

8.9.3 分页式虚拟存储管理

前面我们说到,采用虚拟存储策略管理内存时,被调用的进程只需将当前需要的部分读入到内存中,就可以开始执行。那么调入的程序代码和数据以什么为单位呢?还有换入、换出时又是以什么为单位呢?这些是虚拟存储管理的具体实现问题。实现虚拟存储可以有多种方式,比如用动态分页管理法、动态分段管理法,都可以达到虚拟存储的目标。

 

26、能够使独占设备虚拟化成“共享设备”的技术是( B )。

A.RAID    B.SPOOLING    C.Samba     D.NFS

★考核知识点:独占设备的管理。

附1.1.20(考核知识点解释):

虚拟设备技术也被称为假脱机或SPOOLING技术。这种技术是多道程序系统中处理独享I/O设备的一种有效方法,使用这种技术可以提高设备利用率,并缩短单个程序的响应时间,提高系统的整体效率。SPOOLING技术之所以被称为虚拟设备技术,是因为它可以使进程在所需的设备不存在或是被占用的情况下允许用户程序访问该设备。

 

27、在程序执行时,下一条将要执行的指令地址放在( C )寄存器中。

A. IR    B. PSW    C. PC

★考核知识点:典型寄存器的作用。

附1.1.21(考核知识点解释):处理器中的寄存器。

 

28、在多道系统环境中,将多个解决不同问题的程序装入计算机的内存中,其主要目的是为了(B)。

A.扩大存储空间    B.使多道程序并发执行     C.增加I/O的访问效率

★考核知识点:多道并发存储管理。

附1.1.22(考核知识点解释):

在内存中同时保存多道程序(或进程)的做法,为实现并行管理提供了基础。所以固定大小的多分区管理方式提供了在内存中保存多道程序的机制,这样有可能做到当一个进程出现阻塞或无法继续执行的时候,调度其他程序(或进程)使用处理器,从而提高处理器利用率。

 

29、当一个进程已获得了所需要的资源,在本轮调度中又获得了处理器使用权,该进程进入( D )。

A.阻塞态     B.终止态  C.就绪态    D.运行态

★考核知识点:进程状态。

附1.1.23(考核知识点解释):五状态进程模型描述的内容。

 

 

 

二、判断题(在括号中打勾或叉)

1、操作系统是其它软件的运行平台,属于系统软件范畴。(V )

★考核知识点:操作系统概念。

附1.2.1(考核知识点解释):理解“构建操作系统目标”中的解释即可理解该题目的答案。

2、在计算机的寄存器中通常存储着大批量的文件信息。(X )

★考核知识点:寄存器作用。

附1.2.2(考核知识点解释):理解关于处理器中的寄存器及其作用的描述。

3、利用动态分页技术并结合局部性原理可以实现虚拟存储管理。(V )

★考核知识点:虚拟存储。

附1.2.3(考核知识点解释):虚拟存储技术中有关如何实现虚拟存储的基本概念。

4、为处理器增加中断处理机制可以提升系统内存的利用效率。(X )

★考核知识点:中断的作用。

附1.2.4(考核知识点解释):根据中断机制中的描术可知,在系统中增加中断机制是为了提高处理器的利用率,在完成此机制时需要用到内存单元,因此不可以说增加中断机制是为了提升内存的利用率。

 

5、对于多个并发进程共享的资源,必须采用互斥机制进行管理。(V )

★考核知识点:进程互斥。

附1.2.5(考核知识点解释):根据进程并发管理基础中的描述,可知并发进程共享某资源时若不采取必要的措施将会产生调度错误,而这个必要的措施就是互斥机制。

 

6、多道并发系统之所以提高了系统整体执行效率,是因为系统刻意缩短了每一个程序的执行时间。(X )

★考核知识点:多道程序环境。

附1.2.6(考核知识点解释):理解程序在多道环境中的执行方式,并不是缩短了程序的执行时间,而是将程序化解成进程,以进程为单位进行调度的。

7、在保护模式下处理器的特权级操作是为用户程序的执行而设定的。(X )

★考核知识点:处理器特权操作的意义。

附1.2.7(考核知识点解释):处理器运行模式中的阐述,理解系统设置特权指令的意义是为了什么,进而理解通常操作系统中设置的特权指令都是为系统程序或特权用户服务的,而非为一般用户所使用。

8、在处理器调度中,当分派处理器过程中不断与用户进程交互的系统被称为分时系统。(∨ )

★考核知识点:分时系统特点。

附1.2.8(考核知识点解释):分时操作系统的特征描述一节内容理解此问题。

9、操作系统对计算机的辅助存储器进行管理的部分称为内存管理。(X )

★考核知识点:内存管理与磁盘管理的区别。

附1.2.9(考核知识点解释):关于存储管理及文件管理的有关描述,可知辅助存储器主要是指对磁盘等外部存储器的管理,因此它应该属于文件管理范畴;虽然磁盘也部分参与了虚拟存储的管理,但主要的工作还是完成文件管理。

10、为了保证多个进程在使用共享资源时不发生错误,所建立的管理机制称为进程间的读写机制。( X)

★考核知识点:临界资源访问。

附1.2.10(考核知识点解释):根据进程互斥描的内容,可知并发环境中对共享资源的访问需要采用互斥机制,而非进程读写机制。

11、使用互斥机制可以有效地保护临界资源被正确使用,从而保证并发进程的正确执行。( V  )

★考核知识点:临界资源访问。

附1.2.11(考核知识点解释):理解内容同上条。

12、在处理器中增加MMU功能部件,可以提升地址重定位的执行效率。(∨ )

13、在处理器中增加MMU功能部件,可以有效地提升用户对磁盘的访问效率。( X  )

★考核知识点:MMU功能。

附1.2.12(考核知识点解释):以上两题应理解8.6.3节中图8.18及其相关描述,搞清楚在动态分页管理中,为了能够快速的实现地址变换需要有个硬件支持部件,这就是MMU,它是为了加快地址译码设立的而不是为了别的,如果地址译码速度提升了,当然地址重定位的效率就提高了。

14、为了化解使用者对存储器容量大、速度快、成本低三项指标要求之间的矛盾,系统中通常采用扩大内存空间的方式来解决。( X )

★考核知识点:存储器组成结构。

附1.2.13(考核知识点解释):结合8.1.1节关于存储器配置策略的描述,理解为了达到用户的使用性能指标,单纯增加内存容量是无法做到的,必须有一个比较合理的存储体系结构才行。

15、通常用户程序是通过操作系统中提供的系统调用或API实现对系统资源请求的。( V )

★考核知识点:系统调用的作用。

附1.2.14(考核知识点解释):系统调用是操作系统核心层为便于用户编程提供的一种重要接口,使用它可以为用户的程序设计或编译系统提供便利。

16、利用动态分页技术并结合局部性原理可以实现虚拟存储管理。(V )

★考核知识点:虚拟存储基础知识。

附1.2.15(考核知识点解释):理解动态分页或动态分段管理内存的基本概念及其它们在管理内存上的技术区别,再加上对局部性原理的理解,才可以理解虚拟存储机制的实现技术和作用。

17、在发生中断时保护现场信息是为了使中断响应可以分优先级完成。( X )

★考核知识点:中断管理的主要步骤。

附1.2.16(考核知识点解释):中断时保护现场是为了能够在中断完成返回时能恢复原来的执行环境,而中断优先级是由中断向量决定的。

18、采用数字加密技术可以使数据在存储及传递阶段处于密文方式。( V  )

★考核知识点:数字加密的意义。

(考核知识点解释):关于数字加密的概念和实现技术,进而理解该题目的答案。

 

19、文件系统主要是针对计算机外存储器的管理,通过文件系统可以实现对大批量数据信息或需长久保存的信息进行存储和访问。(V)

★考核知识点:建立文件系统的意义。

附1.2.17(考核知识点解释):常见的信息描述单元包括:

(1)域(field)。一般在计算机系统中用“域”来描述一个简单信息单元,在域中包含着最基本数据单元“字节”,通常一个域包含着一个或若干个字节,在有些教科书上也将域称为“字段”。在域的描述中需要说明域所包含的字节长度和数据类型等内容。

(2) 记录(record)。记录通常是一组相关域构成的信息单元,记录中可以包含一个或若干个域的信息,对一批记录的描述可指明其包含的域数量是固定的或非固定等方式。

(3)文件(file)。文件可以看成是一组相似记录的组成体,是一种比较通用的信息描述单元,在大部分的操作系统中文件是用户和程序访问计算机保存信息的实体。在文件描述中可以包含文件命名、文件访问权限、文件大小、文件存储位置等相关信息。

(4) 数据库(database)。数据库是一个可以包含文件的信息描述集合,它由一组相关的数据结构组成,在数据库中可以包含多种文件,同时还具有对这些文件独立管理的各种描述信息。

在这些信息单元中,操作系统最关注的是文件,与其它信息单元相比文件具有更广泛的包容含义。文件可以用来存储各种类型的信息和数据,如图形图像文件、声音文件、正文文件、代码文件等。因此文件是系统中大批量、长期保存信息的主要描述单元。

 

20、进程的PID可以唯一标识一个进程,PID信息由操作系统在进程创建时生成、并在进程运行时进行维护和修改。(∨)

★考核知识点:进程标识。

附1.2.18(考核知识点解释):进程的ID(即PID)属于进程进程的描述信息,在创建进程时由系统生成,在进程运行中由系统负责管理和维护。

 

21、在一个较短的时间内,程序所执行的指令和执行指令中所需的操作数地址都具有一定的局部性。(∨ )

★考核知识点:局部性原理。

附1.2.19(考核知识点解释):局部性原理是对程序执行中存在的一种内在特性揭示,该原理指出:在一个较短时间内,程序所执行的指令和执行指令中需要的操作数,都具有一定的局部性。这种局部性表现在两个方面:

时间上的局部性。程序在执行时,其中的一条指令被执行与该指令的下一次被执行,一个数据的一次被访问和该数据的下一次被访问,在时间上是相对集中的。

(2)空间上的局部性。程序中所安排的相邻近指令和相邻近数据,在执行时通常会被处理器集中地调用到,即程序执行时使用的指令和数据在地址空间中有局部性。

 

22、操作系统对计算机的外存储器进行管理的模块被称为是设备管理模块。(X )

★考核知识点:辅助存储器管理及文件系统。

(考核知识点解释):根据关于文件管理概述中描述,理解此答案。

 

23、计算机处理器中设置的特权级操作是为了方便用户程序的执行而设定的。(X )

★考核知识点:处理器的运行模式。

附1.2.20(考核知识点解释):根据关于处理器运行模式设置与使用的描述,理解特权级操作并非是为用户程序设置的,而是为了系统程序执行和系统安全设置的。

 

24、为了保证多个并发进程在使用共享资源时不发生错误,所建立的管理机制称为进程间的互斥。(∨ )

★考核知识点:进程互斥机制。

(考核知识点解释):根据关于进程互斥的描述理解此问题。

 

25、没有操作系统的管理,用户使用计算机时将会非常不便,但并不是说完全无法使用计算机。( ∨

★考核知识点:操作系统的基本概念。

(考核知识点解释):阅读理解关于对操作系统基本认识和基本概念的描述。

 

三、填空题

1、操作系统是  资源     管理器,操作系统是  虚拟计算     机。

2、从进程输入到计算机中直到计算机首次给出回复的时间称为   进程响应    时间,从进程提交到进程最后完成的时间称为  周转     时间。

3、同一进程的多个线程共享  数据空间  和   程序代码段   。

4、进程映像是进程的 生存环境  ,每个进程都  与惟一的  进程映像相对应。

5、对信号量的down操作和up操作,具有  原子   特性,因此被称为  操作原语  。

6、  短进程优先  算法改善了FCFS调度的平均周转时间和平均带权周转时间,缩短了进程的等待时间。

7、虚拟机结构相较一般的层次结构系统,特点在于实现了硬件的  完全保护  及使硬件功能通过  软件方式  逐层展现。

8、单缓存技术可以使设备之间做到  一定限度   的并行,因为这时缓冲区是  临界  资源。

9、对系统造成破坏的除了黑客和外部人员外,还包括  内部人员和一般用户  。

10、如果没有 中断 机制,操作系统中的大部分程序将无法执行。

11、在进程调度中若采用时间片轮转法进行调度,当时间片过长时该算法退化成_  FCFS__算法。

12、在分页管理中,将页划分的 过小  会导致页表过长,将页划分的  过大    会导致产生过多的内碎片。

13、在文件管理中,可以使用  位图    法或  链接   法,实现对磁盘空间的分配与回收。

14、在计算机的存储结构中可以包含 寄存器、cache   、内存 、磁盘等不同的存储介质。

15、把逻辑地址变为内存的物理地址的过程叫做_ 地址重定位__,通常可以使用__动态___分页方式实现虚拟存储管理。

16、我们将一条指令执行的全过程称为__指令周期____,在其中包含了取指令周期、__译码周期_、指令执行周期和指令完成周期。

17、I/O设备通常由机械部件和电子部件组成,电子部件称为  设备控制器   ;它与设备之间的接口有串口、并口、IDE接口,U口等。

18、在共享某个资源时,不允许多个并发进程  交叉执行   的一段程序称为临界区。

19、操作系统是 系统   软件,操作系统是计算机中其他软件的  运行平台    。

20、从进程提交到计算机完成进程处理的时间称为  进程周转   时间,在批处理系统中进程的 周转    时间最短。

21、当内存采用分页管理时,进程的虚址页号到物理页面号的地址映射是通过  页表        数据表描述的,采用分页管理时可能产生的内最大碎片是  小于一页   。

22、在进程调度中若采用FCFS算法进行调度时,将会对__长___进程比较有利,而对__短___进程比较不利。

23、在文件管理中,比较利于文件扩充的管理方式是   索引存储   ,而最不利于文件扩充的方式是  顺序存储   。

24、在计算机的存储结构中  寄存器和内存等    存储介质的数量通常比较少,而可移动存储介质的数量可以没有限制地增加。

25、采用虚拟存储可以让进程__不完全被____装入时就可运行,当需要的内容不在内存时通常采用__页中断___方式进行调入。

26、进程被挂起时,通常是指进程从内存换入到了_外存的交换区___之中;只有在_内存__就绪的进程才可以参与处理器的竞争并被执行。

27、设备控制器是对设备进行电子控制的部分,常见的设备连接端口包括 串口、并口 、IDE接口、U口等。

28、在共享某个资源时,不允许多个并发进程交叉执行的一段程序称为  临界区    。

29、进程在  由内存换出到外存的   情况下,将处于挂起状态。

30、当一个运行中的进程用完了自己的时间片时将进入  就绪态 ,当需要完成一个I/O操作时将进入  阻塞状态 。

31、在通用计算机系统中用户程序所描述的输入、输出操作通常是由   操作系统的系统调用   完成的。

32、在Linux系统调用中,使用 fork() 系统调用可以让一个进程生成一个新的子进程。

33、在进程调度中若采用  时间片轮转  法进行调度,当时间片设置的过长时该算法将退化成FIFO算法。

34、在文件管理中,可以使用连续分配方式、   链式分配   及索引分配方式,实现文件的物理存储。

35、在存储管理中采用  分页管理   方式,是将内存地址空间看成一维地址空间;而采用  分段  方式,是将内存地址空间看成二地址维空间。

36、在设计批处理多道系统时,不仅要考虑系统的并发特性还要考虑系统的  总体效率和吞吐量  。

37、在Linux系统中将设备管理与   文件系统   管理统一起来了。

 

38、进程是一个具有一定独立功能的程序或程序段在  一组数据集合  上的一次动态执行过程。

39、在Linux系统调用中,使用    open   系统调用可以让一个运行的程序打开一个已存在的文件。

 

40、在进程调度中若采用短进程优先法进行调度,将会提升系统的  吞吐率 。

 

41、影响磁盘访问的主要参数包括柱面定位时间、旋转定位时间 及  数据传输时间 。

 

42、能够将“独占设备”虚拟化成“共享设备”的技术称为  SPOOLING 技术。

 

43、将程序中逻辑地址转换为运行时的物理地址的操作过程称为  地址重定位。

 

44、在内存管理中,采用分页方式将内存地址形成   一维   空间;采用分段方式可将内存地址形成    二维    空间。

 

45、从根目录开始描述到文件所在位置的路径表示方式称为  绝对路径;从当前目录开始描述到文件所在位置的路径表示方式称为  相对路径  。

 

★以上各填空题的考核知识点及考核知识点解释:请参见前面选择题及判断题的知识点内容。

 

第二部分 主观题

 

一、名词解释

1、 原语

★考核知识点:进程并发基础。

附2.1.1(考核知识点解释):

原语是指在系统态下执行具有特定功能的程序段,其执行具有原子特性,即执行不可分割、不可间断、不可并发执行。原语通常用来完成操作系统内部的特定操作。

 

2、页面淘汰

★考核知识点:内存动态分页管理。页面置换意义描述。

附2.1.2(考核知识点解释):

在进行地址映射过程中,若发现页面装入内存时存储空间不够,操作系统必须选择一个已在内存的页面并将其移出内存,以便为即将调入的页面让出空间。而这个被选择移出内存的页面就是本轮被淘汰的页面。

 

3. 数字加密

★考核知识点:数字加密。数字加密描述。

附2.1.3(考核知识点解释):

将系统中的信息明文通过某种算法和运算变换成无直接意义的秘文,便于保护信息在存储和传输过程的安全性。

 

4. 管程

★考核知识点:管程概念。

附2.1.4(考核知识点解释):

管程与进程和线程的意义不同,它是一种便于完成同步和互斥处理的程序设计语言结构,每个管程是一个基本程序单位,可以被独立地进行编译。

 

5、 特权指令

★考核知识点:处理器的特权指令。关于处理器运行模式。

附2.1.5(考核知识点解释):

特权指令是指在处理器特权状态下设置的专门用于核心态操作的、不允许用户态访问的特殊指令。

 

6、临界区

★考核知识点:多道并发。关于临界区描述。

附2.1.6(考核知识点解释):

 

在共享某个资源时,为了保证共享资源使用的正确性而设立的不允许多个并发进程交叉执行的一段程序称为临界区,系统中还将具有这种特性的共享资源成为临界资源。

 

 

7、 页面抖动

★考核知识点:页面置换算法。关于页面置换算法选择原则描述。

附2.1.7(考核知识点解释):

采用分页管理内存时,刚调入内存的页面还未被有效使用又被调出内存,使得系统陷入盲目的页面换入、换出处理中,这种现象称为页面抖动,这主要是由于算法选择不当造成的。

8、文件绝对路径

★考核知识点:文件存储与访问。

附2.1.8(考核知识点解释):

文件路径是对文件存储位置的一种描述方式,包含了绝对路径和相对路径。文件的绝对路径是指从根目录开始用斜杠(/)开始并用斜杠分割,描述到文件所在位置的路径。

9、 中断字

★考核知识点:中断管理。关于中断字的描述。

附2.1.9(考核知识点解释):

在中断机制中,中断字指中断寄存器中按位保存的信息,在每种作系统内中断字具有特定的格式,中断管理和中断执行程序可以从中了解中断的具体信息,从而实现中断的管理和中断执行。

 

10、系统调用

★考核知识点:系统调用概念。

附2.1.10(考核知识点解释):

系统调用是由操作系统实现的基本功能块,它们可以作为用户程序或应用程序的编程接口,是为用户程序使用操作系统提供服务功能的一种方式。

 

11、进程控制块

★考核知识点:进程管理。

附2.1.11(考核知识点解释):

进程控制块是操作系统管理并发进程的主要数据结构之一,其中保存了进程描述信息、控制信息、进程使用资源情况、处理器现场保护结构等。它是进程动态特征的集中反映,进程调度时要对这些数据信息进行访问和调整。

 

12、进程挂起

★考核知识点:进程状态变换。进程挂起模型描述

附2.1.12(考核知识点解释):

在完成进程的管理与控制过程中,将低优先级或需要等待时间较长的进程从内存中换出到外存,空出有限的内存资源为急需运行的进程服务,被换出到外存的进程状态就转变为挂起态。

 

13、 数字签名

★考核知识点:数字签名技术。数字签名描述。

附2.1.13(考核知识点解释):

通过密码运算生成的一系列符号和代码,将这些代码作为电子密码进行签名,代替人们的书写签名和印章作用。

 

二、简答题

1、处理器中的寄存器属于存储器范畴吗?计算机使用寄存器通常是为了存储哪一类的信息呢?

★考核知识点:寄存器的作用。存储器配置策略描述。

附2.2.1(考核知识点解释):

计算机中的寄存器也属于存储介质的一种,它是处理器内部的存储部件,其速度与处理器的速度相匹配。该介质通常用来暂存正在运行的指令及指令地址或指令在执行过程中用到的数据。

 

2、在管理多道并行环境时,需要选择调度算法对处理器进行调度。若当前面对的是大批量的短进程,那么采用循环调度法(RR)还是采用短进程优先(SPN)调度法产生的调度效果更好呢?

★考核知识点:多进程调度算法。

附2.2.2(考核知识点解释):

由于短进程在运行中占用处理器的时间一般不长,运行时会时常发生等待(如等I/O或其它结果),所以采用有间隔地轮询调度是比较好的策略,因为这些短进程对处理器的需求时间并非是长期连续的,因此对于大批量的短进程请求调度时采用RR法将会产生更好的效果。

 

3、在操作系统中建立文件系统的主要目的是什么?文件系统对文件的识别主要是靠文件名吗?

★考核知识点:文件系统的概念。

附2.2.3(考核知识点解释):

建立文件系统的目的是:使得操作系统可以了解磁盘或分区上的文件的存储方法和数据结构,进而实现在磁盘上组织、管理、按文件名访问文件。

文件系统对文件的识别并不是依靠文件名,而是靠文件描述符进行识别。

 

4、在设备管理中,增加I/O缓冲机制可以改善哪些方面的不匹配问题?另外请说明若在系统中采用双缓冲机制至少可以使什么样的传输信息并行起来?

★考核知识点:I/O缓存管理。关于I/O缓存设置方式。

附2.2.4(考核知识点解释):

引入I/O缓冲机制可以改善处理器速度与I/O设备速度之间的不匹配问题。

采用单缓冲机制时,输入、输出设备需要共享该缓冲区,由于需要对缓冲区做互斥控制,所以会影响执行速度。而在双缓冲机制中,至少可以使输入、输出设备分别使用不同的缓冲区,这样至少可以使输入、输出设备之间的操作并行起来。

 

5、什么样的变量被称为信号量?设置信号量时需要给出哪些信息?在一段程序中是否允许多个信号量存在?

★考核知识点:信号量。信号量管理技术。

附2.2.5(考核知识点解释):

为了实现进程的同步与互斥管理,对临界区中的共享资源设置的一种管理变量称为信号量。

设置的信号量应能描述共享资源正在被使用或被释放的不同状态,因此应包含信号量名、控制对象、变量初始值及变量改变规则。

在一段程序中允许存在多个信号量,因为信号量是以控制对象的多少来决定,而不是以程序段为单位做限定。

 

6、在UNIX文件系统中,描述文件属性信息的数据结构是什么? 一个典型的UNIX文件系统主要包含了那几大部分内容?

★考核知识点:UNIX文件系统理解。

附2.2.6(考核知识点解释):

可参照教程P226及P228中的图8-21及图8-23理解并回答。

在UNIX中描述文件属性信息的数据结构是索引节点表i_nod,这样做可加快检索速度;

UNIX文件系统由4大部分构成,它们是:

引导块—存放操作系统引导信息和用于系统启动的代码

超级块—存放文件和目录在磁盘上的静态分布描述信息

索引节点表—存放所有文件描述信息的数据结构及文件在磁盘中的存储信息

数据区—存放文件和目录的实际数据信息以及该文件系统的空闲区信息。

 

7、通常在什么情况下系统会将一些进程的状态改变为挂起状态?当进程被挂起后它将被放在了哪种存储介质上?

★考核知识点:进程状态转换。

附2.2.7(考核知识点解释):

当有些进程长期得不到调度,而内存空间又比较紧张时系统会筛选出一些进程,将其状态改为挂起态。

进程被挂起后通常会被换出到外存储器的一个特定区域中,如硬盘的交换区中,腾出有限的内存空间给当时更需要运行的进程使用。

 

8、系统在什么情况下会发生缺页中断?当发生缺页中断后,系统将主要完成哪些工作?

★考核知识点:动态分页管理。关于分页基本思想描述。

附2.2.8(考核知识点解释):

缺页中断是指内存使用分页管理时,在程序执行中发现所需要的指令或指令执行中需要的数据不在内存,由此产生的一种中断。

发生缺页中断后系统将会从外存储区的交换区中调入程序执行中需要的一个页面或多个页面,将它们放入到内存中,以便于程序能够继续执行。

 

9、在UNIX文件系统中,一个典型的文件系统主要包含了那几部分内容?

★考核知识点:UNIX文件系统。

附2.2.9(考核知识点解释):

可参照教程P226及P228中的图8-21及图8-23理解并回答。

UNIX文件系统由4大部分构成,它们是:

引导块—存放操作系统引导信息和用于系统启动的代码

超级块—存放文件和目录在磁盘上的静态分布描述信息

索引节点表—存放所有文件描述信息的数据结构及文件在磁盘中的存储信息

数据区—存放文件和目录的实际数据信息以及该文件系统的空闲区信息。

 

10、根据操作系统原理可以将操作系统分成哪几种类型?简述3种基本操作系统中的最优特性是什么。

★考核知识点:操作系统分类。

附2.2.10(考核知识点解释):

批处理操作系统、分时操作系统、实时操作系统、网络操作系统、分布式操作系统、多处理操作系统、个人计算机操作系统。其中

批处理系统的特性是吞吐量较高;

分时系统的特性是与用户的交互性较好;

实时系统的特性是实时性和可靠性比较高。

 

11、计算机中的磁盘是重要的存储介质,因此磁盘的访问性能会直接影响到系统的整体性能,请问在磁盘访问中与磁盘访问性能有关的主要参数有哪些?在操作系统管理中最关注的又是哪个参数?

★考核知识点:磁盘控制的主要参数。磁盘性能参数描述。

附2.2.11(考核知识点解释):

磁盘访问中主要参数包括:柱面定位时间、扇区选择旋转时间、数据传送时间。

其中操作系统最关注的是柱面定位时间。

 

12、什么是特权指令?举出2-3个特权指令的例子来。若允许用户进程执行特权指令的话,会出现什么后果?

★考核知识点:特权指令作用。处理器运行模式

附2.2.12(考核知识点解释):

在现代计算机中都会提供一些专门供操作系统使用的特殊指令,这些指令只能在核心态运行,这些指令被称为特权指令。这些指令包括:停机指令,设置PSW指令,中断操作指令(包括开中断、关中断、屏蔽中断),输入/输出指令。

用户程序通常不能执行这些特权指令;因为若允许用户程序执行特权指令的话,就会干扰操作系统的正常执行,会使整个系统瘫痪。

 

13、逻辑设备和物理设备之间一定存在着一对一的对应关系吗?请举例说明逻辑设备与物理设备之间可能存在的对应关系。

★考核知识点:逻辑设备概念。设备无关性设计。

附2.2.13(考核知识点解释):

逻辑设备和物理设备之间不存在一对一的关系。一个物理设备由于使用方法的不同可能对应着多个逻辑设备;一个逻辑设备也可能不对应任何一个物理设备,比如像UNIX系统中的/dev/error是一个错误流的逻辑设备,但是它不对应任何一个物理设备,只在使用时做映射。

 

在进程管理中,PCB中存放着与进程有关的什么信息?这些信息随着进程的运行是否会动态改变?

★考核知识点:PCB的创建与管理。

附2.2.14(考核知识点解释):

PCB是进程控制块,它是包含着进程属性集合的所有数据信息。包括的主要内容有:进程的标识信息,进程的状态信息,进程的控制信息。这些信息会随着进程的执行而动态改变,用来记录进程的动态执行状况辅助完成进程的调度与控制。

 

在Linux文件管理策略中,目录项中主要包括什么内容?

★考核知识点:Linux 目录设置。

附2.2.15(考核知识点解释):

Linux文件管理策略中,其目录项设计的比较简单,这样做的主要目的是为了加快目录的检索速度,其目录项中主要包括:文件名和索引节点号。该结构图参照 P228中的图8-23加以理解。

 

16、进程控制块PCB是由操作系统还是有由用户程序创建的?其中主要包含了哪几方面的信息?

★考核知识点:进程控制块概念。

附2.2.16(考核知识点解释):

进程控制块是操作系统管理并发进程的主要数据结构之一,是由操作系统创建的。其中保存了

进程描述信息;

进程控制信息;

进程使用资源情况;

处理器现场保护结构等等。

它是进程动态特征的集中反映,进程调度时要对这些数据信息进行访问和调整。

在内存管理中为什么要进行页面淘汰操作,当页面被淘汰后页面中的信息被存储在了什么地方?

★考核知识点:动态分页虚拟存储。虚拟存储基础。

附2.2.17(考核知识点解释):

在并发环境中,多个进程会竞争有限的内存空间。当对进程做调入的地址映射时,发现将进程页面装入内存的存储空间不够用了,操作系统这时必须选择一个已在内存的页面并将其移出内存,以便为即将调入的页面让出空间。而这个被选择移出内存的页面就是本轮被淘汰的页面。

被淘汰的页面通常被存储在了外存储空间的交换区中。

 

17、处理器调度算法中,就FCFS和SPN两种算法相比,哪个的整体吞吐量更大些?

★考核知识点:调度算法的特点。

(考核知识点解释):因为 SPN算法总是选择短进程进行调度,那么在单位时间内被调度的进程数就会多,因此SPN的整体吞吐量会更大些。

 

18、FCFS和SPN两种算法相比哪个对长作业更有利些?

★考核知识点:FCFS 及SPN调度算法的特点。

附2.2.18(考核知识点解释):因为FCFS算法是按照进程的某项参数进行排队管理的,与进程的长短无关,而长进程每当被调度就会占用较长时间的处理器(短进程会很快地放弃处理器),因此这种算法对长作业更有利些。

 

19、UNIX系统V的进程调度是采用怎样的调度算法完成的?

★考核知识点:UNIX进程调度方法。

附2.2.19(考核知识点解释):

UNIX System V的进程调度是采用动态优先级算法完成的,进程调度遵循的原则是:进程的优先数越大,其优先级就越低。系统采用定时计算来更新进程的优先数,调度时总是从内存就绪队列中取出优先数最小的那个进程,让其开始运行。UNIX系统中进程优先数的计算公式为:

Ppri = Pcpu/2 +PUSER+Pnice+ NZERO

 

20、UNIX系统V的优先数计算公式是怎样的?其中包含的意义是什么?

★考核知识点:UNIX进程调度方法。

附2.2.20(考核知识点解释):

UNIX系统中进程优先数的计算公式为:

Ppri = Pcpu/2 +PUSER+Pnice+ NZERO

公式中的PUSER 和NZERO表示基本用户优先数的阈值,不同的UNIX系统版本可以赋予它们不同的值。也就是说在系统版本确定后这两个值可以看成是一对常数。Pcpu表示的是进程最近一个时段中使用CPU的时间,当进程使用CPU时,系统会在每个时钟周期对Pcpu 值进行加1,用它记录进程使用CPU的时间。Pnice 是系统允许用户设置的进程优先数的偏置值,它可以取0~40之间的一个数。

 

21、在具有cache的系统中,处理器是如何完成存储器访问的?请分步说明访问步骤。

★考核知识点:cache的作用。

附2.2.21(考核知识点解释):

在具有cache的内存访问中处理器对内存的访问包含以下过程:

当处理器需要读取主存中的一个字时,首先要查寻该字是否在cache中;

若在其中,就从中读出,这样就完成了一次的内存访问操作;

若不在cache中,要先从主存中查找所需要读取字的位置,然后将该字所在位置的一块数据读到cache中,并将该字传递给处理器;

这时cache中的信息就进行了一轮更新;

若在读入信息过程中发现cache中内容已满,这时需要做交换处理,即需要在cache中找出一批不再使用的信息块交换出cache,这个被挤出的空间可用来放置新读入的数据。

 

22、解释分页存储管理时由逻辑地址向物理地址变换的具体过程。

★考核知识点:分页管理中的地址变换。

附2.2.22(考核知识点解释):

结合图8.16理解分页管理的地址变换步骤,在完成分页地址变换时,主要经历了三个阶段,即从程序的虚址描述阶段,到分页处理阶段,再到物理内存表示阶段。变换时首先取出虚地址中的页编号值,让它与页表寄存器中的内容相加(注:页表寄存器中保存的是页表起始地址),这时就找到了该地址在页表中的描述位置;读出该页表项中的内容,就可以知道该逻辑页对应的物理页面号是多少;将页面号作为页号描述,再取出逻辑地址中的偏移量,就构成了物理地址描述格式,按照这个物理地址描述就可以对应到物理地址的位置了。

 

23.在操作系统中设立系统调用的作用是什么?

★考核知识点:UNIX系统调用的作用。

附2.2.23(考核知识点解释):系统调用是由操作系统实现的基本功能块,它们可以作为用户程序或应用程序的编程接口,是为用户程序使用操作系统提供服务功能的一种方式。

 

24、在Linux文件系统中,除定义了一般文件的概念外,还定义了哪些文件类型?在该系统中一些典型文件类型的定义符是怎样的呢?(最少说出三种)

★考核知识点:典型文件系统知识。

附2.2.24(考核知识点解释):根据“UNIX文件系统技术”及相关描述介绍,可知除了普通文件外Linux 中还定义了设备文件包括块设备文件“b”、字符设备文件“c”,以及链接文件“l”、管道文件“p”等,文件类型定义都使用一个单字符表示,具体表述如b、 c 、l、 p。

 

 

三、操作系统策略、算法描述与应用题

1、动态页面置换算法应用题

在采用分页管理进程分配存储空间时,假设某程序共有5个虚页内容,而在运行时只分配到了三个页面;初始时页面为空,页面访问顺序为4,3,2,1,4,3,5,4,3,2,1,5。请测算使用OPT和LRU页面置换算法管理页面分配时,分别会出现怎样的缺页状况。给出缺页分配页面的具体描述过程及缺页次数。

★考核知识点:分页管理页面置换算法。

附2.3.1(考核知识点解释):根据教程中页面置换算法一节描述(参见教程P228-232),经测算该题目中采用OPT置换法将出现7次缺页中断;采用LRU置换法将出现10次缺页中断。参考相关描述画出置换算法图表。

 

2、动态页面置换算法应用题

假设某程序在内存中被分配到了三个页面,初始页面为空,页面走向为3,2,1,5,1,4,2,3,4,2,1,5。请完成以下工作:

(1)使用OPT页面置换算法分配时,将出现几次缺页,用图表方式给出置换步骤。

(2)使用 LRU页面置换算法分配时,将出现几次缺页,用图表方式给出置换步骤。

★考核知识点:分页管理页面置换算法。关于OPT、LRU置换法的原理。

附2.3.2(考核知识点解释):

(1)采用OPT将出现8次缺页中断,具体置换过程如下图:

3     2    1     5     1    4    2     3    4     2    1    5

3 2 1 5 1 4 2 3 4 2 1 5

3 2 1 5 1 4 2 3 4 2 1

3 2 2 2 1 4 2 3 4 4

x x x x v x v x v v x x

(2)采用LRU将出现9次缺页中断,具体置换过程如下图:

3     2    1     5     1    4    2     3    4     2    1     5

3 2 1 5 1 4 2 3 4 2 1 5

3 2 1 5 1 4 2 3 4 2 1

3 2 2 5 1 4 2 3 4 2

x x x x v x x x v v x x

3、目录管理结构应用题

根据以下文字描述构建出该文件系统的目录树形结构

请按照以下的文字描述画出一棵文件目录树形结构,并说明对该树形结构应采取几级目录结构方式进行管理?在管理中是否能实现文件重名控制?描述如下:

系统中有一个根节点,在根节点下有三个顶级节点zhao、qian、sun;在节点zhao下有文件z-file1、zfile2及一个子目录节点z-sub;在节点qian下存在有文件节点q-file1、q-file2、q-file3;在节点sun下包含有子目录节点s-sub1 s-sub2及文件s-file1 s-file2。

★考核知识点:目录树形结构。

附2.3.3(考核知识点解释):

根据题意描述,按照文件目录构建原则可构建出以下文件目录树形结构:

 

 

 

 

4、操作系统知识阐述题

理解操作系统对多进程做并发管理的原理,回答以下问题:

系统会对什么样的进程做挂起操作?

系统将进程挂起的意义是什么?

画出单挂起进程模型图,并用文字对该模型图做必要的解释。

★考核知识点:进程挂起意义及模型。

附2.3.4(考核知识点解释):

1)在进程管理中,当内存空间变小又要保证多个进程并发执行时,系统会选择一些进程做挂起操作,这些进程通常是那些暂时无法运行的进程,选择时需要使用选择算法来完成。

2)这样做的意义是,将那些暂时不运行的进程换出内存即保存到外存的交换区中,将有限的内存让给更需要的进程使用,保证并发执行能够进行下去。

3)单挂起进程模型如下:

 

 

 

在该单挂起模型中是指,当进程阻塞时间比较长时就会被挂起,而进程挂起后被保存在交换区中,只有当该进程再次被激活时才可以进入就绪态;其它状态转换过程与五状态进程模型相似。

 

5、进程调度中通常需要计算出进程的优先级,请根据UNIX系统V的进程优先数计算公式(见教程P1987.6.3)分析并描述以下问题:

解释该公式包含项的意义;

说明在进程调度过程中,该公式对不同进程将如何控制;

说明该调度策略为什么能满足分时系统的调度特性。

★考核知识点:进程调度算法理解。

附2.3.5(考核知识点解释):

1)UNIX 的优先数计算公式为:

P-pri= P-cpu/2+PUSER+P-nice+NZERO

其中:

  PUSER,NZERO—是优先数基值;

  P-cpu—是每个进程最近一次使用 CPU的时间;

  P-nice—是用户设置的进程优先数偏置值。

2)利用该公式计算进程优先级时,对于新建进程,由于P-cpu/2项为0,所以优先数最小,则优先级最高,会很快得到调度;而随着进程被调度,P-cpu项增大,它的优先级会减低,因此它会被其他进程抢占处理器使用权;随着进程的等待P-cpu/2值会减少,进程又有可能占用处理器。

3)由于分时系统强调的是进程的及时交互性,该公式计算结果总是将新进程的优先级置成最高,因此新进程总能被最快地调度,所以该公式满足分时系统调度特性。

 

6、磁盘管理调度算法应用

在磁盘调度中,假定当前磁头臂处于第10号柱面处,目前有6个进程正在请求访问磁盘,它们的请求顺序如下表所示,现在磁头正从小柱面向大柱面方向移动。请根据磁盘调度管理原理,按照以下调度算法分别计算出磁盘的柱面访问序列。

1)根据短查找时间优先算法,给出柱面访问序列.

2)根据扫描算法,给出柱面访问序列。

 

请求序号    柱面号    磁头号  扇区号

(1)    9     6     3

(2)    7     5     6

(3)    15    20    6

(4)    9     4     4

(5)    20    9     5

(6)    7     15    2

★考核知识点:磁头调度算法应用。

附2.3.6(考核知识点解释):

应用磁头调度算法的原理,结合本题意可得出:

1)短查找时间优先的访问序列为:1,2,4,6,3,5

2)扫描法向大磁道方向移动时的访问序列为:3,5,4,1,6,2

 

7、在设计文件管理的目录结构时,采用二级目录结构与采用一级目录结构相比有何主要优势呢?

★考核知识点:目录树形结构。

附2.3.7(考核知识点解释):

在文件管理系统中采用一级或二级目录管理都属于比较简单的目录管理策略,但在一级目录管理中存在诸多不可逾越的弊端,如文件重名、多文件管理、文件共享等问题都很难实现。而在二级目录管理下,这些问题可以得到部分的解决。相比之下二级目录比一级目录的优势在于:

1)可以解决不同用户间的文件重名问题;

2)可以实现一定的文件共享访问问题;

3)文件访问中的检索效率较一级目录高一些。

 

 

8、下图1是5状态进程模型图,请针对图中标出数字的位置,解释引发进程状态切换的时机或操作是什么。

 

图1

★考核知识点:进程状态与转换机制。

附2.3.8(考核知识点解释):

进程从无到有可能是出现了当需用分支作业完成一个子任务时、用户注册进入系统时、OS创建并提供服务时、被已存在的进程派生时等操作。

建进程完成了收容操作即完成了PCB建立、资源表建立、地址空间分配等就进入就绪状态。

当就绪进程被调度时就转换为运行态。

当运行态进程用完一个时间片或者被高优先级进程抢占后就会由运行态转换为就绪态。

进程完成任务或者因为失败而无法继续运行时,就转换为结束状态。

进程运行时,请求的事件(如申请系统服务或者资源、通信、I/O等)未出现,就转换为阻塞态。

进程等待的事件出现了,就有可能从阻塞态转换为运行态。

 

9、在I/O管理中通常需要设立缓冲机制,请说明建立I/O缓冲的主要目的是什么?另外若采用缓冲池管理I/O访问时,请说明缓冲池中包含的缓冲区是可以用做输入呢还是用做输出?这时对于某种I/O设备来讲,最多可以使用缓冲池中的多少个缓冲区来完成设备的管理呢?

★考核知识点:I/O缓冲管理技术。

附2.3.9(考核知识点解释):

建立缓冲区的目的:一是匹配CPU或用户进程与外设间的处理速度;二是减少对CPU的中断次数,提高CPU和I/O设备之间以及各个I/O设备之间的处理并行性。

若采用缓冲池机制时:其中的缓冲区既可以用做输入又可以用做输出;某种设备最多可以使用缓冲池中的所有缓冲区用来完成它的缓冲管理。

 

10、在操作系统中对内存管理可以采用分页或分段的策略完成,从总体管理策略上看这二种策略的主要区别是什么?

★考核知识点:内存管理策略及其实现技术。

附2.3.10(考核知识点解释):

分页与分段管理的主体思想是:

1)分页管理:将程序的逻辑地址空间划分成固定大小的页,将物理空间按页的大小划分成页面。

2)分段管理:将程序按逻辑内容或过程关系分段,每段标注独立名称,进程虚址对应于一个二维线性虚拟空间。

两者的主要区别:

1)分页是信息的物理单位,分段是信息的逻辑单位;

2)页的大小通常是固定的且由系统确定;段的长度可以不固定,取决于用户所编写的程序;

3) 分页时进程地址空间是唯一的,即单一的线性空间;而 分段时进程的地址空间是二维的,每个段对应一个一维空间。

 

11、你是如何理解“中断机制使CPU的处理能力得到了很大提升”这句话的?请解释以下内容在中断管理中的作用或意义:

中断源

中断优先级

★考核知识点:中断处理机制的主要作用。

附2.3.11(考核知识点解释):

因为有了中断机制,CPU 可以在同一时间里关注多件事情的发生。由于处理器的速度比其它部件速度快许多,让处理器等待其它部件工作过程会浪费很多处理器时间,比如在I/O设备完成传输动作时,CPU就可以转去做其它的事情,这样做的前提是有中断机制,否则是无法实现的,所以说中断机制使CPU的能力得到了很大的提升。

中断源:引起中断发生的事件,不同中断源标志着不同的中断类型,操作系统对其会有不同的处理。

中断优先级:是管理多个中断的一种规则,中断优先级决定着哪个中断被优先处理、哪个中断被缓后处理。

 

12、进程调度应用题

在一个单处理器系统中,假定有三个请求占用处理器的进程A、B、C,它们的调度数据如表1所示,当使用下面列出的调度算法对这三个进程进行调度时,请分别计算出每种调度算法中进程的平均周转时间是多少。

(a)优先级调度法

(b)短进程优先调度法

表1 进程调度数据表

进程 进程到达时间 估计执行时间(秒) 优先数

A 8:00 10 8

B 8:00 3 6

C 8:00 6 2 (提示: 1、假设系统规定优先数越大其优先级越低;2、计算中忽略进程回收和进程切换的时间;

3、计算结果按秒即可,要求精确到1%)

★考核知识点:处理器调度性能测算。

 

附2.3.12(考核知识点解释):

a)由于进程到达时间相同,采用优先级调度算法时只考虑优先级即可,因此这三进程的调度顺序应是

C、B、A。由此算出:

进程C的周转时间是6秒,进程B的周转时间是6+3=9秒,进程A的周转时间是6+3+10=19秒。

那么平均周转时间是(6+9+19)/3=11.3秒

b)采用短进程优先调度法时,这三进程的调度顺序是B、C、A,由此算出:

进程B的周转时间是3秒,进程C的周转时间是6+3=9,进程A的周转时间是6+3+10=10。

那么平均周转时间是(3+9+10)/3=7.3秒

 

 

 

 

 

 

 

 

 

 

四、编程题

 

1、阅读程序并回答问题

以下C程序的文件名为file.c,请阅读该程序并回答以下问题:

(1)程序中用到了系统调用open、 creat 、read 、write,解释这些系统调用可完成什么功能?

(2)分析程序运行机制,若在Linux环境中正确编译该程序并生成了一可执行程序file,让程序运行时应输入怎样的命令?

(3)当程序正确执行后可完成怎样的功能?

 

#include <stdio.h>

#include <unistd.h>

main(int argc, char * argv[])

{

int fd1,fd2,n;

char buf[512];

if(argc<3)

{

printf(“Usage: mycopy sourceFilename  destinationFilename\n”);

exit(1);

}

if(fd1=open(argv[1],0)<0)

{

printf(“open error.\n”);

exit(1);

}

if(fd2=creat(argv[2],0644)<0)

{

printf(“creat error.\n”);

exit(1);

}

while((n=read(fd1, buf, 512)) > 0)

write(fd2, buf, n);

close(fd1);

close(fd2);

}

 

★考核知识点:文件创建读写系统调用编程。

附2.4.1(考核知识点解释):

1)通过阅读程序可知本程序中包含了多个系统调用,它们是:

open,用来打开命令行参数中第一个参数表示的文件;

creat,用来创建命令行第二个参数表示的文件;

read,读文件;

write,写文件。

2)编译该程序时应输入:gcc –o  file  file.c

这样可生成可执行程序file;另外因为该程序中使用了命令行参数传递机制,因此运行该程序时应输入:

./file  aa  bb

其中文件aa是当前目录中已存在的文件,而bb是一个新文件。

3) 程序正确执行后将完成把命令行中输入的第一个文件内容拷贝到第二个参数表示的文件中,如按上命令行输入的话,就将文件aa 拷贝成bb。

 

2、阅读下列C程序并回答以下问题:

1)该程序中是否建了子进程?使用的是哪个系统调用创建的?

2)在本程序中还使用了哪些系统调用?它们完成了什么操作?

3)分析该程序被正确执行时应输出怎样的结果?并根据你的理解解释为什么会输出这样的结果。

 

#include <stdio.h>

#include <stdlib.h>

#include <unistd.h>

#include <sys/wait.h>

 

int global = 6; /*全局变量,初始化为6*/

int main(void)

{

pid_t pid;

int local = 7;  /*局部变量,初始化为7*/

printf(“before fork.\n”);

pid = fork();

if (pid == 0)

{

global++;

local++;

printf(“global = %d, local = %d\n”, globel, local);

}

else if (pid > 0)

{

wait(NULL);

printf(“global = %d, local = %d\n”, globel, local);

}

else

{

printf(“fork error!\n”);

exit(1);

}

 

printf(“end fork.\n”);

exit(0);

}

 

★考核知识点:进程创建系统调用应用题。

附2.4.2(考核知识点解释):

通过阅读程序和分析可知:

1)该程序共创建了1个子进程,使用fork()系统调用创建的。

2)该程序还使用了wait(NULL)系统调用,用来挂起父进程,等待子进程的结束;还是用了exit()系统调用用来终止当前进程。

3)输出结果为:

before fork.

global = 7, local = 8

end fork.

global = 6, local = 7

end fork.

因为执行输出”before fork”这个语句时,只有一个进程,所以这个语句只输出一次,而执行输出”end fork.”这个语句时,有两个进程,所以会输出两次。在子进程中global和local都被加1,因此子进程的输出结果是” global = 7, local = 8”,子进程对变量的修改不会影响到父进程,因此父进程的输出结果是” global = 6, local = 7”。同时wait(NULL)系统调用使父进程阻塞至子进程结束,所以子进程会先输出,而父进程会后输出。

 

3、阅读程序并回答问题

1)该程序中采用的是何种通信机制?这种通信机制的特点是什么?

2)该程序使用了哪些系统调用?

3)该程序运行中可以捕获到什么操作,捕获操作后完成了哪些工作?

 

#include<signal.h>

void catchint(int signo );

main()

{  int i;

signal(SIGINT,catchint);

for(i=1;i<5;i++)

{printf(“sleep call # %d \n”,i);

sleep(1);}

printf(“Exiting.\n”);

exit(0);

}

void catchint(int signo)

{

printf(“\n CATCHINT;signo=%d;”,signo);

printf(“CATCHINT,returning.\n”);

 

}

★考核知识点:信号量通信应用题。

附2.4.3(考核知识点解释):

阅读理解程序后可知:

1)该程序采用的是信号量通信机制,这种机制的特点是在进程间传递控制信号,用来交互进程的各自工作状态情况。

2)使用到了信号量捕获signal系统调用,使用到了exit系统调用终止进程执行。

3)在程序运行中主要捕获“delete”键的操作,当捕获到该键时做出的反映是执行一个动作函数catchint(),将捕获到的信号量值输出,并输出执行动作函数的提示信息。

赞(0)
未经允许不得转载:奥鹏作业网 » 南开19秋《操作系统原理》课程期末复习资料

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址