您的位置  > 互联网

(面试)操作系统重点面试概念题

本文是博主本人整理收集的操作系统面试关键概念题清单。 它当然不能涵盖所有问题。 大家需要根据问题进行发散性思考,查找漏洞。 如果对你有帮助的话希望你会喜欢~

1.什么是操作系统? 其主要特点是什么?

回答:

操作系统是指控制和管理整个计算机系统的软硬件资源的最基本的系统软件。

并发:指在同一时间段内发生两个或多个事件; (并行是同时执行多个事件,并发是在同一时间段执行多个事件。)

可共享性:系统中的资源可以被内存中多个并发执行的进程使用;

虚拟性:将一个物理实体变成多个逻辑实体;

异步性:进程的执行不是一次性发生的,而是以不可预测的速度前进。

2.操作系统的功能。

回答:

①管理计算机资源,包括处理器管理、内存管理、文件管理、设备管理;

②作为用户与计算机硬件系统之间的接口,提供命令接口和程序接口;

③逻辑可以转变为功能更强、使用更方便的机器,因此操作系统可以作为扩展机器。

3.CPU有哪两种状态?

回答:

内核态(管理态):运行内核程序,可以执行特权指令

用户模式(眼睛模式):运行应用程序,不能执行特权指令

用户程序主动请求从用户态转变为内核态,可以执行访问指令,即捕获指令。 从用户态到核心态的唯一途径是异常或中断。 访问管理指令也会产生中断事件并自动进入核心状态。 该中断称为访问管理中断。

*4. 简要描述操作系统的层次结构。

回答:

操作系统在不同级别设置了各种功能。 一些与硬件密切相关的功能,如时钟管理、中断模块、设备驱动等放在底层; 运行比较频繁的程序,如进程管理、内存管理、设备管理等放在上层。 这两部分共同构成了操作系统的内核,并且这部分只允许工作在CPU核心状态。

*5. 什么是关键部分,什么是关键资源?

回答:

关键资源:一段时间内只允许一个进程访问的资源为关键资源;

临界区:程序中访问临界资源的部分称为临界区。

*6. 简要描述进程和程序之间的区别。

回答:

进程和程序既相关又不同。

主要区别:

(1)程序是指令的有序集合,本身没有任何运行意义。 这是一个静态的概念。 进程是程序在处理器上的执行过程,是一个动态的概念。

(2)程序的存在是永久的,而进程是存活的。 因创建而创建,因调度而执行,因资源不足而挂起,因取消而消亡。

(3) 程序只是指令的有序集合。 进程由程序、数据和进程控制块组成。

(4)进程和程序之间不存在一一对应的关系。 一个进程可以执行多个程序。

7.什么是线程,进程和线程的区别?

回答:

线程是一个轻量级的进程,是CPU的基本执行单元,是系统独立调度和分配的基本单元。 然而,线程本身并不拥有系统资源。 它与属于同一进程的其他线程共享该进程拥有的所有资源。 系统资源。

进程是系统资源分配的基本单位,也是线程独立调度的基本单位。

8. 什么是多线程,多线程和多任务有什么区别?

回答:

多线程:一个程序中可以定义多个线程并同时运行。 每个线程可以执行不同的任务。

区别:多任务是针对操作系统而言的,代表操作系统可以同时执行的程序数量; 多线程是针对程序来说的,代表一个程序可以同时执行的线程数量,每个线程可以完成不同的任务。 任务。

9. 调度有哪三个级别?

回答:

①作业调度,也叫高级调度,主要是将村外的任务按照一定的原则调入内存。

②中间调度,也称为内存调度,将暂时无法运行的进程转移到其他村等待(此时的进程称为挂起状态)

③进程调度也称低级调度,按照一定的方法从就绪队列中选择一个进程,并为其分配处理器。

10.什么是死锁?

回答:

多个进程竞争资源并造成死锁(互相等待)。 如果没有操作系统的干预,这些进程将无法继续进行。

