【linux常用目录及分析】教程文章相关的互联网学习教程文章

Linux下实现mysleep并分析【代码】【图】

对于这个问题,我们首先可以想到的是使用pause()函数和alarm()函数进行组合,这样就可以实现sleep函数的作用。 首先来看pause函数的作用 接着来看SIGALRM信号(man 7 signal):由此我们可以看到SIGALRM默认的Action是Term。 而Term的默认动作是终止进程。 所以我们可以做如下实验,当我们没有信号捕捉的时候会发生什么样的情况?运行结果: 此时并没有输出“after pause”,在程序执行的过程中,遇到pause程序被挂起之后,当2s之后...

linux性能分析工具之iostat--IO实时监控命令【代码】

简介 iostat主要用于实时监控设备的IO负载情况,iostat首次运行时显示自系统开始的各项统计信息,之后运行iostat将显示上次运行该命令以后的统计信息。用户可以通过指定统计的次数和时间来获得所需要的统计信息。同vmstat一样,iostat也有一个弱点,就是它不能对某个进程进行深入分析,仅对系统的整体情况进行分析。 语法 iostat (选项)(参数)选项-d:仅显示设备利用率; -k:显示状态以千字节每秒为单位,而不是使用块每秒; -m...

linux驱动之I2C总线驱动框架分析【代码】【图】

Table of Contents 1、I2C模型框图 2、设备信息层 2.1、非设备树形式 2.2、设备树形式 3、芯片控制器层adapter 3.1、控制器初始化 3.2、控制器底层传输函数(起始,数据,应答,停止) 4、核心层core.c i2c_bus 4.1、i2c_bus总线初始化 4.2、client(设备)和i2c_driver(设备驱动)匹配过程 4.2.1、创建client(设备)时匹配i2c_driver(驱动)过程 4.2.2、注册i2c_driver(驱动)时匹配client(设备)过程 4.3、总线探测probe...

Linux-内核-学习笔记(12):内核启动过程分析【图】

Linux-内核-学习笔记(12):内核启动过程分析 在uboot启动后,会将各种参数通过三个寄存器的方式传递给内核函数,并在执行启动内核后自动结束。内核启动过程会解析参数并初始化各种设备,最终进入到了一种能够实现进程间调度的多进程状态,这些进程里面只要有哪个需要被运行,调度系统就会终止cpu_idle死循环进程(空闲进程)转而去执行有意义的干活的进程,从而实现内核的运转。 一、链接脚本vmlinux.lds.Skernel的链接脚本并不是...

Linux 服务器上有挖矿病毒处理【分析+解决】【代码】【图】

Linux 服务器上有挖矿病毒处理 分析 今天遇到病毒挖矿,有点小兴奋 来波分析: 看上面的症状是:攻击者通过docker入侵的【后面了解,可能是redis账号密码简单的原因被爆破的】 最奇诡的事,攻击者可能通过提权,获取到root的权限。然后一些列的挖矿病毒 大致流程图症状表现 服务器CPU资源使用一直处于100%的状态,通过 top 命令查看,发现可疑进程 解决 排查方法 首先:查看 bbb进程,使用 ps -ef | grep bbb?PS: 通过 ps -ef 命...

Zynq Axidma linux下驱动axidmatest.c 驱动分析【图】

本文的部分内容可能来源于网络,该内容归原作者所有,如果侵犯到您的权益,请及时通知我,我将立即删除,原创内容copyleft归tingkman@163.com所有,使用GPL发布,可以自由拷贝,转载。但转载请保持文档的完整性,注明原作者及原链接,严禁用于任何商业用途。欢迎加入zynq-arm-linux提高交流群:788265722 文档错误可能很多,大家多包涵,主要理解文件的目的就好。可留言 Zynq-axidma是大家常用的功能,所以,很多同学都用到,但是有...

Linux Mii management/mdio子系统分析之四 mdio总线及phy驱动模型及其开发流程【图】

前三篇文章完成了mdio子系统概述、mdio子系统驱动模型概述、mii_bus子模块方法及驱动实现分析,本篇文章我们主要进行mdio总线驱动实现分析、phy驱动实现分析等部分,涉及的内容如下: 一、mdio总线实现及相应方法分析 二、phy驱动实现相应方法的分析 三、phy驱动开发步骤说明 一、mdio总线实现及相应方法分析 既然mdio子模块属于总线型驱动,因此mdio子模块也是继承于linux设备-总线-驱动模型,从而实现自己的驱动模...

Linux Mii management/mdio子系统分析之五 PHY状态机分析及其与net_device的关联【图】

