前言: 此文是记录我遇到的问题及解决办法 环境相关: 使用的直接读写方式,这种方式会创建一个MDL,将用户空间的地址重新映射到了内核空间,这样不会发生拷贝也不会造成地址访问错误。MDL被I/O管理器创建好之后,放置在下面这个字段中 irp->MdlAddress//获取缓冲区地址需要使用MDL操作函 ...
分类:
其他好文 时间:
2020-05-23 14:57:33
阅读次数:
52
从商业的角度来说,在行业格局没有发生颠覆性变革的时候,现有的热门语言依靠多年积累的庞大用户基础!
分类:
编程语言 时间:
2020-05-20 09:42:21
阅读次数:
54
可重入函数 可重入函数:当前进程已经处于该函数中, 这时程序会允许当前进程的 某个执行流程再次进入该函数, 而不会引发问题。可重入函数一定是线程安全的,而线程安全函数则不一定是可重入函 数,很难说出哪些函数是可重入函数,但是可以很明显看出哪些函数是不可以重入的函数。例子:当函数使用锁的时候,尤其是互 ...
分类:
其他好文 时间:
2020-04-27 19:26:43
阅读次数:
55
1 内存划分 对于 32位linux,进程:0~3G,内核:3G~4G,所有进程的内核空间(3G~4G)都是共享的。 线性区映射的物理内存成为低端内存,剩下的内存被称为高端内存。 2 内存管理 2.1 物理内存管理 Linux内存最小管理单位为页(page),通常一页为4K。初始化时,linux会为 ...
分类:
系统相关 时间:
2020-04-17 13:57:47
阅读次数:
102
1、阻塞与非阻塞 阻塞与非阻塞是对同一个线程来说的,在某个时刻,线程要么处于阻塞,要么处于非阻塞。 阻塞和非阻塞关注的是程序在等待调用结果(消息,返回值)时的状态。 阻塞调用是指调用结果返回之前,当前线程会被挂起。调用线程只有在得到结果之后才会返回。 非阻塞调用指在不能立刻得到结果之前,该调用不会阻 ...
分类:
其他好文 时间:
2020-04-11 22:08:34
阅读次数:
71
iptables 1. iptables 是什么 iptables 是一个 客户端 ,用户通过ipatbales这个代理,将用户的安全设定执行到对应的“安全框架中”, 这个安全框架才是真正的防火墙,框架的名字叫 netfilter 。 iptables 处于用户空间,netfiler 在内核空间。 ...
分类:
其他好文 时间:
2020-03-22 19:57:04
阅读次数:
91
介绍TUN/TAP设备的概念和常见作用(即打通VM和Host间的网络),以及和Veth-pair网线的区别。这一节内部比较简单,因为主要内容已经在Veth网线里面讲了。 什么是TUN/TAP TUN/TAP是Linux中一种虚拟出来的网络设备,简单说,它也是一种“网线”,只是这种网线和Veth牌网线 ...
分类:
其他好文 时间:
2020-03-19 13:51:13
阅读次数:
72
The simple answer to that is, "Kernel Developers do not put blind faith in anything". When any data is passed to the kernel space from userspace, it i ...
分类:
其他好文 时间:
2020-02-28 18:52:41
阅读次数:
85
用户线程和内核线程 现代操作系统中,实现线程库有两种方法:在用户空间中和在内核空间中。 用户线程 整个线程包的实现都在用户空间的话,就意味着操作系统内核对它一无所知,只知道他是一个普通的需要调度的进程。协程就是一种用户线程的实现,可以满足在一个内核线程上并发执行多个任务,coroutine和goro ...
分类:
编程语言 时间:
2020-02-26 21:07:52
阅读次数:
367
[TOC] 概述 五链指的是五个关卡,这五个关卡正好处在数据流量的必经之路上,我们就是通过这五个关卡来控制报文。这五个关卡就处在tcp/ip协议栈里面,而tcp/ip协议线处在内核里面,所以软件防火墙是属于内核空间的功能而不是用户空间的功能。 引申: 软防火墙通过关卡来控制报文的流动,硬件防火墙通过 ...
分类:
其他好文 时间:
2020-02-24 14:42:26
阅读次数:
85