自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

哈尼的博客

通俗易懂说网络

  • 博客(11)
  • 收藏
  • 关注

原创 Linux内核设计与实现(13)第十三章:虚拟文件系统

Linux内核(1):虚拟文件系统VFS1. VFS1.1 文件系统定义:1.2 VFS(虚拟文件系统)定义1.3 VFS在Linux系统中的架构视图2. VFS 虚拟文件系统2.1 例子说明 VFS2.1.1 Linux VFS支持的文件系统2.1.2 文件系统目录树(图)2.1.3 Ext2写数据流程例子3. VFS 统一文件模型(common file model)3.1 VFS如何对不同文件系统进行统一管理3.2 四种对象(超级快,目录项,索引节点,文件)3.2.1 四种对象1:super_blo

2021-07-28 17:21:15 301

原创 僵尸进程 & 孤儿进程

僵尸进程 & 孤儿进程1. 僵尸进程-退出,没有被回收处理2. 孤儿进程-执行,没有父进程1. 僵尸进程-退出,没有被回收处理子进程退出,而父进程并没有调用 wait() 或 waitpid() 获取子进程的状态信息,那么子进程的 PID 和 进程描述符 等资源仍然保存在系统中,这种进程称之为僵尸进程危害:僵尸进程会一直以终止状态(释放了内存等资源)保持在进程表里并会一直等待父进程获取其退出状态,但父进程没有回收(父进程出了问题)。保留的那段信息就不会释放,其进程号就会一直被占用强调:

2021-07-26 19:40:24 193

原创 Linux 锁机制(5)之互斥,读写,信号量和自旋锁总结比较

Linux 锁机制(4)之互斥,读写和自旋锁总结比较1. 互斥,读写和自旋锁总结比较1.1 选择锁的几个参考:1.1.1 首选互斥锁1.1.2 执行时间短/临界区小,选择自旋锁1.1.3 如果能区分出读写操作,读写锁就是第一选1.2 互斥锁和自旋锁的比较(成本,睡眠,中断)锁的相关文章多线程(4)什么是锁?锁机制,死锁等说明https://blog.csdn.net/lqy971966/article/details/104527787Linux 锁机制(1)之互斥量 mutexhttps://b

2021-07-26 17:07:23 288

原创 Linux 锁机制(1)之互斥量 mutex

Linux 锁机制(1)之互斥量 mutex1 互斥量1.1 互斥和同步区别2 互斥量接口API(linux)3 互斥量存在的问题3.1 问题(两种状态,经常死锁)3.2 解决:(+条件变量)3.3 条件变量的作用:4 条件变量: pthread_cond_t4.1 条件变量的使用及具体实现4.2 条件变量接口5 互斥量和条件变量使用伪代码6 互斥量和条件变量代码例子参考1 互斥量互斥: 是指某一资源同时只允许一个访问者对其进行访问,具有唯一性和排它性。互斥量: 用来确保一个线程独占一个资源的访问。

2021-07-26 14:23:30 379

原创 Linux:上下文,进程上下文和中断上下文概念,上下文切换

操作系统二:上下文,进程上下文和中断上下文1. 上下文 context:(就是一个环境)1.1 进程上下文的三个部分:用户级上下文、寄存器上下文以及系统级上下文1.2 上下文切换1.3 cpu内核态的三种状态:2. 进程上下文:3. 中断上下文3.1 中断上下文概念:3.2 中断上下文代码中注意事项1. 上下文 context:(就是一个环境)上下文简单说来就是一个环境,相对于进程而言,就是进程执行时的环境。具体来说就是各个变量和数据,包括所有的寄存器变量、进程打开的文件、内存信息等。1.1 进程上

2021-07-26 10:20:41 6635

原创 Linux RCU机制+内存屏障

