操作系统最全面试题汇总

2023-11-15

 1、操作系统的特点

 共享:资源可被多个并发执行的进程使用

 并发:可以在同一时间间隔处理多个进程,需要硬件支持

 异步:进程走走停停,每次执行的速度不一样,但是要保证进程每次执行结果相同

 虚拟:将物理实体映射成为多个虚拟设备

操作系统的组成:驱动程序、内核、接口库、外围

 2、操作系统的主要功能:

 处理机管理:进程控制、进程同步、进程通信、进程调度

 存储器管理:内存分配和回收、内存包含、地址映射(逻辑地址->物理地址)、内存扩充、存储保护

 文件管理:文件存储空间管理、目录管理、文件读写保护

 设备管理:缓冲管理、设备分配、设备处理(中断设备)

 3、操作系统发展过程

 单道批处理:内存中只保留一道作业,效率较慢

 多道批处理操作系统:运行多个程序同时存在主存中,效率较快

 分时操作系统:时间片轮转执行,及时接受和处理,具有交互性

 实时操作系统:实时控制、实时信息处理,比如导弹发射,设置截止时间

 4、进程和线程的区别

线程是轻量级的进程,进程包含线程。进程有独立的内存空间,不同进程之间不能直接共享其他进程的资源,同一个进程内的线程可以共享进程内存空间;

从开销上,进程切换的开销大于线程切换的开销;进程是资源分配的最小单位,线程是程序执行的最小单位。

5、进程的组成部分:程序段、数据段、PCB

6、进程切换的过程:

▶ ①保持处理机上下文

▶ ②更新PCB 

▶ ③把PCB移入相应队列(就绪、阻塞)

▶ ④选择另一个进程并更新其PCB

▶ ⑤更新内存管理的数据结构

▶ ⑥恢复处理机上下文

 7、进程通信的方式

▶低级通信方式 PV操作 :P--wait(S)原语 ,申请S资源 ; V--signal(S)原语,释放S资源

▶高级通信方式:以较高效率传输大量数据的通信方式

--共享存储:使用同步互斥工具操作共享空间

--消息传递:进程间以格式化的消息进行数据交换,有中间实体,分为直接和间接两种,底层通过发送消息和                        接收消息两个原语实现

--管道通信:两个进程中间存在一个特殊的管道文件,进程的输入输出都通过管道,半双工通信。

8、管程是什么?

它是由一组数据及对这组数据操作的定义组成的模块(类似数据结构?)同一时间只能有一个进程使用管程。管程是互斥使用的,进程释放管程后,需要唤醒申请管程资源的等待队列上的进程。进程只有通过进入管程并使用管程内部的操作才能访问其中数据。

 9、进程的五种状态是什么?

创建、就绪、阻塞、执行、终止

 

10、线程间的同步与通信类型有哪些?

▶互斥锁

▶条件变量

▶信号量机制

11、线程的实现方式有哪几种?

▶内核支持线程(核内切换快、开销小、模式间切换慢)

▶用户级线程(节省模式间切换的开销)

▶混合

 12、产生死锁的原因有哪些?

▶对互斥资源的分配不当

▶进程推进的顺序不当

13、解决死锁的办法有哪些?

▶死锁避免:破坏死锁产生的必要条件

▶避免死锁

▶检测死锁

▶解除死锁

 14、死锁的产生和避免?

死锁的四个必要条件:

▶互斥条件:资源不能被共享,只能由一个进程使用

▶请求和保持条件:已经得到资源的进程可以再次申请新的资源

▶非剥夺条件:已经分配的资源不能被强制剥夺

▶循环等待条件:系统中多个进程组成环路, 互相等待相邻资源正占用的资源

死锁避免是在系统运行过程中避免死锁的发生。这就要求每当申请一个资源时,系统都会根据一定的算法判断   是否认可这次申请,使得今后一段时间内不会发生死锁。比如银行家算法。

15、死锁与饥饿的区别?

▶都是资源分配问题

