Windows 内核和 Linux 内核谁更复杂?

 Windows 内核和 Linux 内核谁更复杂?


在开始前我有一些资料,是我根据网友给的问题精心整理了一份「Linux的资料从专业入门到高级教程」,

点个关注在评论区回复“888”之后私信回复“888”,全部无偿共享给大家!!!

好的设计会越来越趋同. Linux之前没有多线程, 没有PnP后来慢慢也加入了. Windows之前终端做得差, 也在慢慢改进.

所以你会发现Linux和Windows起点不同, 却越来越接近, 越来越像. 你要说哪个更复杂. 这个问题其实是有答案的, 如果说的是内核最核心的部分, 比如CPU管理, 内存管理, IO管理, Windows和Linux应该是非常接近的. 代码量应该也不会有非常大的区别. 但是如果再加上其它的部分, 很快就能有答案.

Windows是一个商业操作系统, 虽然在设计之初, 它支持很多硬件平台, 但事实是出于商业考虑,它在相当长的时间里只支持Intel的硬件平台, 在这个期间, Windows的开发人员也学会偷懒了, 他们只会增加Intel平台的代码, 只做相应的测试. 而Linux则不同, 它面临的环境则复杂得多, 简单到单片机, 复杂到N核的服务器, NUMA架构, 各种CPU, 它都能胜任. 外设硬件上, 它支持的也非常之多, 因为Linux是宏内核的设计, 所以很多硬件的驱动程序也是合并到内核代码树中的. 所以如果你从这个角度来说, Linux内核的代码量应该比Winows要大得多.6998093c8c520a451f0c81ad4ebf52e3.jpeg

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

nginx: mac使用vscode本地调试nginx

vscode安装c语言插件 在extensions中搜索"c/c", 将前3个插件都安装 在extensions中搜索"cmake", 将前2个插件都安装 下载nginx源码 nginx 源码: https://github.com/nginx/nginx 编译运行Nginx 修改 /auto/cc/conf 文件&…

【Linux C | 网络编程】多播的概念、多播地址、UDP实现多播的C语言例子

😁博客主页😁:🚀https://blog.csdn.net/wkd_007🚀 🤑博客内容🤑:🍭嵌入式开发、Linux、C语言、C、数据结构、音视频🍭 🤣本文内容🤣&a…

数据结构—KMP 算法:

算法思想: KMP算法实现寻找主串中子串的位置时,主串指针地址不回退,在比对过程中串仅仅遍历一次,子串的回退可以是与当前主串可重新最多匹配的地址位置。 BF与KMP算法比对: KMP BF 主串不用回退 主串回退&#xf…

新规正式发布 | 百度深度参编《生成式人工智能服务安全基本要求》

2024年2月29日,全国网络安全标准化技术委员会( TC260 )正式发布《生成式人工智能服务安全基本要求》(以下简称《基本要求》)。《基本要求》规定了生成式人工智能服务在安全方面的基本要求,包括语料安全、模…

【three.js】22. Imported Models导入模型

22. Imported Models导入模型 介绍 Three.js 可以让你创建很多原始几何体,但是当涉及到更复杂的形状时,我们最好使用专用的 3D 软件建模。 在本课中,我们将使用已经制作好的模型,但我们将在以后的课程中学习如何完全在 3D 软件中…

强化学习中动作价值函数和状态价值函数的联系区别?

