LeetCode 371. Sum of Two Integers

Calculate the sum of two integers a and b, but you are not allowed to use the operator + and -.

Example:
Given a = 1 and b = 2, return 3.

分析:位运算~
首先,已知异或(就是这个“^”符号)可以得到:
0^0 = 0
0^1 = 1
1^1 = 0
正是位相加时该位的结果~(只不过还有个进位没加罢了~)
所以对于还没有加进位的result,result可以暂时等于a^b

其次,已知与运算(就是这个“&”符号)可以得到:
0&0 = 0
0&1 = 0
1&1 = 1
正是位相加时候有进位的那一位标注为了1~
但是进位是往前一个位相加上去的呀~
所以carry = (a & b) << 1

现在处理要把result加上进位的事情~
如果进位carry等于0,那么不用加~直接等于result的值就好了~
如果进位不等于0,那么就要把result和carry的值按位相加~
按位相加的结果也可能导致进位~所以先用个临时变量temp把carry的值保存,然后令carry = (result & temp) << 1(也就是result和原来carry按位相加后进位的结果~),然后result = result ^ temp(也就是result和原来carry按位相加的结果~),不断循环往复,直到有一次carry等于0,不再需要进位了~~

 

【软件工程】软件工程 考点整理

今天刚考完,大概95分的样子,有几个填空坑坑哒。。其他还是蛮简单的都复习到了~用颜色标注了一下本次考试考到的知识点:
模块的内聚是何含义?

一个模块内各个元素彼此结合的紧密程度。

软件工程方法学的3要素是什么?
方法、工具、过程

软件生命周期的阶段如何还分,每个阶段的主要任务是什么?
软件定义(问题定义、可行性研究、需求分析)
问题定义:明白要解决的问题是什么
可行性研究:探索这个问题是否值得去解,是否有可行的解决办法
需求分析:确定系统必须具备哪些功能

软件开发(总体设计、详细设计、编码和单元测试、综合测试)
总体设计:设计出实现目标系统的几种可能方案,确定程序由哪些模块组成以及模块间的关系
详细设计:设计出程序的详细规格说明
编码和单元测试:写出正确的容易理解、容易维护的程序模块
综合测试:通过各种类型的测试和调试使软件达到预定的要求

软件维护(软件维护)
通过各种必要的维护活动使系统持久地满足用户的需要

可行性研究的实质是什么?
一次大大压缩简化了的系统分析和设计的过程,也就是在较高层次上以较抽象的方式进行的系统分析和设计过程

结构化程序设计有哪几种基本结构,有何特点?有何要求?
基本结构:顺序、选择、循环
特点:任意基本结构都具有唯一入口和唯一出口
要求:尽可能少用go to语句,最好在检测出错误时采使用go to语句,而且应该总是使用前向go to语句

软件维护的分类,及每种维护的含义?
改正性维护:发现系统中的错误而引起的维护
适应性维护:为了适应外界环境的变化而增加或者修改功能的维护工作
完善性维护:为了完善系统功能而增加新功能的维护工作
预防性维护:对尚能正常运行但可能要发生变化的部分采取的预防措施

软件测试和软件调试的目的是什么?
软件测试的目的:破坏已经建造好的软件系统,竭力证明程序中有错误,不能按照预定要求工作。尽可能多地发现并排除软件中潜在的错误。
软件调试的目的:找出产生症状的原因,以便改正错误。

什么是软件配置管理?
在软件的整个生命周期内管理变化的一组活动,这组活动用来标识变化、控制变化、确保适当地实现了变化、向需要知道这类信息的人报告变化

什么是软件配置项?
分为3类:
计算机程序
描述计算机程序的文档
数据

数据流图有何用途、有哪几种图形元素?
两个用途:1.信息交流的工具 2.分析和设计的工具
元素:4个基本符号。1.正方形:表示源点或终点 2.圆角矩形:代表变换数据的处理 3.开口矩形:数据存储 4.箭头:数据流