▶死锁是等待永远不会释放的资源,而饥饿申请的资源会被释放,只是永远不会分配给自己

▶一旦产生死锁,则陷入死锁的进程一定是多个,陷入互相等待,而饥饿可以只有一个

16、文件控制块包含的内容?

文件指针(上次读写的位置)、文件打开数、文件磁盘位置、文件的访问权限。

17、页面置换算法有?

最近最久未使用、先进先出、最佳置换、时钟,改进时钟

18、批处理作业调度算法有?

先来先服务、最短作业优先、最高响应比优先、多级队列调度

19、进程调度算法?

先进先出、最高优先级、时间片轮转、多级队列反馈

20、磁盘调度算法?

先来先服务、最短寻道时间优先、扫描(电梯算法)、循环扫描算法

21、什么是中断?

中断的目的是为了支持cpu与设备之间的并行操作,指与当前执行的指令无关的事件(外中断)

异常的目的是表示cpu执行指令本身时出现的问题,与当前执行的指令有关的时间(内中断)

 

22、中断和系统调用的区别?

▶中断是由外设产生,无意的被动的,

▶系统调用是由应用程序请求操作系统提供服务产生,有意的,主动的

▶中断的过程:中断请求--中断响应--断点保护--执行中断服务程序--断电恢复--中断返回

▶系统调用过程:应用程序在用户态执行时请求系统调用,中断是从用户态进入内核态,在内核态执行响应的内核代码

简述操作系统中系统调用过程

系统调用提供了用户程序和操作系统之间的接口,应用程序通过系统调用实现其余 OS 的通信,并取得它

的服务。系统调用不仅可供所有的应用程序使用,而且也可供 OS 本身的其它部分,如命令处理程序。

系统调用的处理步骤(三步):

①首先,将处理机状态由用户态转为系统态;然后由硬件和内核程序进行系统调用的一般性处理,即首先保

护被中断进程的 CPU 环境,将处理机状态字 PSW、程序计数器 PC、系统调用号、用户栈指针以及通用寄

存器内容等压入堆栈;再然后将用户定义的参数传送到指定的地址保存起来。

②其次,分析系统调用类型,转入相应的系统调用处理子程序。(通过查找系统调用入口表,找到相应处理子

程序的入口地址转而去执行它。)

③最后,在系统调用处理子程序执行完后,应恢复被中断的货设置新进程的 CPU 现场,然后返回被中断进程

或新进程,继续往下执行

 

23、软中断和硬中断分别是什么?两者的区别是?

▶软中断是指编程异常,程序运行时其他程序对它的中断;由执行中断指令产生,无外部施加中断请求信息,不是随机而是由程序安排好的;不可屏蔽;无需使用中断控制器。

▶硬中断是硬件实现的中断,是程序运行时设备对它的中断。外部事件引起,具有随机性和突发性;可屏蔽;中断号是由中断控制器提供的;

24TLB是什么?转译后备缓冲器/页表缓存

Translation Lookaside Buffer

作用是在处理器访问内存数据的时候做地址转换,是一个具有并行查询能力的特殊高速缓存寄存器,里面存放了一些记录虚拟地址和物理地址映射关系的文件。当应用程序访问一个虚拟地址时,会从TLB中查询出对应的物理地址,然后访问物理地址。

25、程序转入的方式有哪些?

▶绝对装入:在编译时就知道程序要驻留在内存的物理地址,编译程序产生含有物理地址的目标代码,不适合多道程序设计

▶可重定位装入:根据内存当前情况,将装入模块装入到内存的适当位置,地址变换通常在装入时一次完成,之后不再改变,也称为静态重定位。

▶动态运行装入:允许程序在运行时在内存中移动位置,把装入模块转入到内存后的所有的地址都是相对地址,在程序执行过程中每当访问到相应指令或数据时,才将要访问的程序和数据的相对地址转换为物理地址。依靠硬件地址变换机构。

26、程序的链接方式有哪些?

