操作系统
一、考查目标
操作系统是软件工程专业的一门核心专业基础课程,具有较强的理论性和实践性。该课程的考试内容包括引论、进程管理、内存管理、存储管理(包括文件系统与输入/输出系统)、保护与安全五部分的相关概念、设计原理和实现方法。考试的具体要求包括:
1. 了解操作系统在计算机系统中的作用、地位、发展和特点。
2. 理解操作系统的基本概念、主要功能、主要组成部分,掌握操作系统各个组成部分的设计方法和实现技术。
3. 能够运用所学的操作系统原理、方法和技术对相关问题进行分析和解决。
二、考试的内容
1.导论
1)操作系统的概念
2)计算机系统的操作、存储结构、输入输出结构和计算机系统的体系结构。
3)操作系统的结构组成、操作系统的操作及各部分的功能、高速缓冲存储器CACHE
4)操作系统的分类和运行环境
2.操作系统结构
1)操作系统提供的服务类型
2)操作系统的用户接口类型
3)系统调用及类型
4)操作系统的设计和实现方法
5)操作系统的结构分类及优缺点
6)虚拟机的基本概念和原理
3.进程
1)进程的概念、组织、控制和状态转换
2)进程调度的基本概念
3)进程的操作,包括进程的生成、终止等
4)进程通信
4.线程
1)线程的概念与动机
2)多线程模型
5.CPU调度
1)调度的基本概念
2)调度的时机、切换和过程
3)调度的基本准则
4)典型调度方法:先来先服务调度算法、最短作业优先调度算法、优先级调度算法、时间片轮转调度算法、多级队列调度算法、多级反馈队列调度算法
5)线程调度
6)调度算法的性能评估
6.进程同步
1)进程同步的基本概念
2)临界区访问的原则及实现临界区互斥的基本方法:软件实现方法和硬件实现方法
3)信号量概念与基本机制
4)经典同步问题:生产者-消费者问题、读者-写者问题、哲学家就餐问题和理发师问题。
5)管程的基本概念、原理和实现
7.死锁
1)死锁的概念及条件
2)死锁的处理策略
3)死锁的预防及实现方法
4)死锁的避免:系统安全状态、资源分配图算法、银行家算法
5)死锁的检测方法和解除
8.主存
1)内存管理的基本概念:程序的装入与链接、逻辑地址与物理地址、内存保护
2)交换技术
3)内存的分配管理方法:连续分配管理方法、分页管理方法、分段管理方法、段页式管理方法。
9.虚拟内存
1)虚拟内存的基本概念
2)请求分页管理方法
3)页面置换算法:先进先出置换算法、最佳置换算法、最近最少使用置换算法、近似最近最少使用置换算法
4)帧的分配策略
5)抖动现象的原因及解决方法
6)内核内存的分配方法
7)虚拟内存中需要考虑的其他问题:预调页、页大小的影响、TLB的搜索能力、逆向页表等
10.文件系统接口
1)文件的基本概念
2)文件的结构:顺序文件、索引文件等
3)文件的访问方法
4)目录结构:文件的存储结构、单级目录结构、两级目录结构、树形目录结构、无环图目录结构、通用图目录结构
5)文件共享
11.文件系统实现
1)文件系统的结构
2)文件系统的实现
3)目录的实现
4)文件的磁盘空间分配方法:连续、链式、索引
5)空闲空间的管理
12.大容量存储
1)磁盘的结构
2)磁盘的调度方法:先到先服务调度算法、最短寻道时间调度算法、SCAN调度算法、C-SCAN调度算法、LOOK调度算法、C-LOOK调度算法
3)磁盘管理:格式化、引导块、坏块的处理
4)RAID结构
13.输入/输出系统
1)输入/输出硬件
2)输入/输出访问控制方式
3)输入/输出应用接口
4)内核输入/输出子系统:输入/输出调度、缓存、缓冲、假脱机与设备预留、错误处理、输入/输出保护、内核数据结构
5)输入/输出从请求到硬件操作的转换过程
14.保护
1)保护的目标与原则
2)保护域
3)访问矩阵及实现方法:全局表、访问列表、能力表
15.安全
1)系统中存在的安全问题以及安全措施的级别
2)程序的威胁:木马、后门、逻辑炸弹、栈与缓冲溢出、病毒
3)系统与网络威胁:蠕虫、端口扫描、DoS
数据结构
一、考试基本要求
要求考生系统地理解数据结构的基本概念,掌握各种数据结构的定义和实现算法。要求考生具有抽象思维能力,逻辑推理能力,和综合运用所学的知识分析问题和解决问题的能力。
二、考试范围和主要内容
1.预备知识
了解C++和Java基本语法结构;掌握递归思想。
2.程序性能
了解复杂性的表示和计算方法。
掌握插入排序、选择排序、冒泡排序、名词排序基本思想。
3.数据描述
掌握线性表的公式化描述、链表描述、间接寻址等存储方法,了解遍历器的作用和实现方法,掌握插入、删除、合并等运算方法。
掌握箱子排序、基数排序
4.数组和矩阵
掌握对角矩阵、三对角矩阵、三角矩阵、对称矩阵等特殊矩阵的特征,掌握存储方法和基本运算实现。
5.堆栈
掌握堆栈的基本概念、基本操作和实现方法。
掌握括号匹配的实现思想。
6.队列
掌握队列的基本概念、基本操作和实现方法。第七章 跳表和散列
掌握散列的基本概念、基本操作和实现方法。
7.二叉树
掌握二叉树的基本概念、存储方法、常用操作和特征;掌握二叉树的前序、中序、后序、按层遍历方法。
8.优先队列
掌握堆的基本概念和插入、删除和初始化方法。
掌握堆排序思想。
掌握霍夫曼树、霍夫曼编码实现方法。
9.搜索树
掌握二叉搜索树(排序树)基本概念和插入、删除、搜索的实现方法。
掌握m叉搜索树和B树基本概念以及插入、删除、搜索的实现方法。
10.图
掌握图基本概念。
掌握图的邻接矩阵和临界链表存储方法;掌握图的深度优先和广度优先遍历算法。
了解图的寻找路径和寻找连通构件方法。
了解生成树的寻找方法。
11.贪婪算法
掌握AOV网的拓扑排序算法。
掌握单源最短路径Dijkstra算法。
掌握最小耗费生成树的概念、Prim算法和Kruskal算法。
12.分而治之算法
掌握归并排序、快速排序实现方法。