什么是ER图、有哪几种图形元素、有何用途?
实体-联系图。
矩形框表示实体,菱形框表示关系,椭圆形表示属性。
用途:用来描述现实世界的概念模型。

数据字典主要用途是什么?
作为分析阶段的工具。在数据字典中建立的一组严密一致的定义很有助于改进分析员和用户之间的通信,因此能消除许多可能的误解。

什么是白盒测试、什么是黑盒测试,白盒测试有哪些测试方法、黑盒测试有哪些测试方法?
白盒测试:按照程序内部的逻辑测试程序,检测程序中的主要执行通路是否都能按预定要求正确工作
黑盒测试:在程序接口进行的测试,只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适当地接收输入数据并产生正确的输出信息,程序运行过程中能否保持外部信息的完整性。
白盒测试的方法:逻辑覆盖、控制结构测试
黑盒测试的方法:等价划分、边界值分析、错误推测

什么是等价类划分方法,什么是边界值分析方法?
等价划分方法:把程序的输入域划分成若干个数据类,据此导出测试用例。
边界值分析方法:通过输入等价类和输出等价类的边界进行测试的一种黑盒测试方法,通常是对等价类划分的一种补充,选取的测试数据应该刚好等于、刚好小于和刚好大于边界值

耦合有哪些类别,内聚有哪些类型,各是何含义?
耦合:
非直接耦合:相互之间没有数据交换
数据耦合:两个模块通过参数交换信息
控制耦合:两个模块通过参数交换控制信息,这个信息会影响另一个模块
特征耦合:当把整个数据结构作为参数传递而被调用的模块只需要其中一部分数据元素时
公共数据环境耦合:多个模块共用一个数据环境
内容耦合:一个模块访问另一个模块里面的数据,一个模块不经过正常入口进入另一个模块,一个模块有多个入口,两个模块之间有代码重叠
内聚:
功能内聚:里面的元素为了共同实现同一个功能
顺序内聚:模块内两个步骤按照顺序执行,共同为了完成某个功能
通信内聚:使用相同的输入数据,或者产生相同的输出数据
过程内聚:一个模块内的处理元素是相关的,比如两个数据公用同一个循环或者判定条件,比如过程中用同一个公式执行
时间内聚:只是因为他们在同一个时间执行才把它们放到一起,比如共同用来初始化的一些函数,或者紧急处理模块
逻辑内聚:一个模块完成的任务在逻辑上属于相同或相似的一类
偶然内聚:一个模块完成一组任务,但是这些任务之间没有太大关系,关系是很松散的。

需求分析阶段应该得到什么文档?
软件需求规格说明书

软件生命周期模型有哪些?各有何特点?
瀑布模型:阶段间具有顺序行和依赖性、推迟实现、质量保证
快速原型模型:快速建立起能够在计算机上运行的程序
增量模型:把软件产品作为一系列的增量构件来设计、编码、继承和测试
螺旋模型:是风险驱动的,在每个阶段之前都增加了风险分析过程
喷泉模型:具有面向对象软件开发过程迭代和无缝的特性

判定表和判定树有何特点?用于何种场合?如何使用?
判定表:能够清晰地表示复杂的条件组合与应做动作之间的对应关系。
场合:用于算法中包含多重嵌套的条件选择时。
判定树:也能够清晰地表示复杂的条件组合与应做动作之间的对应关系,优点在于他的形式简单,不需要任何说明,就能一眼看出其含义,易于掌握和使用。

结构化程序设计对goto 语句有何要求?
要求:尽可能少用go to语句,最好在检测出错误时采使用go to语句,而且应该总是使用前向go to语句

设计数据流图时,分层的原则是什么?
自顶向下,逐层分解

估算软件项目成本的模型有哪些?
代码行技术、功能点技术、静态单变量模型、动态多变量模型、COCOMO2模型

