【linux kernel】
玛丽奥ZJY
这个作者很懒,什么都没留下…
展开
-
提高 Linux 上 socket 性能
使用 Sockets API,我们可以开发客户机和服务器应用程序,它们可以在本地网络上进行通信,也可以通过 Internet 在全球范围内进行通信。与其他 API 一样,您可以通过一些方法使用 Sockets API,从而提高 Socket 的性能,或者限制 Socket 的性能。本文探索了 4 种使用 Sockets API 来获取应用程序的最大性能并对 GNU/Linux® 环境进行优化从而达...转载 2019-04-03 08:09:01 · 115 阅读 · 0 评论 -
Linux输入子系统(3):input子系统整体流程全面分析
转载:https://blog.csdn.net/ielife/article/details/78141081input输入子系统整体流程本节分析input子系统在内核中的实现,包括输入子系统(Input Core),事件处理层(Event Handler)和设备驱动层。由于上节代码讲解了设备驱动层的写法,因此在开头部分会从设备驱动层做为线索,分析输入子系统和事件处理层是如何配...转载 2019-04-04 15:09:48 · 345 阅读 · 0 评论 -
Linux输入子系统(2):初识input输入子系统
转载:https://blog.csdn.net/ielife/article/details/77989521开发环境主机:ubuntu10.04开发板:mini2440内核:linux-2.6.22.6编译器:arm-linux-gcc(3.4.5)2linux输入子系统本节从整体上讲解了输入子系统的框架结构。有助于读者从整体上认识lin...转载 2019-04-04 14:13:30 · 116 阅读 · 0 评论 -
Linux输入子系统(1):总体框架
转载:https://blog.csdn.net/qq_695538007/article/details/9153099一、input输入子系统总体框架Linux输入子系统将输入驱动抽象为三层:设备驱动层、核心层、事件处理层。设备驱动层:将底层的硬件输入事件转化为统一事件形式,向输入核心(Input Core)汇报。核心层:承上启下:为驱动函数接口;转发事件给事件处理层。事件处...转载 2019-04-04 13:57:03 · 191 阅读 · 0 评论 -
如何给嵌入式Linux打实时补丁?
1. 实时系统分类 实时系统可以分为硬实时(Safety-Critical,低延时,比如几十个us内)和软实时(几百个us~几个/几十个ms),硬实时通常跟高确定性、可靠性要求同时出现,如果达不到,可能会造成重大生命或者财产损失,比如说航天飞控、汽车制动系统、精密仪器等都有较高的硬实时要求。对于软实时,可靠性要求没那么高,即使出现了延迟,造成的损失可控...转载 2019-06-28 13:51:59 · 3143 阅读 · 0 评论 -
linux内核工程师 1.03节 Linux Kernel (Linux内核)怎么安装
1、下载新内核源码:到官网www.kernel.org,下载最新版本linux内核,保存到/usr/src/kernels目录,大约54MB。2、# cd /usr/src/kernels3、# tar jvxf linux-2.6.31.5.tar.bz24、进入系统原内核目录,把其中的隐藏文件.config复制到新内核目录中。5、cd进入新内核目录,然后执行# make oldcon...转载 2018-06-12 09:10:33 · 1744 阅读 · 0 评论 -
实时Linux内核的编译安装(PREEMPT_RT)以及测试
目录1.什么是实时性操作系统?2.怎么实现实时性系统?3.PREEMPT_RT4.使用方法4.1下载linux内核源码4.2下载RT patch4.3 使用方法5.测试6.总结用到的命令行1.什么是实时性操作系统?https://blog.csdn.net/ywx123_/article/details/53861274实时性是指调度的时候,任务响...转载 2019-03-30 19:52:16 · 1002 阅读 · 0 评论 -
Linux资源控制-CPU和内存
主要介绍Linux下, 如果对进程的CPU和内存资源的使用情况进行控制的方法。CPU资源控制每个进程能够占用CPU多长时间, 什么时候能够占用CPU是和系统的调度密切相关的.Linux系统中有多种调度策略, 各种调度策略有其适用的场景, 也很难说哪种调度策略是最优的.Linux的调度策略可以参见代码: include/linux/sched.h/* * Schedul...转载 2018-07-31 11:19:26 · 496 阅读 · 0 评论 -
Linux中CPU亲和性(affinity)
0、准备知识超线程技术(Hyper-Threading):就是利用特殊的硬件指令,把两个逻辑内核(CPU core)模拟成两个物理芯片, 让单个处理器都能使用线程级并行计算,进而兼容多线程操作系统和软件,减少了CPU的闲置时间,提高的CPU的运行效率。 我们常听到的双核四线程/四核八线程指的就是支持超线程技术的CPU.物理CPU:机器上安装的实际CPU, 比如说你的主...转载 2018-08-03 16:13:03 · 7281 阅读 · 0 评论 -
Linux中网卡绑定bonding以及网络成组teaming技术学习
1.网卡绑定bonding技术(1)bonding技术简介网卡bonding技术是一种允许将多个物理以太网接口绑定成单一的虚拟接口,同时增加数据带宽并且提供故障切换的技术,是网卡层面的高可用方案。Linux内核2.x版本后,提供了Bonding技术的支持。类似的技术其实在Sun和Cisco中已经存在,分别称为Trunking和etherchannel技术。Linux Bonding...转载 2018-08-03 16:16:09 · 911 阅读 · 0 评论 -
linux下网卡bonding配置
章节bonding技术 centos7配置bonding centos6配置bonding一、bonding技术bonding(绑定)是一种linux系统下的网卡绑定技术,可以把服务器上n个物理网卡在系统内部抽象(绑定)成一个逻辑上的网卡,能够提升网络吞吐量、实现网络冗余、负载等功能,有很多优势。bonding技术是linux系统内核层面实现的,它是一个内核模块(驱动)。使...转载 2018-08-03 16:16:43 · 646 阅读 · 0 评论 -
【性能测试】Linux性能监控命令——sar详解
sar命令可以从文件的读写情况、系统调用的使用情况、磁盘I/O、CPU效率、内存使用状况、进程活动及IPC有关的活动等方面进行报告。命令格式:sar [options] [-A] [-o file] t [n]t为采样间隔,n为采样次数,默认值是1-o file表示将命令结果以二进制格式存放在文件中,file 是文件名。options 为命令行选项sar命令常...转载 2018-08-03 16:33:28 · 359 阅读 · 0 评论 -
理解和配置 Linux 下的 OOM Killer
最近有位 VPS 客户抱怨 MySQL 无缘无故挂掉,还有位客户抱怨 VPS 经常死机,登陆到终端看了一下,都是常见的 Out of memory 问题。这通常是因为某时刻应用程序大量请求内存导致系统内存不足造成的,这通常会触发 Linux 内核里的 Out of Memory (OOM) killer,OOM killer 会杀掉某个进程以腾出内存留给系统用,不致于让系统立刻崩溃。如果检...转载 2018-08-16 12:18:04 · 213 阅读 · 0 评论 -
linux内核中CONFIG_HZ的修改方法
转载:http://blog.sina.com.cn/s/blog_dc8ea1b00101k2ai.htmlCONFIG_HZ 决定了jiffies一次的时钟滴答,影响系统的调度和性能。一般在内核中固定好的,不能在.config中强制修改,因为不会生效,一旦执行了menuconfig又会变为内核默认的。在param.h文件中这样定义[cpp]view plaincopyprin...转载 2019-04-03 08:04:10 · 7071 阅读 · 0 评论 -
pipe函数内核实现
pipe源码分析本文基于linux kernel 4.13 分析,与通用的2.6差距较大。请读者自行甄别本文的特性,是否符合自己当前环境。本文要解决的问题1:pipe源码分析2:pipe大小限制3:如果没有读(写)端了,那么我写(读)操作会发生什么。父子进程之间通信,首先想到的是pipe函数,pipe函数返回2个fd。通常,fork前先调用pipe,fd[0]负责读,fd...转载 2019-03-13 11:00:38 · 423 阅读 · 0 评论 -
Linux环境进程间通信:共享内存(下)
转载:https://www.ibm.com/developerworks/cn/linux/l-ipc/part5/index2.html系统调用mmap()通过映射一个普通文件实现共享内存。系统V则是通过映射特殊文件系统shm中的文件实现进程间的共享内存通信。也就是说,每个共享内存区域对应特殊文件系统shm中的一个文件(这是通过shmid_kernel结构联系起来的),后面还将阐述。1...转载 2019-03-14 09:59:17 · 186 阅读 · 0 评论 -
platform_driver_probe与platform_driver_register的区别
Platform Device and Drivers 从Linux/platform_device.h>我们可以了解Platform bus上面的驱动模型接口:platform_device,platform_driver。和PCI和USB这些大结构的总线不同,虚拟总线 Platform bus使用最小结构来集成SOC processer上的各种外设,或者各种“legacy”之间的互联。转载 2017-03-17 11:33:23 · 359 阅读 · 0 评论 -
Linux时钟管理clk_get函数透彻分析
硬件资源越来越庞大和复杂,内核的另一个挑战就是要便捷的管理这些资源。同时,面对如此之多的平台不同的CPU,管理机制需要统一适用,这就需要对资源的管理抽象到更加通用的层次。CPU中各个模块都需要时钟驱动,内核需要一种机制能通用所有的平台,方便的管理CPU上所有的clk资源。这里分析Linux对clk的管理。通常操作为以下几步:1.定义struct clk *c转载 2017-03-17 13:51:04 · 872 阅读 · 0 评论 -
driver: Linux设备模型之input子系统详解
转载:http://blog.chinaunix.net/uid-23381466-id-3875934.html linux输入子系统 本节从整体上讲解了输入子系统的框架结构。有助于读者从整体上认识linux的输入子系统。在陷入代码分析的过程中,通过本节的知识能够找准方向,明白原理。本节重点: 输入子系统的框架结构 各层转载 2017-04-05 16:48:47 · 535 阅读 · 0 评论 -
linux驱动模型开发——linux platform总线机制讲解与实例开发
通常在Linux中,把SoC系统中集成的独立外设单元(如:I2C、IIS、RTC、看门狗等)都被当作平台设备来处理。从Linux2.6起,引入了一套新的驱动管理和注册机制:Platform_device和Platform_driver,来管理相应设备。Linux中大部分的设备驱动,都可以使用这套机制,设备用platform_device表示,驱动用platform_driver进行转载 2017-04-06 14:02:45 · 287 阅读 · 0 评论 -
Linux设备模型(5)_device和device driver
1. 前言 device和device driver是Linux驱动开发的基本概念。Linux kernel的思路很简单:驱动开发,就是要开发指定的软件(driver)以驱动指定的设备,所以kernel就为设备和驱动它的driver定义了两个数据结构,分别是device和device_driver。因此本文将会围绕这两个数据结构,介绍Linux设备模型的核心逻辑,包括:设备及设备驱动在ke转载 2017-04-06 17:12:39 · 417 阅读 · 0 评论 -
Linux内核sk_buff结构分析
内核版本是2.6.32. 在内核中sk_buff表示一个网络数据包,它是一个双向链表,而链表头就是sk_buff_head,在老的内核里面sk_buff会有一个list域直接指向sk_buff_head也就是链表头,现在在2.6.32里面这个域已经被删除了。 而sk_buff的内存布局可以分作3个段,第一个就是sk_buff自身,第二个是linear-data buff,第三个是p转载 2017-05-08 14:54:56 · 512 阅读 · 0 评论 -
Linux下静态IP地址的设置及TFTP服务的搭建
TFTP(Trivial File Transfer Protocol,简单文件传输协议)是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务。TFTP承载在UDP上,提供不可靠的数据流传输服务,不提供存取授权与认证机制,使用超时重传方式来保证数据的到达。 一、在谈TFTP之前,先简单讲一下Linux网络配置,网络中最重要的当然...转载 2018-05-07 22:09:13 · 579 阅读 · 0 评论 -
Linux 下 NFS服务的搭建
NFS是Network File System的简写,即网络文件系统。 网络文件系统是许多操作系统都支持的文件系统中的一种,也被成为NFS。NFS允许一个系统在网络上与他人共享目录和文件。通过使用NFS,用户可以像访问本地文件一样访问远端系统上的文件。 NFS所提供的共享文件服务是建议在高度信任的基础上的,所以,向其他用户释放共享资源之前,一定要确保对方的可靠性。 NFS的...转载 2018-04-24 09:28:36 · 412 阅读 · 0 评论 -
Linux共享内存shm的内核实现
PDF版本下载链接http://download.csdn.net/detail/sailor_8318/7960535【摘要】本文首先介绍了众所周知的共享内存API,然后介绍了相关的内核主要数据结构,并逐一分析了shmget、shmat、数据访问、shmdt的内核实现及数据结构之间的动态关系,从数据的关联图即可一窥共享内存的实现机制。【关键字】共享内存,shmat, smget, m...转载 2019-03-14 09:55:15 · 2411 阅读 · 0 评论 -
Linux内核:poll机制
http://blog.csdn.net/jansonzhe/article/details/48576025在编写驱动程序的过程当中我们可以使用poll机制来非阻塞的打开我们的设备文件,我们知道,在之前我们编写CC1100的驱动程序以及倒车雷达的驱动程序的时候,在read函数中都有用到过wait_event_interruptible_timeout这个函数,这个函数的主要作用就是采用非转载 2017-03-29 18:38:10 · 1050 阅读 · 0 评论