软件评测师知识点

《软件评测师笔记》

2章.软件测试基础

1.软件测试的经典定义:在规定条件下对程序进行操作,以发现错误,对软件进行质量评估;

软件是由文档、数据和程序组成;

2.软件测试的目的:1、提高软件质量;2、降低项目风险;3、把软件的错误控制在可以进行产品发布或交付的程度上;

3.软件质量的概念:软件满足规定或者潜在用户需求的能力,要从软件在内部、外部和使用中的表现来衡量。

4.质量保证(QA)和软件测试的不同:QA是要通过预防、检查与改进来保证软件质量,重点在过程的跟进中;软件测试的重点不在于此,而是要对过程的产物-开发文本和源代码进行走查,运行软件,以找出问题,报告质量。

5.软件测试的原则:

       5.1 所有的软件测试都应追溯到用户需求

       5.2尽早地和不断地进行软件测试

       5.3 完全测试是不可能的,测试需要终止

       5.4 测试无法显示软件潜在的缺陷

       5.5 充分注意测试中的群集现象

       5.6 程序员应避免检查自己的程序

       5.7 尽量避免测试的随意性

6.软件测试不可能无休止地测下去,原因在于:1、输入数据太多;2、输出结果太多;3、组合路径太多。

7.软件测试的分类

       7.1按照软件开发阶段分:单元测试(也叫模块测试)、集成测试(组装测试)、确认测试、系统测试和验收测试。

       7.2按照测试实施组织划分:开发方测试(也叫验证测试,阿尔法测试)、用户测试(贝塔测试)和第三方测试(独立测试);

       7.3按照测试技术划分:白盒测试、黑盒测试和灰盒测试;按照测试技术也可划分:静态测试和动态测试。

8.软件开发阶段的测试:

       8.1 单元测试(又叫模块测试)

              单元测试的内容:1、模块接口;2、局部数据结构测试;3、路径测试;4、错误处理测试;5、边界测试

              单元测试用到的辅助模块:驱动模块(所测模块的主程序)和桩模块(存根模块)

       8.2 集成测试(又叫组装测试或联合测试)

              模块组装成为系统的方式有两种:一次性组装方式(又叫整体拼装)和增殖式组装方式;

              增殖式组装方式(又叫渐增式组装方式)又分两种:自顶向下的增殖方式(建立较多的桩模块)、自底向上的增殖方式(建立较多的驱动模块)和混合增殖方式;

       8.3 确认测试

              确认测试的内容:进行有效性测试和软件配置复查。

       8.4 系统测试

       系统测试是为验证和确认系统是否达到其原始目标,而对集成的硬件和软件系统进行的测试,系统测试是在真实或模拟系统运行的环境下,检查完整的程序系统能否和系统(包括硬件、外设、网络和系统软件、支持平台等)正确配置、连接、并满足用户需求。

       8.5 验收测试

验收测试是以用户为主,软件开发人员和质量保证人员也应参加的测试。根据软件需求和验收要求编制测试计划,制定需测试的测试项,制定测试策略及验收通过准则。根据《验收测试计划》和《项目验收准则》编制测试用例,并经过评审。验收测试一般在用户的实际生产环境中进行,使用生产中的实际数据进行测试。

9.软件测试模型:

       9.1 V模型,其局限性表现在把测试作为软件开发的最后一个阶段,是串行完成的;主要是针对程序进行测试寻找错误,而需求分析阶段隐藏的问题到后期的验收测试才被发现;

       9.2 W模型,优点是测试与开发过程是同步进行的,有利于测试的及早介入与执行;缺点是对开发阶段需要有明确的起点和终点,这点在实际情况中很难做到这点;

       9.3 H模型,优点在于表现出来不同测试的测试活动可以是按照某个次序先后进行的,但也可能是反复的。只要测试条件成熟了,测试准备活动完成了,测试执行活动就可以进行了。

       9.4 X模型, 针对单独程序片段进行互相分离的编码和测试,之后频繁的交接通过集成最终合成为可执行的程序。

       9.5 前置模型, 特点:将开发和测试的生命周期整合在一起,对每一个交付的开发结果都进行一定方式的测试,设计阶段是做测试计划和测试设计的最好时机,程序片段一旦编写完成就会立即进行测试,让验收测试和技术测试保持相互独立。

