进程地址空间也就是每个进程所使用的内存,内核对进程地址空间的管理,也就是对用户态程序的内存管理。 主要内容: 地址空间(mm_struct) 虚拟内存区域(VMA) 地址空间和页表 1. 地址空间(mm_struct) 地址空间就是每个进程所能访问的内存地址范围。 这个地址范围不是真实的,是虚拟地址 ...
分类:
系统相关 时间:
2017-08-25 13:51:26
阅读次数:
251
协程是一种用户态的轻量级线程。 server的发展如下: IO密集型应用: 多进程->多线程->事件驱动->协程 CPU密集型应用:多进程-->多线程 如果说多进程对于多CPU,多线程对应多核CPU,那么事件驱动和协程则是在充分挖掘不断提高性能的单核CPU的潜力。 异步事件驱动模型中,把会导致阻塞的 ...
分类:
其他好文 时间:
2017-08-25 01:06:46
阅读次数:
120
阅读目录 一 背景知识 二 进程 2.1 什么是进程 2.2 进程与程序的区别 2.3 并发与并行 2.4 同步与异步 2.5 进程的创建 2.6 进程的终止 2.7 进程的层次结构 2.8 进程的状态 2.9 进程并发的实现 三 线程 3.1 什么是线程 3.2 为何要用多线程 3.3 多线程的应 ...
分类:
编程语言 时间:
2017-08-24 16:17:36
阅读次数:
192
PHP部分 PHP中几个输出函数echo,print(),print_r(),sprintf(),var_dump()的区别 1:echo:是语句不是函数,没有返回值,可输出多个变量值,不需要圆括号。不能输出数组和对象,只能打印简单类型(如int,string)。 2:print:是语句不是函数,有 ...
分类:
Web程序 时间:
2017-08-17 12:50:49
阅读次数:
304
协程(纤程,微线程)这个概念早就有之,各家互联网公司也都有研究,但在国内各大论坛和大会热起来,还是今年的事。 最近参与讨论开放平台建设和架构设计过程中,有同事提到了使用协程代替线程,能够很大幅度的提高性能。这引发了我们团队极大的兴趣和激烈的讨论。 首先,说明一下什么是协程。 协程是用户态的线程。传统 ...
分类:
Web程序 时间:
2017-08-17 10:27:31
阅读次数:
217
1.用户态下编程:通过main()来传递命令行参数编写一个内核模块:通过module_param()来传递命令行参数2.module_param宏是Linux2.6内核中新增的,该宏被定义在include/linux/moduleparam.h文件中3.module_param使用了3个参数:变量名,它的类型,以及一个权限掩码用来做一个辅助的s..
分类:
系统相关 时间:
2017-08-16 15:28:06
阅读次数:
258
协程 协程,又称微线程,纤程。英文名Coroutine。一句话说明什么是线程:协程是一种用户态的轻量级线程。 协程拥有自己的寄存器上下文和栈。协程调度切换时,将寄存器上下文和栈保存到其他地方,在切回来的时候,恢复先前保存的寄存器上下文和栈。 线程切换的时候会保存到CPU里面。 因此: 协程能保留上一 ...
分类:
其他好文 时间:
2017-08-15 15:57:41
阅读次数:
137
本文转载自:http://blog.csdn.net/skyflying2012/article/details/9364555 一.关于Udev u即user space,dev是device,通过它的名字,我们就可以简单了解到,它是一个和用户态相关的驱动设备管理机制。udev是一个针对2.6内核 ...
分类:
系统相关 时间:
2017-08-15 11:26:04
阅读次数:
304
理解进程调度时机跟踪分析进程调度与进程切换的过程 这次实验要理解进程调度时机跟踪分析进程调度与进程切换的过程。这是最后一次实验。我们要完毕这次实验,还是要对任务切换有一定的了解。 Linux任务切换是通过switch_to实现的。switch_to本身是一个宏,通过利用长跳指令,当长跳指令的操作数是 ...
分类:
系统相关 时间:
2017-08-13 00:16:11
阅读次数:
209
1 #协程介绍及基本示例 2 3 #Gevent协程(单线程,串行)在线程里启动 4 ''' 5 协程,又称微线程,纤程。英文名Coroutine。一句话说明什么是线程: 6 协程是一种用户态的轻量级线程。 7 8 协程拥有自己的寄存器上下文和栈。协程调度切换时, 9 将寄存器上下文和栈保存到其他地 ...
分类:
其他好文 时间:
2017-08-12 15:25:35
阅读次数:
135