操作系统的面试问题与回答

在这里,您将得到60个常见的操作系统面试问题和答案的列表。这些操作系统问题对新生和经验丰富都有帮助。
1。什么是操作系统?
操作系统可以定义为用户程序和硬件之间的接口。
2。操作系统的主要目的是什么?
OS的主要目的是管理硬件和软件资源,并为我们的程序提供公共服务。它提供了一个合适的平台来执行我们的程序(作业)。
三。什么是不同类型的操作系统?
一般有两种类型的操作系统:
批量操作系统。
多道编程操作系统
现在,这种多程序操作系统可以大致分类为:
多任务操作系统
多处理操作系统
实时操作系统
4。操作系统的不同组件是什么?
操作系统的主要组成部分有:
内核
过程管理
文件系统
内存管理
输入输出管理
因此,操作系统不是单独的组件,但它具有上述的子组件,这使得我们的工作更容易。
5。操作系统的目标是什么?
基本上有两个操作系统的目标,那就是:
主要:方便
次级:效率
6。解释不同类型的操作系统?
批量操作系统:
在这种操作系统中,所有作业都同时提交给计算机,并且按照提交的顺序执行,没有任何抢占(意味着在完成作业之前不能提取作业)。
多道编程操作系统
它是Batch OS的扩展,其中几个作业将同时位于主内存中,并按一定顺序执行一段指定的时间。
现在我们将研究它的子类型:
多任务操作系统:
在这种类型的操作系统中,在单个处理器机器上同时执行多个任务。事实上,在进程(作业)之间以非常快的速度切换CPU,这似乎与最终用户并行进行。
多处理操作系统:
操作系统在多处理器机器上同时执行多个进程的能力。在这一点上,计算机一次使用多个CPU。
实时操作系统:
在这样的操作系统中,每个作业分配一个指定的时间。它在军事、卫星等关键应用中非常有用。

7。内核是什么?
内核是操作系统的核心部分,负责管理软件(用户级应用程序)和硬件(CPU、磁盘存储器等)之间的通信。内核的主要任务是:
过程管理
设备管理
内存管理
中断处理
输入输出通信
文件系统等。
8。内核有什么不同的类型?
我们有三种重要类型的内核:
整体内核:
它可以看作是一个完整内核,它是完整的内核,运行所有的服务。
实例:UNIX
微内核:
它是具有有限服务的内核,其中一些重要的服务正在运行。
QNX实时操作系统
混合内核:
它结合了单片和微内核两个方面。
微软NT内核
9。用户空间和内核空间是什么?
这些是记忆的两个重要区域。
用户空间:它是正常用户进程运行的内存区域(即除内核之外的所有事物)。
内核空间:它是内存的一个区域,其中内核的代码驻留并执行。它被认为是系统调用调用的内存的特权部分。它也被称为系统空间。
10。什么是过程?
运行程序称为进程,或者是正在执行的程序的活动实例。
进程是由操作系统创建的用于执行程序的实体。
在Linux,我们可以使用“PS”命令来查看运行过程。
示例:Windows操作系统中的任何.exe都是一个进程,如SkyPE.exe等。
11。什么是不同类型的过程?
有两种类型的过程,即i)用户空间过程和II)内核空间过程。
12。程序和过程有什么区别?
程序是执行指定任务的一组指令,而过程是接受给定指令并按照代码执行任务的操作,称为“指令执行”。
因此,程序是驻留在辅助存储器中的被动实体,进程是驻留在主存储器中的活动实体。
13。解释一个过程的不同状态?
一个过程可以在其生命周期中经历以下状态:
新的:
这是创建或刚刚启动进程的第一个状态。它位于辅助内存中。
准备好:
此状态表示进程已准备好分配给已准备好执行的处理器。
运行:
该状态表示进程已被赋予处理器并执行其指令。
等待:
此状态表示进程正在等待某种资源或事件,无论是用户输入还是等待任何文件变得可用。
结束:
该过程可以正常或异常终止。
正常终止意味着进程已经完成其完整执行,而异常意味着进程已经终止而不完成其任务。
注意:任何进程必须至少四个状态(新->就绪>运行->终止)。
14。这是第一个由OS创建的过程?
init进程是由OS创建的第一个进程。它为以后创建的其他进程提供了环境。
15。过程是如何识别的?
任何过程都可以用一个称为过程ID(PID)的ID来标识。
16。叉子是什么?
Foice是一个系统调用,负责创建当前进程的副本。当前进程称为父进程,创建进程称为子进程。
在成功时,它将父进程的PID返回到父进程,0返回到子进程。
17。什么是系统调用?
这就像任何一个用户级程序请求内核提供的服务一样。
它充当进程和操作系统之间的接口。
18。什么是程序计数器?
它是指向编译器要执行的下一个指令的指针。
19。过程的不同属性是什么?
过程的一些重要属性是:
进程ID(PID)
父进程ID(PPID)
进程状态
调度参数
程序计数器和不同寄存器。
这也被称为过程的上下文。

