你应该知道为什么需要内核

640?wx_fmt=png

不知道大家想过这个问题没有?为什么要有内核?如果没有内核有怎么样呢?

因为有了 unix 内核,有了 minix 后面又有了 Linux 内核,内核这个思想越来越根深蒂固,估计没学什么计算机知识的人都能侃出点所以然来。

在技术上来说,内核应该是连接硬件和应用程序的,说白了还是为应用服务,让应用程序更多的做自己的事情,所以说内核的时候,肯定是离不开驱动程序的,如果一个招聘的人说,我们需要一个内核开发工程师,如果一个不懂驱动开发,不懂电子硬件知识的人,怎么可能做得好内核开发呢?

640?wx_fmt=png


我们使用计算机的时候,我们把手机或者电脑当座一个操作系统使用,打开QQ,打开微信,等等,但是对于应用程序来说,内核就是他的操作系统了,他可以通过系统调用来完成各种工作,比如我们获取一个文件的内容,我会调用 open ,read 来获取里面的信息。

如果很多人使用一个电脑,这个时候用电脑来比喻可能不是很恰当,用服务器来比喻吧,我们小组的几个工程师都在编译自己的代码,内核其实就是一个多任务协调者,对进程进行资源协调,让他们假装认为就只有自己一个人在独享计算机资源。

640?wx_fmt=png


微内核和宏内核

这个就有点搞笑了,林纳斯和minix的发明者因为这个还吵了一架,minix 发明者说微内核才是先进的,当然被林纳斯啪啪啪打脸了,打脸的原因不是说了什么话,而是林纳斯在宏内核上做了优化升级,而且现在的 linux 地位,足以秒杀minix几条街了。

微内核有点像中央集权的意思,就好像,一个打印机进程,你负责给中央CPU汇报就可以了,你不能跟其他藩王沟通,这样有可能你们会发生叛变,这个核心思想非常好,但是实践起来一团糟,当初BSD操作系统就想这么搞,结果搞了很多年,都没有做出一个稳定性良好的系统,思想先进不能落地也就只是空谈了。

宏内核就跟上面的相反了,负责内核模块的子系统之间是可以打电话的,他们是可以通过内核符号表来互相调用的,这样看起来耦合性会非常高,但是可惜的是,我们的林纳斯大神让他变成了现实,我们的Linux 系统就是用这样的思想完成了代码编写。

晚上随笔写了下,有笔误和错误的地方,请见谅哈~

640?wx_fmt=jpeg


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

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

相关文章

FTP 协议和 HTTP 协议的比较

参考:http://www.oschina.net/news/28162/http-vs-ftp 以下列出了一些两者的不同点: 1、HTTP协议是用来浏览网站的,而FTP是用来访问和传输文件的,FTP文件传输有点批量上传和维护网站的意思,而HTTP文件传输更多的是为终…

线程基础知识_Synchronized_ThreadAPI_自定义锁_获取线程运行时异常

Synchronized synchronized包含monitor enter, monitor exit 2个JVM指令(遵循happens-before原则), 执行monitor exit之前必须存在monitor enter指令. 由于每个对象与一个monitor产生关联, 线程执行monitor enter时, 就会获取monitor的lock, monitor中存在计数器, 用于记录当前…

32位和64位系统区别及int字节数

一)64位系统和32位有什么区别? 1、64bit CPU拥有更大的寻址能力,最大支持到16GB内存,而32bit只支持4G内存 2、64位CPU一次可提取64位数据,比32位提高了一倍,理论上性能会提升1倍。但这是建立在64bit操作系…

在统计学中参数的含义是指_《统计学》名词解释及公式

章节主要内容学习要点1.1统计及其应用领域什么是统计学概念:统计学,描述统计,推断统计。统计的应用领域统计在工商管理中的应用。统计的其他应用领域。1.2数据的类型分类数据、顺序数据、数值型数据概念:分类数据&#xf…

2019深圳入户攻略

我上次说了,等我把户口办好了,我就把攻略写出来,给大家一个参考,今天刚好是我最后的一个步骤,去派出所把身份证给办了,好了,我以后就是深圳人了,来深圳快十年了,现在才真…

NIO之ByteBuffer_NIO之网络IO_与ChannelNetty初窥门径

NIO之ByteBuffer与Channel 传统IO:byte[] < inputStream < 文件 > outputStream > byte[] NIO:文件 > inputChannel <> buffer <> outputChannel > 文件文件 < inputChannel <> outputChannel > 文件文件复制, 并测试ByteBuffer常用…

ubuntu 12.04 samba 服务器搭建

为什么要搭建samba 服务器 我在 windows 下安装了个虚拟机,然后想两边同步下资料,原来虚拟机是可以共享文件的,可是不知道什么见鬼了,就是不行,没办法了,我只好拿出我的杀手锏,安装 samba 安装 samba 工具 安装samba:sudo apt-get install samba 安装smbclient:sud…

mp4 拍摄时间如何看_时间不多了,如何备考期末最有效?这些复习技巧,看了你就会了...