▶静态链接:在程序运行之前,先把各个目标模块及所需库链接为一个完整的可执行程序,以后不拆开。

▶转入时动态链接:将应用程序编译后所得到的一组目标模块在装入内存时采用边装入边链接的链接方式。

▶运行时动态链接:知道程序运行过程中需要的一个模块,才对这些模块进行链接。

27、交换技术、覆盖技术、以及两者的区别?

▶覆盖技术:把一个大的程序划分为一系列覆盖,每个覆盖是一个相对独立的程序单位,把程序执行时并不要求同时装入内存的覆盖组成一组,成为覆盖段,这个覆盖段分配到同一个存储区域,这个存储区域成为一个覆盖区,它与覆盖段一一对应。覆盖段的大小由覆盖段中的最大覆盖来确定。

 

▶交换技术:把暂时不用的某个程序及数据部分从内存移动到外存中去,以便腾出必要的内存空间;或者把指定的程序和数据从外存读到相应的内存中,并将控制权交给他,让其在系统上运行的一种内存扩充技术。处理器的中级调度是采用交换技术。

▶区别:与覆盖技术相比,交换技术不要求程序员给出程序段之间的覆盖结构;

交换技术主要在进程和作业之间进行,覆盖技术主要在同一个进程或作业中进行;

覆盖技术只能覆盖于覆盖程序段无关的程序段,交换进程由换出和换入两个过程完成;

28、拼接技术?

▶分区管理下,系统运行一段时间后,内存会出现相当一部分的碎片,拼接技术就是解决碎片问题的方法;

即将存储器中所有已分配分区移动到主存的一端,使本来分散的多个空闲区连成一个大的空闲区=将多分散的小分区拼接成一个大分区的方法

29、内部碎片和外部碎片

▶内部碎片:分配给作业存储空间中未被利用的部分。

▶外部碎片:系统中无法利用的小存储块,比如通过动态内存分配技术从空闲内存区上分配内存后剩下的那部分内存块。

 

 

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

操作系统最全面试题汇总 的相关文章