20。什么是过程控制块(PCB)?
它就像一个数据结构,它保存一个进程的所有信息(属性)。
21。一个过程的不同部分是什么?
如下所述的过程有四个重要部分:
堆栈:包含局部变量,返回地址
堆:通过Maloc、CaloC、ReLooc动态分配内存
数据:包含全局变量和静态变量
代码或文本:包含代码、程序计数器和处理器寄存器的内容。
注:
堆栈和堆部分是可扩展的,堆栈可以向下生长,堆可以长大。
它与上面提到的顺序相同。
22。什么是语境转换?
它将处理器从一个进程/线程切换到另一个进程/线程。它也被称为任务开关或过程开关。
23。什么是iNoDE?
iNoDE是一种数据结构,它保存文件的所有属性。也称为指数。
文件的一些属性是:
文件类型
许可
文件大小
上次修改的时间
注意:在阅读线程概念时,请尝试将所有这些与进程相关联,线程将具有自己的属性,如进程的id(tid)、调度参数/策略等属性,以及上下文切换、不同区段等概念。与过程有关的PT。
24。什么是线程?
线程是进程内执行的并发单元。进程可以有多个线程,其中每个线程可以独立地执行不同的任务,从而提高进程的效率。进程总是有一个默认的线程称为主线程,它首先执行。
例子:
文字处理器,后台线程可以检查拼写和语法,而前景线程处理用户输入(击键)。
Web服务器——多个线程允许同时处理多个请求,而不必顺序处理请求。
25。说明线程的好处?
与线程相关的一些共同优点是:
响应性:
有线程的进程据说比没有线程的进程具有更高的响应性,因为即使一个线程被阻塞或等待一些资源,另一个线程仍然继续工作。
打火机:
在资源共享和运行时间开销方面,线程被认为比进程轻。进程的大部分资源由其所有线程共享,使其更轻。
吞吐量:
它提高了多线程应用程序、多处理器环境的吞吐量。
经济:
创建和管理线程比执行进程的相同任务要快得多(上下文切换更快)。
26。说明与线程相关的缺点?
Robustness:
它不像进程那么健壮,因为如果任何一个线程异常终止,它会导致整个进程终止。
因此,许多RTOS(实时操作系统)应用程序使用经过处理的线程。
复杂性增加
在同步开销方面,它比过程更复杂。
27。进程和线程之间有什么区别?
进程线程
进程用于重量级任务线程用于小任务(轻量级)
进程比线程响应更少,线程比进程响应更多。
进程比线程更健壮,线程不太健壮。
每个进程都有自己的地址空间。线程在一个进程内共享相同的地址空间(内存)。
进程具有较少的同步开销,因为它们都有单独的地址空间(内存),因为它们共享相同的地址空间,同步比进程更开销。
28。什么是不同类型的线程?
有两种类型的线程:
用户线程:Java线程
内核级线程:POSIX线程。
29。什么是调度器?
它是负责调度的内核的一个组成部分,它决定何时运行哪个进程。
30。什么是不同类型的调度器?
调度程序有三种类型:
长期调度程序:
它也被称为作业调度器,负责从队列(作业池/辅助存储器)中选择进程,并将它们加载到主存执行。
短期调度程序:
它也被称为CPU调度器,负责在准备执行的进程中选择进程,并将CPU分配给其中一个进程。
这仅仅是一个过程状态从准备状态到运行状态的变化。它也被称为调度员。
中期调度程序:
它也被称为交换程序,负责将进程从主内存切换到辅助内存,以防某些高优先级进程需要执行的机会。
它减少了多程序设计的程度(主存储器中的许多进程)。
31。什么是抢占式和非抢占式调度算法?
一个调度算法是抢占式的,一旦一个进程被给定,CPU就可以拿走。允许逻辑上可运行的进程被临时挂起的策略称为抢占式调度,并且允许进程一直运行到完成称为非抢占式调度。
32。什么是不同类型的调度算法?
有四种不同类型的调度器:
先到先服务(FCFS):先到先服务
循环罗宾(RR):每个过程都给出了大量的时间。
最短作业优先(SJF):具有最低执行时间的进程优先考虑
优先级调度(PS):用于选择过程的优先级值(尼斯值)。其取值为0~99。0是最大值,99是最小值。
33。调度器的性能指标有什么不同?
调度器有五种性能度量,如下:
CPU利用率:
CPU正在进行有用工作的时间百分比(即不空闲)。100%是完美的。
等待时间:
一个过程花费的时间。
吞吐量:
完成的进程数/时间单位。
响应时间:
从提交过程直到获得有用输出的平均时间。
周转时间:
从进程提交到完成时的平均时间。
34。守护进程是什么?
后台进程是在后台运行的,不像其他的前台进程那样在没有用户干预的情况下运行。它以“D”结尾。
示例:crond是Linux操作系统中的守护进程,它负责调度事件,比如每隔1小时向服务器发送数据包统计信息,可以在crond守护进程的帮助下完成。
35。Linux中有哪些不同类型的进程?
Linux中有三种不同类型的进程,即:
交互前景
批处理
后台后台
36。僵局是什么?
死锁是指共享相同资源的两个或多个进程或线程有效地阻止彼此访问资源的情况。简单来说,一个进程/线程所需的资源正被其他进程使用,等等,因此没有一个进程可以继续执行导致死锁。
37。僵局发生的条件是什么?
死锁有以下四个条件
互斥:至少一个资源被保存在一个非共享模式中,即一次只有一个进程可以使用该资源。如果另一个进程请求该资源,请求进程必须等待它被释放。
等待:必须存在一个进程,该进程至少持有一个资源,并且正在等待获取其他进程当前持有的额外资源。
不抢占:资源不能被抢占;也就是说,资源只能在进程完成任务后释放。
循环等待:必须存在一组等待进程{p0,p1,.....pn},使得p0正在等待由p1持有的资源,p1正在等待由p2持有的资源,...,pn-1正在等待由pn持有的资源,pn正在等待由p0持有的资源。
注意:上述四个条件都必须满足死锁的发生。
38。什么是竞赛条件?
竞争条件是不希望出现的情况,其中两个或更多线程/进程试图访问并更改它们共享的数据的值,并且操作的结果取决于执行的顺序。
因此,当两个线程竞相改变/访问共享数据时,它会导致数据不一致和其值的丢失。
例子:
假设x=5;
线程1
x=x+1;
写X;
线程2
x=x+10;
写X;
假设在第一次写入之前,第一个线程被挂起,而控制到达第二个线程,因此它将x的值增加10,并将现在x的值写入15。
在这种情况下,我们可以看到x的值取决于线程执行的顺序,并且x的第一个值丢失了,即x=x+1=5+1=6。因此,由于竞争条件,X值之间存在明显的不一致性。这里X是两个线程之间的共享变量,两个线程都竞相访问/更新其值。为了避免这种不一致,我们需要一个适当的同步机制,如信号量、互斥(稍后讨论)。
39。Zombie进程是什么?
僵尸进程也称为失效进程(defunct process),它已经完成执行,处于终止状态,但仍在进程表中具有条目。它用“Z”表示。它表明,进程所保留的资源在终止时不会被释放。
这是危险的,因为在一个时间点系统可能内存不足。
40。同步是什么?
顾名思义,这意味着在资源方面运行过程之间的适当协调。它意味着通过进程共享系统资源,以便处理对共享数据的并发访问,从而最小化在竞争条件下出现不一致数据的机会。
41。同步机制有哪些不同?
一些常见的同步机制是:
旗语
互斥
42。信号量是什么?
信号量是一种最简单的同步机制,用于控制并发系统(如多道程序设计操作系统)中的多个进程对公共资源的访问。
它是一个变量,其值范围在0到n之间,其中n=最大资源- 1;

