资讯详情

计算机考研复试题(近十万字)

目录

  • 前言
  • 前沿知识
  • 操作系统
    • 操作系统
      • 1.什么是操作系统,什么是目标和功能,什么是特征?
      • 2.批处理操作系统是什么?
      • 3.什么是单道批处理系统,主要特点是什么?
      • 4.多程序设计技术是什么?基本特征是什么?引进技术有什么好处?需要解决哪些问题?
      • 5.什么是分时技术?什么是分时系统?最关键的问题?基本特征?
      • 批处理系统、分时系统和实时操作系统的特点是什么?
      • 为什么处理器要区分核心态和用户态?在什么情况下切换两种方式?用户态转向核心态的例子?
      • 8.试着说明访管指令、特权指令和原语
      • 9.什么是系统调用?执行过程?和一般调用有什么区别?
      • 9.什么是中断?中断的一般过程分为哪些阶段?用什么?
      • 10.为什么说直到中断和通道技术出现 , 多程序概念变得有用 ?
    • 进程管理
      • 11.过程是什么?为什么引入过程?过程和程序的区别?
      • 12.过程的主要特点是什么?
      • 13.什么是进程实体?什么是?PCB?为什么要引入?PCB?为什么说PCB是进程唯一存在的标志?PCB包含哪些内容?
      • 14.说明三个基本状态之间过程转换的典型原因。
      • 15.过程控制是什么?原语是什么?过程控制的主要原语是什么?
      • 16.创建原语过程?终止原语过程?
      • 17.过程的切换是什么?过程是什么?
      • 18.为什么需要系统调用来实现通信?流程通信是什么?流程通信是什么?
      • 19.什么是线程?为什么引入线程?线程与过程的比较?
      • 10.什么是作业调度、过程调度、内存调度?什么是作业?
      • 典型调度算法的优缺点?
      • 13.为什么说多级反馈队列能够较好的满足要求?
      • 1.过程的同步和相互排斥是什么?临界资源是什么?临界区是什么?访问临界资源的过程是什么?
      • 2.简要描述信号量S的物理含义。
      • 3.管程是什么?管程的组成部分?基本特征?为什么要引入?
      • 什么是死?死的四个必要条件是什么?以及原因?
      • 7.解除死锁有多少种方法?
      • 8.同步机制应遵循哪些标准?
    • 存储管理
      • 1.将段的动态连接引入虚拟段式存储系统。
      • 2.静态链接是什么?安装时动态链接和运行时动态链接是什么?
      • 3.绝对装入方式?
      • 4.为什么要引入动态重定位?如何实现?
      • 5.什么是逻辑地址?什么是物理地址?逻辑地址空间和物理地址空间?重置地址是什么?碎片是什么?
      • 6. 什么是覆盖技术?什么是交换?什么是替换?
      • 7.覆盖技术和虚拟存储技术的本质区别是什么? ?在虚存中使用的交换技术和转移 / 调出技术有什么相同?
      • 8.什么是虚拟存储器?虚拟存储器的基本特征是什么?虚拟存储容量的主要限制是什么?试着举个例子?
      • 7. 管理模式中固定分区和可变分区的区别? ?
      • 9.分区存储管理中经常采用哪些分配策略?比较它们的优缺点
      • 10.分段和分页的主要区别是什么? ?
      • 11.为什么分段系统比分页系统更容易实现信息共享和保护?
      • 12.页表和快表是什么?它们各起什么作用?
      • 13.地址转换地址转换过程?
      • 13.虚拟存储器的基本特征是什么?虚拟存储容量的主要限制是什么?
      • 14.请求页面存储管理的优缺点
      • 15.什么是缺页中断?缺页中断后该怎么办?和一般中断有什么区别?
      • 16 试着说明改进型Clock置换算法的基本原理。
      • 17.抖动是什么?抖动的原因是什么?
      • 什么是固定分配局部置换 ,可变分换可变分配,局部置换可变分配?
      • 19.什么是预调页策略,请求调页策略?
      • 20.分段共享和保护是什么?
    • 文件管理
      • 1.目录管理的主要要求是什么?
      • 3.绝对路径和相对路径名和索引节点是什么?
      • 4.什么是文件?什么是文件系统?基本操作是什么?
      • 为什么大多数?OS本文件系统调用中都引入打开?打开的意思是什么?
      • 文件的逻辑组织和物理组织是什么?文件的逻辑结构有多少种形式?
      • 7.什么是FCB?为什么引入FCB?
      • 8.简述文件的二级目录组织形式。如何处理文件共享?
      • 9.文件目录和目录文件有什么作用?目前广泛使用的目录结构是什么?它有什么优点?
      • 10.文件物理结构中的顺序结构、链接结构与索引结构三者之间相比各有什么优缺点?
      • 11.在磁盘上读写需要多长时间?哪一部分时间最长?
      • 12.FCFS,SSTF,SCAN,C-SCAN算法的优缺点
      • 13.文件保护?
    • 设备管理
      • 1.设备管理的目标和功能是什么?
      • 2.什么是块设备?字符设备是什么?
      • 3.程序直接控制I/O中断方式
      • 4.什么是通道?DMA方法有什么区别?
      • 5.什么是DMA方式? 它与中断控制的主要区别是什么?
      • 6.什么是设备驱动程序?为什么要有设备驱动程序?写下设备驱动程序的处理过程?
      • 7.设备的独立性是什么?为什么介绍?如何实现?
      • 8.引入缓冲技术(缓冲区)的主要目的是什么?
      • 9.设备分配的一般原则是什么?设备分配时应考虑哪些因素?有哪两种分配方式?
      • 10.设备分配的数据结构是什么?它们之间的关系是什么?
      • 11.为什么引入?SPOOLing什么是技术? SPOOLing什么是技术?SPOOLing系统?它的系统是由什么组成的?它的功能和特点是什么?
      • 12.SPOOLing如何使一台打印机虚拟成多台打印机?优点是(对用户)
      • 13.什么是独家设备?共享设备?设备分配技术?设备管理的主要功能?
    • 数据结构
      • 1.逻辑结构和物理结构
      • 2.算法是什么?有多少特点?目标是什么?
    • Linux常用命令
    • 进程管理
    • 内存管理
    • 文件管理
  • 计算机网络
    • 物理层
    • 数据链路层
    • 传输层
    • 应用层
  • 数据结构
      • 前序、中序结构二叉树
      • 二叉树中序和后序结构
      • 哈夫曼树
      • 波兰和逆波兰
      • 树的非递归遍历
      • 完全二叉树节点的个数
      • 线索二叉树
      • 所有打印值为x节点的祖先
      • 找指针p和q最近祖先
      • 二叉树转化为等价中缀表达式(自我推广)
      • 二叉排序树
      • 判断是否是二叉排序树
      • 存储结构
      • 广度优先搜索
      • 广搜求单源最短路径
      • 深度优先搜索
      • u到v的所有最短路径
      • 拓扑排序
      • 迪杰斯特拉
      • 弗洛伊德
    • 链表
      • 复制带随机指针的链表
    • 排序
      • TOP-K问题
      • 堆排序
      • 判断是否是小顶堆
      • 归并排序
      • 快排
      • 希尔排序
    • 其他
      • 背包问题
      • 并查集
      • 线性表
    • 查找
    • 排序
  • 组成原理
      • 第1章:计算机系统概论
      • **第三章 系统总线**
      • 第四章 存储器
      • 第五章 输入输出系统
      • 第六章 计算机的运算方法
      • 第七章 指令系统
    • 系统概述
    • 数据的表示和运算
    • 存储系统
    • 指令系统
    • 中央处理器
  • 数据库
    • 数据库技术发展
    • 大数据管理
    • 内存数据库系统
    • 数据仓库与联机分析处理技术
    • InnoDB
      • InnoDB存储引擎
      • 索引与算法
        • 聚焦索引
        • 非聚焦索引(辅助索引)
        • B+树索引的管理
  • 软件工程
  • 编译原理
      • 编译器概述
    • 词法分析
    • 语法分析
  • 系统结构
    • 基础+并行性开发
    • 数据表示、寻址方式和指令系统
    • 标量处理机
  • 语言和算法基础
    • 基本认知
      • 预处理和头文件
    • C++11
      • 变量
      • 表达式和语句
      • 函数
        • 面试题
      • 关键字
        • auto
        • decltype
        • using
      • C++标准库
      • 其他
    • 算法
  • 专业性问题
    • 大数据及数据挖掘
    • 图像算法相关
    • 区块链
    • 硬件相关
    • AI
      • NLP
      • 决策树
      • 随机森林
  • 数学
    • 线代
      • 向量
      • 线性变换以及它和矩阵的关系
      • 矩阵乘法和线性变换符合
      • 行列式
      • 特征值和特征向量
    • 微积分
    • 概率论
      • 贝叶斯
      • 拉普拉斯方程
      • 傅里叶级数
  • 逻辑思维
    • 二进制问题
    • 先手必胜问题
    • 推理题
    • 概率问题
    • 烧蜡烛问题
      • 赛马问题
    • 过河/过桥问题
    • 最优解问题
    • 数字问题
    • 重量问题
    • 灯泡开关问题
    • 蓝眼/疯狗/耳光问题
    • 三杯水ABC
  • 项目
    • 服务端
    • 客户端
    • 线程池
    • 遇见问题
  • 论文
  • 人工智能入门
  • 附录问题
    • 二氧化碳合成淀粉