前面几章基本上完成了mdio模块驱动模型的分析,本篇文章主要讲述phy device的状态机以及phy device与net_device的关联。Phy device主要是对phy的抽象,而net_device主要是对mac的抽象,而mdio总线以及mii_bus主要用于对phy设备的控制(包括设置phy设备的工作模式、速率模式、是否为自适应、phy的link状态等),而net_device需要根据phy的工作模式、速率模式、phy的link状态进行状态的同步,因此需要将net_device与phy device进行绑...

Linux Mii management/mdio子系统分析之六 fixed-mii_bus分析(mac2mac分析)【图】

前面几章我们介绍了MDIO模块的大部分内容,针对mii_bus、mdio_bus、phy_device、phy_driver相关的注册、注销均进行了介绍。基本上把mdio模块的内容介绍完了,而本篇介绍的内容,主要是针对虚拟mii_bus实现,并将虚拟phy_device注册至该mii_bus上。(本次分析内容基于LINUX3.10的内核) 那fixed-mii_bus起到什么作用呢?其应用场景如下(示意图如下): 两个cpu间的mac通过rgmii/sgmii等直接相连(不需要phy device),这两块核心...

Linux mtd子系统专栏分析之一 概述【图】

从今天开始,我们进行linux mtd子系统的分析。mtd子系统即为内存技术设备子系统,主要包括nor flash、nand flash等闪存设备相关的子系统模块,而针对sd、tf等存储设备,则主要由mmc子系统模块进行管理并创建对应的块设备。而针对mtd子系统,则会基于mtd原始设备,创建mtd字符设备与mtd块设备,从而在上层与vfs系统进行关联。 针对mtd子系统,主要涉及如下几个方面的介绍: 一、MTD子系统概述 二、MTD设备驱动模型相关数据结构说明...

Linux mtd子系统专栏分析之二 MTD设备驱动模型架构及数据结构说明【图】

本篇文章我们主要说明向mtd设备驱动模型的架构及相应的数据结构,我们从数据结构入手,即可以较好的理解mtd设备驱动模型的架构,以便我们能较好的理解mtd设备驱动模。 本篇主要包括如下几个部分: 一、mtd设备驱动模型的架构说明 二、mtd设备驱动相关的数据结构说明 一、mtd设备驱动模型的架构说明 为了方便我们认识mtd设备驱动模型,此处我们先说明mtd设备驱动模型的架构(即mtd设备驱动模型与外部模块间的联系,包...

Linux Mii management/mdio子系统分析之三 mii_bus注册、注销及其驱动开发流程【图】

本篇是mii management/mdio模块分析的第三篇文章,本章我们主要介绍mii-bus的注册与注销接口。在前面的介绍中也已经说过,我们可以将mii-bus理解为mdio总线的控制器的抽象,就像spi-master、i2c-adapter一样。 本篇文章主要涉及如下两部分: mii-bus的注册与注销接口 mii-bus提供的方法说明 mii-bus驱动开发步骤说明 mii-bus的注册与注销接口 mii_bus主要提供了mdiobus_register、mdiobus_unregister。下面我们对这两...

Linux和Windows系统启动过程的简单分析

对于Windows系统的使用和操作,大家应该都比较熟悉,而对于Linux系统来说,应该是相对陌生。那这两个系统在启动过程中有那些差异呢,又有哪些共同点呢?本文章就简单分析这两个系统在启动过程。系统启动过程 Windows启动过程: 上电——>BIOS——>Windows系统——>识别盘符——>应用程序 装有Windows系统的电脑上电后,CPU先执行固化在芯片上的一段小程序,主要用来初始化内存,加载BIOS;BIOS运行之后,初始化硬件设备,建...

Linux2.6.9内核源码分析--eventpoll【代码】

Linux2.6.9内核源码分析–eventpoll eventpoll epoll分为三个系统调用: long sys_epoll_create(int size); long sys_epoll_ctl(int epfd, int op, int fd, struct epoll_event __user *event); long sys_epoll_wait(int epfd, struct epoll_event __user *events, int maxevents, int timeout); long sys_epoll_create(int size) 参数说明: 输入参数: int sizeIt opens an eventpoll file descriptor by suggesting a storage o...

嵌入式Linux内核的基础分析【图】

2020-01-11 关键字: Linux内核与Linux系统并不是一个东西。Linux内核属于Linux系统。Linux内核指的是一个提供硬件抽象层、磁盘及文件系统控制、多任务等功能的系统软件。而通常我们所说的Linux操作系统指的则是包括Linux内核、工具集、各种库、桌面管理器、应用程序等一体的发布包。 嵌入式Linux内核源码中,最核心的目录是 arch 目录。这个目录下存放着的都是和 CPU 体系相关的代码。 printk 在内核调试过程中可以通过三种方...