操作系统面试真题总结(一)

news2024/9/24 7:17:33

文章收录在网站:http://hardyfish.top/

文章收录在网站:http://hardyfish.top/

文章收录在网站:http://hardyfish.top/

文章收录在网站:http://hardyfish.top/

在这里插入图片描述

什么是用户态和内核态

用户态和内核态是操作系统的两种运行状态。

  • 内核态
    • 处于内核态的 CPU 可以访问任意的数据,包括外围设备
      • 比如网卡、硬盘等,处于内核态的 CPU 可以从一个程序切换到另外一个程序
        • 并且占用 CPU 不会发生抢占情况,一般处于特权级 0 的状态我们称之为内核态。
  • 用户态
    • 处于用户态的 CPU 只能受限的访问内存,并且不允许访问外围设备
      • 用户态下的 CPU 不允许独占,也就是说 CPU 能够被其他程序获取。

那么为什么要有用户态和内核态呢?

  • 这个主要是访问能力的限制的考量,计算机中有一些比较危险的操作
    • 比如设置时钟、内存清理,这些都需要在内核态下完成
    • 如果随意进行这些操作,那你的系统得崩溃多少次。

为什么要区分用户态和内核态呢?

在操作系统中,用户态(User Mode)和内核态(Kernel Mode)是两种不同的执行状态。

这种区分主要是为了保障操作系统的稳定性,安全性以及提高效率。

以下是这种区分存在的几个主要理由:

保护操作系统及关键内核数据:

  • 在内核态,操作系统代码有权访问系统的所有资源
    • 而在用户态,应用程序的活动受到限制,不能直接访问硬件或内核数据结构
  • 所有涉及硬件操作的请求都必须通过内核代码(例如设备驱动程序)来完成。
    • 这种限制可以避免用户态的应用程序意外或恶意地破坏系统资源。

安全性:

  • 用户态和内核态的划分是操作系统进行权限管理和访问控制的主要方式
    • 它可以防止用户级应用程序越权访问和操作系统资源,提高系统的安全性。

系统稳定性:

  • 如果所有程序都在同一权限级别运行,一个程序的错误可能导致整个系统崩溃。
  • 通过将权限划分为用户态和内核态,可以有效地防止用户程序的错误影响到整个系统,提高系统的稳定性。

效率:

  • 内核态与用户态的切换会带来一定的开销,但这背后的好处是系统运行的效率和稳定性。
  • 例如,IO操作通常需要在内核态进行,以防止用户程序直接控制硬件设备
    • 这样可以防止多个程序同时对一个设备进行操作,引起混乱。

因此,划分用户态和内核态,为操作系统的运行提供了一个有序、可控和安全的环境。

谈一谈你对中断的理解?

中断是计算机系统中的一种基本操作,用于处理外部事件或内部异常。

  • 在计算机运行过程中,可能会发生各种外部或内部的事件,比如硬件故障、IO请求、定时器事件等
    • 这些事件需要在合适的时机中断正常的程序执行。

中断的作用是打断当前的程序执行流程,转而执行与中断事件相关的处理程序。

  • 处理程序执行完毕后,再返回到原来的程序继续执行。
    • 中断可以实现多任务的并发执行,提高系统的响应能力和效率。

中断可以分为硬件中断和软件中断。硬件中断是由硬件设备触发的,比如外部设备的请求、时钟中断等。

  • 软件中断是由软件程序主动触发的,比如系统调用、异常处理等。

中断和异常有什么区别?

中断(Interrupt)和异常(Exception)都是在计算机运行过程中对特殊的条件或者事件的响应

  • 但是它们之间还是有一些明确的区别的。

触发条件:

中断通常是由外部事务触发的,如用户输入、外设请求等。

  • 这些事件不一定与当前执行的程序有关。
  • 而异常通常是由程序本身在运行过程中产生的,比如除零错误、非法指令等。

处理方式:

  • 中断的处理通常是将当前的程序执行指针保存起来,然后切换到中断处理程序去执行,处理完后返回原来指针处继续执行。
    • 而异常处理则需要首先确定是不是可以恢复的错误,如果可以恢复,那么在处理完成后可以从出错的地方继续执行
      • 如果不可恢复,那么可能需要终止程序。

终止与持续:

  • 一般来说,处理完中断后,CPU会恢复执行被中断的程序,而异常可能会导致程序的终止。

预期性:

  • 中断是可以被预期且常规的行为。
  • 例如,系统可以预期硬件设备的中断,并根据这些中断进行响应。
    • 然而异常则是非预期的,它们是因为程序错误、硬件问题或其他不可预料的条件产生的。

指向性:

  • 中断指向的是特定的中断服务程序,而异常指向的是错误处理程序或者是系统。

什么是栈空间?