前言

本文为博主考研期间准备的知识点,涵盖本科大部分内容,其中大部分在复试期间准备的。复试非常非常重要,准备的越充分越好,希望大家重视。本文内容为本人自己总结及从其他地方看到的一些资源。格式凌乱,后续会慢慢整理,祝各位前程似锦!

前沿知识

  1. 你对人工智能有什么了解?强人工智能可能实现吗?

    人工智能的研究领域很宽泛,包括机器人、图像识别、专家系统、语言识别、自然语言处理等。

    强人工智能:各方面和人类一样得心应手,可以和人类比拟,目前还做不到。(人类连自己都不了解自己,又怎么能创造和人类一样的“生物”呢)

    超人工智能:所有领域都比最聪明的人类聪明的多,这也是总是出现永生、灭绝危机的来源。

    人工智能是什么?

  2. 什么是机器学习?讲讲具体的算法。

    机器学习是人工智能的一个分支。它研究计算机怎么人类的学习行为,以获取新的知识和技能,重新组织已有的知识结构(不断完善自身的性能,或者达到操作者特定的要求)

  3. 你认为本科学的数学有哪些会用到机器学习中?

    搞清楚这些数学原理,可以帮助我们:选择正确的算法、选择参数设置和验证策略、通过理解偏差-方差权衡,识别欠拟合和过拟合、估算正确的置信区间和不确定性。

    是核心,告诉我们怎样学习和优化模型,使得算法能在超大型数据集上运行,帮我们预测某个事件发生的可能性。那么我们举个简单的栗子来告诉大家这四块是如何在机器学习中起作用的。

  4. 什么是大数据?你接触到的最大的数据有多大?

  5. 什么是数据挖掘?

  6. 大数据和机器学习之间有什么联系?

    可以认为大数据、数据挖掘和机器学习是三个平行的概念。大数据侧重描述数据,数据挖掘侧重描述应用,机器学习侧重描述方法。

    (1)大数据就是许多数据的聚合;(2)数据挖掘就是把这些数据的价值发掘出来;(3)数据挖掘就是把这些数据的价值发掘出来

  7. 什么是云计算?

    云计算的道理是简单的,说白了,就是把计算机资源集中起来,放在网络上。

    阿里云、华为云、腾讯云都是。按需要资源付费,随时使用。

  8. 什么深度学习?

    深度学习的基础,叫做,这本身就是一种机器学习算法。深度学习的强大是有支撑的,这个原理叫做“”。这个定理的道理很简单 —— 神经网络可以拟合任何函数,不管这个函数的表达是多么的复杂。但是,哪有免费的午餐,深度学习的强大也带来了对应的问题 —— 黑箱化。黑箱的意思是,深度学习的中间过程不可知,深度学习产生的结果不可控。