10.测试模型的使用:灵活运用各种模型的优点,在W模型的框架下运行H模型的思想进行独立测试,并同时将测试和开发紧密结合,寻找恰当的就绪点开始测试并反复迭代测试,最终保证按其完成预订目标。

11.V&V

       11.1 V&V的基本概念:验证(通过检查和提供客观证据,证实规定的需求已满足)和确认(通过检查和提供客观证据,证实预期用途的需求是否得到满足)

       11.2 每个V&V活动都有输入、任务和输出

       11.3 GB/T 18905.5 中规定的开发过程中的软件测试过程包括:测试计划过程(包括测试计划和测试需求)->测试设计过程(包括测试说明和测试方案)->测试执行过程(测试用例和测试规程)->测试结束过程(测试结论和测试报告)。

12.软件失效

       12.1 软件错误(software error)、软件缺陷(software defect)、软件故障(software fault)和 软件失效(software failure)区分之间的差别,有软件错误,会产生软件缺陷,出现软件故障,导致软件失效。

       12.2 软件缺陷的定义:软件缺陷是存在于软件(文档、数据、程序)之中的那些不希望或不可接受的偏差,如少一逗点、多一语句等。其结果是软件运行于某一特定条件时出现软件故障,这时称软件缺陷被激活。

13.给软件缺陷和错误划分严重性和优先级的通用原则是:

       13.1 严重性表示软件缺陷所造成的危害和恶劣程度

       13.2 优先级表示修复缺陷的重要程度与次序         

14.白盒测试,也叫结构测试或逻辑驱动测试,测试的是程序内部的动作和通路。

15.黑盒测试,也叫功能测试,主要针对软件界面和软件功能进行测试。

16.黑盒测试用例的设计方法有:等价类划分法、边界值分析法、错误推测法、因果图法、判定表驱动法、正交试验设计法、功能图法等。

17.自动化分析测试工具有:Rational Test Studio; Compuware公司的NuMega DevPartner Studio(可以进行源代码复查,错误监测,性能分析,分布式应用分析等);Parasoft Serials(可以进行代码的静态分析,白盒测试,黑盒测试)。

18.功能自动化测试工具有:Rational Robot和Mercury WinRunner。

19.负载压力测试内容:客户端、服务器端和网络。

20.负载压力测试步骤:1、选择协议;2、创建测试脚本;3、参数化测试数据;4、创建虚拟用户;5、执行测试;6、分析结果。

 

3章.软件质量与评价

  1. 软件质量特性:功能性,可靠性,易使用性,效率,可维护性,可移植性。
  2. 功能性包含的子特性:适合性,准确性,互操作性,依从性,安全性。
  3. 可靠性包含的子特性:成熟性,容错性,易恢复性。
  4. 易使用性包含的子特性:易理解性,易学习性,易操作性。
  5. 效率包含的子特性:时间特性,资源特性。
  6. 可维护性包含的子特性:易分析性,易更改性,稳定性,易测试性。
  7. 可移植性包含的子特性:适应性,易安装性,一致性,易替换性。
  8. BUG 的等级划分与优先级

严重:死机,数据丢失,主要功能完全丧失,系统悬挂等错误。修改优先级为最高,该级别需要程序员立即修改。

较高:主要功能丧失,导致严重的问题,或致命的错误声明。修改优先级为高,该级别需要程序员尽快修改。

一般:次要功能丧失, 不太严重,如提示信息不太准确。修改优先级为中,该级别需要程序员修改。

轻微:微小的问题,对功能几乎没有影响,产品及属性仍可使用,如有个错别字。修改优先级为低,该级别需要程序员修改或不修改。

  1. BUG 的另一种等级划分:(不是固定的,按实际需求定义)

可以分为死机(系统崩溃或挂起)、致命(使系统不稳定、或破坏数据、或产生错误结果,而且是常规操作中经常发生或非常规操作中不可避免的)、严重(系统性能或响应时间变慢、产生错误的中间结果但不影响最终结果,如:显示不正确但输出正确)、一般(界面拼写错误或用户使用不方便)。

 

4章.软件测试过程与管理

1.测试过程的特性:可重复性、可再现性、公正性和客观性

2.测试过程由5个活动组成:1、确立软件测试需求;2、编制测试规格说明;3、制定测试计划;4、执行测试计划;5、做测试结论