软件危机是什么?软件工程的定义是什么?二者有何关系?
软件危机:在计算机软件的开发和维护过程中所遇到的一系列严重问题
软件工程:指导计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程。
关系:软件工程是从技术和管理两个方面来研究如何更好地开发和维护计算机软件,从源头上消除软件危机。

软件结构图如何理解?
是软件结构设计另一个有力工具,是描绘软件结构的图形工具,表明了一个模块调用了哪些模块。

数据流图中,信息流可分为哪两种类型,如何区分?
信息流分为:交换流和事务流。
交换流:有输出流、交换流、输入流
事务流:以事务为中心,可能有多个输出

软件结构图中对深度、宽度、扇入及扇出有何要求?
深度、宽度、扇入、扇出都应该适当。一个好的典型系统平均扇出通常是3或4。

什么是CAD,CAM,CAI,CASE?
CAD——计算机辅助设计
CAM——计算机辅助制造
CAI——计算机辅助教学
CASE——计算机辅助软件工程

JACKSON方法有何特点?有何用途?
特点:分析输入输出数据的逻辑结构、列出所有的操作和条件、用伪代码表示程序
用途:面向数据结构的设计方法,在设计比较简单的数据处理系统时特别方便

什么是驱动模块、什么是存根模块?有何用途?
驱动模块:用来模拟被测试模块的上一级模块,相当于被测模块的主程序。它接收数据,将相关数据传送给被测试模块,启动被测模块,并打印出相应的结果
存根模块:代替被测试的模块所调用的模块,称为虚拟子程序,使用被他代替的模块的接口,做少量的数据操作并输出,然后把控制归还给调用它的模块

如何度量软件的规模?
代码行技术:依据以往开发类似产品的经验和历史数据,估算实现一个功能所需要的源程序行数
功能点技术:依据对软件信息域特性和软件复杂性的评估结果,估算软件规模。

可行性研究包含哪几方面的工作?
技术可行性、经济可行性、操作可行性

CMM包含哪几个等级?
CMM——软件能力成熟度模型,从无序到有序分为五个等级:1. 初始级 2.可重复级 3.已定义级 4.已管理级 5.优化级

投资回收期如何计算?
计算公式:
投资回收期 = [累计净现金流量出现正值年数] – 1 + [上年累计净现金流量绝对值 / 当年净现金流量]

什么是结构化设计?有何用途?
是一种面向数据流的设计方法,目的在于确定软件的结构。
用途:是程序的结构尽可能反映要解决的问题的结构。

需求分析阶段要使用哪三种类型的模型?
功能模型:DFD
数据模型:E-R
行为模型:状态转换图

集成测试有哪几种策略?
2种:自顶向下,自底向上

软件测试有哪几个步骤?与软件各开发阶段有何关系?
步骤:1. 模块测试 2. 子系统测试 3.系统测试 4. 验收测试 5.平行运行
单元测试-》编码
集成测试-》详细设计
系统测试-》概要设计
验收测试-》需求分析

如何由程序流程图得到流图,如何计算环形复杂度?
任意一种:
V(G) = E – N + 2 //E是流图中的边的条数,N是结点数
V(G) = P + 1 //P是流图中判定分支点的数目

如何将程序转化为流程图及N-S图?
如何由流程图设计测试用例?(包括语句覆盖与分支覆盖)。
语句覆盖:至少每个语句应该执行一次
分支覆盖:也叫判定翻盖,不进每个语句必须至少执行一次,而且每个判定的每种可能结果都应该至少执行一次

【软件工程】软件工程中应用的几种图辨析:系统流程图、数据流图、数据字典、实体联系图、状态转换图、层次方框图、Warnier图、IPO图、层次图、HIPO图、结构图、程序流程图、盒图、PAD图、判定表、判定树、Jackson图、流图、甘特图、工程网络图

Snip20160703_17

1.系统流程图
Snip20160703_163
2.数据流图
Snip20160703_162

