复旦大学软件工程考研(MSE)计算机系统基础复习资料

合集下载

MSE计算机操作系统第四章笔记

MSE计算机操作系统第四章笔记

第四章1.一个作业从提交给计算机系统到执行结束退出系统,一般都要经历提交、收容、执行和完成四个状态。

一个作业在其处于从输入设备进入外部存储设备的过程成为提交状态。

处于提交状态的作业,因其信息尚未全部进入系统,所以不能被调用程序选取。

收容状态也称为后备状态,输入管理系统不断地将作业输入到外存中对应部分(或称输入井,即专门用来存放待处理作业信息的一组外存分区)。

若一个作业的全部信息已全部被输入进输入井,那么,在它还未被调度去执行之前,该作业处于收容状态。

作业调度程序从后备作业中选取若干作业到内存投入运行。

它为被选中作业建立进程并分配必要的资源,这时,这些被选中的作业处于执行状态。

当作业运行完毕,但它所占用的资源尚未全部被系统收回时,该作业处于完成状态。

一般来说,处理机调度可分为4级:作业调度、交换调度、进程调度、线程调度。

作业调度:又称宏观调度或高级调度,其主要任务是按一定的原则对外存输入井上的大量后备作业进行选择,给选出的作业分配内存、输入输出设备等必要的资源,并建立相应的根程序,以使该作业的进程获得竞争处理机的权利,另外,当该作业执行完毕时,还负责回收系统资源。

交换调度:又称中级调度,其主要任务是按照给定的原则和策略,将处于外存交换区中的就绪状态或就绪等待状态的进程调入内存,或把处于内存就绪状态或内存等待状态的进程交换到外存交换区。

交换调度主要涉及内存的管理和扩充,一般将它归在存储管理之中。

进程调度:又称微观调度或低级调度,其主要任务是按照某种策略和方法选取一个处于就绪状态的进程占用处理机。

只有在多道批处理系统中才有作业调度,而在分时和实时系统中一般只有进程调度、交换调度和线程调度。

这是因为在分时和实时系统中,为了缩短响应时间或为了满足用户需求的截止时间,作业不是建立在外存中,而是直接建立在内存中。

2.作业调度作业调度的功能:(1)记录系统中各作业的状况,包括执行阶段的有关情况。

通常,系统为每个作业建立一个作业控制表JCB记录这些有关信息。

复旦大学计算机考研题库

复旦大学计算机考研题库

复旦大学计算机考研题库复旦大学作为中国顶尖的高等学府之一,其计算机专业的考研题库通常包含以下几个方面的内容:1. 数据结构:包括线性表、栈和队列、树和二叉树、图等基本数据结构的定义、操作和应用。

2. 计算机组成原理:涉及计算机硬件的基本组成,如CPU、存储器、输入输出设备等,以及指令集、寻址方式、数据路径和控制单元的设计。

3. 操作系统:包括进程管理、内存管理、文件系统、设备管理等操作系统的基本概念和原理。

4. 计算机网络:涵盖网络体系结构、协议、路由算法、网络安全等网络通信的基础知识。

5. 软件工程:软件开发的生命周期、需求分析、设计、编码、测试和维护等软件工程的基本过程。

6. 数据库系统:数据库的设计、SQL语言、数据库管理系统的基本原理和应用。

7. 算法设计与分析:算法的基本概念、分类、复杂度分析以及一些经典算法的实现。

8. 编译原理:编译器的工作原理,包括词法分析、语法分析、语义分析、中间代码生成、代码优化和目标代码生成。

9. 人工智能:人工智能的基本概念,包括机器学习、深度学习、自然语言处理等。

10. 专业英语:计算机科学领域的专业英语词汇和术语,以及英文文献的阅读和理解能力。

考研题库的题目通常包括选择题、填空题、简答题、计算题、编程题和案例分析题等类型。

考生需要对上述知识点有深入的理解和熟练的应用能力。

考生在准备考研时,应该注重基础知识的掌握,多做历年真题和模拟题,了解考试的题型和难度,同时培养解决实际问题的能力。

此外,考生还应该关注复旦大学计算机专业最新的研究方向和动态,以便在面试或笔试中更好地展示自己的专业素养。

最后,希望每位考生都能够通过自己的努力,成功考入复旦大学计算机专业,开启一段新的学术旅程。

计算机与软件工程考试复习资料

计算机与软件工程考试复习资料

