【 Linux 内存分析工具——free命令】教程文章相关的互联网学习教程文章

Linux系统调用:select()系统调用源码分析【代码】【图】

Linux select()系统调用源码分析rtoax2021年4月26日先给出几个用户态select系统调用的socket示例程序:https://github.com/Rtoax/test/tree/master/ipc/socket/select 内核版本:linux-5.10.13代码示例:select+eventfd注释版代码:https://github.com/Rtoax/linux-5.10.131. select()系统调用 不做过多的解释,本文不对系统调用从用户态到内核态的流程,只关注select本身。 1.1. 用户态 /* According to POSIX.1-2001 */ #include...

Linux 性能分析工具汇总【代码】【图】

出于对Linux操作系统的兴趣,以及对底层知识的强烈欲望,因此整理了这篇文章。 本文也可以作为检验基础知识的指标,另外文章涵盖了一个系统的方方面面。如果没有完善的计算机系统知识,网络知识和操作系统知识,文档中的工具,是不可能完全掌握的,另外对系统性能分析和优化是一个长期的系列。 本文档主要是结合Linux 大牛,Netflix 高级性能架构师 Brendan Gregg 更新 Linux 性能调优工具的博文,搜集Linux系统性能优化相关文章整...

Xshell 建立连接异常。再分析具体是linux ping windows 正常,windows ping linux无法成功【图】

我遇到情况的解决方案: 1.虚拟机设置的网络适配器选择NAT模式 2.inux查看ip地址 ifconfig 3.设置windows的网络连接找到 这个VMnet8(前提是VMware虚拟机) 4.右击属性找到,再点IPv4属性 设置ip和虚拟机的ip到同一个网段,如我即可(这个是根据虚拟机ip 192.168.237.139来的) 5.点击确定即可完成。

31.Linux-分析并制作环形缓冲区【代码】【图】

1.环形缓冲区log_buf[]又是存在内核的哪个文件呢???位于/proc/kmsg里,所以除了dmesg命令查看,也可以使用cat /proc/kmsg来查看2.但是,dmesg命令和cat /proc/kmsg有所不同2.1 dmesg命令??每次使用,都会打印出环形缓冲区的所有信息2.2 cat /proc/kmsg??只会打印出每次新的环形缓冲区的信息??比如,第一次使用cat /proc/kmsg,会打印出内核启动的所有信息??第二次使用cat /proc/kmsg,就不会出现之前打印的信息,只打印继上次使用cat /pro...

30.Linux-printk分析、使用__FILE__, __FUNCTION__, __LINE__ 调试【代码】【图】

1.在驱动调试中,使用printk(),是最简单,最方便的办法??当uboot的命令行里的“console=tty1”时,表示printk()输出在开发板的LCD屏上??当uboot的命令行里的“console=ttySA0,115200”时,表示printk()输出在串口UART0上,波特率=115200??当uboot的命令行里的“console=tty1 console=ttySA0,115200”时,表示printk()同时输出在串口上,以及开发板的LCD屏上??显然printk(),还是根据命令行参数来调用不同控制台的硬件处理函数??内核又是怎么...

Linux I2C内核架构分析,基于三星I2C控制【代码】【图】

I2C内核架构分析本章以linux3.14.0为参考, 讨论Linux中的i2c控制器驱动是如何实现的。驱动入口三星的i2c控制器驱动是基于platform总线实现的,struct platform_driver定义如下:当设备树节点信息的compatible信息和注册的platform_driver.driver. of_match_table字符串会通过platform总线的macth方法进行配对,匹配成功后会调用probe函数s3c24xx_i2c_probe()。驱动核心结构要理解i2c的内核架构首先必须了解一下这几个机构体:s3c...

手把手教Linux驱动6-原子操作原理分析【代码】【图】

原子操作原理分析概念原子操作是指不被打断的操作,即它是最小的执行单位。最简单的原子操作就是一条条的汇编指令(不包括一些伪指令,伪指令会被汇编器解释成多条汇编指令)。在 linux 中原子操作对应的数据结构为 atomic_t,定义如下:typedef struct {int counter;} atomic_t;本质上就是一个整型变量,之所以定义这么一个数据类型,是为了让原子操作函数只接受 atomic_t 类型的操作数,如果传入的不是 atomic_t 类型数据,在程序编...

嵌入式linux开发uboot移植(三)——uboot启动过程源码分析

