
大厂
文章平均质量分 93
内核大本营
这个作者很懒,什么都没留下…
展开
-
看完秒懂:Linux DMA mapping机制分析
Linux内核中提供了两种dma mapping的接口:Consistent mapping和Stream mapping。通常在使用consistent dma mapping时,首先需要通过。原创 2022-08-27 16:34:50 · 5677 阅读 · 0 评论 -
如何学好Linux内核?
很多为Linux内核“吐血而亡”的程序员都犯了一个通病,那就是一开始就陷入无穷无尽的细节,比如一开始就陷入源代码情景分析。情景分析这样的书,无疑是好书,但是你把《新华字典》从第一个字,背到最后一个字,你仍然写不出一篇作文。那么先来点真实的:学习Linux内核能上哪些岗位?有哪些阶段?怎么去学、该看哪些书呢?下面我们来论述学习Linux内核的各个阶段。...转载 2022-08-27 16:30:07 · 2208 阅读 · 0 评论 -
前端&后端程序员必备的Linux基础知识
操作系统(Operation System,简称OS)是管理计算机硬件与软件资源的程序,是计算机系统的内核与基石;操作系统本质上是运行在计算机上的软件程序;为用户提供一个与系统交互的操作界面;操作系统分内核与外壳(我们可以把外壳理解成围绕着内核的应用程序,而内核就是能操作硬件的程序)。我们上面已经介绍到了Linux,我们这里只强调三点。Linux是一种自由、开放源码的类似Unix的操作系统严格来说,Linux这个词本身只表示Linux内核一个编程领域的传奇式人物。......原创 2022-08-27 14:29:10 · 598 阅读 · 0 评论 -
嵌入式工程师为什么要学习Qt?它有几种开发方式?
相对于以前的Qt版本,Qt4 的进步是巨大的,他不仅彻底的对高效易用的模板容器、高级的模型/视图功能、快速而灵活的二维绘图框架和强大的统一字符编码标准的文本查看和编辑类进行了大量的改进,更不必说对那些贯穿整个Qt类中的成千上万个小的改良。Matthias Ettrich在1998年加入公司,并且在当年9月,发布了Qt 1系列的最后一个版本——V1.40.199年6月,Qt 2.0发布,该版本有有一个新的开源许可协议——Q公共许可协议(QPL,Q Public License),他与开源的定义一直。.....转载 2022-08-26 19:51:35 · 3129 阅读 · 0 评论 -
全面总结Linux内核下的IIC子系统架构
Linux下的I2C体系结构分为3个组成部分:I2C核心:I2C核心提供了I2C总线驱动和设备驱动的注册,注销方法,I2C通信方法(algorithm)上层的,与具体适配器无关的代码以及探测设备,检测设备地址的上层代码等。I2C总线驱动:I2C总线驱动是对I2C硬件体系结构中适配器端的实现,适配器可由CPU控制,甚至可以直接集成在CPU内部。转载 2022-08-25 15:32:31 · 1057 阅读 · 0 评论 -
大厂程序员推荐的linux内核学习路线
什么是开源软件?什么是闭源软件?什么是自由软件?什么是 GPL 协议?什么是一切皆文件的设计?什么是内核?什么是发行版?各个发行版的区别特色?什么是 POSIX 标准?什么是 GNU 计划?哪些你喜欢的软件可以运行在 linux 吗?为什么国内很多厂商不愿意为 linux 开发软件?为什么玩 linux 需要各种改配置文件?什么是软件包?什么是包管理器?什么是 github?为什么会有这么多种桌面环境?如果你有一定的C语言编程基础,那么更好了,你还可以以 C语言为基础去进一步了解:什么是编译?转载 2022-08-25 13:47:37 · 1195 阅读 · 0 评论 -
Linux磁盘小知识分享
Linux 无论划分多少分区,分别分给哪个目录使用,最终都属于一个根目录,这保证逻辑上 Linux 具有一个独立且唯一的文件结构,操作系统中任意分区都是文件系统的一部分。提示 device is busy,多为被挂载目录正在被使用,检查是否工作目录就是此目录,退出即可。指令:mount -a 是自动挂载生效,每次重启从 /etc/fstab 中自动挂载。文件数:ls -l 目标目录 | grep "^-" | wc -l。执行后分区具有挂载点,但重启后挂载点断开,尚未自动(永久)挂载。转载 2022-08-24 17:32:59 · 2521 阅读 · 0 评论 -
常见大厂面试题:进程的切换与进程控制(纯干货)
系统中处于就绪状态的进程可能有多个,通常把它们排成一个队列。转载 2022-08-24 15:25:50 · 1468 阅读 · 0 评论 -
Linux内核系统中进程如何管理控制
当然,许多系统服务将以守护(daemon)程序的形式出现,守护程序仅在后台运行,即使linux系统没有登录,linux系统也会在后台运行一些例行事务。ps 命令能够列举许多运行状态的详细信息,弊端是它只能提供ps 命令执行时刻的机器状态快照,也就是相对静态的,不能实时滚动最新数据。在某种情况下,我们只是想要停止一个进程,而不是终止它,那么可以使用Ctrl-z,即可停止前台进程,并转为后台。//表示有两个进程,分别为进程5198 和进程10129,各自对应的命令是bash命令和ps命令。转载 2022-08-24 15:22:58 · 274 阅读 · 0 评论 -
Linux内核逆向映射的演变与源码分析
在聊逆向映射之前,我们先聊聊正向映射好了,当你明白了正向映射,逆向映射的概念也就易如反掌了。所谓正向映射,就是在已知虚拟地址和物理地址(或者page number、page struct)的情况下,为地址映射建立起完整的页表的过程。例如,进程分配了一段VMA之后,并无对应的page frame(即没有分配物理地址),直到程序访问了这段VMA之后,产生异常,由内核为其分配物理页面并建立起所有的各级的translation table。转载 2022-08-24 15:20:32 · 231 阅读 · 0 评论 -
一文搞懂socket读写数据接口API
注意: 再启动一个客户端,尝试连接服务器,发现第二个客户端,不能正确的和服务器进行通信。分析原因,是因为我们accept了一个请求之后,就在一直while循环尝试read,没有继续调用到accept,导致不能接受新的请求 所以这是不科学的,需要采用下面的多进程和多线程版本的TCP网络通信。注意:recvfrom函数和sendto函数还可以用于面向连接的socket读写,只需要把最后两个参数都设置为NULL就可以了,因为我们已经知道对端的socket地址了,这就有点像下面要将的recv和send了。转载 2022-08-24 15:12:56 · 2042 阅读 · 0 评论 -
Linux操作系统面试总结
该注册函数是早期的注册函数,major是设备的主设备号,name是驱动程序的名称,而fops是默认的file_operations结构(这 是只限于file_operations结构)。cpu_init(CPU内部的初始化),board_init(x210开发板相关的初始化),interrupt_init(初始化定时器),env_init(环境变量有关的初始化),而线程不一样,线程拥有独立的堆栈空间,但是共享数据段,它们彼此之间使用相同的地址空间,共享大部分数据,比进程更节俭,开销比较小,切换速度也比进。转载 2022-08-23 21:27:01 · 488 阅读 · 0 评论 -
剖析Linux内存中的/proc/meminfo参数
前言:proc/meminfo是了解Linux系统内存使用状况的主要接口,我们最常用的”free”、”vmstat”等命令就是通过它获取数据的 ,/proc/meminfo所包含的信息比”free”等命令要丰富得多,然而真正理解它并不容易,比如我们知道”Cached”统计的是文件缓存页,manpage上说是“In-memory cache for files read from the disk (the page cache)”,那为什么它不等于[Active(file)+Inactive(file)]?转载 2022-08-23 20:55:03 · 2667 阅读 · 1 评论 -
Linux内核驱动技术——内核中断篇
中断不属于进程上下文,所以不能被内核调度,如果进入了中断处理函数,就只能将其执行完毕,不能被打断,这样带来的一个问题是如果在中断处理函数中执行耗时操作,就会极大的影响系统性能,为了解决这个问题,Linux内核中提出了中断。在硬件上,中断源可以通过中断控制器向CPU提交中断,进而引发中断处理程序的执行,不过这种硬件中断体系每一种CPU都不一样,而Linux作为操作系统,需要同时支持这些中断体系,如此一来,Linux中就提出了。除了上述API,内核还提供了其他的中断操作API,在内核代码中被广泛使用。转载 2022-08-23 19:56:20 · 615 阅读 · 0 评论 -
听说你要把Linux内核源码读完?
Linux内核Git源码树中的代码达到了2780万行,核心代码只有2%是由李纳斯•托瓦兹自己编写的,其他均是其他个人和组织贡献的,李纳斯•托瓦兹公开了Linux但保留了选择新代码和需要合并的新方法的最终裁定权。在计算机科学中是一个用来管理软件发出的数据I/O(输入与输出)要求的计算机程序,将这些要求转译为数据处理的指令并交由中央处理器(CPU)及计算机中其他电子组件进行处理,是现代操作系统中最基本的部分。它提供了连接内核的系统调用接口,还提供了在用户空间应用程序和内核之间进行转换的机制。转载 2022-08-23 17:01:35 · 1687 阅读 · 0 评论