3.测试者提供的测试过程输入:1、预先确定的测试规格说明;2、测试方法;3、测试工具。

4.测试者提供的测试过程输出:1、测试记录;2、测试报告草案;3、经过评审的测试报告。

5.测试过程文档:《测试需求》  《测试规格说明》 《测试计划》 《测试记录》 《测试报告》

6.测试工作的7条效率原则:主动思考,积极行动;一开始就牢记目标,不迷失方向;重要的事情放在首位(但常常是紧急的事情放在首位);先理解人,后被人理解;寻求双赢;互相合作,追求1+1>2;终身学习,自我更新,不断进步。

7.PDCA循环理念:计划(plan)-执行(do)-检查(check)-改进(active)。

8.软件测试的风险是指软件测试过程出现的或潜在的问题。造成的原因:测试计划不充分;测试方法有误;测试过程偏离。

9.常见计划风险的因素:交付日期、测试需求、测试范围,测试资源、人员的能力、测试预算、测试环境、测试支持、劣质组件和测试工具。

10.软件风险分析的目的:确定测试对象、测试优先级以及测试的深度。

11.软件风险分析是对一个潜在问题识别和评估的过程,即对测试的对象进行优先级的划分。包括两个部分:1、发生问题的可能性有多大       2、问题的影响严重性有多重

软件风险分析采用的两种方法:表格分析法和举证分析法。

12.测试成本控制:测试准备成本控制,测试执行成本控制,测试结束成本控制,测试实施成本控制,测试维护成本控制。

13.软件测试过程的关键活动:

13.1测试需求分析

13.2制定测试计划

13.3测试设计

13.4测试执行

13.5测试分析与总结

14.保证软件测试质量的手段:

14.1制定质量保证计划、质量体系建立

14.2测试活动审核、测试文档评审

14.3测试过程数据的收集、度量与分析

 

5章.黑盒测试案例与技术

1、因果图导出测试用例需要经过以下几个步骤:1)分析程序规格说明的描述中,哪些是原因,哪些是结果。原因常常是输入条件或输入条件的等价类,而结果是输出条件。(2)分析程序规格说明的描述中语义的内容,并将其表示成连接各个原因与各个结果的"因果图"。(3)标明约束条件。由于语法或环境的限制,有些原因和结果的组合情况是不可能出现的。为表明这些特定的情况,在因果图上使用若干个标准的符号标明约束条件。(4)把因果图转换成判定表,为判定表中每一列表示的情况设计测试用例。

6章.白盒测试技术

7章.面向对象的软件测试技术

8章.应用负载压力测试

1.负载压力的概念:指在一定的约束条件下测试系统所承受的并发用户量、运行时间、数据量,以及确定系统所能承受的最大负载压力。

2.负载压力测试的目的:

       1、在真实环境下检测系统性能,评估系统性能以及服务等级的满足情况。

       2、预见系统负载压力承受力,在应用实际部署之前,评估系统性能

       3、分析系统瓶颈,优化系统

3.应用在客户端性能测试的五种类型的目标:虚拟用户数、每秒点击次数、每秒事务数,每分钟页面数或事务响应时间。

4.应用在网络上的性能测试:优化性能;预测系统响应时间;确定网络带宽需求;定位应用程序和网络故障。

5.做网络故障分析需要的信息:

       1、监控不同探针之间的连接状态、传输的字节数以及通信往返行程次数;

       2、会话性能概要,监控哪段网络延迟大,带宽对网络双向性能的影响,节点用于处理和用于传输的时间等;

       3、服务器与客户端之间帧传输情况统计,可以监控到与应用相关的帧的分布,对每一个帧可以与相关的数据包惯性力,并且可以对帧解码;

       4、服务器与客户端之间传送包信息统计,监控包的详细信息,并且可以将包与帧与线程相关联;

       5、线程信息统计,监控线程的内容和生产周期,以及线程与数据包的关系;

       6、负载的高峰时刻,监控到负载的平均值以及高峰值,并且高峰时刻可以与相关的线程、数据包、帧相关联。

       7、故障错误总结

6.用户关心网络监控的问题:

       1、分析关键应用程序的性能;

       2、定位问题的根源是在客户端、服务器、应用程序还是网络;

       3、哪些应用程序占用大量带宽;

       4、哪些用户产生了最大的网络流量。

