首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

晨雨: 从微观角度来看linux内核设计

◆◆ 从微观角度来看Linux内核设计 ◆◆ 余生皆欢喜 最近总结出来学习内核有两个大的角度,一种就是从宏观角度来看,总的来说就是顺着抽象,管理,操作来看,这种角度更多的是内核中应用层面的内容,用来理解内核中是怎么运转起来的...它带来了太多的方便,换句话说,它帮助内核设计人员解决了很多内核设计者在设计内核时所遇到的问题,我这样认为,GNU C中每一条功能,就是内核设计者在实际设计中遇到的问题。...这里再次分析总结gitbook中的两个宏,一个是max/min宏,一个是内核第一宏container_of。 max/min宏 内核中的样子: ?...内核第一宏 gitchat中把container_of宏叫做内核第一宏,我也很喜欢这个称号,因为学内核两个月里见这个宏的次数太多了。...在陈老师讲list.h的时候,就学习过这个宏,但是并没有完完全全地剖析开。 高能预警: ?

73120

白纸一张,如何玩转linux

疑惑一 linux系列经典的书籍 入门篇 《LINUX权威指南》书不错,写的很全面也比较广,涉及的不深,做为入门书籍不错,可以比较全面的了解linux 。...国产经典《Linux驱动详细解》也是一本非常不错的书,很实用,书中源代码 分析比较多,基于2440的,对linux外围驱动有很全面的讲解 内核篇 浙江大学的《LINUX内核源代码情景分析》,外国鬼子的《...莱昂氏UNIX源代码分析》还有《深入理解linux内核》都是出名的经典巨作。...另外的《LINUX内核完全剖析--基于0.12内核》也非常不错,对内核代码进行了详细的注释,非常有助于对内核的理解和代码的分析。...我们给你最完全的指导。

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

为什么要阅读Linux内核源码以及如何阅读Linux内核源码

获取内核源码: https://www.kernel.org/ 阅读linux内核,常用下面两种方法: bochs+linux0.11+书(linux内核完全注释linux内核完全剖析、linux内核设计的艺术...) Source Insight+linux2.X+书(linux内核情景分析) 另外:笨叔叔近两年出的两本书不错,《奔跑吧Linux内核 入门篇》和《奔跑吧Linux内核 》基于Linux4.x,只是配套视频有点贵...《linux内核完全剖析》《linux内核完全注释》是引导你横向阅读的书,《linux内核设计的艺术》是引导你纵向阅读的书。...市面上能见到的其它的Linux内核的图书,《Linux设备驱动程序》、《Linux内核源代码完全注释》以及新出的《Linux内核分析及编程》等。   ...《Linux内核源代码完全注释》(机械工业出版社)是同济大学的博士生的著作,讲解0.1Linux内核,我没买也没看,有看过的朋友说一说。

4.2K30

源码面前没有秘密,推荐 9 个带你阅读源码的开源项目

是不是发现,开源项目已经完全融入到日常开发! 如今大多数的程序员技术栈和工具箱里,或多或少都有开源项目的身影:大到操作系统、小到精美的图标,优秀的开源项目就像“神器”可以让程序员所向披靡,快刀斩乱麻。...该项目是 Redis 3.0 版本源码注释。...https://github.com/huangz1990/redis-3.0-annotated 2、linux-0.12(LinuxLinux 是一种开源的类 UNIX 操作系统。...该项目是 Linux 内核 0.12 版本完全注释版。 我最初是在 GitHub 找到了别人上传的旧版(0.11)注释源码,一通搜索下发现了原作者老师的网站。...这个阅读 Linux 源码的项目,虽然没有上传到 GitHub 但是内容、注释的源码、配套工具全部开源。

50320

晨雨:从文件系统的数据结构看Linux内核设计

作者简介 晨雨:西安邮电大学2018级陈莉君教授研究生,天真无邪小白一枚,已经爱上linux内核而不能自拔,正在成长为内核狂热爱好者?...跟随陈老师学习linux内核两个月了,对linux内核产生了极大的兴趣,最近学习文件系统,有一些自己的看法,很荣幸能在linux内核之旅进行分享^_^ 本篇文章使用尽量通俗的语言来说明linux内核文件系统中各个数据结构之间的关系...由于linux内核足够复杂,就会有多种解释方式,我认为所有关于linux内核的书籍,都是不同作者对内核的不同的看法,说不定这些看法对于linus本人来说都是很巧妙的,所以我在这里也大胆地提出自己对linux...内核中的任务调度 软中断和tasklet 工作队列 自旋锁 内核信号量 原子变量 这种方法主要对应前面介绍的内核设计套路中的管理环节,我们可以通过这种方法打破对内核的恐惧感,因为内核无非就是使用这些基础部分来管理数据...所以,我们在学习内核的时候,心中有这些基本部分的概念,再来看内核就是另一种角度了。 由于自己接触linux内核时间不长,才疏学浅,班门弄斧了,如果有错误的地方欢迎大家指正,小赵万分感谢:-D