11.死锁、饥饿和无限循环有什么区别?

回答:

死锁:多个进程争夺资源并造成死锁(互相等待)。 如果没有操作系统的干预,这些进程将无法继续进行。

饥饿:进程长时间无法获得它想要的资源

无限循环:进程执行过程中,无法打破循环。

12、发生死锁的必要条件是什么?

回答:

互斥条件:争夺系统资源必须是互斥的

非剥夺条件:进程获得的资源在用完之前不能被其他进程强行夺走。 只有进程本身才能释放资源。

请求和保持条件:进程已经维护了至少一个资源,但是提出了新的资源请求,并且新的资源已经被另一个进程占用。 此时进程已经被阻塞,但又不愿意放弃手中的资源。

循环等待条件:存在进程资源等待链。 链中的每个进程获得的资源由链中的下一个进程请求。

13. 如何避免或防止死锁?

A、预防死锁:破坏死锁产生的四个必要条件

①破坏互斥条件:允许资源共享和使用。例如,技术可以从逻辑上将独占设备变为共享设备。

②不可剥夺条件的销毁:当新资源的请求得不到满足时,必须释放手中的资源。

③销毁请求并保存条件:采用静态分配方式,进程在运行前一次性申请完所需的所有资源

④ 破坏循环等待条件:采用顺序分配方法对系统中的资源进行编号,规定每个进程必须按编号递增的顺序请求资源,并且可以一次性请求所有类似的资源

B、避免死锁:采用一定的算法,防止系统进入不安全状态(安全状态是指系统可以按照一定的进程推进顺序,将自己需要的资源分配给各个进程,直到达到各个进程所需资源的最大值)可以满足要求,以便每道工序都能顺利完成)

14.当发生死锁时,如何解除死锁?

① 资源剥夺法:挂起某些死锁进程,回收其资源,让其他进程继续前进

②取消进程方法:强制取消部分甚至全部死锁进程,并剥夺这些进程的资源

③进程回滚方法:让一个或多个进程回滚到足以避免死锁的一点

*15。 简要描述银行家算法。

回答:

主要思想是防止系统进入不安全状态。 每次分配资源时,它首先检查系统是否有足够的资源来满足要求。 如果是,它首先尝试分配,并在分配后对新状态执行安全检查。 如果新状态安全,则正式分配上述资源,否则拒绝上述资源的分配。 这样保证了系统始终处于安全状态,从而避免死锁的发生。

16.虚拟内存的主要特点是什么?简单描述一下

回答:

多次:作业不需要一次性调入内存,允许多次调入内存;

互换性:作业在运行过程中不需要常驻内存,可以根据需要换入换出;

虚拟性:逻辑上扩展内存容量。

17. 文件目录和目录文件有什么区别? 目前广泛使用的目录结构形式是什么? 有什么优点?

回答:

文件目录又称为文件控制块,存储文件的管理信息,控制对象是单个文件;

目录文件存储若干个文件目录,控制对象是整个文件系统;

目前广泛使用的树形目录结构的优点是允许文件重命名并实现文件分类。

18.什么是系统调用? 它与一般的过程调用有何不同?

回答:

系统调用是操作系统和应用程序之间的接口。 它是用户程序间接操作计算机资源的唯一途径。

一般过程调用工作在用户态,通过过程调用语句实现,可以不受限制地嵌套;

系统调用运行在核心状态,通过访问管理中断进入。 不允许嵌套调用。

19.什么是设备独立性? 如何实现设备独立性?

回答:

设备独立性是指用户编程时所使用的设备与实际设备无关。 一个程序应该独立于分配给它的某种类型设备的具体设备。 只需要在用户程序中指定I/O使用的设备类型即可。 就是这样。

实现方法是系统为每个用户进程配置一个映射表来联系逻辑设备名和物理设备名,以便使用逻辑设备名来请求物理设备。