7.负载压力测试实施步骤:

   测试计划->测试需求分析->测试案例制定->测试环境、工具、数据准备->测试脚本录制、编写与调试->场景制定->测试执行->获取测试结果->结果评估与测试报告。

 

11章.安全测试与评估

1.测试与评估的内容:

       1.1 用户认证机制

       1.2 加密机制

       1.3 安全防护策略

       1.4 数据备份与恢复手段

       1.5 防病毒系统

       1.6

2.用户认证机制的种类:数字证书,智能卡,双重认证,安全电子交易(SET)协议

3.安全防护策略主要有:安全日志,入侵检测,隔离防护,漏洞扫描。

4.数据备份与恢复技术通常包括:存储设备,存储优化,存储保护,存储管理。

5.杀毒软件中常用的两种管理方式:以策略为中心,以服务器为中心。

6.防病毒技术包含:

       6.1 集中式管理,分布式杀毒

       6.2 数据库技术、LDAP技术的应用

       6.3 多引擎支持

       6.4 不同操作系统的防护

       6.5 远程安装或分发安装

7.基本安全防护策略:防火墙,入侵检测,漏洞扫描,安全审计,病毒防治,web信息防篡改,物理安全。

8.安全体系主要的7个层次:实体安全,平台安全,数据安全,通信安全,应用安全,运行安全,管理安全。

9.安全性测试策略针对的7个层次:

       9.1 证书业务服务系统测试

       9.2 证书查询验证服务系统测试

       9.3 密钥管理系统测试

       9.4 密码服务系统测试

       9.5 可信授权服务系统测试

       9.6 可信时间戳服务系统测试

       9.7 网络信任域系统测试

       9.8 故障恢复与容灾备份测试

       9.9 安全产品的选择

10.安全性测试方法

       10.1 功能验证

       10.2 漏洞扫描

       10.3 模拟攻击试验

10.4侦听技术

11.负载均衡设备的作用:网络平衡的作用,调节各应用服务器的在线人数,以免造成单个服务器超负荷工作,合理分配工作状态的运行情况。

12.负载压力测试工具主控台的作用:负责管理各个负载生成器以及收集各负载生成器的测试数据, 负载生成器负责模拟虚拟用户加压,在每次并发性能测试中,只有一台主控台,但可以有多个负载生成器。因为网上报名系统的用户本来就是分布式的,所以这个项目需要采用分布式部署负载生成器。

13.随并发用户数递增,交易执行成功率降低的可能原因:分析测试结果中的应用服务器资源利用数据,判断服务器资源利用是否有瓶颈存在。随着用户数量的增加,用户的会话信息增多,占用的内存数量也会越来越多,导致CPU忙于在内存和外存间交换数据,因此,系统性能会下降。

14.对于Web应用系统而言,性能调优的措施有:优化服务器配置、运用缓冲机制、采取数据库连接池技术、优化数据库设计等。

15.漏洞扫描是一项重要的安全技术,它采用模拟攻击的形式对网络系统组成元素(服务器、工作站、路由器、防火墙和数据库等)可能存在的安全漏洞进行逐项检查,根据检查结果提供详细的漏洞描述和修补方案,形成系统安全性分析报告,从而为网络管理员完善网络系统提供依据。

16.漏洞扫描器的分类,就可以根据不同的角度来划分,就有不同的分类。例如,

根据工作模式,漏洞扫描器分为主机漏洞扫描器和网络漏洞扫描器。

根据检测对象,漏洞扫描器可分为网络扫描器、操作系统扫描器、WWW服务扫描器、数据库扫描器以及最近出现的无线网络扫描器等。

12章、兼容性测试

1.兼容性测试的目的:

       1.1 最低配置师傅能够满足系统运行的需要;

       1.2 在推荐配置下系统的响应速度;

       1.3 考察软件对运行硬件环境有无特殊说明;

       1.4 为了满足不同的使用需求,软件系统能否运行在多种硬件配置环境下,并且系统功能和性能都能满足设计需求。

2.硬件兼容的内容: 与整机(主要有CPU、内存和硬盘)的兼容,与板卡的兼容,与打印机的兼容。

3.软件兼容的内容:与操作系统的兼容,与数据库的兼容,与中间件的兼容,与浏览器的兼容,与其他软件的兼容。

4.数据库兼容性测试要点:完整性测试,应用系统测试,性能测试。