1.3K30

Linux历史小知识

Linux从诞生到现在已经有三十年了,经过很多人的不懈努力,终于发展成为现在的样子。很多人工作中经常会使用到linux,包括我在内。...所以在这种前提下,就激发了linus对于编写linux系统的激情,当然也是因为人家linus抓住了这个好机会,使得linux有飞速发展的未来。 GNU计划也是一个叫Richard M....使用linux作为核心的GNU操作系统被广泛使用,尽管都叫Linux,但严格说应该叫GNU/Linux系统。...linux0.01版本内核注释中写过这或许是个玩笑,但是我正在研究它。...图片源自老师著作《linux内核完全注释》,仅供学习 好了,到这对于linux的诞生发展就有一个基本的了解了,感兴趣就多去了解下,祝学习顺利! END 作者|希里安

14810

Linux内核如何输出中文字符的方法示例

显示了两个问号,显然Linux内核并不能识别中文。 为什么说是Linux内核不能识别中文呢?...你在Linux本地虚拟终端,比如/dev/tty1上的输入和显示输出行为,则是由Linux内核自己处理的。...相反,如果你直接在这台CentOS Linux的虚拟终端上输入并且企图获得输出,那么这个输入输出则必须由Linux内核自身来处理。 基本上就这些。...至于说为什么Linux内核不支持中文,那要了解Linux内核处理虚拟终端输入输出时是如何对待unicode的逻辑,这要涉及一大堆的理论知识,非常烦人。.../default8x16.psfu 此时进入Linux的虚拟终端tty2,当敲键盘的大写’B’时,就会出现一个“”字。

2.2K31

在阿里达摩院搞了四年数据库,我来聊聊实际情况 | 卓越技术团队访谈录

“博士期间,我的研究方向是传统的数据库系统内核,与数据安全并没有太多关联。...不同团队间也可能是不完全信任的。...从技术层面来看,数据库自治是一系列原子技术的组合,广义上包含两大类:数据库外部运维和内核技术的智能化。外部运维就是最近流行的 AIOps,内核技术则是用 AI 技术提升数据库内核的某些性能。...我们采取的策略是‘外围包围内核’, 先从 AIOps 做起,逐步进入内核智能化的领域。不过有时候这两者界限并非那么明显,我们有的产品能力本身属于内核能力的一种外置。...在谢看来,空天数据有狭义和广义之分。

61730

TPC TiKV:Hackathon 中最硬核项目是如何炼成的?| TPC 战队访谈

另外,我看他们后面还会去掉 KV RocksDB 的 WAL,这样几个线程池就真能合并,只做计算操作,IO 操作都完全变成异步了。”...项目灵感来源 陈奕霖:磊非常渴望做这个项目,项目灵感也主要来源于他。平时在做内核开发以及解决一些用户问题时,我们发现 TiKV 的整体性能比较一般,并且有着很强的不确定性,难以调优。...遇到的最大技术困难 陈奕霖:这一次我们用的各种技术都是特别激进和核心的技术,遇到了很多依赖库或者 Linux 内核的一些意外情况,编写时有一些东西并不符合预期。...当使用 AWS Linux 默认提供的内核配合 IO uring ,遇到很多问题。后来,我们辗转到一个更新的内核上终于可以使用了。...就像唐刘老师在评价中提到的,我们用 io uring 遇到了很多问题,但是其实可以转而求其次去使用 Linux AIO 之类的。

41020

Linux内核学习(一)

前言: 大家好,今天给大家分享一下我个人学习Linux内核的总结,由于新的内核版本太过于庞大,说实话,啃不动,然借鉴前人的建议,故开始从早期的Linux0.11版本开始学习。...,所以就变的复杂起来了: 2.6内核版本目录 上面内核版本的源码可以从下面下载: 在线浏览早期内核源码: http://lxr.linux.no/linux-old 0.11版本的内核源码下载: https...://github.com/KrisJiaqiXie/linux_kernel_study 好了,下面我开始大体先讲述linux内核的整体框架图: 一、操作系统的框架: 在我们平时或多或少都接触到不同的操作系统...0.11版本Linux内核的组成: 在0.11版本的Linux,它主要是由五个模块组成: 进程调度模块 进程间通信模块 内存管理模块 文件系统模块 网络接口模块 图片参考Linux内核0.11完全注释...文章资料相关参考: Linux内核0.11完全注释 https://www.bilibili.com/video/BV1tQ4y1d7mo?

1K10

linux系统的进程管理