在强化学习中,动作价值函数(Q函数)和状态价值函数(V函数)都是值函数,用于评估在不同状态或状态动作对下的值。它们之间存在联系,但有一些区别: 动作价值函数(Q函数&#…

STM32CubeIDE基础学习-相关工程文件介绍

STM32CubeIDE基础学习-相关工程文件介绍 前言 保存的工程要大致了解熟悉里面的文件代表的是什么意思、干什么用的,这样才方便后面使用或移植代码等。 当成功创建工程后,打开基础工程保存路径后可以看到所有文件如下图所示: 如果工程越复杂&a…

DDR ECC的使用

DDR ECC的使用 DDR注入错误测试 DDR先刷一遍0,ECC_STATUS,ECC_ON_OF初始化为0,数据注入错误,写DDR,读DDR。 ECC_STATUS 该寄存器保存有关可纠正和不可纠正错误发生的信息。状态位独立地设置为1,表示每种错…

MySQL--优化(索引--聚簇和非聚簇索引)

MySQL–优化(索引–聚簇和非聚簇索引) 定位慢查询SQL执行计划索引 存储引擎索引底层数据结构聚簇和非聚簇索引索引创建原则索引失效场景 SQL优化经验 一、聚簇索引 聚簇索引:将数据存储与索引放到了一块,索引结构的叶子节点保存…

鸿蒙 自定义弹窗对CustomDialogController二次封装

前言: 鸿蒙官方提供了自定义customdialog,调用代码很臃肿,必须在当前页面创建customDialogController,否则无法正常弹窗dialog 解决方案:目前就定义了两种类型的dialog 具体代码如下: 1. 用于代理dialog的…

从安卓转战月薪6万的鸿蒙原来这么简单

近年来,各家大厂正在积极布局鸿蒙客户端开发,鸿蒙操作系统备受瞩目,不少安卓开发者纷纷转战鸿蒙,并取得了可观的经济回报。本文将为大家揭示,从安卓转战鸿蒙并获得月薪6万的简单之道,希望能给正在考虑转型的…

亿发解析:互联网浪潮席卷,新零售崛起成为未来十年无可忽视之势

随着人们消费能力和水平的提高,消费者对产品质量的关注已不再仅限于产品本身,而更加强调产品质量与消费服务体验的双重重要性。随着互联网、移动支付、快递物流等技术的发展,这些技术催生了零售领域的新模式、新经济和新业态,为新…

四信5G FWA家族再添猛将,让你一眼沦陷的5G CPE来了!

随着全球5G基础设施建设的日益完善,千行百业迎来巨大变革,越来越多的场景因为5G网络实现跨越式升级,人们生活早已离不开超高速的互联网连接。 5G FWA作为弥合光纤欠发达地区数字鸿沟挑战的“杀手级应用”,摆脱对传统有线网络基础设…

图形报表ECharts

1、 ECharts简介 ECharts缩写来自Enterprise Charts,商业级数据图表,是百度的一个开源的使用 JavaScript实现的数据可视化工具,可以流畅的运行在 PC 和移动设备上,兼容当前绝大 部分浏览器(IE8/9/10/11,Ch…

ubuntu下使用MATLAB过程中的若干问题

ubuntu版本:Ubuntu 20.04 内核:Linux 5.15.0-97-generic MATALB版本:MATLAB R2022b 问题1:运行脚本时闪退 报错信息: Inconsistency detected by ld.so: ../elf/dl-tls.c: 517: _dl_allocate_tls_init: Assertion l…

vue-cli项目因为webpack版本不兼容运行后报错

vue-cli项目运行后报错: Error: Rule can only have one resource source (provided resource and test include exclude) in {"exclude": [null],"use": [{"loader": "G:\\CustomerDay\\customerday\\node_modules\\cache-l…

制片管理工具:提高制片效率的必备工具

一、什么是制片管理工具 制片管理工具是一种为制片人提供支持和协助的软件或工具,并提供一种集中管理制作进度、任务分配、成本预算、资源管理和进度跟踪的方式。它可以帮助制片人在项目的开发、制作和发布方面更有效地进行规划和监督,确保整个流程能够…

redis-集群 原生部署和工具自动部署

什么redis集群? redis集群是一个提供在多个redis节点之间共享数据的程序集。它并不像redis主从复制模式那样仅提供一个master节点来提供写服务,而是会提供多个master节点来提供写服务,每个master节点中存储的数据都不一样,这些数据…

buildadmim生成代码时让菜单有层级

当我们使用buildadmin生成代码的时候,在菜单的部分, 有时希望它生的是一个带有层级的菜单,有时候则想生成一个没有层级的菜单 like this 经过本人测试 如果我们要生成没有层级的菜单 我们可以在高级设置中的 相对位置处更改,同时…

O2O:Adaptive policy learning for offline-to-online reinforcement learning

AAAI2023 paper Introduction 传统Online RL需要智能体与环境进行海量交互,而Offline RL容易受限于数据集质量。因此本文提出一种O2O的自适应策略学习框架APL。APL在离线阶段悲观更新策略而在现阶段乐观更新。进一步,基于框架分别提出value-based 以及…