【面试八股文之操作系统】

1.什么是用户态和内核态?

        用户态和内核态是操作系统中的两种运行模式或特权级别。

用户态:在用户态下,应用程序以及用户自己编写的代码运行,其权限受到限制,不能直接访问底层系统资源和执行特权操作。用户态只能受限地访问内存,且不允许访问外围设备,占用CPU的能力被剥夺,CPU资源可以被其他程序获取。

内核态:内核态是具有最高权限的运行模式,可以执行特权指令和直接访问硬件设备。在内核态下,CPU可以访问内存的所有数据,包括外围设备,例如硬盘、网卡等。CPU也可以将自己从一个程序切换到另一个程序。

        内核态相比用户态拥有更高的特权级别,因此能够执行更底层、更敏感的操作。不过,由于进入内核态需要付出较高的开销(需要进行一系列的上下文切换和权限检查),应该尽量减少进入内核态的次数,以提高系统的性能和稳定性。

2.什么是系统调用

         系统调用是操作系统提供给应用程序访问操作系统服务和资源的接口。应用程序通常运行在用户态,处于用户态的进程有诸多限制(如不能进行I/O操作),所以有些功能必须由内核代劳完成。因此,操作系统需要提供访问这些内核态运行的程序的接口,这些接口的集合就叫做系统调用。通过系统调用,应用程序可以请求操作系统执行特定的任务,如读写文件、创建进程、申请内存等。简要地说,系统调用是内核向用户进程提供服务的唯一方法。

3.你了解系统调用的过程吗?

         系统调用是操作系统提供给应用程序用来访问操作系统服务和资源的接口12。在Linux中,系统调用是用户空间访问内核的唯一手段。以下是一个系统调用的基本过程:

        (1)应用程序调用库函数(API):应用程序通常通过调用库函数来发起一个系统调用。

        (2)API将系统调用号存入EAX:库函数会将对应的系统调用号存入EAX寄存器,并通过中断调用使系统进入内核态。

        (3)内核中的中断处理函数根据系统调用号,调用对应的内核函数(系统调用):内核中的中断处理函数会根据EAX寄存器中的系统调用号,在系统调用表中找到并执行对应的内核函数。

        (4)系统调用完成相应功能,将返回值存入EAX,返回到中断处理函数:内核函数执行完毕后,会将返回值存入EAX寄存器,并返回到中断处理函数。

        (5)返回到用户态的wrapper函数中:最后,控制权会返回到用户态的wrapper函数中,继续执行系统调用之后的代码。

4.内存映射的原理

        将一块内存空间映射到不同的进程空间中

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

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

相关文章

OSPF动态路由实验(思科)

华为设备参考: 一,技术简介 OSPF(Open Shortest Path First)是一种内部网关协议,主要用于在单一自治系统内决策路由。它是一种基于链路状态的路由协议,通过链路状态路由算法来实现动态路由选择。 OSPF的…

D. Nene and the Mex Operator

解题思路 若选定一个区间,则可以构造成值全为构造方如下:先将区间全变为0(若区间有0且不全为0两次(全变为一个值后再全变为0),若没有0则一次,若已经全为0则0次)保留r为0&#xff0c…

Vol.45 这个壁纸网址,功能简单,每月37.7万访问量

哈咯,大家好,我是欧维,今天要给大家分享的网站是:极简壁纸,一个专门做电脑壁纸的网站; 它的网址是:极简壁纸_海量电脑桌面壁纸美图_4K超高清_最潮壁纸网站 网站的壁纸质量很高,页面…

Open CASCADE学习|BRepOffsetAPI_DraftAngle

BRepOffsetAPI_DraftAngle 是 Open CASCADE Technology (OCCT) 中用于创建带有草图斜面的几何体的类。草图斜面是一种在零件设计中常见的特征,它可以在零件的表面上创建一个倾斜的面,通常用于便于零件的脱模或是增加零件的强度。 本例演示了如何创建一个…

【系统分析师】数据库部分

文章目录 1、数据库模式2、数据库设计过程2.1ER模型 3、关系代数 ☆5、规范化理论☆5.1 非规范存在的问题5.2 相关概念5.3范式5.3.1 第一范式-1NF5.3.2 第二范式-2NF5.2.3 第三范式5.2.4 BC范式 5.4 函数依赖分解5.4.1保持函数依赖分解5.4.2 无损分解 5.5 Armstong公理系统 6、…

策略为王股票软件源代码\StkUI\View\RealTime.cpp------分时行情界面------程序代码基本都在里面

搜索 成交... C:\Users\Administrator\Desktop\源代码\策略为王股票软件源代码\StkUI\StkUI.rc(395): MENUITEM "以成交均价为准(&A)", ID_VIEW_MAINDATAAVERAGE C:\Users\Administrator\Desktop\源代码\策略为王股票软件源代码\StkUI\StkUI…