操作系统

操作系统

1.什么是操作系统,目标和功能是什么,特征是什么?

是指控制和管理整个计算机的硬件和软件资源,合理的组织调度计算机的工作和资源的分配,提供给用户和其他软件方便的接口和环境的程序集合。他是一个系统软件。

:方便性,有效性,可扩充性,开放性。

:作为计算机系统资源的管理者(处存文设),作为用户和硬件系统之间的接口(命令接口和程序接口),用作扩充机器。

:并发,共享,虚拟,异步,其中并发和共享是最两个基本的特征。

并发是两个或多个事件在同一时间间隔内发生。

共享即资源共享,是指系统的资源可供内存中多个并发执行的进程共同使用。

虚拟是把一个物理上的实体变为若干个逻辑上的对应物。

异步是指进程的执行不是一贯到底的,而是走走停停,以不可预知的速度向前推进。

2.何谓批处理操作系统?

批处理系统指用户的作业成批的处理,作业建立、处理、完成都自动由系统成批完成。引入批处理系统的目的是要解决人机矛盾及CPU与I/O设备之间速度不匹配,提高设备的利用率,提高系统吞吐量。

3.什么是单道批处理系统,主要特征是什么?

单道批处理系统:系统对作业的处理是成批进行的,但内存中始终保持一道作业

自动性:磁带上的一批作业能自动的逐个依次运行,而无需人工干预。

顺序性:磁道上的各道作业是顺序地进入内存,各道作业的完成时间与他们进入内存的顺序基本一致

单道性:内存中仅有一道程序运行。

4.什么是多道程序设计技术?基本特征是什么?引入技术哪些好处?需要解决什么问题?

多道程序技术就是同时把多个程序放入内存,允许它们交替在CPU中运行,共享系统资源。当一道程序因I/O请求而暂停运行时,CPU便立即转向运行另一道程序。

多道程序运行的特征(特点)

多道:计算机内存中同时存放多道相互独立的程序。

宏观上并行:同时进入系统的多道程序都处于运行过程中,即先后开始了各自的运行,但都未运行完毕。

微观上串行:内存中的多道程序轮流占有CPU,交替执行。

优点是:资源利用率高(多道程序共享计算机资源,从而使各种资源得到充分利用),系统吞吐量大(CPU和其他资源保持忙碌状态)。

需要解决处理机,内存,设备分配情况,如何组织和存放大量的程序和数据,以便用户使用和保证其安全性与一致性。

5.什么是分时技术?什么是分时系统?最关键的问题?基本特征?

分时技术:处理器的运行时间分成很短的时间片,按时间片轮流把处理器分配给各联机作业使用。

分时系统:多个用户通过终端同时共享一台主机,这些终端连接在主机上,用户可以同时与主机进行交互操作而不互相干扰。

最关键的问题:是如何使用户能与自己的作业进行交互,即当用户在自己的终端上输入命令时,系统应能及时接收并及时处理该命令,再将结果返回用户。

同时性:也叫多路性,指允许多终端用户同时使用一台计算机。

交互性:用户能方便地与系统进行人机交互。

独立性:系统中的多个用户可以彼此独立的进行操作,互不干扰。

及时性:用户请求能在很短时间内获得响应。

  1. 批处理系统和分时系统和实时操作系统各有什么特点?

批处理操作系统:用户脱机使用计算机,作业是成批处理的,系统内多道程序并发执行,交互能力差,系统响应时间长。

分时操作系统:多个用户同时使用计算机,人机交互能力强,具有每个用户独立地使用计算机的独占性,系统响应时间及时。

实时操作系统:能对控制对象作出及时反应,可靠性高,响应及时,但是资源利用率低。

  1. 为什么要处理器为什么要区分核心态和用户态两种操作方式?在什么情况下进行两种方式的切换?用户态转向核心态的例子?

管态:当执行操作系统程序时,处理机所处的状态

目态:当执行普通用户程序时,处理机所处的状态

区分执行态的主要目的是保护系统程序。用户态到和核心态的转换发生在中断产生时而核心态到用户态的转换则发生在中断返回到用户程序时。

系统调用,发生一次中断,用户程序产生错误状态和企图执行以条特权指令,执行特权指令。

8.试说明访管指令、特权指令和原语

访管指令是一类机器指令,执行访管指令可以引起访管中断

特权指令是计算机中不允许用户直接使用的指令。

系统调用是用户在程序中调用操作系统所提供的一些子功能,是提供编程人员的接口。

原语是指由若干条机器指令构成,并用于完成特定功能的一段程序,在执行期间不可分割。主要特点是不可分割性。基本特点:最底层最接近硬件的部分,具有原子性——其操作只能一气呵成,运行时间短和调用频繁。

9.什么是系统调用?执行过程?与一般调用有什么区别?

所谓系统调用是用户在程序中调用操作系统所提供的一些子功能,是提供编程人员的接口。

通过系统调用命令,中断现行程序而转去执行相应的子程序,以完成特定的系统功能。完成后,又返回到发出系统调用命令之后的一条指令,被中断的程序将继续执行下去。

系统调用与一般过程调用不同,其主要区别是:

运行的状态不同。在程序中的过程一般或者都是用户程序,或者都是系统程序,即都是运行在同一个系统状态的(用户态或系统态)。进入的方式不同。一般的过程调用可以直接由调用过程转向被调用的过程。而执行系统调用时,由于调用过程与被调用过程是处于不同的状态,因而不允许由调用过程直接转向被调用过程,通常是通过访问管中断(即软中断)进入,先进入操作系统,经分析后,才能转向相应的命令处理程序。返回方式的不同。代码层次不同。一般过程调用中的被调用程序是用户级程序,而系统调用是操作系统中的代码程序,是系统级程序。

9.什么是中断?中断处理的一般过程分为哪几个阶段?用哪几种?

所谓中断是指CPU对系统发生的某个事件(中断源)作出的一种反应:CPU暂停正在执行的程序,保留现场后自动地转去执行相应的处理程序,处理完该事件后再返回断点继续执行被“打断”的程序。中断处理的一般过程分为以下阶段:保存现场,分析原因,处理中断,返回断点。

