首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏txp玩Linux

    Linux 内核架构分析

    硬件控制层:该子系统由Linux安装中的所有可能的物理设备组成;例如,CPU,内存硬件,硬盘和网络硬件都是该子系统的成员 2.内核架构 2.1 内核之作用 Linux内核为用户进程提供了虚拟机接口。 3.各子系统架构分析 3.1 进程调度器架构 进程调度器是Linux内核中最重要的子系统。其目的是控制对计算机CPU的访问。这不仅包括用户进程的访问,还包括其他内核子系统的访问。 CPU负责中断当前正在执行的进程,并允许内核调度另一个进程。 3.2 内存管理器架构 内存管理器子系统负责控制对硬件内存资源的进程访问。 3.3 虚拟文件系统架构 虚拟文件系统旨在提供存储在硬件设备上的数据的一致视图。计算机中几乎所有的硬件设备都是使用通用设备驱动程序接口表示的。 3.4 网络接口层架构 网络子系统允许Linux系统通过网络连接到其他系统。支持许多可能的硬件设备,以及可以使用的许多网络协议。

    3.4K30编辑于 2022-03-21
  • 来自专栏linux内核源码学习

    linux内核整体架构

    内核与微内核架构内核:所有的内核代码都编译成二进制文件并运行在一个大内核地址空间中,整体架构如下:图片微内核:把操作系统分成多个独立的功能模块,每个功能模块之间的访问需要通过“消息”来完成,因此效率没有宏内核架构高 ,并且支持动态的加载和卸载(例如许多设备的驱动程序),这一点上宏内核架构就做不到,宏内核类似于静态编译的结果而不支持动态取舍。 linux内核架构图片OS允许CPU运行在用户态和内核态,而 linux 使用ring0和ring3两种模式实现内核态和用户态。 体系结构Arch抽象层:linux内核支持多种架构,例如ARM,X86等,目前已经支持几十种体系结构,而Arch抽象层抹去了不同架构之间的硬件差异,做了一层统一的抽象。 在linux内核5.6.18版本的源码中,直接把不同架构做一个分目录操作,以提供对各个架构的支持。图片进程调度模块:OS使用进程调度器支持多进程并发。

    1.2K30编辑于 2022-11-12
  • 来自专栏人人都是极客

    Linux 内核系统架构

    这篇文章从进程调度,内存管理,设备驱动,文件系统,网络等方面讲解Linux内核系统架构。 Linux的系统架构是一个经典的设计,它优秀的分层和模块化,融合了数量繁多的设备和不同的物理架构,让世界各地的内核开发者能够高效并行工作。先来看看Linus在多年前公开Linux的邮件。 这篇文章通过对内核主要模块的介绍,希望能为大家寻找这些问题的答案起一个抛砖引玉的作用。实际上,建议每一个希望成为技术专家的人都读一遍Linux的源代码。 先来看看Linux内核一个高阶架构图: ? Linux系统架构架构非常清晰,从硬件层,硬件抽象层,内核基础模块(进程调度,内存管理,网络协议栈等)到应用层,这个基本上也是各类软硬件结合的系统架构的基础设计,例如物联网系统(从单片机,MCU等小型嵌入式系统 网络实现分层图 本文先介绍到这,对技术感兴趣的朋友可以关注 "从零开始学架构",后续也会继续推出对各类架构设计的介绍,希望和大家多多交流,也欢迎大家留言。

    5.7K72发布于 2019-09-17
  • 来自专栏架构进阶

    内核架构(Microkernel Architecture)

    一 背景 最近在讨论产品架构时,提到了微内核架构设计。之前对这个概念有过了解,但没有深入研究。借此机会对微内核架构做一次相对系统、全面的了解,作为架构知识储备。 但如果深入一些,能够把插件化架构阐述清楚,并能够借鉴思想,对我们在做的工作进行优化,尤其是在架构设计上并不简单。 2.2 来源 微内核设计其实就是插件体系。 我们都知道,操作系统内核诞生得比较早,所以插件化最早被用在内核设计上,于是就有了微内核设计这一称呼。—— 内容来自 阿里技术,文章:什么是微内核架构设计。 三 微内核架构设计 3.1 溯源 微内核架构设计(Microkernel Architecture Style)这个关键词,百度中可查到的基本都是转载,或阿里技术公众号发布的文章。 3.2 微内核架构风格-拓扑结构 从下图可见,微内核架构的拓扑结构由两部分组件组成:核心系统(core system)和插件模块(plug-in modules)。

    2.1K20发布于 2021-10-21
  • 来自专栏全栈程序员必看

    Linux内核的整体架构

    前言 本文是“Linux内核分析”系列文章的第一篇,会以内核的核心功能为出发点,描述Linux内核的整体架构,以及架构之下主要的软件子系统。 Linux内核的核心功能 如下图所示,Linux内核只是Linux操作系统一部分。 所以为了管理这些设备,Linux内核提出了如下的架构。 3. Linux内核的整体架构 3.1 整体架构和子系统划分 上图说明了Linux内核的整体架构。 其它非核心代码,例如库文件(因为Linux内核是一个自包含的内核,即内核不依赖其它的任何软件,自己就可以编译通过)、固件集合、KVM(虚拟机技术)等 3. 附录 5.1 参考资料 第3章各个子系统的架构图,拷贝自如下的网页: http://oss.org.cn/ossdocs/linux/kernel/a1/index.html 原创文章,转发请注明出处

    1.3K50编辑于 2022-09-15
  • 来自专栏韩曙亮的移动开发专栏

    【Linux 内核 内存管理】内存管理架构 ① ( 内存管理架构组成 | 用户空间 | 内核空间 | MMU 硬件 | Linux 内核架构层次 | Linux 系统调用接口 )

    文章目录 一、内存管理架构组成 ( 用户空间 | 内核空间 | MMU 硬件 ) 二、Linux 内核架构层次 三、Linux 系统调用接口 一、内存管理架构组成 ( 用户空间 | 内核空间 | MMU 硬件 ) ---- 内存管理架构 由 3 部分组成 : ① 用户空间 : 在 " 用户空间 " 中 , 使用 malloc 函数 申请 " 堆内存 " , 使用 free 函数 释放 " 堆内存 " ; ② 内核空间 : Linux 内核启动后 , 一直 驻留在内存 中 , 应用程序 不能 读写 内核空间数据 , 不能直接调用 内核源码 中的函数 ; 只能通过 " 系统调用 " 间接调用 内核函数 主要作用是 将 ” 虚拟内存地址 " 转为 " 物理内存地址 " ; " 内存管理单元 " , 英文名称是 " Memory Management Unit “ , 简称 ” MMU " ; 二、Linux 内核架构层次 ---- 整个操作系统 由 应用层 , Library Routine , 内核 , 硬件 组成 ; 层次架构如下 : Linux 内核 需要 " 管理硬件 " , 如 : CPU 处理器 , 内存

    10.3K40编辑于 2023-03-30
  • 来自专栏架构进阶

    内核架构(Microkernel Architecture)二

    一 简介 上一篇文章,我们介绍了微内核架构的概念、起源、拓扑结构,以及设计的关键问题。本篇将继续探讨微服务架构的更多细节。 常见的微内核具体实现有两种,一种是 OSGi,另一种是规则引擎,我们一一来进行分析。 从这个角度来说,我们可以理解为 OSGi 技术提供了一种面向服务的架构,它能使这些组件动态地发现对方,以达到低耦合,且耦合度可管理的效果。 三 规则引擎架构 3.1 简析 规则引擎从结构上来看,也属于微内核架构的一种具体实现,其中执行引擎可以看作是微内核,执行引擎解析配置好的业务流,执行其中的条件和规则,通过这种方式来支持业务的灵活多变。 3.3 规则引擎架构 图片来自文章:阿里架构师一文详解微内核架构,原来微内核这么简单

    1.4K30发布于 2021-10-22
  • 来自专栏韩曙亮的移动开发专栏

    【Linux 内核】宏内核与微内核架构 ( 操作系统需要满足的要素 | 宏内核 | 微内核 | Linux 内核动态加载机制 )

    文章目录 一、操作系统需要满足的要素 二、宏内核 三、微内核 四、Linux 内核动态加载机制 一、操作系统需要满足的要素 ---- 电脑上运行的 操作系统 , 是一个 软件 ; 设备管理 : 操作系统需要 ---- 宏内核 : 内核代码 编译成 二进制文件 , 内核 运行在 一个 大内核 地址空间 中 , 可以 直接 访问 , 调用 内核代码 , 这种内核优点是 效率高 , 性能强 ; 下图中 , 最上层是 " 系统调用 " , 中间是 " 宏内核 " , 最下方是 硬件层 ; 宏内核优点 : 设计简单 , 性能高 ; 三、微内核 ---- 微内核 : 将 操作系统 拆分成 多个 独立功能模块 , 这些 进行通信 , 微内核优点 : 稳定性好 , 实时性好 ; 微内核缺点 : 高度模块化 , 模块之间只能通过消息传递信息 , 效率低 ; 四、Linux 内核动态加载机制 ---- Linux 内核模块动态加载 , 必须 遵守规定的接口 , 来访问内核 , 这样 开发内核模块 , 变得 更加容易 , 方便 ; 与平台无关 : 内核模块 可以 设计成 与 平台无关的 模块 , 如 : 文件系统 ;

    5.4K30编辑于 2023-03-30
  • 来自专栏用户10025783的专栏

    探究Linux Kernel内核架构,让你成为真正的内核专家

    一、前言 本文是“Linux内核分析”系列文章的第一篇,会以内核的核心功能为出发点,描述Linux内核的整体架构,以及架构之下主要的软件子系统。 所以为了管理这些设备,Linux内核提出了如下的架构。 三、内核架构 3.1内核之作用 Linux内核为用户进程提供了虚拟机接口。 前100名进群领取,额外赠送一份价值699的内核资料包(含视频教程、电子书、实战项目及代码) 四、各子系统架构分析 4.1进程调度器架构 进程调度器是Linux内核中最重要的子系统。 CPU负责中断当前正在执行的进程,并允许内核调度另一个进程。 4.2内存管理器架构 内存管理器子系统负责控制对硬件内存资源的进程访问。 4.4网络接口层架构 网络子系统允许Linux系统通过网络连接到其他系统。支持许多可能的硬件设备,以及可以使用的许多网络协议。

    1.7K10编辑于 2023-08-08
  • OpenVela 架构剖析:从内核到应用

    它支持多种硬件架构(如ARM32、ARM64、Risc-V等)和广泛的硬件平台,能够灵活适应各种物联网应用场景。 二、 内核层 2.1. OpenVela架构内核基础 OpenVela架构内核层基于Apache NuttX构建,这是一个以小巧、高效和可定制性著称的实时操作系统,常被誉为“Tiny Linux”。 内核层的主要职责 在OpenVela架构中,内核层扮演着至关重要的角色。它负责处理硬件设备的底层操作,包括但不限于: 中断处理:及时响应并处理来自硬件设备的中断信号,确保系统的实时性和稳定性。 OpenVela架构内核层基于Apache NuttX构建,提供了基本的系统服务和资源管理功能,并负责处理硬件设备的底层操作。 Vela:百度百科中对 Vela 系统进行了介绍,包括其开源情况、系统架构、技术特点等,涵盖了 OpenVela 内核基于 Apache NuttX、高度可扩展性、成熟的异构计算支持、标准兼容和高可移植性

    14910编辑于 2026-01-21
  • 来自专栏明明如月的技术专栏

    软考高级架构师:微内核和单体内核

    一、AI 讲解 微内核和单体内核是操作系统内核的两种架构,它们在设计和功能实现上有很大的不同。为了更好地理解这两种内核,我们可以把操作系统比作一个大公司,而内核就是公司管理层的管理方式。 单体内核 单体内核就像一个大公司里的“集权管理”。所有重要的功能和服务都集中在一个大办公室里,由几位高层管理者直接管理和执行。 缺点: 可靠性低:如果内核中的一个部分出问题,整个系统可能会崩溃。 扩展性差:修改或增加新功能可能会影响整个系统的稳定性,需要重新编译整个内核。 微内核内核则像是一个大公司里的“分权管理”。公司核心管理层只处理最基本的管理任务,而将其他任务分配给不同的部门或子公司处理。 举例 单体内核:像Linux这样的操作系统内核就是典型的单体内核。它将所有核心功能都集成在一个大的模块中。 微内核:Mach内核是微内核的一个典型例子。它只处理基本功能,其他服务都是独立的进程。

    47300编辑于 2024-05-25
  • 来自专栏JAVA杂谈

    一文读懂微内核架构

    什么是微内核架构? 微内核是一种典型的架构模式 ,区别于普通的设计模式,架构模式是一种高层模式,用于描述系统级的结构组成、相互关系及相关约束。 微内核架构在开源框架中的应用非常广泛,比如常见的 ShardingSphere 还有Dubbo都实现了自己的微内核架构。 那么,在介绍什么是微内核架构之前,我们有必要先阐述这些开源框架会使用微内核架构的原因。 为什么要使用微内核架构? 微内核架构本质上是为了提高系统的扩展性 。 微内核架构模式为这种实现扩展性的思路提供了架构设计上的支持,ShardingSphere 基于微内核架构实现了高度的扩展性。 在介绍如何实现微内核架构之前,我们先对微内核架构的具体组成结构和基本原理做简要的阐述。 什么是微内核架构? 从组成结构上讲, 微内核架构包含两部分组件:内核系统和插件 。

    3.7K10发布于 2021-01-04
  • 来自专栏闲余说

    架构设计 11-可扩展架构之微内核架构

    导读:《架构设计》系列为极客时间李运华老师《从0开始学架构》课程笔记。本文为第十一部分。主要介绍了如何面向功能拆分架构,首先介绍了微内核架构的基本架构设计,以及几种常见架构的实现与特点。 最后分享了微内核架构典型开源规则引擎 JBoss Drools。 现在我们谈论 OSGi,已经和嵌入式应用关联不大了,更多是将 OSGi 当作一个微内核架构模式。 逻辑架构 模块层(Module 层) 模块层实现插件管理功能。 规则引擎架构 规则引擎从结构上来看也属于微内核架构的一种具体实现,其中执行引擎可以看作是微内核,执行引擎解析配置好的业务流,执行其中的条件和规则,通过这种方式来支持业务的灵活多变。 实现 插件管理 规则引擎中的规则就是微内核架构的插件,引擎就是微内核架构内核。规则可以被引擎加载和执行。 规则引擎架构中,规则一般保存在规则库中,通常使用数据库来存储。

    1K20编辑于 2022-08-19
  • 来自专栏高性能服务器开发

    什么是微内核架构设计?

    导读:作为一名Java程序员,相信同学们都听说过微内核架构设计,也有自己的理解。那么微内核是如何被提出来的?微内核在操作系统内核的设计中又有什么作用? 本文从插件化(Plug-in)架构的角度来诠释微内核架构设计,通过微内核架构和微服务架构的对比,分享其对微服务设计的参考意义。 但是如果我说微内核其实就是插件化(Plug-in)架构,你一定会一脸疑惑,“你居然向Java程序员解释什么是插件化架构? 二 插件化(Plug-in)架构设计 上面聊了微内核在操作系统内核设计中的作用,接下来我们就开始讨论更通用的插件化架构设计,毕竟这个词大家都明白。 当然在操作系统的内核设计中,一定是通过内核进行转发的,就是我们理解的总线架构内核负责协调各个进程间的通讯。

    1.8K20发布于 2021-01-03
  • 来自专栏sealyun

    基于云内核的未来云计算架构

    | 基于云内核的未来云计算架构 早期单机操作系统也是分层架构,后面才演化成今天的如 linux windows 的宏内核内核架构,云操作系统也会有类似发展趋势 以前都是单机应用,而现代应用几乎都是分布式应用 ,是否还需要 IaaS 这一层,PaaS SaaS 本质都是容器是否还需要去可以区分,这三层架构已经被击穿! 所以软件设计时的抽象能力就变得极重要,基于云内核架构设计的云操作系统也是高“内聚”的,通过扩展应用来扩展能力,而各应用之间是低耦合的。 | 内核架构云操作系统爆发时机 基于开源技术的云服务在侵蚀昂贵且强绑定的公有云的服务 现在可以发现公有云云原生领域提供的服务商业化做的好的几乎都是开源强相关的, 如基于 kubernetes 的云服务, 云原生侵蚀传统 IaaS 服务 基于虚拟机的业务增长速度已经远远赶不上云原生生态的发展速度了,基于 kubernetes 的云原生生态每年几倍甚至有些产品每年几十倍的增长,大量企业在从虚拟机架构往云原生架构迁移

    2K20编辑于 2022-12-07
  • 来自专栏混说Linux

    深度:一文看懂Linux内核!Linux内核架构和工作原理详解

    从应用程序的层面讲,应用程序与硬件没有联系,只与内核有联系,内核是应用程序知道的层次中的最底层。在实际工作中内核抽象了相关细节。 内核是一个资源管理程序。 内核就像一个库,提供了一组面向系统的命令。系统调用对于应用程序来说,就像调用普通函数一样。 4. 内核实现策略: 微内核。最基本的功能由中央内核(微内核)实现。 内核中的每一个函数都可以访问到内核中所有其他部分。目前支持模块的动态装卸(裁剪)。Linux内核就是基于这个策略实现的。 5. 哪些地方用到了内核机制? ▲ Linux内核体系结构 Linux内核的主要组件有:系统调用接口、进程管理、内存管理、虚拟文件系统、网络堆栈、设备驱动程序、硬件架构的相关代码。 ,用户的应用程序,C库; (2)内核空间:内核空间包括,系统调用,内核,以及与平台架构相关的代码。

    4.3K33编辑于 2022-11-18
  • 来自专栏明明如月的技术专栏

    软考高级架构师: AI 通俗讲解宏内核和微内核

    在讲解宏内核和微内核的区别之前,我们可以用一个通俗的例子来理解:想象你的电脑是一家大公司,而内核(操作系统的核心部分)是这家公司的管理层。 在操作系统中,宏内核负责处理包括内存管理、文件系统、设备驱动、网络通信等所有的核心功能。它将这些功能直接集成到内核中,不需要太多的跨服务调用。 微内核(Microkernel) 微内核就像是一位只负责核心决策的CEO,而其他所有具体事务都由不同的部门经理负责。 在操作系统中,微内核的方法是只在内核中保留最基本的服务,如最低级的内存管理和进程通信,而像文件系统、设备驱动等则运行在用户空间。 总结来说,宏内核和微内核的设计哲学反映了在易管理性与性能之间的权衡。

    52100编辑于 2024-05-25
  • 来自专栏程序猿的那点事

    深度:一文看懂Linux内核!Linux内核架构和工作原理详解

    4.内核就像一个库,提供了一组面向系统的命令。系统调用对于应用程序来说,就像调用普通函数一样。 内核实现策略: 1.微内核。最基本的功能由中央内核(微内核)实现。 图2 Linux内核体系结构 Linux内核的主要组件有:系统调用接口、进程管理、内存管理、虚拟文件系统、网络堆栈、设备驱动程序、硬件架构的相关代码。 ,用户的应用程序,C库 (2)内核空间:内核空间包括,系统调用,内核,以及与平台架构相关的代码 ? 书上介绍这些子系统的设计和实现的时候,我们读过了,也就知道了,如果再深入考虑一下,为什么整体架构要按照这种方式组织,为什么局部函数要遵循这样的步骤处理,知其然,知其所以然,如果你知道了某个功能的实现是因为芯片就是这么设计的 再深究,就是芯片架构方面的设计与实现,对于程序员来讲,无论是系统还是应用程序员,足迹探究到这里,已经解决了很多疑问,因为我们的工作性质偏软,而这些东西实在是够硬。

    3.5K21发布于 2021-01-29
  • 来自专栏全栈程序员必看

    深度:一文看懂Linux内核!Linux内核架构和工作原理详解

    全文导读 Linux内核预备工作 Linux内核体系结构简析简析 Linux体系结构和内核结构区别 Linux驱动的platform机制 Linux内核体系结构 内核模块 Linux 内核学习经验总结 图2 Linux内核体系结构 Linux内核的主要组件有:系统调用接口、进程管理、内存管理、虚拟文件系统、网络堆栈、设备驱动程序、硬件架构的相关代码。 ,用户的应用程序,C库 (2)内核空间:内核空间包括,系统调用,内核,以及与平台架构相关的代码 2.Linux体系结构要分成用户空间和内核空间的原因: 1)现代CPU通常都实现了不同的工作模式, 以ARM 书上介绍这些子系统的设计和实现的时候,我们读过了,也就知道了,如果再深入考虑一下,为什么整体架构要按照这种方式组织,为什么局部函数要遵循这样的步骤处理,知其然,知其所以然,如果你知道了某个功能的实现是因为芯片就是这么设计的 再深究,就是芯片架构方面的设计与实现,对于程序员来讲,无论是系统还是应用程序员,足迹探究到这里,已经解决了很多疑问,因为我们的工作性质偏软,而这些东西实在是够硬。

    4.8K22编辑于 2022-09-15
  • 来自专栏明明如月的技术专栏

    软考高级架构师:嵌入式系统的内核架构

    一、AI 讲解 嵌入式系统的内核架构对系统的性能、安全性、稳定性等方面有着重要影响。常见的内核架构有宏内核(单体内核)和微内核两种,它们各有特点和适用场景。 易于扩展 微内核设计的主要缺点是什么? A. 性能开销较大 B. 安全性较差 C. 开发难度较小 D. 维护困难 在微内核架构中,文件系统通常运行在哪个状态? A. 核心态 B. **在微内核架构中,文件系统通常运行在用户态。 **答案:C。**宏内核的开发难度并不是它的缺点之一,实际上 相比微内核来说开发难度较小。 **答案:D。 **微内核架构的一个主要优点是安全性和稳定性较高。 **答案:A。**在宏内核中,设备驱动程序通常运行在核心态。 **答案:A。 **微内核的核心功能不包括文件系统,文件系统通常作为用户态服务运行。 **答案:D。**微内核架构的特点是开发难度大,而不是小。 **答案:A。

    46600编辑于 2024-05-25
领券