计算机与软件工程考试复习资料
引言
本文档旨在为计算机与软件工程考试的复提供资料和指导。

通过全面概述计算机与软件工程的相关知识点和考试要点,帮助考生提高复效果和备考策略。

目录
1. 算法与数据结构
- 常用数据结构及其特点
- 常见算法的原理与应用
- 复杂度分析和性能优化方法
2. 编程语言
- 常见编程语言的特点与应用场景
- 语法和语义的理解与应用
- 面向对象编程的原则和概念
3. 软件工程
- 软件开发生命周期的各阶段和特点
- 需求分析和系统设计的方法和技巧- 软件测试与质量保证的原则和方法
4. 数据库
- 数据库管理系统的基本概念和组成- 数据库设计与规范化的原则和步骤- SQL语言的基本操作和高级查询技巧
5. 网络与通信
- 计算机网络的基本原理和协议
- 网络安全与加密方法
- 云计算和大数据技术的应用与发展
6. 人工智能与机器研究
- 人工智能的基本概念和发展历程
- 机器研究算法及其应用
- 深度研究的原理和实践
7. 软件项目管理
- 团队合作与项目管理的基本原则
- 敏捷开发方法与实践
- 软件工程的最佳实践和规范
结论
本文档提供了计算机与软件工程考试复的详细资料和指导,帮助考生系统化地复考试的各个知识点和要点。

考生可以根据自己的实际情况制定复计划,并结合练题和实际项目来提高理论与实践的结合能力。

祝考生们取得优异的成绩!。

复旦MSE复习资料软件工程(SE05软件测试2011)

复旦MSE复习资料软件工程(SE05软件测试2011)
26
• 1) 测试是为了验证软件已正确地实现了用户的要求。 • (2) 白盒测试仅与程序的内部结构有关,完全可以不考
虑程序的功能要求。 • (3) 黑盒测试的测试用例是根据程序内部逻辑设计的。 • (4) 为了快速完成集成测试, 采用一次性集成方式是适
宜的。
(5) 在软件开发过程中,若能推迟暴露其中的错误,则 为修复和改正错误所花费的代价就会降低。
27
• 1、错。 测试的目的是尽可能多地发现软件中的错误,其附带的收获才是验证该软件 已正确地实现了用户的要求。
2、对
3、错。 黑盒测试主要是根据程序的有关功能规格说明和覆盖准则来设计测试用例, 进行测试的,不是根据程序的内部逻辑来设计测试用例。
4、错。 采用一次性集成方式进行模块组装,往往成功率很低,而且出现错误时,不 容易确定问题出现在什么地方,因此应采用增量式集成方式,可以把出错的 范围局限到少数模块之中。
19
软件测试步骤
• 系统测试(system testing) 将软件、硬件、数据库等集成为计算机 系统,检查系统的功能、性能等是否符 合计算机系统的要求 测试方法:黑盒 发现的错误:系统工程
20
测试与软件开发各阶段的关系
21
软件开发V模型
系统工程
系统测试
需求分析
确认测试
设计
集成测试
编码
单元测试
32
3
有关软件测试的错误观点
• “程序测试是证明程序正确地执行了 预期的功能”。实际上,一个程序 不仅要完成它所需完成的功能,而 且不应完成它不该做的事。如不能 把边长为0、0、0的三条边判断为 等边三角形。
4
软件测试的原则
1. 应当把“尽早地和不断地进行软件测试” 作为软件开发者的座右铭。

复旦大学mse2016大纲

复旦大学mse2016大纲

考试题型:概念问答题、实践案例题总分:50分一、软件过程软件过程的概念;经典软件过程模型的特点(瀑布模型、增量模型、演化模型、统一过程模型);过程评估与CMM/CMMI的基本概念;敏捷宣言与敏捷过程的特点。

二、软件需求软件需求的概念;需求工程的基本过程;分层数据流模型;用例和场景建模及其UML表达(用例图、活动图、泳道图、顺序图);数据模型建模及其UML表达(类图);行为模型建模及其UML表达(状态机图)。

三、软件设计与构造软件体系结构及体系结构风格的概念;设计模式的概念;模块化设计的基本思想及概念(抽象、分解、模块化、封装、信息隐藏、功能独立);软件重构的概念;软件体系结构的UML建模(包图、类图、构件图、顺序图、部署图);接口的概念;面向对象设计原则(开闭原则、Liskov替换原则、依赖转置原则、接口隔离原则);内聚与耦合的概念、常见的内聚和耦合类型。