Snip20160703_161
3.数据字典
Snip20160703_160
4.E-R图
Snip20160703_159
5.状态转换图:
Snip20160703_158 Snip20160703_157
6.层次方框图:
Snip20160703_164
7.Warnier图
Snip20160703_165
8.IPO图:
Snip20160703_166
9.层次图:
Snip20160703_167
10.HIPO图:层次图加输入/处理/输出图
Snip20160703_168
11.结构图:
Snip20160703_169
12.程序流程图:
Snip20160703_175
13.盒图:(又称为N-S图)
Snip20160703_174
14.PAD图(problem analysis diagram)问题分析图:Snip20160703_176
15.判定表:
Snip20160703_177
16.判定树:
Snip20160703_178
17.面向数据结构的设计方法(jackson图):
Snip20160703_179
18.流图:详细设计阶段中程序复杂程度的定量度量:
Snip20160703_180
19.甘特图(Gantt图)
Snip20160703_16
20.工程网络图
Snip20160703_15

【软件工程】基准配置(基线配置)

软件工程的基本原理之一是:实行严格的产品控制——

在软件开发过程中不应随意改变需求,因为改变一项需求往往需要付出较高的代价。但是,在软件开发过程中改变需求又是难免的,只能依靠科学的产品控制技术来顺应这种要求。也就是说,当改变需求时,为了保持软件各个配置成分的一致性,必须实行严格的产品控制,其中主要是实行基准配置管理。所谓基准配置又称为基线配置,它们是经过阶段评审后的软件配置成分(各个阶段产生的文档或程序代码)。基准配置管理也称为变动控制:一切有关修改软件的建议,特别是设计对基准配置的修改建议,都必须按照严格的规程进行评审,获得批准以后才能实施修改。绝对不能谁想修改软件(包括尚在开发过程中的软件),就随意进行修改。

【操作系统】期末试卷考点整理

Snip20160628_107
不管系统中是否有线程,进程都是拥有资源的独立单位
管程技术是用来解决进程同步的
对进程的管理和控制使用的是原语
并发执行的特征:间断性、失去封闭性、不可再现性
在单处理机系统实现并发后,各进程在某一时间段并行运行,CPU与外部设备之间并行工作
文件系统的主要目的是实现对文件的按名存取
通道控制设备控制器,设备在设备控制器控制下工作
操作系统的基本类型是实时系统、分时系统和批处理系统
PMT 页表(页面变换表) DCT设备控制表
虚拟存储器的叙述正确的是:要求程序运行前不必全部装入内存且在运行过程中不必一直驻留在内存
虚拟存储器采用了以“时间”换“空间”的技术
在可变分区存储管理中,最优适应分配算法要求对空闲区表项按尺寸从小到大进行排列
并发是指若干个事件在同一时间段内发生, 并行是指若干个事件在同一时刻发生。
进程的基本特征有动态性、并发性 、独立性、异步性及结构特征

Ch1
1.从用户、资源管理、资源抽象三个角度看,操作系统的作用分别是什么。(p2-3,选择题、简答题)
OS作为用户与计算机硬件系统之间的接口;
OS作为计算机系统资源的管理者;
OS实现了对计算机资源的抽象
1.操作系统是什么软件?位于哪一层之上?(P1填空题,选择题)
OS是配置在计算机硬件上的第一层软件,是对硬件系统的首次扩充。OS是现代计算机系统中最基本最重要的系统软件。
1.从资源管理的角度看,操作系统的4大主要功能。(P16-19填空题)
处理机管理,存储器管理,设备管理,文件管理
1.理解操作系统的主要特性:并发、共享、虚拟和异步。其中操作系统最基本的两个特征是什么?(P13-14选择题)
并发和共享是操作系统最基本的两个特征
1.理解操作系统的基本类型:批处理操作系统(了解优缺点P7)、分时操作系统(P9了解2个关键问题,了解特征)和实时操作系统。(P10选择题,什么是硬实时任务与软实时任务的)
批处理操作系统的优点:资源利用率高,系统吞吐量大。
批处理操作系统的缺点:平均周转时间长,无交互能力。分时操作系统的2个关键问题:及时接收,及时处理
分时操作系统的特征:多路性、独立性、及时性、交互性

