- 博客(25)
- 资源 (16)
- 收藏
- 关注
原创 igb网卡的 link状态
在当前的环境中, 拔出SFP后,系统没有监测到media_type的变化, 中断未上报,只报了一些对i2c_read ERR的日志。这里对于copper,link状态在外部,由外部上报LSC中断,系统觉得是准确的,所以这里如果外部中断已经上报了,不需要再去读取link状态了。_dev_open则是在调用ifconfig up 的流程中调用的,所以 netif_running类似于管理状态的概念,这里有一个netif_carrier_ok(netdev): 这里最终是网卡link_up状态中设置的,见后面。
2024-04-15 17:24:47
1028
原创 内核编译外部模块
hack_unlinkat.c是源文件,把Makefile放到源文件目录下,执行make.最后编 译出来的目标是hack_unlinkat.ko。-C $DIR kernel源码路径,编译过程中会改变该路径下内容,编译完成后回 退修改,还原到编译前。完全编译过的kernel,删掉其中的源文件(即.c文件),也可以编译外部模块。选项"M=<dir>"告诉kernel编译系统编译外部模块的源码路径。一、首先,编译外部模块,需要一个已经编译完成的内核。
2024-04-12 14:38:23
406
原创 linux的文件隐藏属性 专治手滑
有用户曾经在生产环境和 RHCE 考试题目中碰到过明明权限充足但却无法删除某个文件的情况,或者仅能在日志文件中追加内容而不能修改或删除内容,这在一定程度上阻止了黑客篡改系统日志的图谋,因此这种“奇怪”的文件也保障了 Linux 系统的安全性。linux系统开发人员几乎都通过后台操作文件,相信99%的同学都有过不小心删除文件之后无法找回的经历,今天介绍一下文件的隐藏属性,文件的隐藏属性可以让系统中的文件受保护,避免不小心被误操作。(+i参数)对于目录,只能修改子文件中的内容不能新建或删除文件。
2024-04-12 14:14:03
447
原创 文件操作 从VFS到设备驱动的流程
grab_cache_page_write_begin 根据pgoff_t index,在page_tree。file->f_op->write(ext4_file_operations..write_iter=ext4_file_write_iter ) 文件系统层。file->f_op->read(ext4_file_operations..read_iter=ext4_file_read_iter ) 文件系统层。copy_page_to_iter 会将内容从内核缓存页拷贝到用户内存空间。
2024-04-08 17:51:48
705
1
原创 LZ4格式及算法
B.Checksum 表示每个block 是否包含checksum。LZ4 就是直接利用lz77替换之后编码, 不使用huffman。EndMark后面的checksum。Data 压缩块由多个序列组成,序列快的压缩,解压过程参考。
2024-03-11 18:40:39
591
1
原创 windows 杂项
reg.exe add "HKCU\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}\InprocServer32" /f /ve 右键。3,对于分页内存来说,调用MmProbeAndLockPages以及MmGetSystemAddressForMdlSafe来锁定内存页,以防止被page out出去;第一,MDL的一个用法是提供驱动程序访问用户模式数据缓冲区的一种方式:直接I/O。1,分配一个buf,可能是分页或者非分页的;
2024-03-11 10:34:10
673
原创 中断 INTX 》MSI 》MSI-X
MSI 要求中断数是连续的,现在单个设备 32 个中断也不够用,所以引入了 MSI-X。MSI-X 不要求中断数是连续的,单个设备支持 2048 个中断。MSI-X 如何支持 2048 中断?配置空间如下:MSI-x 信息记录到BAR上面,每个中断会在BAR上有一条记录,中断信息在BAR上的记录的样子如下:每个中断都使用单独的“消息地址”字段和“消息数据”字段。
2024-03-08 14:05:17
1270
1
原创 GZIP&Deflate 压缩格式
每一个压缩块都必须有一个块首部,但是每一个压缩块在最终输出的时候,下面三种编码格式(存储、静态、动态)只能用一种。45 2D F1 80 : 这四个字节是CRC32校验码,转换成正常读取的顺序“80 F1 2D 45”,),表示这是最后一个压缩块,如果没置上(该位是0),取模的结果(因为只能用四个字节存结果,所以只能对。:这四个字节是原始文件的大小,网络字节序,即。的文件体“基本”是一样的,因为它们都使用了。使用zip压缩,下面是压缩后的文件,的文件格式,这部分都是一样的,比如。
2024-03-07 15:55:48
1162
1
原创 LZ77 与 Huffman
16”后面就是表示重复次数(注意区分“出现次数”)的数据,用2bit(两比特)记录,分别是“00,01,10,11”,对应的重复次数分别为“3,4,5,6”(重复次数不小于三次,所以这里从3开始,因为只用两位记录,所以最大的重复次数是6),如果6次之后紧跟着还有重复,那么就再来一个“16”并且后面跟着实际的重复次数即可;用一个数组来存放这个树,数组的每个元素存放二叉树中的层数,7,8的层数都是3,如何区分呢,那就是数值小的一定是左叶子节点,数值大的一定是右叶子节点。如果减小码字占用的bit位长度?
2024-03-07 15:28:21
1092
1
原创 MSI MSIX
Message Address:存放MSI存储器写事务的目的地址,中断到来的时候,PCIE会向这个地址写message data数据。Msi-x table offset : 0-2bit表示table在第几个bar, 3-31表示在bar上的偏移量。0-7 是中断向量编号, 如果是MSI,则中断向量号连续,msi-x则不要求连续。1-3: 支持的中断数量,0b000=支持一个中断 0b001=支持4个中断。X86系统下,message address对应的LAPIC的地址。4-6: 使能的中断数量。
2024-03-05 16:43:01
605
原创 Linux 调度策略 SCHED_OTHER SCHED_FIFO SCHED_RR SCHED_BATCH SCHED_IDLE
Linux 调度策略的类型大致可以分为 TSS (分时系统)和实时系统这两种。一方面.一般的进程是通过分时运行的。也就是说.使用 CPU 的时间达到分配给进程的时间(时间片)时,就会切换到其他进程。这种分时运行的调度策略称为 TSS 。另一方面,在实时制约较严格且要求保证实时的处理中,就需要指定静态的执行优先级.并严格按照执行优先级进行调度。对这种对应答性有要求的进程,可以使用实时调度策略。另外,与 TSS 调度策略的进程相比. CPU将优先分配给使用用实时调度策略的进程。在 Linux中,进程..
2021-03-03 19:08:18
3458
1
原创 openssl RSA 编程
前面一篇讲到了密钥的格式,本文利用密钥进行加密,加密/解密都是类似的,本文只说加密。密钥加载有两个接口:PEM_read_RSA_PUBKEY加载PKCS#8文件头格式PEM_read_bio_RSAPublicKey加载PKCS#1文件头格式参数没仔细研究,第一个参数为文件句柄即可。加密接口:int RSA_public_encrypt(int flen, const unsigned char *from, unsigne...
2021-02-23 18:57:30
438
转载 37个最佳免费数据销毁软件程序
https://www.lifewire.com/free-data-destruction-software-programs-2626174
2021-02-23 18:24:27
1230
原创 RSA密钥格式解析 DER-PEM 转换代码
环境: ubuntu20.4 内核 5.10.10RSA是最常见的非对称加密算法,RSA的原理就不做介绍了,主要介绍一下密钥格式,linux 进行密钥转换编程。要学习RSA编码,首先需要理解RSA密钥的格式。RSA有公钥,私钥之分,公钥私钥都使用相同的语法格式。RSA的密钥有两种格式,PEM格式,DER格式PEM格式PEM格式包含几种报文头"-----BEGIN PUBLIC KEY-----": PKCS#8 格式公钥"-----BEGIN PRIVATE ...
2021-02-22 10:44:22
11395
6
原创 linux 常用磁盘操作搜集
查看UUIDls /dev/disk/by-uuid/* -l修改 UUIDtune2fs -U x /dev/sdaxmount命令参数mount /dev/sda1 /mnt-t:ext2linux目前常用的文件系统msdosMS-DOS的fat,就是fat16vfatwindows98常用的fat32nfs网络文件系统iso9660CD-ROM光盘标准文件系统ntfswindowsNT/2000/XP的文件系统...
2021-02-08 09:12:47
130
原创 linux启动流程1:实模式都干了啥
实模式是什么?实模式就是系统刚刚启动的时候,采用和8086相同的16位段和偏移量,最大寻址空间1MB,最大分段64KB的模式。在这个模式下,系统的资源还没有完全利用起来,主要是起过度作用。BIOS在主板上,有一个东西叫ROM(Read Only Memory,只读存储器)。ROM 是只读的,买到电脑时,上面就固化了一些初始化的程序,也就是BIOS(Basic Input and Output System,基本输入输出系统)。BIOS就是工作在实模式的(严重怀疑现在很多bios已经不是实模式
2021-02-05 19:54:06
500
1
原创 linux驱动加载 动态加载 静态加载 自动加载
概述在Linux下可以通过两种方式加载驱动程序:静态加载和动态加载。静态加载就是把驱动程序直接编译进内核,系统启动后可以直接调用。动态加载利用了Linux的module特性,可以在系统启动后用insmod命令添加模块(.ko),在不需要的时候用rmmod命令卸载模块。驱动加载静态加载过程将模块的程序编译到Linux内核中,也就是咱们在编译内核时选择Y的模块,静态由do_initcall函数加载。先来看看initcall在哪里:核心进程(/init/main.c)...
2021-02-04 14:57:40
4546
1
原创 linux 5.10 x86 内核开发环境
linux 5.10 开发环境vmware虚拟机镜像基于最新ubuntu 20.4搭建源代码在/root 下面工具链完整链接:https://pan.baidu.com/s/1U7F6xu7OinrK7SGOHcLiVA提取码:9wrt复制这段内容后打开百度网盘手机App,操作更方便哦...
2021-01-26 16:43:36
241
原创 nwipe使用
nwipe --sync --rounds=3 --method=gutmann /dev/sdc-m, --method=METHOD The wiping method (default: dodshort). See man page for more details.dod522022m / dod - 7 pass DOD 5220.22-M methoddodshort / dod3pass - 3 pass DOD methodgutmann - Peter Gutman.
2021-01-20 12:30:32
531
i210-datasheet-v-3-5.pdf
2020-10-23
Linux version 3.10.0-514.el7.x86_64
2020-09-18
82599-datasheet-v3-4 (2).pdf
2020-08-25
source insight 中文插件
2015-01-10
ExtJS2·0入门级简明教程
2009-02-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人