四、软件测试软件测试及测试用例的概念;单元测试、集成测试、确认测试、系统测试、回归测试的概念;调试的概念、调试与测试的关系;测试覆盖度的概念;白盒测试、黑盒测试的概念;代码圈复杂度的计算方法;白盒测试中的基本路径测试方法;黑盒测试中的等价类划分方法。

第二部分计算机系统基础考试题型:问答、分析、编程总分:40分一、处理器体系结构内容:CPU中的时序电路、单周期处理器的设计、流水线处理器的基本原理、Data Hazard的处理、流水线设计中的其他问题二、优化程序性能内容:优化程序性能、优化编译器的能力和局限性以及表示程序性能、特定体系结构或应用特性的性能优化、限制因素、确认和消除性能瓶颈三、存储器结构及虚拟存储器内容:局部性、存储器层级结构、计算机高速缓存器原理、高速缓存对性能的影响、地址空间、虚拟存储器、虚拟内存的管理、翻译和映射、TLB、动态存储器分配和垃圾收集四、链接、进程及并发编程内容:静态链接、目标文件、符号和符号表、重定位和加载、动态链接库、异常和进程、进程控制和信号、进程间的通信、进程间信号量的控制、信号量,各种并发编程模式,共享变量和线程同步,其他并行问题五、系统级I/O和网络编程内容:I/O相关概念、文件及文件操作、共享文件、网络编程、客户端-服务器模型,套接字接口、HTTP请求,Web服务器第三部分数据结构与算法考试题型:问答、分析、编程总分:60分一、栈(Stack)、队列(Queue)和向量(Vector)内容:单链表,双向链表,环形链表,带哨兵节点的链表;栈的基本概念和性质,栈ADT及其顺序,链接实现;栈的应用;栈与递归;队列的基本概念和性质,队列ADT及其顺序,链接实现;队列的应用;向量基本概念和性质;向量ADT及其数组、链接实现;二、树内容: 树的基本概念和术语;树的前序,中序,后序,层次序遍历;二叉树及其性质;普通树与二叉树的转换;树的存储结构,标准形式;完全树(complete tree)的数组形式存储;树的应用,Huffman树的定义与应用;三、查找(search)内容: 查找的基本概念;对线性关系结构的查找,顺序查找,二分查找;Hash查找法,常见的Hash函数(直接定址法,随机数法),hash冲突的概念, 解决冲突的方法(开散列方法/拉链法,闭散列方法/开址定址法),二次聚集现象;BST树定义,性质,ADT及其实现,BST树查找,插入,删除算法;平衡树(AVL) 的定义,性质,ADT及其实现,平衡树查找,插入算法,平衡因子的概念;优先队列与堆,堆的定义,堆的生成,调整算法;范围查询;四、排序内容: 排序基本概念;插入排序,希尔排序,选择排序,快速排序,合并排序,基数排序等排序算法基本思想,算法代码及基本的时间复杂度分析五、图内容:图的基本概念;图的存储结构,邻接矩阵,邻接表;图的遍历,广度度优先遍历和深度优先遍历;最小生成树基本概念,Prim算法,Kruskal算法;最短路径问题,广度优先遍历算法,Dijkstra算法,Floyd算法;拓扑排序。

复旦大学软件工程考研(MSE)数据结构复习资料

复旦大学软件工程考研(MSE)数据结构复习资料


大纲描述: 树的根本概念和术语;树的前序、中序、后序
、层次序遍历; 二叉树及其性质;普通树与二叉树的转换; 树的存储构造,标准形式;完全树(complete
tree)的数组形式存储; 树的应用,Huffman树 。
树的根本概念和术语
树: 是n〔n≥0〕个结点的有限集 在任意一棵非空树中: 有且仅有一个特定的称为根的结点 当n>1时,其余结点可以分为m〔m>0〕个互
练习答案
树的遍历
树的遍历
按某种搜索路径巡访树中每个结点,使每个结点均 被访问一次仅且一次
二叉树的遍历可分为前序、中序、后序、层次序等 普通树的遍历可以分为先根、后根、层次序等
树的遍历
二叉树的遍历 前序、中序、后序定义 层次序:从上而下,从左至右 常见问题 树写遍历结果 遍历结果画树 依据:二叉树的前序和中序遍历可以唯一确定
中缀表达式A-(B+C)*D/E的后缀形式是 _________________。
练习
中缀表达式a * ( b + c ) / d转为后缀表达式是 ————?
例题
计算后缀表达式1 2 + 4 * 2 /的值为——?
答案:6 思路:
顺序计算 或 转换为中缀表达式计算
习题
计算后缀表达式3 2 - 4 * 2 / 3+的值为—— ?
例题
例题
列出如上图所示树的所有叶子结点 答案:K,L,F,G,M,I,J
列出如上图所示树的所有分支结点 答案:A,B,C,D,E,H
树A为几次树?子树B呢?
答案:3,2
前页图所示树的高度为多少?
答案:4
树的根本概念和术语
如果将树中结点的各子树看作从左到右有序的 ,那么该树为有序树(ordered tree),否那么为无 序树。

