logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

全面总结Linux内核下的IIC子系统架构

Linux下的I2C体系结构分为3个组成部分:I2C核心:I2C核心提供了I2C总线驱动和设备驱动的注册,注销方法,I2C通信方法(algorithm)上层的,与具体适配器无关的代码以及探测设备,检测设备地址的上层代码等。I2C总线驱动:I2C总线驱动是对I2C硬件体系结构中适配器端的实现,适配器可由CPU控制,甚至可以直接集成在CPU内部。

文章图片
#linux#服务器#系统架构 +1
深度:一文看懂Linux内核!Linux内核架构和工作原理详解

作用是将应用层序的请求传递给硬件,并充当底层驱动程序,对系统中的各种设备和组件进行寻址。目前支持模块的动态装卸(裁剪)。Linux内核就是基于这个策略实现的。Linux进程1.采用层次结构,每个进程都依赖于一个父进程。内核启动init程序作为第一个进程。该进程负责进一步的系统初始化操作。init进程是进程树的根,所有的进程都直接或者间接起源于该进程。virt/ ---- 提供虚拟机技术的支持。

文章图片
#linux#架构#网络 +1
Linux内核网络协议栈之ICMP协议

从技术角度来说,ICMP就是一个差错报告机制,其工作机理也比较简单,即当数据包处理过程出现差错时,ICMP向数据包的源端设备报告这个差错,它既不会纠正这个差错,也不会通知中间的网络设备。当产生畸形的,声称自己的尺寸超过ICMP上限的包也就是加载的尺寸超过64K上限时,就会出现内存分配错误,导致TCP/IP堆栈崩溃,致使接受方宕机。不同的Type和Code值表示不同的ICMP报文类型,对应了数据包处

文章图片
#网络协议#linux#网络
大厂程序员推荐的linux内核学习路线

什么是开源软件?什么是闭源软件?什么是自由软件?什么是 GPL 协议?什么是一切皆文件的设计?什么是内核?什么是发行版?各个发行版的区别特色?什么是 POSIX 标准?什么是 GNU 计划?哪些你喜欢的软件可以运行在 linux 吗?为什么国内很多厂商不愿意为 linux 开发软件?为什么玩 linux 需要各种改配置文件?什么是软件包?什么是包管理器?什么是 github?为什么会有这么多种桌面

文章图片
#linux#学习#服务器
如何学好Linux内核?

很多为Linux内核“吐血而亡”的程序员都犯了一个通病,那就是一开始就陷入无穷无尽的细节,比如一开始就陷入源代码情景分析。情景分析这样的书,无疑是好书,但是你把《新华字典》从第一个字,背到最后一个字,你仍然写不出一篇作文。那么先来点真实的:学习Linux内核能上哪些岗位?有哪些阶段?怎么去学、该看哪些书呢?下面我们来论述学习Linux内核的各个阶段。...

文章图片
#linux#服务器
Linux内核中ns级别的高精度计时方法

假设CPU的主频是2GHz,则经过换算后CPU执行一条指令的时间就是0.5ns,因为它依赖底层寄存器不受上层系统软件的干扰,因此只要读取这个寄存器就可以知道当前CPU总共执行了多少条指令,而将该指令总数累积起来换算成时间,就可以得到代码的执行耗时。接触过STM32等单片机的同学可能会知道,在STM32当中会提供多个定时器,比如普通定时器、高级定时器等,这些都是硬件定时器,可以提供计数、计数比较功能

文章图片
#linux#服务器#系统架构
听说你要把Linux内核源码读完?

Linux内核Git源码树中的代码达到了2780万行,核心代码只有2%是由李纳斯•托瓦兹自己编写的,其他均是其他个人和组织贡献的,李纳斯•托瓦兹公开了Linux但保留了选择新代码和需要合并的新方法的最终裁定权。在计算机科学中是一个用来管理软件发出的数据I/O(输入与输出)要求的计算机程序,将这些要求转译为数据处理的指令并交由中央处理器(CPU)及计算机中其他电子组件进行处理,是现代操作系统中最基本

文章图片
#linux#服务器#运维
面试常用:Linux内核级同步机制--futex

上述代码的问题是trylock和wait两个调用之间存在一个窗口:如果一个线程trylock失败,在调用wait时持有锁的线程释放了锁,当前线程还是会调用wait进行等待,但之后就没有人再唤醒该线程了。为了解决上述问题,linux内核引入了futex机制,futex主要包括等待和唤醒两个方法:futex_wait和futex_wake,其定义如下下文中的进程一词包括常规进程与线程。...

#面试#jvm#linux +1
LINUX驱动开发中的红外(IRDA)程序

红外遥控是一种无线、非接触控制技术,具有抗干扰能力强,信息传输可靠,功耗低,成本低,易实现等显著优点,被诸多电子设备特别是家用电器广泛采用,并越来越多的应用到计算机系统中。由于红外线遥控不具有像无线电遥控那样穿过障碍物去控制被控对象的能力,所以,在设计红外线遥控器时,不必要像无线电遥控器那样,每套(发射器和接收器)要有不同的遥控频率或编码(否则,就会隔墙控制或干扰邻居的家用电器),所以同类产品的红

文章图片
#驱动开发#linux#服务器 +1
Linux内核下gitee的使用

git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。...

文章图片
#linux#git#github +1
    共 18 条
  • 1
  • 2
  • 请选择