1.管道 对于具有公共祖先的进程,其管道是建立在3-4G的内核空间中的。每个进程各自有不同的用户地址空间,任何一个进程的全局变量在另一个进程中都看不到,所以进程之间要交换数据必须通过内核,在内核中开辟一块缓冲区,进程1把数据从用户空间拷到内核缓冲区,进程2再从内核缓冲区把数据读走,内核提供的这种机制 ...
分类:
系统相关 时间:
2019-05-01 11:59:56
阅读次数:
147
讨论Linux环境下的network IO。 一、概念说明 1、内核态(内核空间)和用户态(用户空间)的区别和联系? 用户空间是用户进程所在的内存区域,系统空间是操作系统所在的内存区域。 为了保证内核的安全,处于用户态的程序只能访问用户空间,而处于内核态的程序可以访问用户空间和内核空间。 2、文件描 ...
分类:
系统相关 时间:
2019-04-28 18:57:13
阅读次数:
183
我们都知道在用户空间动态申请内存用的函数是 malloc(),这个函数在各种操作系统上的使用是一致的,对应的用户空间内存释放函数是 free()。注意:动态申请的内存使用完后必须要释放,否则会造成内存泄漏,如果内存泄漏发生在内核空间,则会造成系统崩溃。 那么,在内核空间中如何申请内存呢?一般我们会用 ...
分类:
其他好文 时间:
2019-04-25 14:33:30
阅读次数:
189
网络编程里常听到阻塞IO、非阻塞IO、同步IO、异步IO等概念,总听别人装13不如自己下来钻研一下。不过,搞清楚这些概念之前,还得先回顾一些基础的概念。 1 基础知识回顾 注意:咱们下面说的都是Linux环境下,跟Windows不一样哈~~~ 1.1 用户空间和内核空间 现在操作系统都采用虚拟寻址, ...
分类:
其他好文 时间:
2019-04-19 01:22:46
阅读次数:
136
一、简介 目前主流实现web网站及数据库服务高可用软件包括:keepalived、heartbeat、corosync,cman;高可用简称HA; 官方站点:https://www.keepalived.org/ 1、keepalived主要功能 对RealServer进行健康状态检查,支持3层、4 ...
分类:
其他好文 时间:
2019-04-18 15:32:47
阅读次数:
195
Linux IO多路复用 poll 之前曾经提到过 select poll 跟select类似,poll改进了select的一个确定,就是poll没有监听上限 不过poll还是需要遍历以及频繁的把数组拷贝到内核空间,在监听较多文件描述符的时候性能会下降 传递的三个参数 fds:结构体数组 nfds: ...
分类:
系统相关 时间:
2019-04-05 12:19:33
阅读次数:
204
首先说一下内核空间和用户空间,操作系统的核心是内核,独立于普通的应用程序,可以访问受保护的内存空间,也有访问底层硬件设备的所有权限。为了保证用户进程不能直接操作kernel,保证内核的安全,操作系统将虚拟空间划分为两部分,一部分为内核空间,一部分为用户空间。针对linux操作系统而言,将最高的1G字 ...
分类:
其他好文 时间:
2019-03-16 09:55:44
阅读次数:
238
同步IO和异步IO,阻塞IO和非阻塞IO分别是什么,到底有什么区别?不同的人在不同的上下文下给出的答案是不同的。所以先限定一下本文的上下文。 一 概念说明 在进行解释之前,首先要说明几个概念:- 用户空间和内核空间- 进程切换- 进程的阻塞- 文件描述符- 缓存 I/O 用户空间与内核空间 现在操作 ...
分类:
其他好文 时间:
2019-03-15 20:43:22
阅读次数:
174
iptables网络防火墙一、简介防火墙:可以是硬件也可以是软件:规则(匹配标准,处理办法)netfilter:是一种框架,工作在内核中,通过iptables命令(用户空间)来规则交给netfilter(内核空间)。作用实现规则iptables:数据报文过滤,NAT、mangle等规则生成的工具;过滤IP报文首部与TCP报文首部。作用是制定规则iptables不是服务,但有服务脚本;服务脚本的主要
分类:
其他好文 时间:
2019-03-13 19:37:03
阅读次数:
188
一、引出 大家都知道,信号是在进程返回用户态的时候触发执行的一种机制,但是对于内核线程来说,它们并不会返回用户态。这就好像《大话西游》里打劫脚底板的时候那位坐轿的官人没有脚底板一样尴尬。另一方面,通过sigprocmask是不能屏蔽掉SIGKILL和SIGSTOP两个信号的,所以如果我们通过kill ...
分类:
编程语言 时间:
2019-03-06 20:49:41
阅读次数:
251