中断:也称外中断,指来自于CPU执行指令以外的事件发生,如设备发出的I/O结束中断。

异常:也称内中断,例外或陷入,指来自于CPU执行指令内部的事件发生。

10.为什么说直到出现中断和通道技术后 , 多道程序概念才变为有用的 ?

道程序并发执行是指有的程序正在CPU上执行,而另一些程序正在I/O设备上进行传输。在时间上的重叠必须有中断和通道技术支持其原因如下:1.通道是一种控制一台或多台外部设备的硬件机构,它一旦被启动就独立于CPU运行,因而做到了I/O设备与CPU并行工作。但早期CPU通过向通道发出询问指令来了解通道工作是否完成。若未完成则主机就循环询问直到通道工作结束为止。因此这种询问方式是无法真正做到并行工作的。 2)在硬件上引入了中断技术。所谓中断是指CPU对系统发生的某个事件(中断源)作出的一种反应:CPU暂停正在执行的程序,保留现场后自动地转去执行相应的处理程序,处理完该事件后再返回断点继续执行被“打断”的程序。 因此通道技术和中断技术结合起来就可以实现并行工作。即CPU启动通道传输数据后便去执行其他程序的计算工作而通道则进行输入/输出操作;当通道工作结束时再通过中断机构向CPU发出中断请求CPU则暂停正在执行的操作对出现的中断进行处理处理完后再继续原来的工作。这样就真正做到了CPU与I/O设备并行工作。此时多道程序的概念才变为现实。

进程管理

11.什么是进程?为什么引入进程?进程和程序的区别?

答:进程是具有独立功能的程序在一个数据集合上运行的过程,他是系统进行资源分配和调度的一个独立单位。在多道程序环境下,允许多个程序并发执行,此时他们将失去封闭性,并具有间断性和不可再现性的特征。为此引入了进程的概念,以便更好地描述和控制程序的并发执行,实现操作系统的并发性和共享性。引入进程的目的就是为了是程序能与去其他进程的程序并发执行,以提高资源利用率。

进程是动态,程序是静态的;

进程是独立运行的单位,程序不能作为运行单位;

进程间在并发执行过程中会产生相互制约关系,而程序由于是静态的,所以不存在异步特征。

12.进程的最主要的特征有哪些?

动态性:进程是程序的一次执行, 他有着创建、 活动、暂停、终止等过程,具有一定的生命周期,是动态的产生、变化和消亡的。 动态性是进程最基本的特征

并发性:多个进程实体,同存于内存中,能在一段时间内同时运行

独立性:指进程实体是一个能独立运行、独立获得资源和独立接收调度的基本单位。

异步性:每个进程都以其相对独立、不可预知的速度向前推进

结构性:每个进程有一个控制块PCB

13.什么是进程实体?什么是PCB?为什么要引入PCB?为什么说PCB是进程唯一存在的标志?PCB包含哪些内容?

进程实体由程序段、相关数据段和PCB三部分组成。

进程控制块 (PCB)是记录进程的动态执行情况的一种数据结构。为了使参与并发执行的程序能独立的运行,必须为之配置一个专门的数据结构。

每个被创建的进程都由惟一的PCB来标识,操作系统根据 PCB对进程实施控制和管理;当一个进程完成它的工作被系统撤销时,它的PCB也被撤销。因此, PCB是进程存在的惟一标志,进程的动态、并发等特征都是通过 PCB表现出来的。

PCB 主要包括:进程描述信息、进程控制和管理信息、资源分配清单和处理器相关信息等。

14.说明进程在三个基本状态之间转换的典型原因。

A.处于就绪状态的进程,当进程调度程序为之分配了处理机后,该进程便由就绪状态变为执行状态.

B.当前进程因发生某事件而无法执行,如访问已被占用的临界资源,就会使进程由执行状态转变为阻塞状态.

C.当前进程因时间片用完而被暂停执行,该进程便由执行状态转变为就绪状态.

15.什么是进程控制?什么是原语?进程控制原语主要有哪些?

进程控制的主要功能是对系统中所有进程实施有效地管理,她具有创建新进程、撤销已有进程、实现进程状态转换等功能。原语是指由若干条机器指令构成,并用于完成特定功能的一段程序,在执行期间不可分割。主要特点是不可分割性。基本特点:最底层最接近硬件的部分,具有原子性——其操作只能一气呵成,运行时间短和调用频繁。

创建原语,撤销原语,挂起原语,激活原语,阻塞原语,唤醒原语。

16.创建原语过程?终止原语过程?

创建原语:为新进程分配一个唯一的进程标识号,并申请一个空白的 PCB 。

为进程分配资源。为新进程的程序和数据,以及用户栈分配必要的空间。

初始化PCB。主要包括初始化标志信息、初始化处理器状态信息和初始化处理器控制信息,以及设置进程的优先级。

1)如果进程就绪队列能够接纳新进程,就将新进程插入到就绪队列,等待被调度运行。

终止原语:据被终止进程的标识符,检索 PCB ,从中读出该进程的状态。

2) 若被终止进程处于执行状态, 立即终止该进程的执行,将处理器资源分配给其他进程。

3) 若该进程还有子进程,则应将其所有子进程终止。

4) 将该进程所拥有的资源、或归还给父进程或归还给操作系统。

5) 将该 PCB 从所在队列(链表)中删除。

17.进程的切换是什么?过程是怎么样的?

进程切换是指处理机从一个进程的运行转到另一个进程运行。

保存处理器上下文,包括程序计数器和其他寄存器。更新 PCB 信息。把进程的 PCB 移入相应的队列,如就绪、在某时间阻塞等队列。选择另一个进程执行, 并更新其 PCB 。更新内存管理的数据结构。恢复处理器的上下文。

18.为什么需要系统调用来实现通信?什么是进程的通信?进程通信有哪些?

每个进程有自己相互独立的地址空间。在操作系统和硬件的地址机构保护机制下,进程无法访问其他进程的地址空间,所以必须借助于操作系统的系统调用函数实现进程之间的通信。

