操作系统面试题

计算机的组成模型?
这个模型提出的计算机的5个基本组成部分?
输入输出设备,存储器通过什么和CPU进行数据交互?
总线有哪三种?
计算机存储数据寻址数据的内存单位是多少?
32位操作系统和64位操作系统到底什么区别?
1、CPU运算器一次可以运算多少字节数据
2、寄存器一次最多存储多少字节数据
有内存为什么还需要寄存器呢?
内存距离CPU太远,寄存器就在CPU中,运算获取数据更快。
CPU的三级缓存
缓存一致性出现的原因,问题和解决办法?
写回是CPU写入数据的方法,是怎么写回的?
MESI协议解决缓存一致性。

任务调度
linux调度的对象是什么?
task_struct

软中断和硬中断
应该先说硬中断再说软中断
什么是中断,中断是谁产生的,谁接收中断并进行什么操作?
网卡接收到数据包,将数据包方法内存之后,通过什么方法通知内核有数据包到达?
硬件触发中断——操作系统执行前部分的硬中断处理程序,快速处理中断——内核触发软中断执行软中断处理程序,处理本次中断没完成的处理。
也就是说由硬件产生的一个中断要分两部分中断处理程序完成。

malloc中brk和mmap内存开辟和释放的区别
free怎么知道要释放多大的内存 16

当进程运行CPU填充页表分配物理内存时,如果没有足够的空闲物理内存,内核会怎么办?
后台线程异步回收——不够——内核直接听不回收——还是不够——OOM
哪些物理内存可以被回收

在4GB的物理内存上申请8GB的内存会怎么样?
首先要明白申请的是什么内存,再谈能不能申请
32位系统可以分配吗,64位呢?为什么系统只有4G物理内存,64位系统却可以分配呢?
linux怎么查看一个进程使用的虚拟内存的大小和物理内存的大小
那64位系统可以申请128TB内存吗?
不一定,还得看你自己的物理内存够不够大,因为申请虚拟内存时也会使用到物理内存,如果物理内存使用完了还没有分配好虚拟内存就会触发OOM。
swap机制
swap out
swap in
申请的虚拟内存大于物理内存也没关系,只要使用虚拟内存时不是全部使用,映射的物理内存足够就不会出现问题,如果映射的物理内存不够就会OOM。

你知道为什么磁盘沙沙响吗?
IO频率太高

mysql从磁盘读取的页存储在buffer pool中,linux从磁盘读取的页存储在哪?
什么是预读原理:
本来只需要读一个页,但是这个页附近的多个页都一起读了。
linux和mysql都是以页作为IO的单位。
linux和mysql缓存污染的相同点和区别。

PCB是什么
进程切换时,CPU此时的上下文保存在哪?
CPU上下文切换需要切换至少哪两部分:
CPU寄存器和程序计数器。
CPU上下文切换包括存储和读取两个过程。

CPU上下文切换分为哪三种:
进程的上下文切换
线程上下文切换
中断上下文切换

进程切换和线程切换的区别:
1,进程切换要切换的资源很多,用户空间的虚拟内存,变量等,内核空间的资源。
2,线程切换如果是不同进行的线程就是进程切换,如果是同一个进程的线程,只要切换线程私有数据,切换简单。

线程的切换分为同进程线程切换和不同进程线程切换
进程每发生一次状态转换,操作系统就会发生一次调度

自旋锁的实现原理,怎么编程实现?
原子变量值变换的函数参数——指针,新值

悲观锁和乐观锁的区别:
乐观锁:先改数据,该完之后再检查其他线程有没有改动这个数据,比如git的版本对比。
乐观锁其实没有加锁

秒速一下键盘输入字母A到显示A的整个过程
什么是DMA技术,DMA作为CPU和各种设备控制器的中间层,解决了CPU自己拷贝数据的过程。
通过两次中断告诉CPU准备好的数据。
为什么要有DMA技术?
CPU一次IO的过程
什么是零拷贝技术:
就是不需要再将数据从内核缓冲区拷贝到用户缓冲区

线程池的运行原理
线程池的运行过程
IO密集型和CPU密集型的区别
IO密集型的线程数配置过多会对CPU有什么影响。

什么是CPU密集型,什么是I/O密集型

IO多路复用解决了什么问题

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

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

相关文章

编译链接实战(14)rdynamic选项的用途

文章目录 rdynamic作用栈回溯 rdynamic作用 看下gcc man手册的解释: Pass the flag -export-dynamic to the ELF linker, on targets that support it. This instructs the linker to add all symbols, not onlyused ones, to the dynamic symbol table. This opti…

[杂谈]-2023年实现M2M的技术有哪些?

2023年实现M2M的技术有哪些? 文章目录 2023年实现M2M的技术有哪些?1、寻找连接2、M2M与IoT3、流行的 M2M 协议 在当今的数字世界中,机器对机器 (M2M) 正在迅速成为标准。 M2M 包括使联网设备能够交换数据或信息的任何技术。 它可以是有线或无…

Docker的优势

Docker是一种开源的容器化平台,提供了一种将应用程序、库和其它依赖项封装在容器中的方法。以下是Docker的基本概念和优势: 基本概念: 镜像:一个Docker镜像是一个可运行的软件包,包括应用程序、库和其它依赖项。它是D…

AUTOSAR规范与ECU软件开发(实践篇)7.10MCAL模块配置方法及常用接口函数介绍之Base与Resource的配置