栈是一种后进先出(LIFO)的数据结构,也就是说最后进入的元素会被首先取出。

  • 每当一个函数被调用时,系统会为其在栈空间上分配一块内存,这个内存区域被叫做一个栈帧
  • 这个栈帧将存储这个函数需要用到的局部变量,参数,以及函数返回的地址。

当函数执行结束后,对应的栈帧就会被释放,相关的存储空间将供后续的函数调用使用。

  • 由于栈使用类似于压栈和出栈的操作,所以速度很快,但是容量有限
    • 过深的函数调用或者递归可能导致栈空间耗尽,这就是常说的栈溢出。

例如,你可能会写一段递归代码来解决问题。

每次调用这段代码的一个新实例时,都会有一个新的栈帧被创建以存储这次调用的信息。

  • 无限或过深的递归可能会导致栈空间耗尽,导致所谓的 栈溢出 错误。

什么是堆空间?

堆空间它用来存储程序运行过程中动态分配的数据。

  • 与栈空间不同,堆空间的大小不是在编译时确定的,而是在运行时通过程序的需求动态分配的。
    • 这就意味着你可以在运行时根据需要创建和销毁数据。

当程序需要一块动态内存时,程序会向操作系统发出请求。

操作系统如果同意了这个请求,会在堆上找到一块合适的空闲空间,然后将其分配给程序。

  • 程序用完这块内存后,需要显式地将其释放,否则会造成内存泄露。

举个例子,如果你需要根据用户输入创建一个数组,你可能无法预先知道数组的大小

  • 这时候你就需要在堆上动态地创建这个数组。

  • 因为在栈上创建数组需要预先知道其大小,且在函数体结束后会自动释放。

但是,堆空间的管理相对复杂。动态分配和释放内存需要更多的计算资源

  • 因为操作系统需要查找可用的空闲空间,且可能出现内存碎片问题。

另外,由于程序员通常需要在程序中显式管理堆内存

  • 所以还可能出现内存泄漏(忘记释放不再需要的内存)或者是野指针(指向已经释放的内存)等问题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2084463.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Redis_AOF持久化

AOF持久化 在AOF持久化的过程中,会以日志的方式记录每个redis“写”命令,并且redis服务器重启时重新执行AOF日志文件中的命令,从而达到“恢复数据”的效果 AOF故障恢复 当redis因发生故障而重启时,redis服务器会按照如下步骤根据…

演绎法推理

cp规则:给前提集合,给结论,要求推导前提推导结论。把结论化成蕴含式,里面的蕴含前件为真拿下来做补充条件,再和前提集合里面那么多条件一起推,最后推出那个结论为真。

【吊打面试官系列-Redis面试题】Redis 的数据类型?

大家好,我是锋哥。今天分享关于 【Redis 的数据类型?】面试题,希望对大家有帮助; Redis 的数据类型? 答:Redis 支持五种数据类型:string(字符串),hash&#x…

常见的服务器容器和漏洞类型汇总

常见的服务器容器和漏洞有哪些?常见的服务器容器包括KubeSphere、Tomcat、Nginx、Apache等,它们在提供便捷的服务部署和灵活的网络功能的同时,也可能存在着一定的安全风险。这些容器的漏洞可能导致数据泄露、权限被非授权访问甚至系统被完全控…

深入京东API世界:商品详情返回值的秘密

京东API世界中的商品详情返回值是一个复杂而精细的数据体系,它承载着商品的全面信息,对于商家、用户以及开发者而言,都具有极高的价值。下面,我们将深入探索京东商品详情API返回值的秘密。 基本结构概述 京东商品详情API的返回值…

【工控】线扫相机小结 第二篇

背景 上一篇中《线扫相机小结》中介绍了一些基础知识和注意事项,这一篇是对上一篇的进一步补充。 会介绍线扫相机的一些调试技巧。 如何在线调试? 我们知道,线扫相机不能像面阵相机一样实时的呈现图像,只能一行行的扫描&#x…

谷歌的搜索语法

谷歌搜索常用语法 谷歌提供了多种搜索语法,帮助用户更精确地查找所需内容。以下是一些常用语法的介绍和示例: 1. 精确匹配:使用双引号 " " 在搜索内容时,如果需要精确匹配某个词组,可以将其放在双引号内。 …

BaseCTF 高校联合新生赛 Week1

Week1 Web [Week1] HTTP BaseCTF{4248fc3d-a280-4de0-b5e6-6ff0ecaa1fca} [Week1] 喵喵喵•ﻌ• [Week1] md5绕过欸 [Week1] A Dark Room [Week1] upload 什么过滤都没有,上传一句话木马即可 [Week1] Aura 酱的礼物 卡在SSRF那里, 我想用…

SpringCloud之二注册中心(Eureka)