进程通信就是进程之间的数据交换。低级通信方法和高级通信方法。高级通信方法可分为共享存储、消息传递和管道

共享存储:在通信的进程之间存在一块可直接访问的共享空间,通过对这片共享空间进行读/写操作实现进程之间的信息交换。在对共享空间进行操作时,需要使用同步互斥工具(如P操作、V操作)共享存储又分为两种:低级方式的共享是基于数据结构的共享;高级方式则是基于存储区的共享。

消息传递:在消息传递系统中,进程间的数据交换是以格式化的消息(Message)为单位的。进程通过系统提供的发送消息和接收消息两个原语进行数据交换。

  1. 直接通信方式:发送进程直接把消息发送给接收进程,并将它挂在接收进程的消息缓冲队列上,接收进程从消息缓冲队列中取得消息。

  2. 间接通信方式:发送进程把消息发送到某个中间实体中,接收进程从中间实体中取得消息。这种中间实体一般称为信箱。

管道:消息传递的一种特殊方式。所谓“管道”,是指用于连接一个读进程和一个写进程以实现它们之间通信的一个共享文件,又名pipe文件。向管道提供输入的写进程,以字符流形式将大量的数据送入管道;而接收管道输出的读进程,则从管道中读数据。为了协调双方的通信,管道机制必须提供以下三方面的协调能力:互斥、同步和确定对方的存在。

19.什么是线程?为什么引入线程?线程和进程的比较?

线程是进程的一个实体,是系统独立调度和分派的基本单位,线程自己不拥有系统资源(只拥有一点在运行中必不可少的资源)但线程可以访问其隶属进程的系统资源。

而引入线程,则是为了减小程序在并发执行时所付出的时空开销,提高操作系统的并发性能。

调度性。传统操作系统中,拥有资源和调度的基本单位是进程。在引入线程的 OS中,进程是拥有资源的基本单位,线程是调度的基本单位。

并发性。引入线程的 OS中,进程可以并发,一个进程的多个线程也可以并发,不同进程的线程也可以并发。

拥有资源。不管传统操作系统还是有线程的操作系统进程都是拥有资源的基本单位, 线程不拥有系统资源(只拥有一点在运行中必不可少的资源),但线程可以访问其隶属进程的系统资源。

开销。创建和撤消进程时,必须为之分配和回收资源,因而付出的开销要明显大于线程

10.什么是作业调度,进程调度,内存调度?什么是作业?

作业调度:用于决定把外存上处于后备队列中的哪些作业调入内存,并为它们创建进程、分配必要的资源,再将新创建的进程排在就绪队列上,准备执行

进程调度:用来决定就绪队列中的哪个进程应获得处理机。

内存调度:又称中级调度,主要任务是按照给定的原则和策略,将处于外存对换区中的重新具备运行条件的进程调入内存,或将内存中暂时不能运行的进程交换到外存对换区。

作业:用户在一次上机过程中要求计算机系统所做工作的集合

引起进程调度:有进程运行完毕,进程调用阻塞原语,p操作时资源不足,v操作激活等待队列的进程,时间片用完(分时系统),优先级跟高的进程到来(抢占式调度)

  1. 非抢占式和可抢占式高优先级调度算法的区别是什么? 调度的准则是什么?

最高优先级调度算法原则上总是调度就绪队列中优先级最高的那个进程。采用非抢占式最高优先级调度算法,当就绪队列中某进程的最高优先级高于正在处理器中运行的进程的最高优先级时,并不会让正在运行的进程退出处理器,而是将高优先数的排在就绪队列的首部。而采用抢占式最高优先级进程调度算法,则高优先数的进程会抢占处理器,让正在处理的进程处于就绪队列。

CPU 利用率

系统吞吐量(表示单位时间内 CPU 完成作业的数量)

周转时间(是指从作业提交到作业完成所经历的时间)

等待时间(进程处于等处理器状态时间之和)

响应时间(指从用户提交请求到系统首次产生响应所需的时间)

  1. 典型的调度算法优缺点?

先来先服务(FCFS):是一种最简单的调度算法,即可用于作业调度,也可用于进程调度。按照作业/进程进入系统的先后次序进行调度,先进入系统者先调度。算法简单,但效率低。比较有利于长作业,而不利于短作业。有利于CPU繁忙型作业,而不利于I/O繁忙型作业。

短作业优先调度算法(SJF)是从队列中选出一个估计运行时间最短的作业优先调度,即可用于作业调度,也可用于进程调度。对长作业不利。严重的是,若一长作业进入系统的后备队列,由于调度程序总是优先调度那些短作业,将导致长作业长期不被调度——饥饿 。完全未考虑作业的紧迫程度,因而不能保证紧迫性作业会被及时处理 。由于作业的长短只是根据用户所提供的估计执行时间而定的,而用户又可能会有意或无意地缩短其作业的估计运行时间,致使该算法不一定能真正做到短作业优先调度。

非抢占式和可抢占式高优先级调度算法

静态优先权是在创建进程时确定,且在进程的整个运行期间保持不变。

动态优先权是在进程运行过程中根据进程的情况变化的动态调整优先级。

高响应比优先调度算法:既考虑作业的执行时间也考虑作业的等待时间,综合了先来先服务和最短作业优先两种算法的特点。优点是等待时间相同的作业,则要求服务的时间愈短,其优先权愈高,对短作业有利。要求服务的时间相同的作业,则等待时间愈长,其优先权愈高,是先来先服务。长作业优先权随等待时间的增加而提高,其等待时间足够长时,其优先权便可升到很高, 从而也可获得处理机,对长作业有利。是一种折中,既照顾了短作业,又考虑了作业到达的先后次序,又不会使长作业长期得不到服务。 缺点:要进行响应比计算,增加了系统开销

简单的时间片轮转法:系统将所有的就绪进程按先来先服务的原则排成一个队列,每次调度时,把CPU分配给队首进程,并令其执行一个时间片;当执行的时间片用完时,由一个计时器发出时钟中断请求,调度程序便停止该进程的执行,并将其放就绪队列尾;然后,再把处理机分配给就绪队列中新的队首;时间片的大小从几ms到几百ms