43。信号灯有什么不同的类型?
信号量有两种类型,即:
二进制信号量:
信号量可以只有0或1的两个值。它也被称为布尔信号量控制/保护一个资源。
计数信号量:
旗语,其值可以在0到n的范围内,其中n=max - 1;其中max只是最大的资源。
当信号量保护的资源数大于1时,它被称为计数信号量。
44。信号量同步是如何实现的,或者信号量变量执行的操作有什么不同?
有两个操作是在信号量上帮助同步的,这些操作是:
等待:
如果信号量值不是负值,则将该值减去1。
信号:
将信号量的值递增1。
例如:
假设信号量变量的值初始化为1,如果一个进程尝试使用共享变量,则它将值减1,并访问它。同时,如果其他进程试图访问它,则它找到信号量变量0,因此必须等待到第一个进程完成其任务并将值增加回到1。
因此,通过上面的解释,我们可以看到有一个适当的同步(控制一个进程形成另一个进程)避免了任何竞争条件。
45。互斥是什么?
互斥锁是一种只允许一个进程一次访问资源的锁定机制。
它代表相互排斥,并确保只有一个进程可以一次进入关键部分。
46。代码的关键部分是什么?
顾名思义,是代码中具有变量或由两个进程共享的其他资源的部分或部分,如果允许访问,可能会导致竞争条件。为了避免这一点,我们需要一个互斥体,确保只有一个进程可以一次进入代码的关键部分。
47。区分信号量和互斥体?
下面说明互斥和信号量之间的一些重要区别。
信号量互斥
它是一个同步机构,它是一个锁定机构。
信号量控制对共享资源池的访问。它提供对Wait()的操作,直到池中的一个资源可用,当.()返回池时,Mutex控制对单个共享资源的访问。
另一个过程也可以释放他人持有的锁,获得锁的过程只能释放锁。
48。虚拟内存是什么意思?
虚拟内存是操作系统使用的一种内存管理方案,它允许系统补偿物理内存的短缺。
使用RAM中的活动内存和硬盘驱动器(HDD)中的非活动内存来增加虚拟地址空间,以形成包含应用程序及其数据的连续地址。
49。你的逻辑地址和物理地址是什么意思?
逻辑地址:
它可以被定义为由CPU生成的地址,稍后这些地址在称为分页的机制的帮助下被映射到物理地址(稍后讨论)。
物理地址:
它只不过是属于我们的程序驻留执行的主内存的实际地址。
50。什么是寻呼?
从虚拟地址到物理地址的映射由作为硬件设备的内存管理单元(MMU)完成,这种映射被称为分页技术。
它确保空间的物理地址是不连续的。在此,虚拟存储器被划分成固定大小的页,物理存储器被划分成大小相等的称为页帧。

