首页
学习
活动
专区
圈层
工具
发布

漫画趣解Linux内核

今天,我来为大家解读一幅来自 TurnOff.us 的漫画 “InSide The Linux Kernel” 。...左上角,有一只胸前挂着 421 号牌的小企鹅,它表示着 PID(进程 IDProcess ID) 为 421 的进程,它正在查看文件柜中的文件,这代表系统中正有一个进程在访问文件系统。...在右下角有一只小狗,它是看门狗watchdog ,这代表对文件系统的监控。 ? 第一层 接下来的一层就比较热闹了: 在这一层,最引人瞩目的莫过于中间的一块垫子,众多小企鹅在围着着桌子坐着。...这个台阶是底层(地基)的文件系统中的,进程们可以通过这个台阶,到文件系统中去读取文件,进行操作。 ? 跃层 首先我们来看看跃层,也是最接近用户的一层。.../9227205 Linux 软件看门狗 watchdog https://en.wikipedia.org/wiki/Linux_Kernel_Library LKL的维基百科 http://turnoff.us

1.7K41

【Linux系统】解明进程优先级与切换调度O(1)算法

所以,调整进程优先级,在Linux下就是调整进程的nice值! 而优先级的变化范围是有限的!nice值的取值范围是-20~19,共40个级别。PRI的取值范围就是[60, 99]了! 2....三、进程调度切换 之前我们提到过,Linux系统会给每一个进程分配一个时间片,它的时间片执行完,就会自动让出CPU另一个进程接着执行。...这种操作系统,被称为分时操作系统,当代计算机大多数都是这种。 那么,系统是如何高效切换调度进程的呢?...下面讲解的,是Linux2.6内核进程的O(1)调度实现算法: 1. list_head 与 prio_array 结构 源码的task_struct定义中,有这样两个相关的成员变量: 这两个成员结构的定义如下...这种将链表节点嵌入到目标结构体内部,把run_list作为task_struct 的成员,是 Linux 内核中经典的 “侵入式链表” 设计,好处是无需额外内存开销、灵活复用、增加链式结构管理的扩展性。