随机推荐

  • JDK 各版本汇总表

    提示 写完文章后 目录可以自动生成 如何生成可参考右边的帮助文档 文章目录 一 JDK各版本 时间表 二 JDK各版本 新特性 JDK4 JDK5 JDK6 JDK7 JDK8 JDK9 JDK10 JDK11 JDK12 JDK13 JD
  • Android 蓝牙打印机Service Intent must be explicit

    安卓htc m8手机 链接蓝牙热敏打印机 佳博gp5890xIII 提示 Service Intent must be explicit 根据打印机官方提供的demo 修改为 private void connection conn new
  • 【基础知识】智能指针shared_ptr、weak_ptr、unique_ptr

    目录 一 shared ptr 共享智能指针 1 初始化 1 use count 成员函数 2 构造函数初始化 3 拷贝构造和移动构造函数初始化 4 std make shared 初始化 5 reset方法初始化 2 获取原始指针 二 w
  • 2019/5/13 基于模型的强化学习方法

    注 论文写作四项工作 工作一 查阅100篇 挑选30篇 核心参考3 5篇 看懂 一篇 工作二 提出难点问题 提出新概念 例 多光谱 注意力机制 工作三 修改算法 网络结构 损失函数 步数 工作四 写写写 改改改 图片精修 丰富实验 首句中心
  • ARM64撬开逆向大门

    图片
  • QML和QWidget混合开发(初探)

    为什么要搞混合开发 Qml已经越来越成为Qt开发的主流 相比与QWidget的界面开发更快 也更容易上手 实现效果上也更好 但老旧项目都是QWidget的框架 大家不可能一次性的把QWidget项目界面全部换成qml 这时候我们可以将新开发
  • python条件运算符_Python中的条件运算符

    python条件运算符 如果条件运算符 if else conditional operator Just like other programming languages Python also provides the feature
  • Spring全家桶

    Spring Spring的架构体系 spring是一个基于java语言写的一个轻量级的一站式解决方案框架 它的最底层是核心容器 在核心容器上面提供了AOP这些中间层技术 然后再往上就可以去集成别人的技术 比如像Dao层的MyBatis J
  • 银河麒麟V10 wireshark安装说明(断网离线)

    下载离线安装包 链接 https pan baidu com s 11QFRmCGlIJrJaiKcHh9Hag pwd u9wv 提取码 u9wv 安装步骤 tar zxvf wireshark tar gz cd wireshark s
  • python连接wss走自己的代理

    我开了一个vpn 然后用py写wss连接 怎么才能让他这个连接走我系统代理呢 vpn 开9090端口 set https proxy socks5 127 0 0 1 9090 set http proxy socks5 127 0 0 1
  • 类的六大默认构造函数

    缺省的构造函数和析构函数 等于放弃了自己初始化和清除的机会 缺省的拷贝构造和缺省的赋值函数 采用 位拷贝和值拷贝 若类中出现指针时 这两个函数出错 class String public String const char str NULL
  • 整理Rapid object detection using a boosted cascade of simple features论文中的要点

    整理Rapid object detection using a boosted cascade of simple features论文中的要点 使用haar特征 在24 24像素的框内有180000以上不同的haar特征 怎么算的 终于
  • openwrt路由器-timeout while waiting for PADS.

    最近使用openwrt路由器进行PPPoE拨号的时候 经常出现 远程服务器无响应 的错误 log打印日志如下 pppoe Timeout waiting for PADS packets Unable to complete PPPoE D
  • c语言错误不允许使用不完整的类型,C语言中的void和void*的定义及用法

    void void最常见的用法 就是在函数中限定函数的参数和返回值的 void draw void 表明函数draw没有参数也没有返回值 void在别的的地方的应用我也没见过 实际上 如果把void 和int char double等类型放
  • 「猜题第一篇」2019年大学生电子设计竞赛

    点击上方 大鱼机器人 选择 置顶 星标公众号 福利干货 第一时间送达 昨天出了清单之后 第一时间我是懵逼的 脑子里想的是 这都是啥啊 后面仔细的理了一下 关于三脚架和小车的用处 极大概率三脚架会是和无人机使用 但也不排除 和小车一起使用然后
  • MYSQL8-快速生成表结构(用于生成文档)

    MYSQL8 快速生成表结构 用于生成文档 SELECT rownum rownum 1 AS 序号 column name AS 代码 CASE WHEN column comment IS NULL OR TRIM column com
  • C语言技巧 ----------调试----------程序员必备技能

    作者前言 作者介绍 作者id 老秦包你会 简单介绍 喜欢学习C语言和python等编程语言 是一位爱分享的博主 有兴趣的小可爱可以来互讨 个人主页 小小页面 gitee页面 秦大大
  • 解决端口被占用问题,安装MySQL出现端口被占用

    1 快捷键 Win R 打开命令提示符 输出命令 netstat ano 目的 查看占用3306端口的 PID 值 上图可以看出 占用3306 窗口的 PID值为 13620 2 打开任务管理器 点击 详细信息 选中该程序 鼠标右键 点击
  • 密度聚类DBSCAN、主成分分析PCA算法讲解及实战(附源码)

    需要源码请点赞关注收藏后评论区留言私信 一 基于密度的聚类 基于密度的聚类算法的主要思想是 只要邻近区域的密度 对象或数据点的数目 超过某个阀值 就把它加到与之相近的聚类中 也就是说 对给定类中的每个数据点 在一个给定范围的区域中必须至少包
  • 操作系统最全面试题汇总

    1 操作系统的特点 共享 资源可被多个并发执行的进程使用 并发 可以在同一时间间隔处理多个进程 需要硬件支持 异步 进程走走停停 每次执行的速度不一样 但是要保证进程每次执行结果相同 虚拟 将物理实体映射成为多个虚拟设备 操作系统的组成 驱