缺点:紧迫任务响应慢。 时间片选取 太小,会频繁发生中断、进程上下文切换,增加系统开销,但利于短作业。太大,退化成FCFS 。

13.为什么说多级反馈队列能够较好的满足要求?

对于终端型用户来说,提交的大多数都是较小的交互型,通常可在第一队列规定的时间片内让其完成工作,使终端型用户都感到满意;对短批处理作业用户来说,在第一队列执行一个时间片或至多只在第二队列和第三队列各执行一个时间片即可完成,周转时间仍然很短。对长批处理作业用户,只要将作业依次在第1,2…n队列中运行 ,然后按轮转方式运行,用户不必担心作业长期得不到处理。

1.什么是进程的同步与互斥?什么是临界资源?什么是临界区?临界资源的访问过程有哪些?

进程互斥:也称间接制约关系。当一个进程进入临界区使用临界资源时,另一个进程必须等待,当占用临界资源的进程退出临界区后,另一个进程才允许去访问此临界资源。

进程同步:也称相互制约关系,指多个相关进程在协调他们的工作次序上而产生的制约关系。

临界资源是在一段时间内,只允许一个进程访问的资源。每个进程中访问临界资源的那段程序称为临界区。

临界资源的访问过程分为四个部分。进入区,临界区,退出区,剩余区。

2.简述信号量S的物理含义。

S>0时,S表示可使用的资源数;或表示可使用资源的进程数;

S=0时,表示无资源可供使用;或表示不允许进程再进入临界区;

S<0时,-S表示等待使用资源的进程个数;或表示等待进入临界区的进程个数;

当S>0时,调用P(S)的进程不会等待;调用V(S)后使可用资源数加1或使可用资源的进程数加1;

当S<0时,调用P(S)的进程必须等待;调用V(S)后将释放一个等待使用资源者或释放一个等待进入临界区者。

3.什么是管程?管程的组成部分?基本特性?为什么引入?

管程是一组数据以及定义在这组数据之上的对这组数据的操作组成的软件模块

1) 局部与管程的共享结构数据说明

2) 对该数据结构进行操作的一组过程

3) 对局部于管程的共享数据设置初始值的语句

管程的基本特性

1)局部于管程的数据只能被局部于管程内的过程访问。

2)一个进程只有通过调用管程内的过程才能进入管程访问共享数据。

3)每次仅允许一个进程在管程内执行某个内部过程。

解决临界区分散所带来的管理和控制问题。

  1. 什么是死锁?死锁的四个必要条件是什么?以及原因?

死锁是指多个进程由于竞争资源而造成的一种僵局(互相等待),若无外力作用,它们都将无法推进下去。

原因:系统资源的竞争和进程推进顺序非法。

必要条件:互斥条件,不剥夺条件,请求和保持条件,循环等待条件。

进程对所分配到的资源进行排它性的使用,即在一段时间内某资源仅为一个进程使用

进程已获得的资源在未使用完之前不能被剥夺

进程已经至少保持了一个资源,但又提出了新的资源请求,而该资源又已被其他进程占有

在发生死锁时,必然存在一个进程资源的循环等待链,已获得的资源被下一个进程所请求。5.简述解决死锁问题的三种方法。

① 死锁的预防。系统按预定的策略为进程分配资源,这些分配策略能使死锁的四个必要条件之一不成立,从而使系统不产生死锁。

② 死锁的避免。系统动态地测试资源分配情况,仅当能确保系统安全时才给进程分配资源。

(安全状态是指系统能按某种进程推进顺序,为每个进程分配其所需的资源,直至满足每个进程对资源的最大需求,使每个进程都可以顺序的完成)

③ 死锁的检测与解除。对资源的申请和分配不加限制,只要有剩余的资源就呆把资源分配给申请者,操作系统要定时判断系统是否出现了死锁,当有死锁发生时设法解除死锁。

6.死锁的预防四个方法?

破坏互斥条件:允许系统资源都能共享使用。

破坏不剥夺条件:当一个以已保持了某些不可剥夺资源的进程,请求新的资源时得不到满足,必须释放已经保持的所有资源,待以后需要时再重新申请。

破坏请求和保持条件:使用预先静态分配方法, 即进程在运行前一次申请完他所需要的全部资源,在他的资源未满足前,不把它投入运行。一旦运行后,这些资源就一直归它所有,也不再提出其他资源请求,不会发生死锁,但是系统资源严重浪费,而且还会导致“饥饿”现象。

破坏循环等待条件:使用顺序资源分配法。首先给系统中的资源编号,规定每个进程,必须按编号递增的顺序请求资源,同类资源一次申请完。

7.死锁的解除有几种方法?

资源剥夺法。 挂起某些死锁进程, 并抢占它的资源,将这些资源分配给其他的死锁进程。但应防止被挂起的进程长时间得不到资源时,而处于资源匮乏的状态。

进程撤销法。强制撤销一个或一部分进程并剥夺这些进程的资源。撤销的原则可以按进程的优先级和撤销进程代价的高低进行。

进程回退法。让一个或多个进程回退到足以回避死锁的地步,进程回退时资源释放资源而不是被剥夺。要求系统保持进程的历史信息,设置还原点。

8.同步机制应遵循哪些准则?

空闲让进:临界区空闲时,可以允许一个请求进入临界区的进程进入临界区。

忙则等待:当已有进程进入临界区,其他试图进入临界区的进程必须等待。

有限等待:对请求访问的进程,应保证能在有限时间内进入临界区。

让权等待:当进程不能进入临界区时应立即释放处理机,防止进程忙等待。

9.何谓用户级线程和内核支持线程?有有什么区别?

答:(1)用户级线程:仅存在于用户空间中的线程,无须内核支持。

(2)内核支持线程:在内核支持下运行的线程。

系统型线程依赖内核;用户型线程不依赖内核。

系统型线程是由操作系统内核完成创建和撤销的线程;用户型线程是由应用程序利用线程库提供创建,同步,调度和管理线程函数来控制的线程。

