你说的操作系统是什么意思?它的基本功能是什么?
操作系统 (OS) 基本上是一个软件程序,用于管理和处理计算机的所有资源,例如硬件和软件。第一个操作系统于 1950 年代初推出,称为 GMO。操作系统负责管理、处理和协调整体活动以及计算机资源的共享。它充当计算机和计算机硬件用户之间的中介。
操作系统的功能:操作系统的功能
很多。操作系统的一些重要功能如下:
- 内存和处理器管理
- 为用户提供用户界面
- 文件管理和设备管理
- 资源和作业的调度
- 错误检测
- 安全
操作系统面试题解析:操作系统是计算机最重要和最重要的部分,没有它,它就被认为是无用的。它启用接口或充当安装在操作系统上的计算机软件与用户之间交互的链接。它还有助于与硬件通信并保持硬件和 CPU 之间的平衡。它还为用户提供服务和程序运行的平台。它执行应用程序所需的所有常见任务。
2. 操作系统常见面试题有哪些:操作系统的主要目的是什么?有哪些不同类型的操作系统?
操作系统的主要目的是执行用户程序,使用户更容易理解计算机并与计算机交互以及运行应用程序。它专门设计用于通过管理所有计算活动来确保计算机系统性能更好。它还管理所有硬件和软件的计算机内存、进程和操作。
操作系统类型:
- 批处理操作系统(例如:薪资系统、交易流程等)
- 多程序操作系统(例如:Windows O/S、UNIX O/S 等)
- 分时操作系统(例如:Multics 等)
- 分布式操作系统(LOCUS 等)
- 实时操作系统(PSOS、VRTX 等)
多处理器系统是一种包含两个或更多 CPU 的系统。它涉及同时处理不同的计算机程序,主要是由具有共享单个内存的两个或多个 CPU 的计算机系统进行的。
好处:
- 如今,此类系统被广泛用于提高同时运行多个程序的系统的性能。
- 通过增加处理器的数量,可以在单位时间内完成更多的任务。
- 由于所有处理器共享相同的资源,因此吞吐量也得到了显着增加,并且具有成本效益。
- 它只是提高了计算机系统的可靠性。
RAID(Redundant Arrays of Independent Disks)是一种用于将数据存储在多个硬盘上的方法,因此被认为是将多个硬盘组合在一起的数据存储虚拟化技术。它只是简单地平衡数据保护、系统性能、存储空间等,用于提高数据存储的整体性能和可靠性。它还增加了系统的存储容量,其主要目的是实现数据冗余以减少数据丢失。
不同级别的 RAID
如今,RAID 有多种方案或 RAID 级别,如下所示:
- RAID 0 - 非冗余条带化:此级别用于提高服务器的性能。
- RAID 1 - 镜像和双工:此级别也称为磁盘镜像,被认为是实现容错的最简单方法。
- RAID 2 - 内存式纠错码:该级别一般使用专用的汉明码奇偶校验,即一种线性形式的纠错码。
- RAID 3 - 位交错奇偶校验:此级别需要专用的奇偶校验驱动器来存储奇偶校验信息。
- RAID 4 - 块交错奇偶校验:此级别类似于 RAID 5,但唯一的区别是此级别将所有奇偶校验数据限制在单个驱动器中。
- RAID 5 - 块交错分布式奇偶校验:此级别提供的性能远优于磁盘镜像和容错。
- RAID 6 - P+Q 冗余:此级别通常为两个驱动器故障提供容错能力。
GUI(图形用户界面)基本上是一种允许用户使用图形与操作系统交互的用户界面。创建 GUI 是因为它比命令行界面更用户友好、更简单且更易于理解。其主要目标是提高效率和易用性。用户无需记住命令,只需单击一个按钮即可简单地执行该过程。GUI 的示例包括 Microsoft Windows、macOS、Apple 的 iOS 等。
6. 什么是管道以及何时使用?
管道一般是两个或多个相互关联的进程之间的连接。它是一种用于使用消息传递进行进程间通信的机制。人们可以使用管道轻松地将诸如一个程序进程的输出之类的信息发送到另一个程序进程。当两个进程想要以一种方式进行通信,即进程间通信 (IPC) 时,可以使用它。
7. 信号量可以进行哪些不同类型的操作?
基本上有两种可能的原子操作:
- Wait()
- Signal()
它通常是一个在启动期间初始化操作系统的程序,即每当计算机系统启动时执行的第一个代码。操作系统通过引导过程或通常称为引导的程序加载。整个操作系统仅依赖于引导程序来执行和正常工作。它完全存储在磁盘上固定位置的引导块中。它还定位内核并将其加载到主内存中,然后程序开始执行。
9.解释需求分页?
按需分页是一种按需将页面加载到内存中的方法。这种方法多用于虚拟内存。在这种情况下,只有在执行期间引用该特定页面上的位置时,才会将页面带入内存。一般遵循以下步骤:
- 尝试访问该页面。
- 如果页面有效(在内存中),则继续正常处理指令。
- 如果页面无效,则会发生页面错误陷阱。
- 检查内存引用是否是对辅助内存上某个位置的有效引用。如果不是,则终止进程(非法内存访问)。否则,我们必须在所需页面中进行分页。
- 调度磁盘操作以将所需页面读入主内存。
- 重新启动被操作系统陷阱中断的指令。
实时操作系统 (RTOS) 是一种用于实时应用程序的操作系统,即用于数据处理应在固定的小时间度量内完成的那些应用程序。对于需要在短时间内执行的任务,它的表现要好得多。它还负责执行、监控和全面控制流程。它还占用更少的内存并消耗更少的资源。
实时操作系统类型:
- Hard Real-Time
- Firm Real-Time
- Soft Real-Time
11、进程同步是什么意思?
进程同步基本上是一种协调使用共享资源或数据的进程的方法。确保协作进程的同步执行以保持数据一致性非常重要。它的主要目的是使用互斥来共享资源而不受任何干扰。有两种类型的进程同步:
- 独立进程
- 合作过程
IPC(进程间通信)是一种需要使用资源(例如在进程或线程之间共享的内存)的机制。通过 IPC,操作系统允许不同的进程相互通信。它仅用于在一个或多个程序或进程中的多个线程之间交换数据。在这个机制中,不同的进程可以通过操作系统的批准相互通信。
不同的 IPC 机制:
- 管道
- 消息队列
- 信号量
- socket
- 共享内存
- 信号
主存储器:计算机中的主存储器是 RAM(随机存取存储器)。它也称为主存储器或读写存储器或内部存储器。CPU 在执行程序期间需要的程序和数据存储在该存储器中。
二级存储器:计算机中的二级存储器是可以存储数据和程序的存储设备。它也称为外部存储器或附加存储器或备份存储器或辅助存储器。这种存储设备能够存储大量数据。存储设备可以是硬盘驱动器、USB 闪存驱动器、CD 等。
主内存 | 辅助存储器 |
---|---|
处理单元可以直接访问数据。 | 首先,数据传输到主存储器,然后路由到处理单元。 |
它本质上既可以是挥发性的,也可以是非挥发性的。 | 它本质上是非挥发性的。 |
它比二级存储器成本更高。 | 它比主内存更具成本效益或成本更低。 |
它是临时的,因为数据是临时存储的。 | 它是永久性的,因为数据是永久存储的。 |
在此存储器中,只要发生电源故障,数据就会丢失。 | 在此存储器中,数据永久存储,因此即使在断电的情况下也不会丢失。 |
它比辅助内存快得多,并且可以保存计算机当前使用的数据。 | 与主内存相比,它速度较慢,并以不同的格式保存不同类型的数据。 |
它可以通过数据访问。 | 它可以通过 I/O 通道访问。 |
操作系统面试题解析:Overlays 基本上是一种编程方法,它将进程划分为多个部分,以便将重要且需要的指令保存在内存中。它不需要来自操作系统的任何类型的支持。通过只保留在任何给定时间可能需要的重要数据和指令,它可以运行比物理内存更大的程序。
15. 写出前 10 个操作系统的例子?
下面给出了一些最常用的顶级操作系统:
- MS-Windows
- Ubuntu
- Mac OS
- Fedora
- Solaris
- Free BSD
- Chrome OS
- CentOS
- Debian
- Android
它是操作系统的内存管理技术特性,它给用户带来了非常大(主)内存的错觉。它只是一个空间,可以以页面的形式自己存储更多数量的程序。它使我们能够通过使用磁盘来增加物理内存的使用,并且还允许我们进行内存保护。它可以由操作系统以两种常见方式进行管理,即分页和分段。它充当临时存储器,可与 RAM 一起用于计算机进程。
17. 什么是操作系统中的线程?
线程是一条执行路径,由程序计数器、线程ID、堆栈和进程内的一组寄存器组成。它是 CPU 利用率的基本单位,它使通信更加有效和高效,使多处理器架构的利用能够更大规模和更高效率,并减少上下文切换所需的时间。它只是提供了一种通过并行来改进和提高应用程序性能的方法。线程有时被称为轻量级进程,因为它们有自己的堆栈但可以访问共享数据。
在进程中运行的多个线程共享:地址空间、堆、静态数据、代码段、文件描述符、全局变量、子进程、挂起的警报、信号和信号处理程序。
每个线程都有自己的:程序计数器、寄存器、堆栈和状态。
18. 什么是过程?进程的不同状态是什么?
该进程基本上是一个当前正在执行的程序。操作系统的主要功能是管理和处理所有这些进程。当一个程序被加载到内存中并成为一个进程时,它可以分为四个部分——堆栈、堆、文本和数据。有两种类型的过程:
- 操作系统进程
- 用户进程
状态:过程所经历的过程的不同状态如下:
- 新状态:在此状态下,刚刚创建了一个进程。
- 运行:在这种状态下,CPU 开始处理进程的指令。
- Waiting:在这种状态下,进程无法运行,因为它只是在等待某个事件发生
- 就绪:在这种状态下,进程拥有运行所需的所有可用资源,但它等待分配给处理器,因为当前 CPU 不处理进程传递的指令。
- Terminate:在该状态下,进程完成,即进程执行完毕。
FCFS(先来先服务)是一种操作系统调度算法,它按照进程到达的相同顺序执行进程。简单来说,先到的进程会先执行。它本质上是非抢占式的。如果第一个进程的突发时间是所有作业中最长的,FCFS 调度可能会导致饥饿问题。这里的突发时间是指进程执行所需的时间(以毫秒为单位)。与其他算法相比,它也被认为是最简单和最简单的操作系统调度算法。FCFS 的实现通常在 FIFO(先进先出)队列的帮助下进行管理。
20. 什么是重入性?
Reentrant 只是一个功能,其中不同的客户端可以在相似的时间段内使用和共享程序的单个副本。这个概念通常与操作系统代码相关,不涉及并发性。它有两个主要功能:
- 程序代码不能改变或修改自身。
- 每个客户端进程的本地数据需要存储在不同的磁盘中。
调度算法是一种通过利用最大 CPU 和为任务提供最小等待时间来提高效率的过程。它只是处理决定为哪些未完成的请求分配资源的问题。其主要目的是减少资源匮乏并确保使用资源的各方之间的公平性。简而言之,它用于在各种竞争任务之间分配资源。
调度算法的类型 下面给出了不同类型的调度算法:
22.分页和分段有什么区别?
分页:它通常是一种内存管理技术,允许操作系统将进程从辅助存储检索到主内存中。它是一种非连续分配技术,以页的形式划分每个进程。
分段:一般是将进程划分为不同大小的模块和部分的一种内存管理技术。这些部件和模块称为可分配给继承的段。
分页 | 分段 |
---|---|
它对程序员是不可见的。 | 它对程序员是可见的。 |
在这种情况下,页面的大小是固定的。 | 在这种情况下,段的大小是不固定的。 |
程序和数据不能在分页中分开。 | 程序和数据可以在分段中分离。 |
它允许虚拟地址空间的累计总数跨越物理主内存。 | 它允许所有程序、数据和代码分解为独立的地址空间。 |
它主要用于 CPU 和 MMU 芯片。 | 它主要在可能支持向后兼容性的 Windows 服务器上可用,而 Linux 的支持有限。 |
与分段相比,内存访问速度更快。 | 与分页相比,它更慢。 |
在这种情况下,OS 需要维护一个空闲帧。 | 在这种情况下,操作系统需要在主内存中维护一个空洞列表。 |
在分页中,碎片的类型是内部的。 | 在分段中,碎片的类型是外部的。 |
页的大小由可用内存决定。 | 页面的大小由用户决定。 |
通常情况下,CPU 执行的工作效率较低,而交换或分页工作较多。它花更多的时间交换或分页活动而不是执行。通过评估 CPU 利用率水平,系统可以检测到抖动。当进程没有足够的页面导致页面错误率增加时,就会发生这种情况。它抑制了许多导致计算机性能下降或崩溃的应用程序级处理。
24. 多道程序设计的主要目标是什么?
它是指在单处理器机器上执行或执行多个程序的能力。引入此技术是为了克服 CPU 和主内存未充分利用的问题。简单来说,就是协调在单个处理器(CPU)上同时执行各种程序。多道程序设计的主要目标是至少让一些进程始终运行。它只是提高了 CPU 的利用率,因为它组织了许多 CPU 总是有一个任务要执行的作业。
25. 非对称聚类是什么意思?
非对称集群一般是这样一种系统,其中所有节点中的一个节点处于热备模式,而其余所有节点运行不同的应用程序。它只是使用整个或整个硬件资源,因此与其他系统相比,它被认为是一个更可靠的系统。
26. 多任务和多处理操作系统有什么区别?
多任务处理:这是一个允许更有效地使用计算机硬件的系统。该系统通过在各种任务之间快速切换来同时处理多个任务。这些系统也称为分时系统。
多处理:它是一种系统,它允许计算机中的多个或多个处理器同时处理同一程序的两个或多个不同部分。它用于在更短的时间内完成更多的工作。
多任务处理 | 多处理 |
---|---|
它使用单个处理器一次执行多项任务。 | 它使用多个处理器一次执行多项任务。 |
在这里,CPU的数量只有一个。 | 在此,CPU 的数量不止一个。 |
它更经济。 | 它不太经济。 |
它的效率低于多处理。 | 它比多任务处理更有效。 |
它允许在各种任务之间快速切换。 | 它允许一次顺利处理多个任务。 |
与多处理相比,它需要更多的时间来执行任务。 | 与多任务处理相比,它需要更少的时间来处理作业。 |
操作系统面试题解析:OS中的socket一般称为IPC(Interprocess Communication)的端点。此处,端点被称为 IP 地址和端口号的组合。套接字用于使软件开发人员可以轻松创建支持网络的程序。它还允许在相同或不同机器上的两个不同进程之间进行通信或信息交换。它主要用于基于客户端-服务器的系统。
套接字的类型
基本上有四种类型的套接字,如下所示:
- 流套接字
- 数据报套接字
- 顺序数据包套接字
- 原始套接字
僵尸进程,简称defunct进程,基本上是一个进程终止或完成但整个进程控制块没有从主存中清除,因为它在进程表中还有一个条目要报告给它的父进程。它不消耗任何资源并且已经死了,但它仍然存在。它还表明资源由进程持有并且不是免费的。
29. 级联终止是什么意思?
级联终止是一种进程终止,如果父进程正在退出或终止,那么子进程也将被终止。它不允许子进程在其父进程终止时继续处理。它通常由操作系统启动。
30. 什么是 OS 中的饥饿和老化?
当我们使用优先级调度或最短作业优先调度时,可能会发生饥饿,这种算法主要用于 CPU 调度程序
饥饿:这通常是一个问题,通常发生在进程长时间无法获得其执行所需的资源时。在这种情况下,低优先级进程被阻塞,只有高优先级进程才能完成,因为低优先级进程缺乏资源。
老化:这是一种用于克服饥饿的情况或问题的技术。它只是提高了在系统中长时间等待资源的进程的优先级。它被认为是解决饥饿问题的最佳技术,因为它为各个进程对资源的每个请求的优先级添加了老化因素。它还确保低级队列作业或进程完成其执行。
高级操作系统面试题和答案合集31. 操作系统中的信号量是什么意思?为什么使用它?
信号量是一种信号机制。它只保存一个正整数值。它只是通过使用两个原子操作即wait() 和signal() 来解决同步过程中临界区的问题或问题。
信号量的类型
通常有两种类型的信号量,如下所示:
- 二进制信号量
- 计数信号量
二进制信号量 | 互斥体 |
---|---|
它允许各种进程线程获取资源的有限实例,直到资源可用。 | 它允许各个进程线程一次只能获取单个共享资源。 |
它的功能基于信号机制。 | 它的功能基于锁定机制。 |
与 Mutex 相比,二进制信号量要快得多。 | 与二进制信号量相比,互斥量更慢。 |
它基本上是一个整数。 | 它基本上是一个对象。 |
内核基本上是一个计算机程序,通常被认为是操作系统的核心组件或模块。它负责处理、管理和控制计算机系统和硬件的所有操作。每当系统启动时,内核首先加载并保留在主内存中。它还充当用户应用程序和硬件之间的接口。
内核的功能:
- 它负责管理所有计算机资源,如 CPU、内存、文件、进程等。
- 它促进或启动硬件和软件组件之间的交互。
- 它管理 RAM 内存,以便所有正在运行的进程和程序都能有效且高效地工作。
- 它还控制和管理操作系统的所有主要任务,以及管理连接到计算机的各种外围设备的访问和使用。
- 它调度 CPU 完成的工作,以便尽可能高效地执行每个用户的工作。
基本上有五种类型的内核,如下所示:
- 单片内核
- 微内核
- 混合内核
- 纳米内核
- 外显内核
微内核:它是一个最小的操作系统,只执行操作系统的重要功能。它只包含实现操作系统所需的几乎最少数量的特性和功能。
示例: QNX、Mac OS X、K42 等
Monolithic Kernel:它是一种操作系统架构,支持计算机组件的所有基本功能,例如资源管理、内存、文件等。
示例: Solaris、DOS、OpenVMS、Linux 等.
微内核 | 单片内核 |
---|---|
在这个软件或程序中,内核服务和用户服务存在于不同的地址空间中。 | 在这个软件或程序中,内核服务和用户服务通常存在于同一个地址空间中。 |
与单片内核相比,它的尺寸更小。 | 与微内核相比,它的尺寸更大。 |
与单体内核相比,它易于扩展。 | 与微内核相比,它很难扩展。 |
如果服务崩溃,它确实会影响微内核的工作。 | 如果一个服务崩溃,整个系统就会在一个单一的内核中崩溃。 |
它使用消息队列来实现进程间通信。 | 它使用信号和套接字来实现进程间通信。 |
SMP 通常被称为计算机架构,其中程序的处理由共享公共操作系统和内存的多个处理器完成。如果你想利用多处理器硬件,则非常需要 SMP。它只是让任何处理器都能处理任何任务,而不管该特定任务的数据或资源位于内存中的哪个位置。这些系统比单处理器系统更可靠。
36、什么是分时系统?
它是一种允许多个用户在多个位置访问特定系统资源的系统。简而言之,它在单个处理器或 CPU 上执行多项任务。顾名思义,就是将时间共享到多个进程的多个槽中。它还允许来自不同位置的不同用户同时使用特定的计算机系统,因此它被认为是重要的操作系统类型之一。
37.什么是上下文切换?
上下文切换基本上是一个保存一个进程的上下文并加载另一个进程的上下文的过程。它是 CPU 执行的一种具有成本效益和节省时间的措施,因为它允许多个进程共享一个 CPU。因此,它被认为是现代操作系统的重要组成部分。操作系统使用此技术将进程从一种状态切换到另一种状态,即从运行状态切换到就绪状态。它还允许单个 CPU 处理和控制各种不同的进程或线程,甚至不需要额外的资源。
38. 操作系统常见面试题有哪些:内核和操作系统有什么区别?
内核:内核是一个系统程序,它控制着计算机上运行的所有程序。内核基本上是系统软件和硬件之间的桥梁。
操作系统:操作系统是运行在计算机上的系统程序,为计算机用户提供一个界面,使他们可以方便地在计算机上进行操作。
核心 | 操作系统 |
---|---|
它被认为是操作系统的核心组件 | 它被认为是系统软件。 |
它一般负责将用户命令转换为机器级命令。 | 它一般负责管理系统资源。 |
它只是充当硬件和应用程序之间的接口。 | 它只是充当硬件和用户之间的接口。 |
它还执行进程管理、文件管理、设备管理、I/O 通信等功能。 | 它还执行诸如为系统中的数据和文件提供安全性、为用户提供访问控制、维护系统隐私等功能。 |
其类型包括微内核、单片内核等。 | 其类型包括单程序和多程序批处理系统、分布式操作系统、实时操作系统。 |
进程:它基本上是一个当前由一个或多个线程执行的程序。它是现代操作系统的一个非常重要的部分。
线程:它是由程序计数器、线程ID、堆栈和进程内的寄存器集组成的执行路径。
进程 | 线程 |
---|---|
它是一个正在执行的计算机程序。 | 进程的组件或实体是最小的执行单元。 |
这些都是重量级的操作符。 | 这些是轻量级运算符。 |
它有自己的内存空间。 | 它使用它们所属进程的内存。 |
与创建线程相比,创建进程更困难。 | 与创建进程相比,创建线程更容易。 |
与线程相比,它需要更多的资源。 | 与进程相比,它需要更少的资源。 |
与线程相比,创建和终止进程需要更多时间。 | 与进程相比,创建和终止线程所需的时间更少。 |
它通常运行在单独的内存空间中。 | 它通常运行在共享内存空间中。 |
它不共享数据。 | 它彼此共享数据。 |
它可以分为多个线程。 | 不能再细分了。 |
该过程基本上有四个部分,如下所示:
- 堆栈:用于局部变量并返回地址。
- 堆:用于动态内存分配。
- 数据:它存储全局和静态变量。
- 代码或文本:它包括编译的程序代码。
死锁通常是一组进程被阻塞的情况,因为每个进程都持有资源并等待获取另一个进程持有的资源。在这种情况下,两个或多个进程只是尝试同时执行并等待每个进程完成它们的执行,因为它们相互依赖。每当程序中发生死锁时,我们都可以在系统中看到手动问题。这是你在多处理中可以看到的常见问题之一。
死锁的必要条件 死锁的必要条件
基本上有以下四个:
- 互斥
- 保持并等待
- 不可抢占
- 循环等待或资源等待
操作系统面试题解析:在操作系统中,进程数据以固定大小的块加载,每个块称为一个页面。处理器将这些页面加载到称为帧的固定大小的内存块中。Belady's Anomaly 是一种现象,如果我们增加内存中的帧数,那么页面错误的数量也会增加。一般我们在使用FIFO(先进先出)页面替换算法时都会遇到这种情况。
43. 操作系统面试题和答案合集:什么是操作系统中的假脱机?
【求职面试总结(操作系统常见面试题和答案合集)】假脱机仅代表在线同步外围操作。称为将各种 I/O 作业的数据放入缓冲区。此处,缓冲区是指内存或硬盘中可供 I/O 设备访问的特殊区域。它用于在计算机应用程序和慢速外围设备之间进行调解。它非常有用和重要,因为设备以不同的速率访问或获取数据。此操作还将磁盘用作非常大的缓冲区,并且能够将一项任务的 I/O 操作与另一任务的处理器操作重叠。
推荐阅读
- React Native常见面试题整理(问题和解答)
- Kubernetes经典面试题整理合集(问题和答案解答)
- Django求职面试笔记(面试题和答案合集)
- 求职面试笔记(ASP.NET常见面试题整理和解答)
- 求职面试必备(Laravel常见面试题和答案笔记)
- CSS常见面试题笔记整理(问题和答案解答)
- MySQL经典面试题笔记整理(问题和答案解析)
- Docker面试题笔记整理(问题和答案解析)
- 机器学习常见面试题笔记整理(问题和答案解答)