自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 资源 (3)
  • 收藏
  • 关注

原创 Linux共享内存实现的四种方式

共享内存经常被提起,其实现原理在我脑海中也就记得一些零星的映像,将堆和栈中间的共享内存映射区通过mmap映射到不同进程的地址空间中去,每个进程有其对应的vm_area_struct,而address_space只有一个........共享内存分system V、POSIX、mmap,memfd_creates四种不同的实现机制首先System V和POSIX是啥?System V是一种具体的操作系统POSIX则是一种操作系统接口标准,是可移植的。

2023-07-12 17:25:06 2023

原创 Linux内核启动流程

在 linux内核启动前, boot loader会将存储介质中的 initrd 文件加载到内存,内核启动时会在访问真正的根文件系统前先访问该内存中的 initrd 文件系统。在 bootloader 配置了 initrd 的情况下,内核启动被分成了两个阶段,第一阶段先执行 initrd 文件系统中的"某个文件",完成加载驱动模块等任务,第二阶段才会执行真正的根文件系统中的 /sbin/init 进程。98D板子,烧固件时用run upt,其实upt是一环境变量。u-boot启动内核的过程。

2023-05-04 16:23:05 5219

原创 学iptables衍生出的疑问

学习Iptable和netfilter中有很多疑问,简单分析了netfilter的原理,以及如何自己注册自定义表和钩子函数

2023-04-19 17:29:10 447 1

原创 浅谈ioremap,vmalloc,mmap三者之间的区别

在应用层使用,在用户虚拟地址空间(0-3G)映射区申请一块可用的虚拟地址(vma),然后将这块虚拟空间的地址范围传入到driver,在driver中实现映射:vma<–>物理地址。在驱动中使用,用于建立内核中虚拟地址空间vmalloc与各其他外设寄存器地址之间的映射,期间并不分配新的物理内存,直接映射已知物理地址(寄存器地址)也在驱动中使用,也是在内核虚拟地址空间vmalloc区申请一段连续的虚拟空间,但物理地址不连续,广泛的用途就是给模块分配内存。

2023-04-14 10:05:03 881

原创 Linux I/O内存访问ioremap(内核如何通过内存地址访问个IIC,SPII控制器的寄存器或外部内存总线上的设备?)

ioremap()与vmalloc()类似,也要建立新的页表,不进行vmalloc()中所执行的内存分配行为。或者外部内存总线上的设备)之前,需首先使用ioremap()函数将设备所处的物理地址映射到虚拟地址上。要使用某个外设前,要申请其所对应的IO内存,表明驱动要访问这块区域。映射的虚拟地址位于vmalloc 映射区域,然后使用readb,writeb读写。1、在内核中访问IO内存(通常是。

2023-04-12 13:35:01 418

原创 软中断、tasklet、工作队列的疑问

软中断tasklet。

2023-04-11 14:32:39 268

原创 RCU读写锁

更新共享数据的操作也不会阻塞读操作,它会先将新版本的数据复制到一个新的位置,再通过一种同步机制保证所有读取旧版本数据的操作完成后,才更新指针以指向新版本的数据。最后,在等待一定时间的延迟删除期之后,才将旧版本的数据删除,以避免删除的数据仍被读取。RCU的核心思想是,不直接删除被共享的数据,而是在新的版本中复制并更新数据,直到所有正在访问旧版本的读操作完成后才删除旧版本。需要注意的是,RCU只适用于读多写少的场景,对于写多的场景,使用RCU可能会导致延迟过高。

2023-03-28 13:52:33 280

转载 编译一个属于自己的最小 Linux 系统

编译一个属于自己的最小 Linux 系统

2023-03-22 10:41:35 192

转载 浅入浅出 iptables 原理:在内核里骚一把 netfilter

浅入浅出 iptables 原理:在内核里骚一把 netfilter~

2023-03-22 10:38:59 67

原创 【Linux网络协议分析】网络协议剖析之IP转发介绍

【Linux网络协议分析】网络协议剖析之IP转发介绍-

2023-03-21 00:18:49 114

原创 基于Netfilter从零开始写一个Linux防火墙

基于Netfilter从零开始写一个Linux防火墙,为我们的迷你防火墙编写代码。

2023-03-21 00:12:55 220

原创 Ubuntu22.04 C编程环境搭建

最近想在linux学习C语言编程,捣鼓了几天,还有很多坑没踩完,在这主要记录下安装好Ubuntu后需要做了哪些配置。ubuntu镜像sudo apt-get install build-essentialsudo apt-get install gitgit clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vimvim ~/.vimrc配置.vimrc,自己刚入门c,里面很多函数看不懂更记不住,

2022-04-22 18:48:27 2393

Java写的PCSC+ATR解析工具

项目集成了ATR解析程序和PCSC程序,调用javax.smartcardio连接读卡器,可以发送APDU指令并显示出来。自动解析ATR。实现部分snooper的功能,也带有简约好看的界面。

2019-12-10

《Tomcat与Java Web开发技术详解(第2版)》.(孙卫琴).pdf

《Tomcat与Java Web开发技术详解(第2版)》.(孙卫琴).pdf

2018-04-18

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除