实时操作系统:实时操作系统的特征比分时多一个可靠性。
1.多道程序设计是指什么?(P7-8选择题)
多道程序设计是指内存中存放多个进程来执行调度任务,内存中多个进程共享计算机资源
1.操作系统作为用户与计算机硬件系之间的接口,用户可通过三种方式使用计算机,这些方式是指什么。(P2填空题)
命令方式、系统调用方式、图标-窗口方式

Ch2
1.理解进程的定义, 进程的3个组成部分。(P35-36选择题、填空题)
Snip20160628_108
进程的定义:进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位。
进程的组成部分:程序段、相关的数据段和PCB控制块
1.理解进程的三种基本状态转换及用图表示。(P37选择题,简答题)
就绪   阻塞  执行
1.进程控制块PCB中的4个方面的信息,进程与PCB之间的对应关系。(P40-41选择题、填空题、简答题)
进程控制块的组成:进程标识符,处理机状态,进程调度信息,进程控制信息。
进程与PCB是一一对应的关系。当系统建立一个新进程时,就为它建立一个PCB。进程结束时又收回它的PCB,进程也随之消亡。系统是通过PCB感知进程存在的。PCB是进程存在于系统中的唯一标志。
1.进程控制一般是由什么来实现的?(P42选择题)什么是原语?(P43选择题)
进程控制一般由OS内核中的原语来实现。
原语就是由若干条指令组成的,用户完成一定功能的一个过程。它是一个不可分割的基本单位。原语在执行的过程中不可以被中断。
1.在多道程序设计系统中,并发进程之间可能存在的2种制约关系(也就是,并发进程之间可能存在的2种关系,并区分):进程互斥和进程同步(P48填空题、选择题)
间接相互制约关系:因为对临界资源共享的互斥访问而引起的
直接相互制约关系:为了完成某任务而建立的两个或者多个进程之间的制约关系
1.线程与进程的区别。(选择题)
进程作为调度和分派的基本单位,线程是能够独立运行的基本单位
线程使OS具有更好地并发性
进程可以拥有资源,并作为系统中拥有资源的一个基本单位。线程本身并不拥有系统资源,而是仅有一点必不可少的、能保证独立运行的资源。
不同线程之间的独立性比不同进程之间的独立性低的多。
线程创建或撤销的开销小于进程的创建和撤销的开销。
在多处理系统中,多线程进程可以将一个进程中的多个线程分配到多个处理机上,并行执行。
1.并发进程的特征(与顺序程序设计相比):(选择题)
间断性、失去封闭性、不可再现性
2.临界区(P50)、临界资源的定义(P14填空题、选择题、简答题)
临界区:访问临界资源的那段代码。
临界资源:一段时间内只允许一个进程访问的资源。(每个进程应采取互斥访问的方式,实现对这种资源的共享)
1.同步机制应遵循基本准则(或临界区调度原则)(P50填空题、简答题)
空闲让进、忙则等待、有限等待、让权等待
Snip20160628_109
1.信号量:(填空题、选择题)
2.一种是用于实现进程互斥的信号量,初值一般为1;当为0时表示什么含义。
= 1表示只允许一个进程访问临界资源
= 0 表示一个进程已进入临界区
(2)另一种是用于解决进程同步的信号量,初值表示资源的数量。 有两种题型:
【题型1】有3个进程共享同一程序段,而每次最多允许两个进程进入该程序段,若用P、V操作作同步机制,则记录型信号量S的取值范围为(-1 0 1 2)。
【题型2】若记录型信号量S的初值为2,当前值为-1,则表示有(  1)等待进程。
信号量为负时,表示资源分配完毕,信号量的绝对值表示已阻塞进程的数目
1.利用信号量实现前驱关系(P57图2-14类似,程序填空题)、
进程向后继进程分配信号量,后继进程等待接收前驱进程的信号量
Snip20160628_110
1.了解管程的作用,即用来做什么的(选择题)
管程的作用:确保每次仅有一个进程进入管程,执行这组过程,使用共享资源,达到对共享资源所有访问的统一管理。