5.数据库兼容性测试的主要内容:不同数据格式的兼容性,XML符合性。

6.平台化软件的分类:技术支撑型平台,应用实现型平台。

7.平台化软件的兼容性测试策略

       7.1 跨硬件平台能力

       7.2 跨操作系统能力

       7.3 支持多种数据库系统

       7.4 客户端兼容性测试

       7.5 数据兼容性测试

14章、易用性测试

1.安装易用性测试的方面:

       1.1 安装手册的评估;

       1.2 安装的自动化程序测试;

       1.3 安装选项和设置的测试;

       1.4 安装过程的中断测试;

       1.5 安装顺序测试;

       1.6 多环境安装测试;

       1.7 安装的正确性测试;

      1.8 修复安装测试与卸载测试。

2.功能易用性测试

       2.1 业务符合性;

       2.2 功能定制性;

       2.3 业务模块的集成度;

       2.4 数据共享能力;

       2.5 约束性;

       2.6 交互性;

       2.7 错误提示;

3.用户界面易用性测试:

       3.1 界面整体测试:规范性测试;合理性测试;一致性测试;定制测试;

       3.2 界面元素测试:窗口测试;菜单测试;图标测试;鼠标测试;文字测试

       3.3 辅助系统测试:帮助测试;向导测试;信息提示。

4.用户界面定制性测试:

       4.1 界面元素的可定制性;

       4.2 工具栏的可定制性;

       4.3 统计检索的可定制性;

       4.4 报表的可定制性。

15章、可靠性测试

16章、文档测试

1.文档的分类:

       1.1 用户文档:

              用户手册

              操作手册

              维护修改建议

       1.2 开发文档

              软件需求说明书

              数据库设计说明书

              概要设计说明书

              详细设计说明书

              可行性研究报告

       1.3 管理文档

              项目开发计划

              测试计划

              测试报告

              开发进度月报

              开发总结报告

2.用户文档测试要点:

       2.1 读者群

       2.2 术语

       2.3 正确性

       2.4 完整性   

       2.5 一致性

       2.6 易用性

       2.7 图标与界面截图

       2.8 样例和示例

       2.9 语言

       2.10 印刷与包装

3.用户手册的测试要点:

       3.1 准确安装手册的描述使用程序;

       3.2 尝试每一条建议;

       3.3 检查每条陈述;

       3.4 查找容易误导用户的内容;

4.在线帮助的测试要点:

       4.1 准确性;

       4.2 帮助索引;

       4.3 超链接;

       4.4 帮助的风格。

 

 

一、计算机系统构成及硬件基础知识

1.计算机的构成(冯.诺依曼结构):运算器,控制器,存储器,输入/输出设备.

2.控制器的组成:程序计数器(PC),指令寄存器(IR),指令译码器(ID),定时与控制电路,脉冲源,中断等.

3.CPU的只要组成:指令寄存器,指令译码器,定时与控制电路,程序计数器,标志寄存器,堆栈和堆栈指针

4.主振周期=时钟周期;

  指令周期=CPU周期=机器周期= 多个 时钟周期;

5.时序的两种控制方式:5.1 组合逻辑控制 5.2 微过程控制

6.组合逻辑控制的实现有两种方式:硬件接线控制和可编程逻辑阵列.

7.微程序对应一条机器指令;由多个微指令组成;微指令由多个微操作最成.

8.微指令的格式:操作控制字段+顺序控制字段;

9.操作控制字段的格式有两种:水平型微指令和垂直型微指令.

10.输入/输出设备只要种类:

       10.1 纸带机、卡片机;

       10.2 键盘、鼠标;

       10.3 显示器;

       10.4 外存

       10.5 打印机

       10.6 图形图象摄影输入设备。

11.输入输出控制器的组成:数据寄存器,状态寄存器,控制寄存器,控制电路。

12.外设的识别是通过地址总线和接口电路的地址译码器来实现的。

13.外设的编址方式:独立编制方式和统一编址方式。

14.外设的4种访问方式:程序查询方式,中断方式,DMA(直接存储器存取)方式,信道方式。

15.中断源包括:I/O设备、实时始终、故障源、软件中断等。

16.按照中断源来分,中断可分为内部中断和外部中断。

16.1内部中断分为溢出中断、除法错中断、断点中断,软件中断和单步中断。

16.2外部中断(中断源来自CPU之外)按照cpu的响应可以分为:可屏蔽中断和非屏蔽中断(如掉电)。