20.什么是DMA方式? 与中断方式的主要区别是什么?

回答:

DMA方式是指存储器和外设只需在DMA控制器的控制下传输数据,无需CPU干预。

与中断方法的主要区别是:

1、中断方式需要在每个数据需要传输时才中断CPU,而DMA方式只有在需要传输的那批数据全部传输完毕后才中断CPU;

2、中断模式下,数据传输是在中断处理时在CPU的控制下完成的,而DMA模式下,数据传输是在DMA控制器的控制下完成的。

21. 页错误中断和普通中断有什么区别?

回答:

页错误中断的处理过程与一般中断类似。

主要区别:

1. 指令执行期间产生并处理中断信号。

2. 一条指令在执行过程中可能会产生多个页错误中断。

22. 尝试比较一下分页和分段有什么区别?

回答:

1、页是信息的物理单位。 分页就是实现非连续分配,解决内存碎片问题。 换句话说,分页的目的是为了满足系统管理的需要。 段是信息的逻辑单元。 分段的目的是为了更好地实现地址共享,满足用户的需求。

2、页大小固定,逻辑地址划分为页号和页内地址是由机器硬件实现的。 该段的长度确实不是固定的,取决于用户编写的程序。

3、分页地址空间是一维的,分段地址空间是二维的。

23. 在交互系统中,非剥夺是一个好的策略吗? 为什么?

回答:

在分时系统中,不剥离并不是一个好的策略。 因为在分时系统中,除了交互性之外,及时性是一个非常重要的性能因素。 当一个作业被阻塞时,CPU完全空闲,其他用户的时效性无法得到保证,但是这个时间可以分配给其他作业来运行。 以提高整体吞吐量。

24.描述进程间同步和互斥的区别。

回答:

互斥:指一种资源只允许一个访问者同时访问,具有唯一性、排他性。但互斥不能限制访问者访问资源的顺序,即访问是无序的。

同步:指访问者在互斥的基础上(大多数情况下)通过其他机制有序地访问资源。 大多数情况下,同步已经实现了互斥,特别是当所有对资源的写入都必须是互斥的时候。 在极少数情况下,可以允许多个访问者同时访问资源。

同步:体现了一种协作。 互斥:体现排他性。

25.解释试管过程

回答:

监视器由一组局部变量、一组对局部变量进行操作的过程以及一系列初始化局部变量的语句组成。

引入它的原因是P/V操作过于分散,导致其维护麻烦且容易出现死锁。

管式工艺的特点是:

1、监视器的进程只能访问监视器的局部变量,监视器的局部变量也只能被其进程访问;

2、任一时刻只有一个进程可以进入执行;

3、进程只能通过监视器提供的进程入口进入监视器。

26. 可变分区管理需要什么硬件机制?

回答:

使用可变分区管理时,一般采用动态重定位来加载作业;

地址转换依赖于硬件支持,主要是两个寄存器:基址寄存器和限制长度寄存器。 这两个值决定了一个分区的位置和大小;

有限长度寄存器存储作业占用的分区的长度;

基地址寄存器存储作业占用的分区的起始地址;

转换地址时:将逻辑地址与长度限制值进行比较。 如果不超过这个值,则说明访问地址是合法的。 将基址寄存器中的值相加即可得到绝对地址。 否则,将发生“地址越界”中断。

27. 父子进程可以同时运行吗?

回答:

是的,父进程创建子进程后,子进程也成为一个可以独立运行的单元。 虽然子进程继承了父进程的所有资源,但只要两个进程创建的程序和数据不发生冲突,它们就可以并发运行。 。

28. 缓冲的定义是什么? 为什么要引入缓冲技术?

回答:

缓冲是一种以空间换取时间的资源交换技术。 一般使用内存作为缓冲区。

为什么要介绍:

1.可以协调CPU和I/O设备之间的速度不匹配;

2.可以减少对CPU的中断频率;