一、uboot启动流程简介 与大多数BootLoader一样,uboot的启动过程分为BL1和BL2两个阶段。BL1阶段通常是开发板的配置等设备初始化代码,需要依赖依赖于SoC体系结构,通常用汇编语言来实现;BL2阶段主要是对外部设备如网卡、Flash等的初始化以及uboot命令集等的自身实现,通常用C语言来实现。1、BL1阶段 uboot的BL1阶段代码通常放在start.s文件中,用汇编语言实现,其主要代码功能如下: (1) 指定uboot的入口。在链接脚本...

以ptp4l、E2E为例的Linuxptp代码分析【代码】

最近在学习这部分内容,发现网上没有多少相关的代码分析的文章,结合自己的学习,和大家分享一下,希望大家批评指正! linuxptp code git clone git://git.code.sf.net/p/linuxptp/code linuxptpptp4l.c::main()首先是处理命令行的参数,然后是clock type,紧接着clock_create,最终在clock_poll中让端口处理他们的events。根据不同的clock type有不同的event,这里以bc_event为例。 port.c::bc_event 这部分我的描述可能不够准确,...

590_linux内核学习_fork.c中copy_process函数分析【图】

全部学习汇总: https://github.com/GreyZhang/little_bits_of_linux 继续分析fork.c,看样子,这个文件应该能够结束的很快。最近工作的不顺心、堵心让我更有了找点慰藉的东西的想法。学习吧,这就是最好的选择。这次看看copy_process函数。 开始的时候有点吃惊这个函数的传入参数数目多,后来分析代码的时候基本清楚其实这些基本都是CPU的寄存器。 看上去,这个进程的复制功能的确不算是复杂。不过,这个...

Linux虚拟化KVM-Qemu分析(十一)之virtqueue【图】

目录 1. 概述 2. 数据结构 3. 流程分析 3.1 发送 3.2 接收 3.3 代码分析 3.3.1 virtqueue创建 3.3.2 virtio-net驱动发送 3.3.3 Qemu virtio-net设备接收 参考 相关阅读KVM版本:5.9.1QEMU版本:5.0.0文章同步在博客园:https://www.cnblogs.com/LoyenWang/ 1. 概述前边系列将Virtio Device和Virtio Driver都已经讲完,本文将分析virtqueue; virtqueue用于前后端之间的数据交换,一看到这种数据队列,首先想到的就是ring-buffer...

LInux系统***植入排查分析 及 应用漏洞修复配置(隐藏bannner版本等)【代码】

在日常繁琐的运维工作中,对linux服务器进行安全检查是一个非常重要的环节。今天,分享一下如何检查linux系统是否遭受了***?一、是否***检查1)检查系统日志检查系统错误登陆日志,统计IP重试次数(last命令是查看系统登陆日志,比如系统被reboot或登陆情况) [root@bastion-IDC ~]# last2)检查系统用户查看是否有异常的系统用户 [root@bastion-IDC ~]# cat /etc/passwd查看是否产生了新用户,UID和GID为0的用户 [root@bastion-I...

Linux分析排查

Linux分析排查文件分析---敏感文件 1.1 Linux系统下一些皆文件,其中/tmp是一个特别的临时目录文件,每个用户都可以对它进行读写操作。因此一个普通用户可以对/tmp目录执行读写操作。文件分析---敏感文件信息 2.1 查看开机启动项内容/etc/init.d/,恶意代码很有可能设置在开机自启动的的位置 2.2 使用ls -alh | head -n 10 筛选前十个文件查看是否异 2.3 新增文件分析: ? 2.3.1 查找24小时内被修改过的文件 ? Find ./ -mt...

Linux 内核中红黑树实现分析【代码】

0x00 前言 由于红黑树具有非常重要工程实践意义,很多基础工程中都包含有红黑树的实现。对比 paho.mqtt.c / nginx / libuv / linux 中红黑树的实现发现,Linux 内核中红黑树的实现部分最为经典,本文通过对 Linux 内核中红黑树的实现进行初步分析,并利用 Linux 内核中红黑树的接口,引用《算法导论》中数据结构扩展的一般方法,对红黑树扩展来实现顺序统计树。 0x01 Linux 内核中红黑树实现分析 ① 结构定义 Linux 内核的红黑树数...

Windows、Linux、Unix哪个更好用?优缺点分析!

有很多人经常会提问到,电脑有几种操作系统,电脑操作系统有很多种,较为常见的就是Windows、Linux、Unix、Mac OS X,那么这几个系统哪个更好用?  Windows:使用人数最多的系统  优点:软件丰富、高易用性、只要简单学习就能流畅使用;  缺点:感染病毒的风险较大  Mac OS X:苹果的专用系统  优点:界面美观,操作简便,也不需要额外购买;  缺点:只可以运行于苹果电脑,因为苹果电脑高昂售价,MAC用户比较少。  Li...