复旦MSE复习资料-软件工程(SE02 软件需求分析2011)

复旦MSE复习资料-软件工程(SE02 软件需求分析2011)

其他几种关于"需求"的定义
*需求是用户所需要的并能触发一个程序 或系统开发工作的说明; *需求是从系统外部能发现系统所具有的 满足于用户的特点、功能及属性等; *需求是指明必须实现什么的规格说明。 它描述了系统的行为、特性或属性,是在 开发过程中对系统的约束。
一条鸿沟
• 建造软件系统的过程中,我们经常习惯地 沿用一些不规范的方法,其后果便是产生 一条鸿沟--开发者开发的与用户所想得到的 软件存在着巨大的"期望差异"。
数据流图举例
• 教务人员维护学生信息和课程信息,并登 录学生的选课成绩; 学生查询自己的成绩单。0层
数据流图举例
• * 第1层DFD图 对第0层DFD图中的一个加工"学生成绩管 理"进行展开。
数据流图举例
• 第2层DFD图 对第1层DFD图中的一个加工"查询学生成 绩"进行展开
鸿沟产生的原因
• 我们也许会问:为什么人们开发一个软件系统会 比建造一座摩天大厦要难得多? • 一是因为软件行业缺乏准确而又统一的语言来定 义或描述相应的工作,真正的"需求"实际上存在 于人们的头脑中; • 二是因为软件开发过程难以用一种工程化的方法 来统一规范和有效实施。因此"需求"这个名词的 定义不仅仅是从用户角度对系统外部行为的描述 ,以及从开发人员角度对系统内部特性的描述, 其关键的一点是"需求"必须文档化。
软件需求包含着多个层次
• 实际上,软件需求包含着多个层次,不同层次的需求从不 同角度与不同程度反映着细节问题。 IEEE软件工程标准词汇表(1997年)将需求定义为: (1)用户解决问题或达到目标所需的条件或能力。 (2)系统或系统部件要满足合同、标准、规范或其 它正式规定文档所需具有的条件或能力。 (3)一种反映上面(1)或(2)所描述的条件或能 力的文档说明。 IEEE的定义包括从用户角度(系统的外部行为), 以及从开发者角度(一些内部特性)来阐述需求,其关键 的问题是一定要编写需求文档。

复旦大学软件工程考研[MSE]数据结构复习资料全