Ch3
1.了解处理器调度的3种调度是什么及其调度对象分别是什么。了解进程调度的任务。(填空题、选择题)
3种调度——高级调度:长程调度或作业调度
中级调度:进程调度或短程调度
低级调度:内存调度
进程调度的任务——保存处理机的现场信息
按某种算法选取进程
把处理器分配给进程
1.(填空题、综合题)周转时间的计算(采用先来先服务调度算法和最短作业优先调度算法时的平均周转时间)
题型:设有三道作业,它们的提交时间和运行时间如下表:
Snip20160628_102

求:试给出下面两种调度算法下,作业的执行顺序、平均周转时间和平均带权周转时间。
(1)先来先服务FCFS调度算法
Snip20160628_103
作业的执行顺序: 1  2   3
平均周转时间:T = (2 + 2.9 +3) / 3 = 2.63
平均带权周转时间:T = (1 + 2.9 + 12) / 3 = 5.3
(2)短作业优先SJF调度算法
Snip20160628_104
作业的执行顺序:1 3 2
平均周转时间:T = (2 + 2.25 + 3.15) / 3 = 2.46
平均带权周转时间:T = (1 + 9 + 3.15) / 3 = 4.38

1.了解基本的作业调度和低级调度算法:先来先服务算法FCFS、最短作业优先算法SJF、响应比最高者优先算法HRRF和优先级调度算法。(填空题、选择题)
高响应比优先算法:优先权 = (等待时间 + 要求服务时间) / 要求服务时间
高响应比优先算法既考虑了作业的等待时间,又考虑作业运行时间
优先级调度算法(既可用于作业调度又可用作进程调度):从后备队列中选择若干个优先级最高的作业装入内存。

1.死锁的定义及其产生死锁的原因和必要条件(简答题、选择题)
死锁:一组进程中的每一个进程都在等待仅由该组进程中的其它进程才能引发的事件,那么该组进程是死锁的
产生死锁的四个必要条件是:互斥条件、请求和保持条件、不可抢占条件、循环等待条件。
1.银行家算法(参加书上例题P113,综合题)
2.求系统中各种资源的总数
已经分配出去的资源 + 系统当前可用的资源 = 系统中各种资源的总数
1.某时刻各进程对各资源的需求数目即Need矩阵。
Need[i, j] = Max[i, j] – Allocation[i, j]
3.在某时刻系统是否是安全的(找安全序列)
安全性算法中,work表示系统可提供给进程继续运行所需的各类资源数目,执行安全算法开始时,work = available

步骤:利用安全性算法对xx时刻的资源分配情况进行分析
建立表格:work(第一个已知,其他都是上一行的work+allocation)、need(已知)、allocation(已知)、work+allocation、finish(true or false)
在xx时刻存在着一个安全序列{xx,xx,xx,xx},故系统是安全的
4.如果此时某进程发出资源请求向量Request( ),是否能实施资源分配?为什么?
1.request1 < need1
2.request1 < available
3.系统先假定可以为p1分配资源,并修改available allocation1 和 need1向量
4.再利用安全性算法检查此时系统是否安全
5.由所进行的安全性检查得知,可以找到一个安全序列{x,x,x,x}。因此系统是安全的