再过不到一个月就要过年了&#xff0c;虽然天气越来越冷&#xff0c;但是有阻挡不了年度大戏“期末考”的前进步伐&#xff0c;尤其是对于紧张复习之中的高考备考生而言&#xff0c;高三第一学期的期末考就可以算是对自己第一轮复习的一个检验&#xff0c;如果成绩不理想&#…

vue实战学习第二天

1.怎么运行别人的项目 步骤一&#xff1a;搭建脚手架&#xff1a;npm i -g vue-cli 步骤二&#xff1a;vue init webpack 不要一直默认回车&#xff0c;去除一些不必要的依赖&#xff0c;减少代码的编写难度 步骤三&#xff1a;下载依赖的文件 npm i &#xff08;可能有些人会…

Netty之自定义RPC

需求分析 使用netty实现方法远程调用, 在client调用本地接口中方法时, 使用反射进行远程调用, server执行完结果后, 将执行结果进行封装, 发送到client RPC调用模型: 1. 服务消费方(client)以本地调用方式调用服务 2. client stub 接收到调用后负责将方法、参数等封装成能够…

vue垂直布局_vue实现长图垂直居上 vue实现短图垂直居中

大致效果如下图&#xff0c;只考虑垂直方向。长图可以通过滚动条看&#xff0c;短图居中效果&#xff0c;布局合理html代码(vue作用域内)&#xff1a;css代码&#xff1a;.box{height: 100%;//如高度等于网页高度overflow: auto;display: flex;flex-direction: column;justify-…

samba 服务器搭建

为什么要搭建samba 服务器我在 windows 下安装了个虚拟机&#xff0c;然后想两边同步下资料&#xff0c;原来虚拟机是可以共享文件的&#xff0c;可是不知道什么见鬼了&#xff0c;就是不行&#xff0c;没办法了&#xff0c;我只好拿出我的杀手锏&#xff0c;安装 samba。这个在…

Codis的源码编译生成tar包

一、Go环境的安装 1、下载地址 https://golang.org/dl/2、解压 tar -zxvf go1.7.1.linux-amd64.tar.gz -C /usr/local 3、修改配置文件   vi /etc/profile     export GOROOT/usr/local/go     export GOPATH/usr/local/data/go     export PATH$PATH:$GOROOT/b…

一直想说的,技术职业化

最近后台有人一直跟我说&#xff0c;为什么不好好写一篇技术比较强的文章&#xff0c;说实话&#xff0c;最近时间比较紧张&#xff0c;早上 8 点出门&#xff0c;晚上12点左右到家。刚好今天整理了一个不错文章的列表&#xff0c;明天发出来&#xff0c;希望给学习的同学们有点…

MyBatis初级入门及常见问题

入门案例 创建maven工程 项目目录结构: 首先在maven的pom.xml导入Mybatis和MySQL的依赖坐标: <dependencies><!--Junit测试依赖--><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.11</…

科沃斯机器人招股_科沃斯机器人首次公开发行A股股票的初步询价公告

随着科沃斯机器人公开发行A股股票&#xff0c;朋友圈都有谈论它的声音。那么小编就跟一跟风来给各位详细介绍一下目前科沃斯机器人首次公开发行A股股票的价格有关内容。希望下文能过给你们带来更多的收获哦。首次公开发行A股股票发行安排及初步询价公告保荐人(主承销商)&#x…

读书笔记:Information Architecture for the World Wide Web, 3rd Edition 北极熊 第一部分 1-3...

Introducing Information Architecture 信息架构简介 Chapter 1 Defining Information Architecture 信息架构的意义&#xff08;我们盖房子&#xff0c;之后&#xff0c;房子影响我们&#xff09; A DefinitionTablets, Scrolls, Books, and Libraries 石板、卷轴、书籍&#…

Mybatis执行流程分析_自定义简易Mybatis框架

自定义简易Mybatis框架 Mybatis执行流程分析 Mybatis代码编写流程: Mybatis配置文件加载过程: 需求分析及技术概述 根据上述的功能结构图, 得出如下需求: 1. 需要具有配置文件加载模块. 2. 支持使用构建者进行SessionFactory构建. 3. 支持使用工厂模式构建Session对象. 4.…

给大家推荐一个优质Linux内核技术公众号-Linux阅码场

作为一个Linux 技术公众号的作者&#xff0c;我觉得有义务推荐优秀的公众号&#xff0c;推广内容&#xff0c;希望对大家的学习有所帮助~Linux阅码场是一个专注Linux内核和系统编程与调试调优技术的公众号&#xff0c;它的文章云集了国内众多知名企业一线工程师的心得。无论你工…

图数据库_ONgDB图数据库与Spark的集成

快速探索图数据与图计算图计算是研究客观世界当中的任何事物和事物之间的关系&#xff0c;对其进行完整的刻划、计算和分析的一门技术。图计算依赖底于底层图数据模型&#xff0c;在图数据模型基础上计算分析Spark是一个非常流行且成熟稳定的计算引擎。下面文章从ONgDB与Spark的…