当一个系统型线程因I/O操作阻塞时,不会影响其他进程的运行;由于操作系统不了解用户级线程的存在,所以当一个线程阻塞时,整个进程必须等待。

存储管理

1.在虚拟段式存储系统中,引入了段的动态连接。

a 试说明为什么引入段的动态链接。

b 请给出动态连接的一种实现方法。

(1)在程序运行之前,先将各目标模块及它们所需的库函数链接成一个完整的可执行程序, 以后不再拆开。称为静态链接。静态链接常常因为目标模块个数多而花费大量的 CPU时间,而实际运行时又常常只用到其中的部分模块,因而也造成了存储空间的浪费。动态链接是作业运行时先装入主程序,运行过程中需要某模块时,再将该模块的目标程序调入内存并进行链接,它克服了静态链接的不足。

(2) 分段存储管理就是最典型的动态链接。分段管理允许用户将作业按逻辑关系进行自然分段 ,各段的大小可以不同。逻辑段内的地址是由两部分组成的 (s: 段号 ,d :段内位移量 ), 即分段地址空间是用户定义的二维空间。 内存分配以段为单位 , 段可以在作业运行过程中根据请求而动态链接和装入。

2.何为静态链接?何谓装入时动态链接和运行时动态链接?

静态链接:在程序运行之前,先将各目标模块及它们所需的库函数链接成一个完整的可执行程序,以后不再拆开。

装入时动态链接:将用户源程序编译后所得到的一组目标模块,再装入内存时,采用边装入变链接的方式。

运行时动态链接 :对某些目标模块的连接,是在程序执行中需要该目标模块时,才对她进行链接。其优点是便于修改和更新,便于实现对目标模块的共享。

3.绝对装入方式?

绝对装入 :在编译时,如果知道程序将驻留在内存的某个位置,编译程序将产生绝对地址的目标代码。绝对装入程序按照装入模块的地址,将程序和数据装入内存。装入模块被装入内存后,由于程序中的逻辑地址与实际地址完全相同,故不需对程序和数据的地址进行修改。绝对装入方式只适用于单道程序环境。另外,程序中所使用的绝对地址,可在编译或汇编时给出,也可由程序员直接赋予。

4.为什么要引入动态重定位?如何实现?

答:静态重定位是地址变换在链接装入时一次完成的,但它要求连续的一片区域,且重定位后不能移动,不利于内存空间的有效使用,所以要引入动态重定位。动态重定位是在程序运行过程中要访问数据时再进行逻辑地址与物理地址的变换它是靠硬件地址变换部分实现的,通常采用重定位寄存器等实现

5.什么是逻辑地址?什么是物理地址?逻辑地址空间与物理地址空间?什么是地址重定位?什么是碎片?

逻辑地址指由程序产生的与段相关的偏移地址部分。

物理地址是在存储器里以字节为单位存储信息,为正确地存放或取得信息,每一个字节

地址重定位:把逻辑地址转变为内存的物理地址的过程。在装入时对目标程序中指令和数据的修改过程。

逻辑地址空间:一个目标程序所限定的地址范围。

物理地址空间实质内存中物理单位的集合,它是地址转换的最终地址。

碎片是指内存中很多容量太小、无法被利用的空闲块。

6. 什么是覆盖技术?什么是交换?什么是换入和换出?

覆盖技术是指一个程序的若干程序段或几个程序的某些部分共享某一个存储空间。

交换的基本思想是:把处于等待状态的进程从内存移到辅存,把内存空间腾出来,这一过程又叫换出;把准备好竞争 CPU 运行的进程从辅存移到内存,这一过程又称为换入。

交换技术主要是在不同进程之间进行,而覆盖则用于同一个程序中。

7.覆盖技术与虚拟存储技术有何本质不同 ?交换技术与虚存中使用的调入 / 调出技术有何相同

覆盖技术与虚拟存储技术最本质的不同在于覆盖的程序段的最大长度要受到物理内存容量的限制 , 而虚拟存储器的最大长度不受物理内存容量的限制 , 只受计算机地址结构的限制。交换技术与虚存中使用的调入/调出技术的主要区别在于 : 交换技术换进换出整个进程, 因此一个进程的大小受物理存储器的限制 : 而虚存中使用的调入/调出技术在内存和外存之间来回传递的是存储页或存储段 , 而不是整个进程 , 从而使得进程的地址映射具有了更大的灵活性 , 且允许进程的大小比可用的物理存储空间大得多。

8.什么是虚拟存储器?虚拟存储器基本特征是什么?虚拟存储器的容量主要受到什么限制?试着举一例子?

虚拟存储器是指具有请求调入功能和置换功能,能从逻辑上对内存容量加以扩充的一种存储器系统。

基本特征:多次性(作业无需一次装入内存,分为多次调入内存运行),

对换性(作业运行时不必一直常驻内存,允许换入和换出。),

虚拟性(逻辑上扩充了容量,使用户看到的内存容量,远大于实际的内存容量。)

虚拟存储器的容量与物理主存大小无关,而受限于计算机的地址结构。

例如在请求分页存储管理系统中,用户作业的所有页面并不一定都在实存,在作业运行过程中再请求调入所用的虚页。为了实现从逻辑地址空间到物理地址空间的变换,在硬件上必须提供一套地址变换机构 , 动态地址变换机构自动地将所有的逻辑地址划分为页号和页内地址两部分,并利用页表将页号代之以块号,把块号和页内地址拼接就得到了内存的物理地址 , 从而实现了虚拟存储器。

7. 简述固定分区和可变分区在管理方式上的区别?和优缺点 ?

答:单一连续分配方式:将内存分为系统区和用户区,系统区供操作系统使用,用户区供用户使用,是最简单的一种存储方式,但只能用于单用户单任务的操作系统中

固定分区是一种最简单的多道程序存储管理方式,它将用户内存空间划分为若干个固定大小的区域,每个分区只装入一道作业。程序可能太大而放不进任何一个分区中,这时用户不得不使用覆盖技术使用内存空间。主存利用率低,当程序小于固定分区大小时,也占用了一个完整的内存空间,会有内部碎片。