复旦大学软件工程考研[MSE]数据结构复习资料全
2j+1
证明
完全树的数组形式存储
完全树的数组形式存储算法
将其编号为i的结点元素存储在一维数组下标为i-1 的分量中
例题
已知数组[20,30,19,87,30,40]表示一棵完全二 叉树,请画出该树。
练习答案
树的遍历
树的遍历
按某种搜索路径巡访树中每个结点,使每个结点均 被访问一次仅且一次
栈的基本概念和性质
栈:
栈是限定仅在表尾进行插入和删除操作的线性表 后进先出特性(LIFO) 栈顶、栈底、出栈、入栈
例题
设有一个栈S,元素S1, S2, S3, S4, S5, S6依 次进栈,如果6个元素的出栈顺序为S2, S3, S4, S6, S5, S1,则栈的容量至少应为多少?
树的基本概念和术语
树:
是n(n≥0)个结点的有限集 在任意一棵非空树中:
1. 有且仅有一个特定的称为根的结点 2. 当n>1时,其余结点可以分为m(m>0)个互不相交的有
限集,其中每个集合本身又是一棵树,并且称为根的子 树
树属于层次结构数据结构
树的基本概念和术语
节点
标签
父节点、子节点、兄弟 节点、祖先节点、子孙 节点
将算法3.1中8换成d
例题
十进制数1167等于八进制数——?
答案: 2217 思路:
计算方法:除余倒排法 验证方法:指数相加法
习题
十进制数1167等于七进制数——?
栈的应用
表达式求值:
中缀表达式转后缀表达式
后缀表达式求值
三种表达式:
前缀表达式
+ab
例题答案
树的遍历
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2
参考教材
• 计算机系统基础
• 袁春风 • 机械工业出版社
• 深入理解计算机系统的 子集
3
课程概要
• 程序的结构和执行
• 处理器的结构 • 存储系统 • 程序性能的优化 • 程序的链接 • 进程 • 虚拟存储系统
• 程序在系统中的运行
• 程序间的通信和交互
• 系统I/O • 网络编程 • 并发编程
8
考试大纲和解读
9
处理器系统结构
• CPU中的时序电路 • 单周期处理器的设计 • 流水线处理器的基本原理 • 数据冒险(Data Hazard)的处理 • 流水线设计中的其它问题
10
解读-基础
• 信息在计算机上的表示
• 整数 • 浮点数 • 数据的大小和顺序(大小端) • • • • 数据访问 算术和逻辑运算 数组的表示和访问 复杂数据结构的表示
16
虚拟存储系统
• 地址空间 • 虚拟存储 • 虚拟存储的管理 • 翻译和映射 • TLB • 动态内存管理 • 垃圾收集
17
18
解读
• 地址类型
• 页 • 请页
• 内存管理
• 地址转换
• 物理地址、虚拟地址
• 动态内存的管理
• 页表 • TLB(加速)
• 为什么 • 方法
• 垃圾回收
• 标记-清扫
19
链接
• 静态链接 • 目标文件 • 符号和符号表 • 重定位和加载 • 动态链接库
20
解读
21
进程
• 异常 • 进程 • 进程控制 • 信号和信号量 • 进程间的通信 • 进程间信号量的控制
22
解读
• 异常 • 进程
• 主控流程/其他事物 • 中断 • CPU的虚拟化 • 上下文 • 核心/用户
15
解读
• 理解程序的执行
• 程序的正确性 • 过程/函数调用的代价
• 编译器优化的局限
• 结构无关的优化
• 消除循环的低效 • 减少函数调用 • 减少不必要的内存访问 • 多功能单元 • 流水 • 周期数和时延 • 数据的依赖 • 提高并行 • 循环展开
• 现代处理器的理解
• 体系结构相关的优化
13
解读
• 不同介质的特征
• 高速缓存 • 内存 • 外存 • 指令 • 数据
• 程序运行的局部性 • 高速缓存对程序性能的影响 • 高速缓存的形式
• 直接映射 • 全相关 • 组相关
• 命中率
14
优化程序性能
• 优化程序性能 • 编译器优化的能力和局限 • 程序性能的表示 • 应用特性(体系结构无关)的优化 • 体系结构相关的优化 • 限制因素 • 发现和消除性能瓶颈
4
计算机的抽象模型
Instructions / Program
Main Memory
Arithmetic Unit
AC
Control Unit
PC IR SR
Addresses
Input/Output Unit E.g. Storage
5
桌面计算机-IA32
6
桌面计算机-Core i7
7
计算机系统
• 程序的表示(汇编指令)
• 程序动态表示
• 控制 • 过程调用
• 栈 • 参数传递
11
解读
• 指令集
• 格式 • 逻辑门 • 组合电路 • 时钟 • 时序 • 阶段
• 电路的基本概念
• 顺序电路 • 流水线
12
存储器结构
• 存储器层级结构 • 局部性
• 计算机高速缓存器(Cache)的原理
• 高速缓存对系统性能的影响
计算机系统基础
MSE, 复旦大学 2016/来自1/20占总分150分中的40分 完整考点掌握有一定难度 建议 量力而行
参考教材
• 深入理解计算机系统,第2版
• Randal E.Bryant, David O'Hallaron • 龚奕利,雷迎春 • 机械工业出版社
• Computer Systems: A Programmer's Perspective (2nd Edition)
26
• 信号的机制
23
并发编程
• 各种并发编程模式 • 共享变量 • 线程同步 • 其它并行问题
• • • • 线程安全 可再入 竞争 死锁
24
系统I/O
• I/O概念 • 文件 • 文件操作 • 共享文件
25
网络编程
• 网络 • 客户端/服务器模型(Client/Server) • 套接字接口(Socket) • HTTP请求 • Web服务器
相关文档
最新文档