51。每一页的大小是多少?
页面大小为4K。
52。什么是需求分页?
它非常类似于具有交换的分页系统,其中只有按需将页加载到主存储器中,直到该进程驻留在辅助存储器中。
对于要执行的任何进程,其页被加载到主存储器中,因此整个页不会被加载到主存储器中,而是仅根据需要而不是预先加载页。这被称为需求分页。
例子:
我们有一个负责数据库功能(如插入、查询、删除)的进程,因此应该理解,这个过程被划分为多个页面,每个函数有一个页面,在某些时间点,它需要执行查询,因此没有必要加载整个进程(页面)r只与查询功能相关的页面。
53。什么是页面错误?
顾名思义,我们正在寻找主页中的某个页面,但没有找到,它被称为页面错误或其他页面命中。
54。什么是页面替换算法及其名称?
如上所述,我们已经看到可能存在页面错误的情况,在这种情况下,我们需要将页面从辅助存储器带到主存储器,但是如果主存储器中没有新页面的余地,则必须用新的页面从辅助存储器中替换主存储器中的某些页面。这被称为页面替换,其中最常用的算法是最近最少使用的(LRU),它取代了最长时间未使用的页面。
55。什么是缓存?
高速缓冲存储器是CPU中的高速存储器,用于更快地访问数据。它为处理器提供最频繁请求的数据。
56。TLB是什么?
它是一个硬件缓存,负责加速逻辑地址到物理地址之间的转换,这是逻辑地址和物理地址之间的映射。
它包含最近使用的页表条目,因此在查看主内存页之前,如果未找到主页查找,则对TLB进行搜索。
57。什么是碎片化及其状态?
正如我们在上面看到的,频繁地从内存中翻出页面,主内存中的空闲空间被分成小块。有时,由于内存块很小,所以无法将进程分配给内存块,并且内存块仍然未使用,这种情况就会发生。这个问题叫做碎片化。
有两种类型的碎片:
内部碎片化:
分配给进程的内存块较大。内存的某些部分未被使用,因为它不能被另一个进程使用。
外部碎片化:
总内存空间足以满足请求或驻留在其中的进程,但它们不是连续的,因此不能使用。
58。什么是IPC和一些国家?
IPC是指进程间通信——进程间通信,进程间通信,进程间通信,进程间通信,进程间同步,允许程序员协调在操作系统中并发运行的不同程序进程之间的活动。
一些常见的IPC机制是:
消息队列:
在用于在进程之间交换消息和其他重要信息的进程之间维护的消息队列。
共享内存:
在这个内存(页面)在用户空间中的进程之间共享,一个进程可以写入它,其他进程可以读取。
Pipe:
管道是一种将信息从一个程序进程传递到另一个进程的技术。基本上,管道将一个过程的参数(例如一个进程的输出)传递给另一个进程,该进程接受它作为输入。
例子:
PS-EF- GRIP“Skype”
在管道的帮助下,将“ps–ef”的输出作为“grep”命令的输入,在Linux中使用“ps”来获取系统上的运行进程,并使用“grep”进行搜索。
信号:
信号属于IPC机制,用于通知——通知可以是进程到进程——通知可以是系统到进程。
杀戮是一个进程可以将信号发送给另一个进程的命令。
语法:杀死<信号AlpNe> > PrimeStId>
例子:
1)杀死SIGITT 1234
2)杀死西格罗1234
每个信号都有自己的数字。
信号名称信号号描述
如果用户发送中断信号(CTRL+C)发布SIGITEN 2
如果用户发送退出信号(CTRL+D),则发布SIGRUT 3
59。说明信号的目的?
信号有两个重要目的:
使过程意识到特定事件已经发生
强制进程执行包含在用户代码中的信号处理程序(定制/用户)功能。
60。什么是中断?
中断是到处理器的信号,可以由硬件或软件生成,指示需要立即注意的事件。中断指示处理器到要求当前任务中断的高优先级条件。
61。饥饿和衰老是什么?
饥饿:
饥饿是一个资源管理问题,其中进程被拒绝资源或服务很长一段时间,或者被多次拒绝服务。
老化:
这是一种解决饥饿的方法,它涉及逐渐增加系统中长时间等待的进程的优先级。
随着时间的流逝,老化因素必须增加请求优先级,并且必须确保请求最终是最高优先级请求(在等待足够长时间之后)并有机会执行。
注意:与死锁不一样。
如果您有任何与上述操作系统面试问题有关的疑问,请在下面评论。

上一篇: Linux的面试问题与回答
下一篇: 进程与线程的区别