Linux RCU机制1. RCU1.1 RCU 背景(读写锁的问题)1.1.1 读写锁(写独占,读共享,写锁优先级高)1.1.2 读写锁的缺点(写独占时不可读)1.1.3 RCU 是对读写锁的优化/替换,解决读写互斥问题(随时读,写互斥)1.2 RCU 定义(读,拷贝更新: 随时读,写互斥)1.3 RCU 应用场景(链表)1.3.1 多读少写的情况:典型应用场景 - 链表1.4. 宽限期1.5 RCU 优缺点1.6 RCU 机制实现的一个基本前提:不能被阻塞2. 设计思想(新老指针替换,避免加锁)2.1

2021-07-22 10:39:36 1534 1

原创 Linux:COW 写时拷贝技术

操作系统一:COW:Copy-On-Write 写时拷贝技术 1. cow 写时拷贝技术的背景1.1 传统fork()调用1.2 传统fork()调用的缺点2. cow 写时拷贝:2.1 一句话解释:虚拟地址空间独立(复制),物理地址空间共享,只有写入时才拷贝(推迟或者避免拷贝)2.2 cow 写时拷贝技术原理2.3 cow 写时拷贝的不拷贝的情形:exec2.4 cow 应用场景1. cow 写时拷贝技术的背景1.1 传统fork()调用传统的fork()系统调用直接把所有的资源复制给新创建的进

2021-07-16 09:29:36 1077

原创 Linux fdisk命令及U盘分区制作启动盘实践

Linux fdisk命令及U盘分区制作启动盘实践1. linux 对 U盘分区实践1.1 linux 命令识别U盘文件类型1.2 linux 对 U盘分区实践2. fdisk 命令2.1 fdisk2.2 fdisk 常用命令2.3 sda和hda的区别3. U盘制作boot启动盘3.1 MBR是啥?3.2 dd命令有个项目需要对U盘进行分区,对fdisk学习一下1. linux 对 U盘分区实践1.1 linux 命令识别U盘文件类型通过插拔U盘,然后通过一下三种方法来查看U盘的文件为sda还是

2021-07-06 17:32:22 1631

原创 c语言 switch case 太多优化/重构[二]

c语言 switch case 太多优化/重构[二]1. 背景 - 某该函数switch case 复杂度太高 ,函数太长 pclint不过2. 解决 - 建表,查表处理3. witch case 原理/代码优化 重构参考:1. 背景 - 某该函数switch case 复杂度太高 ,函数太长 pclint不过CHAR * AB_FUN_XXXX(IN ULONG ulResult){ UINT uiRcID; switch (ulResult) { case ERROR_SUCCESS:

2021-07-03 17:11:02 5350 2

原创 惊群效应和内存站岗问题

惊群效应和内存站岗问题1. 惊群效应1.1 惊群效应是什么1.2 惊群效应的问题1.3 惊群的几种情况1.3.1 accept惊群(新版内核已解决)1.3.2. epoll惊群1.3.3. 线程池惊群2. 内存站岗问题有一次有人问我什么是惊群效应……1. 惊群效应1.1 惊群效应是什么当你往一群鸽子中间扔一块食物,虽然最终只有一个鸽子抢到食物,但所有鸽子都会被惊动来争夺,没有抢到食物的鸽子只好回去继续睡觉, 等待下一块食物到来。这样,每扔一块食物,都会惊动所有的鸽子,即为惊群。操作系统中的现象:

2021-07-03 16:54:29 415

原创 多进程和多线程间通信总结[一]

进程间通信和线程间通信总结1. 进程间通信1.1 socket - 网络中进程间通信1.1.1 socket1.1.2 代码示例1.2 消息队列 - 同一主机上的进程通信方式1.2.1. Linux中的消息队列其实就是一个文件。1.2.2. 消息队列的本质其实是一个内核提供的链表。1.2.3. 消息队列的缺点1.2.4 消息队列-ftok msgget msgsnd msgrcv msgctl 接口1.2.1 伪代码示例:1.3 信号量(Semaphore) - 同一主机上的进程通信方式1.3.1 信号量接

2021-07-01 11:11:53 869

空空如也

空空如也

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

TA关注的人

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