Ch4
1.存储管理是对内存的什么区域进行管理?
用户区
1.了解逻辑地址与物理地址的概念,重定位的概念(填空题)
逻辑地址(Logical Address) 是指由程序产生的与段相关的偏移地址部分
物理地址(Physical Address) 是指出现在CPU外部地址总线上的寻址物理内存的地址信号,是地址变换的最终结果。
重定位就是把程序的逻辑地址空间变换成内存中的实际物理地址空间的过程,也就是说在装入时对目标程序中指令和数据的修改过程。
1.理解常用动态(可变)分区分配算法:
(1)首次(最先)适应算法、(2)最佳适应算法、(3)最坏适应算法。它们的空闲区表项是按什么规则排列(空闲链表)。(填空题、选择题)
首次适应算法即每次都从头遍历找到第一个符合的分区,最佳适应的是每次都找到那个和它大小相差的最小的那个分区,最坏适应算法,是每次都找最大的那个分区

1.动态(可变)分区分配方案中,某一作业完成后,系统收回其主存空间,了解回收空闲区的4种情况的回收规则,空闲分区表的变化。(填空题、选择题)

1.分页存储管理的原理(填空题,综合题)
题型:分页式存储管理系统,内存的大小为64KB,被分成16块,块号为0、1、2、…、15。设某进程有3页,其页号为0、1、2,被分别装入内存的2、4、7,问:
1.  内存地址应使用多少位来表示?进程每一页的长度为多少B?逻辑地址中的页内地址应该用多少位?  逻辑地址应该用多少位?
2.写出该进程每一页在内存的起始地址。
3.逻辑地址5276、或者0A12H(十六进制)对应的物理地址是多少?
内存地址:64k = 2^6 * 2^10 = 2^16用16位表示
进程每一页的长度为64KB / 16 = 4KB;逻辑地址中的页内地址应该用12位表示;逻辑地址应该用14位表示;【因为页号用2位表示,2+12=14位】
0页2 * 4KB, 1页4 * 4KB, 2页7 * 4KB
页号为 5276 / 4k = 5276 / 4096 = 1 , 页内地址为 5276 % 4096 = 1180 物理地址 = 4* 4KB + 1180 ;
0A12h的十进制为2578 。页号: 2578 / 4k = 2578 / 4096 = 0, 页内地址为 2578 % 4096 = 2578 ,物理地址为:2 * 4KB + 2578

1.分段存储管理系统中物理地址的计算(填空题,综合题)
题型:某段表的内容如下:
段号       段首址        段长度
0          120K           40K
1          760K           30K
2          480K           20K
3          370K           20K
一逻辑地址为(2,154B),它对应的物理地址为多少?
可能越界:一种是段长和另一种是段号的越界
480K+154B

Ch5
1.虚拟存储器的定义,基于什么原理提出的(P155填空题、简答题)
虚拟存储器是指具有请求调入功能和置换功能,能从逻辑上对内存容量加以扩充的一种存储器系统。
虚拟存储器是基于离散分配的原理提出的。
1.什么是程序执行时的时间局限性和空间局限性?P154(简答题)
时间局限性:如果程序中的指令被执行,则不久以后该指令可能再次执行;如果某数据被访问过,则不久以后该数据可能再次被访问。
空间局限性:一旦程序访问了某个存储单元,在不久之后,其附近的存储空间也将被访问,即程序在一段时间内所访问的地址可能集中在一定的范围之内,其典型情况便是程序的顺序执行。
1.常见的页面置换算法:最佳页面置换算法OPT、先进先出页面置换算法FIFO、最近最少使用页面置换算法LRU。(填空题、选择题、综合题)
题型:假定某请求页式虚拟系统中,某进程的页面访问为:0,0,3,1,1,4,0,5,6,6,2,4,6,7,7,0,0,6,7,2,进程实际页面数为3,则按先进先出FIFO置换算法和最近最久未使用LRU置换算法,求缺页中断次数和缺页率。
(1)FIFO
Snip20160628_116
缺页中断次数:13;缺页率:产生中断的次数 / 总访问次数 = 13 / 20 =  0.65