可变分区是一种动态划分内存的分区方法。不预先将内存划分,而是在作业装入内存时,根据作业的大小动态的建立分区,并使分区的大小正好适合作业的需要。分区的大小数目可变

引入可变分区方法,使内存分配有较大的灵活性,也提高了内存利用率。但是可变分区会引起碎片的产生。

9.分区存储管理中常采用哪些分配策略?比较它们的优缺点

分区存储管理中常采用的分配策略有:首次适应算法、循环首次适应算法、最佳适应算法、最坏适应算法。 首次适应算法的优缺点:保留了高址部分的大空闲区,有利于后到来的大型作业的分配;低址部分不断被划分,留下许多难以利用的、小的空闲区,且每次分区分配查找时都是从低址部分开始,会增加查找时的系统开销。 循环首次适应算法的优缺点:使内存中的空闲分区分布得更为均匀,减少了查找时的系统开销;缺乏大的空闲分区,从而导致不能装入大型作业。 最佳适应算法的优缺点:每次分配给文件的都是最适合该文件大小的分区;内存中留下许多难以利用的小的空闲区。 最坏适应算法的优缺点:给文件分配分区后剩下的的空闲区不至于太小,产生碎片的几率最小,对中小型文件分配分区操作有利;使存储器中缺乏大的空闲区,对大型文件的分区分配不利。

10.分段和分页的主要区别是什么 ?

页是信息的物理单位;而段是信息的逻辑单位;

页的大小固定且由系统决定;而段的长度却不固定,段含有一组意义相对完整的信息,决定于用户所编写的程序。

分页的作业地址空间是一维的;而分段的作业地址空间是二维的。

分页是出于系统管理的需要,分段是为了满足用户的需要

分页中有内碎片,无外碎片。分段无内碎片,有外碎片。

11.为什么说分段系统较之分页系统更易于实现信息共享和保护?

a.对于分页系统,每个页面是分散存储的,为了实现信息共享和保护,则页面之间需要一一对应起来,为此需要建立大量的页表项;

b.而对于分段系统,每个段都从0开始编址,并采用一段连续的地址空间,这样在实现共享和保护时,只需为所要共享和保护的程序设置一个段表项,将其中的基址与内存地址一一对应起来即可。

12.何为页表和快表?它们各起什么作用?

页表指出逻辑地址中的页号与所占主存块号的对应关系。快表是具有并行查找能力的高速缓冲存储器,又称联想寄存器 TLB ,用以存放当前访问的若干页表项。

作用:页式存储管理在用动态重定位方式装入作业时,要利用页表做地址转换工作。

由于采用页表做地址转换,读写内存数据时CPU要访问两次主存。有了快表,有时只要访问一次高速缓冲存储器,一次主存,这样可加速查找并提高指令执行速度。

补充:段页式存储器管理存取一次数据须经过3次对内存的访问?

首先通过段表查到页表起始地址,然后通过页表找到帧号,最后形成物理地址。

13.在有快表的情况下地址转换过程?

在具有快表的分页机制中,地址的变换过程:CPU 给出有效地址后,由硬件进行地址转换,并将页号送入高速缓存寄存器,并将此页号与快表中的所有页号同时进行比较。

如果有找到匹配的页号,说明索要访问的页表项在快表中,则可以直接从中读出该页对应的页框号,送到屋里地址寄存器。这样存取数据可以直接一次访存实现。

如果没有找到,则需要访问主存中的页表,在读出页表项后,应同时将其存入快表中, 以供后面可能的再次访问。但是如果快表已满,就必须按照一定的算法对其中旧的页表项进行替换。 注意,有些处理器设计为快表和主存同时查找,如果在快表中匹配成功则终止主存中的查找

13.虚拟存储器的基本特征是什么?虚拟存储器的容量主要受到什么限制?

虚拟存储器是指具有请求调入功能和置换功能,能从逻辑上对内存容量加以扩充的一种存储器系统。

基本特征:多次性(作业无需一次装入内存,分为多次调入内存运行),

对换性(作业运行时不必一直常驻内存,允许换入和换出。),

虚拟性(逻辑上扩充了容量,使用户看到的内存容量,远大于实际的内存容量。)

虚拟存储器的容量与物理主存大小无关,而受限于计算机的地址结构和可用磁盘容量。

14.请求页式存储管理的优缺点

答:优点:

(1)虚存量大,适合多道程序运行,用户不必担心内存不够的调度操作。动态页式管理提供了内存与外存统一管理的虚存实现方式。

(2)内存利用率高,不常用的页面尽量不留在内存。

(3)不要求作业连续存放,有效地解决了“碎片”问题。与分区式比,不需移动作业;与多重分区比,无零星碎片产生。注:分区式分配包括:固定式分配,可变分区分配,可重定位分区分配和多重分区分配四种。

缺点:

(1)要处理页面中断、缺页中断处理等,系统开销较大。

(2)有可能产生“抖动”。注:刚刚换出的页面马上又换入内存,刚刚换入的页面马上又换出内存,这种频繁的调度行为叫做抖动

(3)地址变换机构复杂,为提高速度采用硬件实现,增加了机器成本。

15.什么是缺页中断?缺页中断之后需要怎么处理?与一般的中断有什么区别?

在请求分页系统中,每当所要访问的页面不在内存时,便产生一个缺页中断,请求操作系统将所缺的页调入内存。

过程:缺页中断处理程序根据页面在外存的位置将其调入内存。在此过程中,内存中如果有空闲空间,则缺页中断处理程序会将该页面调入任一空闲存储快,还需对页表的其他表项做修改,如物理块号等。如果没有空闲空间,必须淘汰某些页面,如果被淘汰的页面之前被修改过,要将其写回内存。

区别:在指令执行期间产生和处理中断信号,而非一条指令执行完后。一条指令在执行期间,可能产生多次缺页中断。

16 试说明改进型Clock置换算法的基本原理。

基本原理:在将一个页面换出时,如果该页已被修改过,便须将

标签: 电容表面白色的多黑色少683m积层电容电容红黑2根线电连接器的防呆结构防呆型电连接器27000mfd电容

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台