目录 1、前言 2 、Base与Resource模块 1、前言 本例程的硬件平台为MPC5744P开发板,主要配置MPC5744P的mcal的每个模块的配置,如要配置NXP的MCU之S32k324的例程请参考: 2 、Base与Resource模块 Base与Resource这两个模块与具体功能无关&…

2023应届生java面试紧张失误之一:CAS口误说成开心锁-笑坏面试官

源于:XX网,如果冒犯,表示歉意 面试官:什么是CAS 我:这个简单,开心锁 面试官:WTF? 我:一脸自信,对,就是这个 面试官:哈哈大笑&#xff…

【DFS】1905. 统计子岛屿

1905. 统计子岛屿 解题思路 如果两个岛屿的点不一样 说明grid2这个岛屿一定不是子岛屿 然后淹没i j 以及相邻的土地现在grid2 剩下的岛屿 全部都是子岛屿 计算岛屿的数量 dfs计算陆地数量 class Solution {public int countSubIslands(int[][] grid1, int[][] grid2) {int m …

【配置环境】Visual Studio 配置 OpenCV

目录 一,环境 二,下载和配置 OpenCV 三,创建一个 Visual Studio 项目 四,配置 Visual Studio 项目 五,编写并编译 OpenCV 程序 六,解决CMake编译OpenCV报的错误 一,环境 Windows 11 家庭中…

哲寻面试(部分)(未完全解析)

睡过头了,挺不好意思的 Mysql要实现没有指定数据时自动插入,否则自动更新,应该怎么做?newBing: 使用 insert into … on duplicate key update … 语句,这种方法要求插入的字段有唯一索引或主键 网络传输的大小端序是…

Ubuntu下安装nginx服务,实现通过URL读取ubuntu下图片

1.安装nginx包 sudo apt update sudo apt install nginx 2.安装完成后系统自动启动nginx sudo systemctl status nginx 查看nginx服务的状态 3.开启防火墙上的HTTP服务端口80 sudo ufw allow ‘Nginx HTTP’ 4.在浏览器输入 http://localhost 看到nginx的欢迎界面,…

【Unity3D】UI Toolkit简介

1 前言 UI Toolkit 是一种基于 Web 技术的 GUI 框架,是为了解决 UGUI 效率问题而设计的新一代 UI 系统(UGUI 的介绍详见→UGUI概述)。与 UGUI 不同,UI Toolkit 没有采用 GameObject 的方式,而是参考了 Web 技术的 XML …

stable diffusion实践操作-随机种子seed

系列文章目录 stable diffusion实践操作 文章目录 系列文章目录前言一、seed是什么?二、使用步骤1.多批次随机生成多张图片2.提取图片seed3. 根据seed 再次培养4 seed使用4.1 复原别人图4.1 轻微修改 三、差异随机种子1. webUI位置2. 什么是差异随机种子3.使用差异…

什么是jvm

一、初识JVM(虚拟机) JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。 引入Jav…

Kubernetes技术--使用kubeadm搭建高可用的K8s集群(贴近实际环境)

1.高可用k8s集群架构(多master) 2.安装硬件要求 一台或多台机器,操作系统 CentOS7.x-86_x64 硬件配置:2GB或更多RAM,2个CPU或更多CPU,硬盘30GB或更多 注: 这里属于教学环境,所以使用三台虚拟机模拟实现。 3.部署规划 4.部署前准备 (1).关闭防火墙 systemctl stop fi…

BTC价格预测:灰度突如其来的胜利是否会打破“九月魔咒”?

加密市场即将进入第三季度交易的最后阶段,由于9月份被视为是比特币的下跌时期,大多数投资者都预测加密货币之王将会进一步下跌。然而,事情却发生了逆转,灰度突如其来的胜利是否会打破“九月魔咒”? 受该事件影响&#…

2023年最新一面二面王炸java八股文面试题--持续更新

阿里,飞猪,比亚迪,海康,极兔快递,跨越速运,平安壹钱包,小天才,信泰寿险,招银网络,同花顺等 一面:技术面 1. 一面首先简单了解下你的项目经历&…

python实现的一些方法,可以直接拿来用的那种

1、日期生成 很多时候我们需要批量生成日期,方法有很多,这里分享两段代码 获取过去 N 天的日期: import datetimedef get_nday_list(n):before_n_days []for i in range(1, n 1)[::-1]:before_n_days.append(str(datetime.date.today() …

Flutter:自定义组件的上下左右弹出层

背景 最近要使用Flutter实现一个下拉菜单,需求就是,在当前组件下点击,其下方弹出一个菜单选项,如下图所示: 实现起来,貌似没什么障碍,在Flutter中本身就提供了弹出层PopupMenuButton组件和show…

BlockUI专栏目录

文章作者:里海 来源网站:王牌飞行员_里海_里海NX二次开发3000例,里海BlockUI专栏,C\C-CSDN博客 简介: BlockUI是一个设计NX对话框的工具,是官方推荐使用的对话框制作方法,能够与NX自身风格相统一,并且在实际…

微服务-sentinel详解

文章目录 一、前言二、知识点主要构成1、sentinel基本概念1.1、资源1.2、规则 2、sentinel的基本功能2.1、流量控制2.2、熔断降级 3、控制台安装3.1、官网下载jar包3.2、启动控制台 4、项目集成 sentinel4.1、依赖配置4.2、配置文件中配置sentinel控制台地址信息4.3、配置流控4…