18410
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    庖丁解牛:深入理解Linux文件系统的设计与机制

    庖丁解牛:深入理解Linux文件系统的设计与机制 摘要: 文件系统是操作系统的骨架,它决定了数据如何被存储、检索和管理。...对于Linux这一拥有最丰富文件系统生态的操作系统而言,理解其文件系统的工作机制是每一位开发者和系统管理员的核心技能。...,最后通过实操命令展示如何有效管理和优化文件系统,为你构建一个全面而深刻的Linux文件系统知识体系。...一、核心架构:虚拟文件系统(VFS) Linux能同时支持数十种文件系统,秘诀在于它在用户和具体的文件系统之间加入了一个抽象层——虚拟文件系统(Virtual File System, VFS)。...Linux内核,通常通过ZFS on Linux使用。

    54110

    认证系统(Authentication)与权限系统(Authorization)解耦设计

    您是否曾经与其他开发人员讨论过应用程序的权限系统,并很快意识到您也在谈论它的认证系统? 这是相当不幸的,但这两个完全不同的系统经常被合并在一起。...认证服务像护照(证明你是谁),权限服务像签证(允许你在哪里做什么) 护照颁发后不会每天更新(登录令牌有效期) 签证可动态调整(权限实时刷新) 通过严格分离关注点,系统同时获得 安全性和可维护性 的提升...在系统设计中一个常见的认知误区——权限系统(Authorization)和认证系统(Authentication)本质上是两个独立的安全边界,但常因架构耦合被混为一谈。...维度 认证系统(Authentication) 权限系统(Authorization) 关键问题 “你是谁?”(身份验证) “你能做什么?”...OAuth/生物识别 RBAC/ReBAC/ABAC策略引擎 输出结果 用户标识符(如:user_id) 权限决策(Allow/Deny) 失效场景 凭证泄露 → 冒充风险 策略错误 → 越权操作 一、解耦实践方案

    26410

    Linux系统|Linux系统应急响应

    目录 排查用户相关的信息 排查进程端口相关的信息 查找恶意程序并杀掉 斩草除根 判断入侵方式,修复漏洞 当我们被告知一台Linux服务器被黑客入侵,黑客利用该服务器进行挖矿...w #显示已经登陆系统的用户列表,并显示用户正在执行的指令 users #显示当前登录系统的所有用户的用户列表 last #查看最近登录成功的用户及信息...,查看的是 /var/log/wtmp 文件 lastb #查看最近登录失败的用户及信息,查看的是 /var/log/btmp 文件 lastlog #显示系统中所有用户最近一次登录信息...#查看爆破用户名字典 总的来说,黑客入侵主机有下列几种情况: 通过 redis 未授权漏洞入侵(好多挖矿程序是通过这个) ssh 弱口令暴力破解 Web 程序漏洞入侵 参考文章: 记一次Linux...木马清除过程 相关文章:Redis未授权访问漏洞 Linux挖矿病毒的清除与分析 Linux下性能监控、守护进程与计划任务管理 来源:

    12.2K20

    计算机操作系统概念初解

    一、存储系统 在计算机系统中存储层次可分为,处理器上的寄存器、高速缓冲存储器、主存储器(内存)、辅助存储器(外存)四级。高速缓冲存储器用来改善主存储器与中央处理器的速度匹配问题。...总的来说可以分为五类中断: I/O 中断 时钟中断 硬件故障中断 程序性中断(貌似考这个的概率比较大,因为这个最搞不清) 系统调用中断 (PS:系统调用:是OS为用户程序设置的唯一的用户程序获取OS...不受外界的影响,无交互 多道程序设计 独立性、随机性、资源共享性 程序的并发执行 (1)执行期间相互制约 (2)程序与计算不再一一对应 (3)并发执行结果不可再现(这一点出题最多) 2、进程(正在执行的程序-系统进程...就绪状态:除了CPU之外一应俱全(多的时候就形成了就绪队列) 运行状态:获得了CPU的使用权 等待状态:正在进行的进程因为意外暂停退出CPU的使用 扩展状态: 创建状态:未进入就绪队列 结束状态:从系统队列移除但是还没有撤销...然后,如果有多个花魁,那就是多道操作系统了。

    1K80

    【Linux】Linux系统调用

    Linux系统调用 前言 操作系统——管理计算机硬件与软件资源的软件,是用户和系统交互的操作接口,为它上面运行的程序提供服务。...操作系统内核——操作系统的内核,负责管理系统的进程、内存、设备驱动程序、文件和网络系统。一个内核不是一套完整的操作系统。例如Linux。 Linux操作系统——基于Linux内核的操作系统。...通常由Linux内核、shell(特殊的应用程序,提供运行其他程序的接口)、文件系统和应用程序组成。常见的有:Redhat、Fedora、Centos、Ubuntu和Android等。...Linux的运行空间: Linux的运行空间:内核空间+用户空间 ---- 内核空间——存放的是整个内核代码和所有内核模块,以及内核所维护的数据。 用户空间——用户程序的代码和数据。...---- 系统调用的实现 通过软件中断实现。 **软件中断:**它是通过软件指令触发的中断。Linux系统内核响应软件中断,从用户态切换到内核态,执行相应的系统调用。

    33.4K10

    嵌入式:ARM中断系统设计全解

    这部分片段一般出现在一个名叫“head.s”的汇编文件的里,“b Handle_Reset”这条语句就是系统上电之后运行的第一条语句。 我们可以看到每条指令占用了4个字节。...以后系统每当有异常出现,则CPU会根据异常号,从内存的0x00000000处开始查表做相应的处理,比如系统触发了一个IRQ异常,IRQ为第6号异常,则CPU将把PC指向0x00000018地址(4*6=...假设现在系统触发了TIMER0中断,则第10bit将被置1,代表TIMER0中断被触发,该中断请求即将被处理(若该中断没有被屏蔽的话)。...SRCPND是中断源挂起寄存器,某个位被置1表示相应的中断被触发,但我们知道在同一时刻内系统可以触发若干个中断,只要中断被触发了,SRCPND的相应位便被置1,也就是说SRCPND 在同一时刻可以有若干位同时被置...参考文献: 孟祥莲.嵌入式系统原理及应用教程(第2版)[M].北京:清华大学出版社,2017.

    1.4K50

    使用上下游思维实现系统解耦

    在软件开发领域,解耦这个词相信大家都不陌生。...在面向对象的语境下,我们会应用SOLID原则来构建高内聚低耦合的应用,实现模块间的解耦;在复杂业务系统分析和建模时,会通过DDD的战略和战术设计帮助划分领域并实现分布式系统中服务的解耦;当我们在组织大型敏捷开发团队协同工作时...可以看到解耦无处不在,并且以此为目的投入,大家都会觉得是无比的政治正确,因为实现了解耦,我们的系统和应用就能更快速的扩展和演进,我们的团队就能更顺畅的合作并能更加快速的实现业务价值。...本文将从服务间上下游的思维来讨论如何在系统架构演进过程中,持续的保持服务间的松耦合,实现解耦的目标。...接下来可以更近一步,我们通常会通过引入消息中间件来对服务可用性依赖进行解耦来达到Level1的级别。处在这一级别的服务之间,由于有明确的上下文边界和依赖关系,消息的结构也是上游系统来定义和维护的。

    86910

    【Linux】初步认识Linux系统

    Linux 操作系统 主要作用是管理好硬件设备,并为用户和应用程序提供一个简单的接口,以便于使用。...作为中间人,连接硬件和软件 常见操作系统 桌面操作系统 Windows macOs Linux 服务器操作系统 Linux Windows Server 嵌入式操作系统 Linux...移动设备操作系统 ios Android 操作系统发展历史 Unix ——> Minix ——> Linux GNU/Linux 狭义的Linux:Linux kernel 广义的Linux:...GUN/Linux Linux的发行版 Red Hat Debian SUSE gentoo archLinux 下载centOs 推荐镜像网站:阿里云 下载VMware 官方网站:VMware...Linux文件 Linux中一切皆文件 Linux目录结构 注意: /bin :是Binary的缩写,这个目录存放着最常使用的命令 /sbin : s是system的意思,这里存放的是系统管理员使用的系统管理程序

    1.4K20

    Linux - Linux系统优化思路

    文章目录 影响Linux性能的因素 CPU 内存 磁盘I/O性能 网络宽带 操作系统相关资源 系统安装优化 内核参数优化 文件系统优化 应用程序软件资源 系统性能分析工具 vmstat命令 iostat...---- 操作系统相关资源 系统安装优化 系统优化可以从安装操作系统开始。当安装Linux系统时,磁盘的划分、交换分区内存的分配都直接影响以后系统的运行性能....在Linux下可选的文件系统有ext2、ext3、ReiserFS、ext4、XFS。...---- 系统性能分析工具 如何从系统上发现是某个方面或某几个方面出现问题了呢?这就需要使用Linux系统提供的几个常用性能分析工具。...---- 小结 我们只说了三个常用的系统性能分析工具。其实Linux下的性能分析工具还有很多。

    7.5K50

    Linux之设备树解耦架构解读-V1.0

    设备树由来 linux内核源码中,之前充斥着大量的平台相关(platform Device)配置,而这些代码大多是杂乱且重复的,这使得ARM体系结构的代码维护者和内核维护者在发布一个新的版本的时候有大量的工作要做...,以至于LinusTorvalds 在2011年3月17日的ARM Linux邮件列表中宣称“Gaah.Guys,this whole ARM thing is a f*cking pain in the...需要说明的是,设备树最初是由开发固件(Open Firmware)使用的用来向客户程序(通常是一个操作系统)传递数据的通信方法中的一部分内容。...Linux使用设备树的主要原因如下 A:平台识别 B:实时配置 C:设备植入 二、设备树解耦目标 目标一 vendor相关修改,完全独立出来,禁止在soc原生的dtsi中修改,只允许以dtbo的方式存在...; 目标二 同基线项目dtbo要共二进制 三、设备树解耦框架设计 ?

    1.7K20

    图技术解耦复杂IT系统,赢得长期运营红利

    图技术解耦复杂IT系统,赢得长期运营红利当一家大型卡车制造商在2021年开始与其母公司进行漫长而复杂的分离过程时,面临着一个令人生畏的问题:数十年来紧密交织的信息技术系统、共享的基础设施和未记录的依赖关系需要被梳理清楚...CMDB是一个存储组织IT资产信息并记录其配置和关系的集中式系统。虽然对记录保存有用,但CMDB缺乏上下文。...应用被记录为服务器的集合,但实际依赖关系,如DNS条目、代理、数据库、邮件中继、税务服务以及与遗留系统的连接,常常缺失或已过时。...该公司使用Go语言构建了一个提取/转换/加载流水线,这是一种针对可扩展网络服务和分布式系统优化的语言,用于将数百万条流量样本转换为图关系。...这项工作使应用总数减少了40%,同时实现了财务、备件物流和人力资源等领域系统的现代化,其中一些系统已有超过30年的历史。一个意想不到但受欢迎的好处是,该公司获得了对其IT环境前所未有的可见性。

    6710
    领券