(1)LRU
Snip20160628_117
缺页中断次数:12;缺页率:12 / 20 = 0.6
(3)OPT
选择在最长(未来)时间内不再被访问的页面。
缺页次数和缺页率计算如上

Ch6
1.有哪些I/O控制方式,工作方式(填空题、简答题、选择题).
答:采用轮询的可编程I/O方式;采用中断的可编程I/O方式;直接存储器访问方式;I/O通道方式
1.系统的设备分配程序进行独占设备分配的步骤是什么?(P203填空题).
答: 分配设备、分配控制器、分配通道
1.通道又称I/O处理机,用于完成什么之间的信息传输。(填空题、选择题)
答:CPU和设备控制器
1.通道、设备控制器和设备(三者联接位置,即控制关系)。(填空题、选择题)
通道控制设备控制器,设备在设备控制器控制下工作
5. 通道的定义、三种通道类型及其特点(连接的设备类型)(选择题)。
通道的定义:一个独立于CPU的专门的I/O控制的处理机,控制设备与内存直接进行信息交换。
通道类型有:字节多路通道,按字节多路交叉方式工作的通道;
数组选择通道,可以连接多台高速设备,通道的利用率很低;
数组多路通道,将数组选择通道传输速率高和字节多路通道分时并行操作的优点结合。
1.了解常用的缓冲技术的作用(选择题)及类型。
缓冲技术的作用:缓和CPU和I/O设备间速度不匹配的矛盾;
减少对CPU的中断频率,放宽对CPU中断响应时间的限制;
解决数据粒度不匹配的问题;
提高CPU和I/O设备之间的并行性。
缓冲技术的类型有:单缓冲、双缓冲、环形缓冲和缓冲池。
1.Spooling系统的作用、组成(填空题、简答题)P207
Spooling系统技术的作用:缓和CPU与I/O设备之间速度不匹配的矛盾
SPO·OLing系统是对脱机I/O工作方式的模拟,SPOOLing系统是由:
1.磁盘中的(输入井)和(输出井),是对脱机输入输出中的磁盘进行模拟;
2.内存中的(输入缓冲区)和(输出缓冲区),用来缓和CPU与磁盘之间的速度的矛盾;
3.(输入进程)和(输出进程)所构成,是对脱机输入输出中的外围控制机进行模拟。
4.(井管理程序),用于控制作业与磁盘井之间信息的交换。
5.I/O系统管理的对象是什么?(P178)按照各层次及其功能,I/O软件的4层是什么?
I/O系统管理的对象:I/O设备和相应的设备控制器
四个层次:用户层I/O软件、设备独立性软件、设备驱动程序、中断处理程序
1.设备独立性是指什么?在有设备独立性系统中,逻辑设备表的作用是什么?(选择题)设备独立性:应用程序中的所有设备,不局限于使用某个具体的物理设备。
逻辑设备表的作用:实现从逻辑设备名称到物理设备名称的转换。
1.掌握当前磁盘(1)先来先服务(2)最短寻道时间优先(3)电梯算法。(综合题、填空题)
【题型】假定一磁盘有200个柱面,编号为0—199,在完成了磁道125处的请求后,当前正在磁道143处为一个请求服务。若请求队列的先后顺序为
86,147,91,177,94,150,102,175,130
试分别采用FCFS(先来先服务)、SSTF(最短寻道时间优先)、SCAN(扫描)算法完成上述请求,写出磁头移动的顺序,并计算存取臂移动总量(单位为磁道数)。
Snip20160628_118

Ch7
1.文件系统的主要目的、概念(选择题、填空题)
文件系统的主要目的是实现对文件的按名存取
文件系统最基本的目标是 (按名存取),它主要是通过(目录管理)功能实现的,文件系统所追求的最重要目标是 (提高对文件的存取速度)。
按逻辑结构可把文件分为:记录式文件、流式文件
1.文件目录的作用(选择题)

    作用:实现文件名到物理地址的转换。