内核完全注释:基于0.11内核(修正版V3.0).pdf P299~P300 链接:Linux内核完全注释:基于0.11内核(修正版V3.0).pdf 提取码:ygz8 2、task_struct...Linux 在初始化的过程中会进行 0 号进程的创建,fork main.c sched.c—>sched_init—>gdt linux系统级别 GDT sched_init(...内核完全注释:基于0.11内核(修正版V3.0).pdf P242~P252 和 P325~P333 链接:Linux内核完全注释:基于0.11内核(修正版V3.0).pdf 提取码:ygz8 进程被创建到了链表中...内核完全注释:基于0.11内核(修正版V3.0).pdf P281~P302 链接:Linux内核完全注释:基于0.11内核(修正版V3.0).pdf 提取码:ygz8 四、进程的退出 linux...内核完全注释:基于0.11内核(修正版V3.0).pdf P319~P325 链接:Linux内核完全注释:基于0.11内核(修正版V3.0).pdf 提取码:ygz8

9810

新型漏洞威胁如何高效防御?9月15日19点腾讯安全专家带你揭秘

9月15日(周四)19:00,腾讯安全将带来《新型漏洞威胁攻防思路拆解》主题公开课,邀请尹亮、中树两位深耕网络安全行业10余载的腾讯安全技术专家带来分享,深入剖析漏洞攻击典型案例及腾讯防护新思路,帮助企业从攻击者视角...公开课议程及嘉宾简介 议题:重保期间新型漏洞攻击案例拆解  9月15日周四晚 19:00 - 19:30 尹亮,Pwn2Own世界冠军战队成员、腾讯安全技术专家 专注于JAVA、Windows/Linux...内核的漏洞挖掘与云原生安全研究,参与Pwn2Own 2016(获Master of Pwn)、Pwn2Own 2017(获总积分冠军),负责Flash、PDF、Windows内核方面的漏洞挖掘和编写利用...;多次获得微软、Adobe公司的公开致谢,向Linux社区提交多个内核漏洞。...议题:腾讯漏洞防护新思路 9月15日周四晚 19:30 - 20:00 中树,腾讯安全技术专家 十年信息安全从业经验。主要研究方向: 主机安全、网络安全、入侵检测及漏洞防御等。

77950

2020秋招联发科小米等面经分享

3.面试的岗位是Linux驱动开发,全程没有问一点像bootloader,Linux内核的输入子系统,总线设备驱动模型等偏底层的东西。   4.女面试官可能都不太懂硬件?...专业课中,那个课学的比较好   C语言,操作系统,计算机组成原理,Arm体系和架构 除了课堂上学的之外,某个领域有没有深耕,自己研究过,私下看过   Linux内核的源码,操作系统,计算机组成原理,私下都会去花时间去了解...像Linux内核的话我最近再看一本书,老师写的Linux0.12源码剖析,这个书以Linux0.12内核为基础,详细介绍了内核的各个部分,虽然看起来比较吃力,但是我也在坚持阅读。   ...我最近在看的两本书是Linux内核源代码情景分析,老师的Linux0.12内核完全注释。昨晚我在看的是Linux内核的源代码情景分析中的数据结构部分,包括链表,队列,二叉树等是如何实现的。...华为技术面试的准备和经验分享【完全攻略,已签约】 (https://www.nowcoder.com/discuss/384814?

1.1K20

Linux内核源码分析方法

Linux内核源码分析方法 一、内核源码之我见 Linux内核代码的庞大令不少人“望而生畏”,也正因为如此,使得人们对Linux的了解仅处于泛泛的层次。...因此本文更期望于引导更多徘徊在Linux内核大门之外的人进入Linux的世界,去亲自体会内核的神奇与伟大。...按照搜索出的信息流动方向,我们完全可以定位到需要分析的源码文件。源码定位这一步并非十分关键,因为我们不需要找出所有源码文件,我们可以把部分工作推迟到分析代码的过程中。...通过这一步的注释,我们基本上能完全把握待分析代码整体的实现机制了。而所有的分析工作可以认为完成了80%。...但不会把读者带入Linux内核代码的深渊中,是了解内核架构和入门Linux内核代码的非常好的参考书,同时该书会提高读者对内核代码的兴趣。另一本是《深入理解Linux内核》,该书的经典我不必多说。

5.2K70

基于TC和netem实现网络异常情况的模拟

TC简介Linux内核内置了一个TC(Traffic Control)框架,可以实现流量限速,流量整形,策略应用(丢弃,NAT等)。...原理大致如下图所示,主要是通过在输出端口处建立一个队列来实现流量控制:[image.png]TC可以实现的功能是非常丰富的,但本身也是比较复杂,感兴趣的同学可以看下亚大神的相关文章。...netem简介netem是linux内核提供的Network emulation服务,可以用来模拟广域网下的延迟、丢包、重复、损坏和乱序等问题。...2.6版本后的linux发行版都已经在内核中启用了netem,netem内核组件在以下情况下启用: Networking --> Networking Options --> QoS and...之间(90ms - 110ms)tc qdisc add dev eth0 root netem delay 100ms 20ms# 因为网络状况是平滑变化的,短时间里相邻报文的延迟应该是近似的而不是完全随机的

6.7K130
领券