3、提高设备利用率。

29.页面替换算法有哪些?

回答:

(1)最优替换算法(OPT):这是一种理想化的算法,是观察到的未来页面使用情况,因此这种算法在实际中并不存在。

(2)先进先出替换算法(FIFO):根据页面进入内存的顺序来确定页面从内存中转出的顺序。

(3)最近使用算法(LRU):调出最近很长时间没有访问过的页面。 需要增加开销,为每个页面设置访问字段来记录该页面被访问以来的时间。 呼出时,呼出录音时间最长的页面。

(4)时钟替换算法(CLOCK):设置页面的访问位和修改位,按照时钟顺序依次访问并按照规则修改标记。

30.I/O控制方式有哪些?

回答:

直接程序控制方式:计算机将数据从外部设备读取到存储器,一次一个字。 CPU一直在轮询、检查,长时间处于忙等待状态。

中断驱动方式:CPU和IO设备并行工作。 当IO完成后,控制器向CPU发送中断信号,CPU处理中断并读取数据。

DMA控制(直接内存访问方式):数据流在外设和内存之间直接传输,数据传输的单位是“块”。 CPU仅在数据传输的开始和结束时进行干预。

通道控制:通道是识别和执行通道指令的专用硬件。 只有在数据读写之后才会发送中断信号。 硬件并行度高。

31.程序的链接方式有哪些?

回答:

1、静态链接:在程序运行之前,每个目标模块和所需的库都被链接成一个完整的可执行程序,以后不会被反汇编。

2、加载时动态链接:将应用程序编译后得到的一组目标模块加载到内存中,同时进行链接。

3、运行时动态链接:只有当知道程序运行过程中需要某些模块时才链接这些模块。

32.加载程序有哪些方式?

回答:

1.绝对加载:程序在内存中驻留的物理地址在编译时就已知。 编译后的程序生成包含物理地址的目标代码,不适合多道程序设计。

2、可重定位加载:根据内存当前情况,将加载模块加载到内存中合适的位置。 地址转换通常在加载时完成一次,之后就不再改变。 也称为静态重定位。 当操作系统为程序分配一块连续的以某个地址作为起始地址的主存区域时,在重定位时将程序中的指令或操作数的逻辑地址与起始地址相加得到物理地址。

3、动态运行加载:允许程序在运行时移动内存中的位置。 将加载模块加载到内存后,所有地址都是相对地址。 程序执行过程中每当访问相应的指令或数据时,所需的被访问程序或数据的相对地址就被转换为物理地址。 动态重定位的实现依赖于硬件地址转换机制。

33.磁盘调度算法有哪些?

回答:

1. 先来先服务(FCFS):调度基于进程请求访问磁盘的顺序。

2. 最短寻道时间优先算法(SSTF):优先选择的磁道是距离当前磁头最近的磁道。 这样可以保证每次寻道时间最短,但不能保证总时间最短。 缺点是容易引起饥饿。

3、扫描算法(Scan):扫描时,到达一端就转身,然后再转动扫描到另一端。 由于该算法中头部运动的规律与电梯的运行颇为相似,因此也被称为电梯调度算法。

4、循环扫描算法(Cscan):只有当磁头朝某个方向移动时才会响应请求。 移动到磁头后,磁头会立即返回起始点,返回过程中不会响应任何请求。

34.什么是页表和快速表,它们的作用是什么?

回答:

页表指出了逻辑地址中的页号与占用的主存块号的对应关系。 功能:页存储管理在使用动态重定位的加载操作时,使用页表进行地址转换。

快速表是存储在高速缓冲存储器中的部分页表。 它的作用与页表相同。 由于页表用于地址转换,CPU在读写内存数据时必须访问主存两次。 有了快表,有时只需访问一次高速缓冲存储器,就可以访问一次主存,这样可以加快查找速度,提高指令执行速度。

最后祝各位朋友登陆成功~