17.中断判断方式:

       17.1 每个中断源使用自己的中断请求信号线和CPU相连;

       17.2 统一的中断请求;

       17.3 硬件查询法;

       17.4 总线仲裁;

       17.5 中断向量表。

18.DMA传输过程的总线占有方式:

       18.1 CPU停止访问主存,只进行一些与总线无关的内部操作;

       18.2 时间轮转片法;

       18.3 借用周期法。

19.DMA方式和中断的最根本区别:使用中断方式时,主存和输入/输出控制器之间的数据传送仍然需要勇cpu操作,需要使用cpu的寄存器等资源,所以必须保护现场,而DMAc要暂停cpu的执行,以达到控制总线的母的,不需要保护现场。

20.常见输入/输出接口:

       20.1 磁盘接口(IDE,SCSI)

       20.2 串行接口和并行接口;

       20.3 PC Card接口;

       20.4 USB 接口;

       20.5 1394接口。

21.从CPU到外设,总线可以分为4类:CPU内部总线,部件内部总线,系统总线,外总线。

22.系统总线分为3种:数据总线,地址总线,控制总线。

23.总线的3种仲裁方式:链式查询方式,计数器定时查询方式,独立请求方式

24.指令流数据流的分类,

24.1按照多倍性的分类:单指令流单数据流,单指令流多数据流,多指令流单数据流,多指令流多数据流;

24.2按照程序流程机制的分类:控制流计算机,数据流计算机,归约机。

25.存储器常用的4种存取方式:顺序存取,直接存取,随机存取,相联存取。

26.主存储器的分类:RAM,ROM,PROM,EPROM,E2PROM,闪速存储器,相联存储器   

27.辅助存储器的分类:磁带存储器,磁盘存储器,廉价磁盘冗余阵列存储器(即RAID,分6个级别),光盘存储器。

28.Cache存储器:即高速缓冲存储器,最常用的3种淘汰算法:随机淘汰法,先进先出和近期最少使用淘汰法(LRU)。

29.Cache的常用些操作:写直达,写回,标记法。

30.三大总线:PC-XT总线(也称PC总线),ISA总线,PCI总线。

顺序:PC-XT总线(也称PC总线),PC-AX总线,ISA总线,EISA总线,PCI总线,AGP总线。

31. 在计算机中,最适合进行数字加减运算的数字编码是补码,最适合表示浮点数阶码的数字编码是移码。

 

二、程序语言基础知识

1.汇编程序的基本工作如下:

       1.1 讲每一条可执行汇编指令转换成对应的机器指令;

       1.2 处理源程序种出现的伪指令;

2.编译程序分成的部分:词法分析、语法分析和语义分析、优化代码,代码生成,符号表管理。

3.词法分析:有限状态自动机原理,正规表达式。

4.语法分析:下推自动机,自顶向下语法分析,自底向上语法分析

5.基本数据类型:

       5.1 内建数据类型

       5.2 枚举类型

       5.3 复合数据类型

 

6.数字数据对象上的操作有:赋值操作,算术操作,关系操作,位操作,    

7.内建数据类型包括:数字数据类型,布尔类型,字符类型;

8.负荷数据类型包括:指针类型能够,字符串类型。

9.结构化数据类型有:数组,记录(如结构体、联合类型),其他结构化数据(如堆栈,队列,树,有向图和属性列表和集合)

10.类型检查的基本规则:

       10.1 算术运算符

       10.2 重载

       10.3 隐式类型转换

       10.4 多态

11.程序语言的控制结构分为3类:

       11.1 表达式

       11.2 用在语句见或一组语句的结构(如条件语句和循环语句)

       11.3 过程结构

12.表达式的表示方法:前缀表示法、后缀表示法,中缀表示法。

13.语句间的控制顺序:跳转结构,选择结构,循环结构。

14.循环结构的种类:计数器循环,条件循环,基于数据的循环,不定循环。      

15.过程的参数传递方式:传值调用,引用调用,传值-结果调用。

16.按程序设计范型分类,程序语言分为:

       16.1 过程性语言,如c

       16.2 面向对象语言,如Sinula,c++,Java

       16.3 逻辑型语言,如Prolog

       16.4 函数型语言,如LISP

 

三、操作系统基础知识