shardingsphere从4.1.1升级到5.2.1

作为工程师都希望自己的产品能够大卖,而项目开发中使用的技术不可能所有都是自己写的,使用到的开源组件例如shardingsphere这样好的组件,也会随着用户量的增加而需要升级,没必要非得像hutool那样非得自己写一边,当然hu…

MySQL基础入门上篇

MySQL基础 介绍 mysql -uroot -p -h127.0.0.1 -P3306项目设计 具备数据库一定的设计能力和操作数据的能力。 数据库设计DDL 定义 操作 显示所有数据库 show databases;创建数据库 create database db02;数据库名唯一,不能重复。 查询是否创建成功 加入一些…

lesson02 类与对象(上)

1.类的定义 2.类的访问限定符及封装 3.类的作用域 4.类的实例化 5.类的对象的大小计算 6.类成员函数的this指针 1.类的定义 class className {//类体:由成员函数和成员变量组成 }; class是声明类的关键字,className是类的名字,花括号…

JVM修炼之路【12】- GC调优 、性能调优

上一篇中 我们详细讲了内存溢出 内存泄漏 还有相关的案例。 这篇博客中我们主要了解一下GC调优。 有些新手可能会有一点 疑问—— 这两者不是一回事吗?? 其实说一回事 也没错 因为GC调优本质上还是针对 堆上的内存 只不过前面我们关注的侧重点在于 不合…

软件设计师——软件工程基础知识

软件工程基础知识 软件过程软件过程模型软件测试方法进度管理软件复杂性度量环路复杂度耦合聚合和组合 软件过程 软件过程模型 软件测试方法 黑盒测试和白盒测试 白盒测试中,语句覆盖对程序执行逻辑的覆盖很低,因此一般认为它是很弱的逻辑覆盖。 进度管…

Golang 为什么要使用接口

接口的存在本质上是为了抽象化,这里理解的重点是: 一个类型如果拥有一个接口需要的所有方法,那么这个类型就实现了这个接口 这说明接口一个很重要的特点就是抽象,把不同类型的相同特点进行抽象统一。 下面举一个例子&#xff0…

dfslieti

oibh 总部突然被水淹没了!现在需要你的救援…… 题目描述 oibh 被突来的洪水淹没了,还好 oibh 总部有在某些重要的地方起一些围墙。用 * 号表示,而一个四面被围墙围住的区域洪水是进不去的。 oibh 总部内部也有许多重要区域,每个…

NCC常见的问题

NCC常见的问题 问题一 问题 前端界面节点打开报错,界面显示Cannot GET /xxx/xxx/xxx/main/index.html 解决方法 前端工程config.json里面没有配置对应节点的路径。把"./src/xxx/xxx/xxx/main/index.js"路径配置到config.json文件的buildEntryPath里面&am…

AcWing 898 数字三角形

给定一个如下图所示的数字三角形,从顶部出发,在每一结点可以选择移动至其左下方的结点或移动至其右下方的结点,一直走到底层,要求找出一条路径,使路径上的数字的和最大。 73 88 1 02 7 4 4 4 5 2 6 …

Kylin使用心得

一、初识Kylin 什么是Apache Kylin? Apache Kylin,中文名“凯林”,是一款专为大数据量设计的OLAP(在线分析处理)引擎。简单来说,它就像一个超级数据分析师,能帮助你快速、准确地从海量数据中提…

【Django开发】0到1美多商城项目md教程第7篇:登录,1. 互联开发者申请步骤【附代码文档】

美多商城完整教程(附代码资料)主要内容讲述:欢迎来到美多商城!,项目准备。展示用户注册页面,创建用户模块子应用。用户注册业务实现,用户注册前端逻辑。图形验证码,图形验证码接口设…

HarmonyOS实战开发-自定义分享

介绍 自定义分享主要是发送方将文本,链接,图片三种类型分享给三方应用,同时能够在三方应用中展示。本示例使用数据请求 实现网络资源的获取,使用屏幕截屏 实现屏幕的截取,使用文件管理 实现对文件,文件目录的管理&…

地球上的七大洲介绍

地球上的七大洲示意图: 1. 亚洲(Asia):世界上最大的洲,面积约为44579000平方公里。亚洲地域辽阔,包括从北极圈到赤道的各种气候和地形。它拥有世界上最多的人口,也是世界上一些最古老文明的发源…

transformer上手(4) —— 模型与分词器

1 模型 除了像之前使用 AutoModel 根据 checkpoint 自动加载模型以外,我们也可以直接使用模型对应的 Model 类,例如 BERT 对应的就是 BertModel: from transformers import BertModel model BertModel.from_pretrained("bert-base-ca…