一、Eureka概述 Eureka是Netflix公司开源的一个服务注册与发现的中间组件。 在微服务架构系统之中,我们经常提三个角色:注册中心 (Register)、服务提供者(Provider)、服务消费者(Consumer)。 1.注册中心:服务提供者可以将服务发布到注册中心…

亚马逊aws的弹性与可扩展性解析

欢迎来到雲闪世界。可以使用各种服务和工具在 AWS 上实现可扩展性和弹性。例如,AWS Application Auto Scaling 是一种可以自动调整容量以低成本实现出色应用程序性能的服务。这允许轻松设置跨多个服务的多个资源的应用程序扩展。让我们来谈谈弹性和可扩展性之间的区…

数据结构基础详解(C语言): 树与二叉树的基本类型与存储结构详解

文章目录 1.树2.二叉树2.1 二叉树的基本概念2.2 满二叉树2.3 完全二叉树2.4 二叉排序树2.5 平衡二叉树 3.二叉树的存储结构3.1 二叉树的顺序存储3.2 二叉树的链式存储 1.树 树的基本概念 结点的度:指该结点的分支个数,如结点A的度为2 树的度:…

DHU 二维数组 暗恋

思路及代码 蛮力算法 验证是否是正方形的方法是简单的 但是蛮力下来写的不优雅 第一版超时了&#xff0c;第二版改了一点点&#xff0c;把一个循环换成了加加减减 #include<iostream> using namespace std;int main(){ //input R,C int 1< <200 //input R*C矩阵…

ceph-rgw zipper的设计理念(1)

0.前言 RGW在ceph存储中的主要作用是提供S3和Swift的协议访问支持。Zipper工作主要是将RGW分为协议部分和后端部分。协议部分还是支持S3和Swift协议&#xff0c;包括身份认证、协议参数解析和op操作解析等等&#xff1b;后端部分主要是对接不同的存储&#xff0c;比如rados&am…

利用OpenCV根据图片识别环境的亮度

一、前言 在当代数字化转型的浪潮中&#xff0c;计算机视觉技术无疑占据了举足轻重的地位&#xff0c;其应用范围之广&#xff0c;影响力之深&#xff0c;已成为推动社会进步的关键力量之一。而OpenCV&#xff0c;作为计算机视觉领域的佼佼者&#xff0c;凭借其卓越的性能与广…

强推!必看!!由中国信通院发布的汇聚99个大模型优秀应用案例集!附219页PDF文件下载

2024 年是大模型深入赋能千行百业&#xff0c;融入实体经济&#xff0c;助力科技创新的一年。截至今年5月&#xff0c;我国国产大模型的数量已经超过 300个&#xff0c;预示着大模型在各行业场景的创新应用和深度拓展&#xff0c;对培育新质生产力、高水平赋能新型工业化、推动…

第100+23步 ChatGPT学习:概率校准 Sigmoid Calibration

基于Python 3.9版本演示 一、写在前面 最近看了一篇在Lancet子刊《eClinicalMedicine》上发表的机器学习分类的文章&#xff1a;《Development of a novel dementia risk prediction model in the general population: A large, longitudinal, population-based machine-learn…

java中超级重要的SPI机制

SPI机制是理解各个框架集成的重要思想&#xff0c;只用理解了SPI才能理解框架的集成和扩展。直观的就是SPI机制可以让你更好的理解springboot集成各个扩展。 废话不多说&#xff01;&#xff01; 1.什么是spi机制&#xff1f; Spi机制是java提供的一种服务发现机制&#xff0…

企业常用的10款主流图纸加密软件排行榜|企业图纸防泄密

图纸是企业的重要资产&#xff0c;其安全性直接关系到企业的核心竞争力。下面为大家介绍10款主流的图纸加密软件&#xff0c;每款软件都有其独特的功能和优势&#xff0c;帮助企业有效防止图纸泄密。 1. 安秉图纸加密软件 安秉图纸加密软件是一款专为企业用户设计的图纸加密解…

全球石油巨头哈里伯顿因网络攻击被迫关闭系统

美国能源服务巨头哈里伯顿公司在周五向联邦监管机构提交的文件中表示,在本周遭受网络攻击后,该公司主动关闭了某些系统以“帮助保护它们”。 该公司在提交给美国证券交易委员会的文件中表示,周三该公司获悉“未经授权的第三方获得了其系统某些部分的访问权限”,并正在与外…

如何开启让设备获取到IPv6?

前言 现在许多小伙伴拉的宽带基本上都是光猫进行拨号的。这个就导致很多小伙伴不知道如何让设备获取IPv6。 但好像还有小伙伴分不清光猫拨号和光猫桥接的区别&#xff0c;其实它们的区别就在于让设备直连光猫的网口或者光猫的Wi-Fi&#xff0c;就会出现两种情况&#xff1a; …