1.作系统与硬件/软件的关系

       计算机硬件->操作系统->语言处理程序->应用程序

2.引入操作系统的目的 ,4个方面的理解

       2.1 用户观点

       2.2 资源管理观点

       2.3 进程观点

       2.4 分层观点

3.操作系统的基本类型:

       3.1 批处理操作系统

       3.2 分时操作系统

       3.3 实时操作系统

       3.4 网络操作系统

       3.5 分布式操作系统

4.从资源管理的观点看,操作系统的功能分成5部分:

       4.1 处理机管理

       4.2 存储管理

       4.3 文件管理

       4.4 设备管理

       4.5 作业管理

5.操作系统的结构设计模式:

       5.1 模块化结构

       5.2 层次化结构

       5.3 客户/服务器结构

       5.4 对象模式

       5.5 对称多处理模式

6.进程是由程序块、进程控制块(PCB)和数据库3部分组成。

7.进程控制块PCB的组成:进程标识+状态+优先级+控制信息+队列+访问权限+现场。

8.进程控制的原语主要包括:创建原语,阻塞原语,撤销原语,唤醒原语,优先级原语,调度原语。

9.操作系统中设置3种队列:执行队列、就绪队列和阻塞队列。

10.P-V 操作如何实现进程互斥?

11.P-V操作如何实现进程同步? 生产者和消费者

12.进程的同步机制之一:管程。进程可以调用管程,且载任一时刻最多只有一个进程能够真正进入管程,而其他调用进程则真那个等待。

13.进程调度的两种方式:剥夺方式和非剥夺方式。

14.进程调度的算法:

       14.1 先来先服务FCFS,即先进先出FIFO;

       14.2 优先数调度;

       14.3 轮转法。

15.产生死锁的必要条件:互斥条件,保持和等待条件,不剥夺条件,环路等待条件。

16.线程切换时只需保存和设置少量寄存器的内容,而不设计存储器管理方面的操作,故线程切换的开销要远远小于进程的切换。

17.存储管理方式:

       17.1 单一连续区管理

       17.2 分区存储管理

       17.3 页式存储管理

       17.4 段式存储管理

       17.5 段页式存储管理

       17.6 页面调度

18.分区存储管理的方式:固定分区存储管理,可变分区存储管理,存储分配算法管理,交换与覆盖技术。

19.。存储分配的4种算法:首次适应算法,循环适应算法,最佳适应算法,最差适应算法。

20.页面调度算法:最优(OPT)算法,随机算法,先进先出算法,最近最少使用算法(LRU),最不经常使用的页面先淘汰(LFU),最近没有使用的页面先淘汰(NUR).

21.设备管理的功能:

       21.1 提供和进程管理系统的接口;

       21.2 进行设备分配;

       21.2 实现设备和设备,设备和CPU之间的并行操作。

       21.3 进行缓冲区管理。

22.外围设备和内存之间的常用数据传送控制方式:

       22.1 程序控制方式

       22.2 中断方式

       22.3 直接存储访问方式

       22.4 通道方式

23.通道,又称为输入/输出处理器,主要有3类通道:字节多路通道,选择通道和成组多路通道。

24.设备的分配方式:静态分配和动态分配。

25.设备的分配策略:先请求先分配,优先级高者先分配。

26.访问磁盘的时间决定于:查找磁道时间,旋转等待扇区时间和数据传输时间。

27.磁盘调度算法:先来先服务,最短查找时间有限调度,SCAN调度(又称电梯算法)。

28.Spooling技术,意为外部设备同时联机操作,又称假脱机输入/输出操作。

29.记录文件的分为:顺序文件、索引顺序文件、索引那文件和直接文件。

30.常用的文件分配策略有:顺序分配(即连续分配)、链接分配(串联分配)、索引分配。

31.文件的3种对空闲块的管理方法:索引法、链接法和位图法。

32.作业的状态:提交状态,后备状态,执行状态和完成状态。

33.处理机的调度:

       33.1 高级调度

       33.2 中级调度

       33.3 低级调度

34.作业控制块的组成:作业名+作业状态+资源要求+作业控制方式+作业类型+作业优先权等。

35.作业调度算法有:先来先服务,短作业优先(SJF),响应比高者优先(HRN),优先级调度。

posted @ 2018-06-22 11:37  OnePiece!  阅读(1176)  评论(0编辑  收藏  举报