情景假设:在堆内存中申请了一块内存,然后释放掉该内存,然后再去访问这块内存。也就是所说的野指针访问。当cpu产生页面错误时,会把失败的线性地址放在cr2寄存器.线性地址缺页异常的4种情况1.如果cpu访问的行现地址在内核态,那么很可能访问的是非连续区,需要vmalloc_fault处理.2.缺页异常... ...
分类:
系统相关 时间:
2016-10-27 13:15:21
阅读次数:
336
用来描述用户态的cpu寄存器在内核栈中保存情况.可以获取用户空间的信息struct pt_regs {long ebx; //可执行文件路径的指针(regs.ebx中long ecx; //命令行参数的指针(regs.ecx中)long edx; //环境变量的指针(regs.edx中)。long.... ...
分类:
系统相关 时间:
2016-10-27 12:24:47
阅读次数:
571
协程,又叫微线程,协程是一种用户态的轻量级线程。 协程拥有自己的寄存器上下文和栈。协程调度切换时,将寄存器上下文和栈保存到其他地方,在切回来的时候,恢复先前保存的寄存器上下文和栈。因此: 协程能保留上一次调用时的状态(即所有局部状态的一个特定组合),每次过程重入时,就相当于进入上一次调用的状态,换种 ...
分类:
编程语言 时间:
2016-10-20 12:27:56
阅读次数:
255
一、 DC/OS的总体架构 DC/OS,全称数据中心操作系统,基本思想是使得IT人员操作整个数据中如操作一台电脑一样,架构如图: 层次一:物理设备层 无论是哪种操作系统,都需要管理外部的硬件设备,例如CPU,内存,存储,网络。 层次二:内核态层 最初使用汇编语言写程序,是需要指定使用那些硬件资源的,... ...
分类:
其他好文 时间:
2016-10-19 17:27:57
阅读次数:
1648
协程 协程,又称微线程,纤程。英文名Coroutine。一句话说明什么是线程:协程是一种用户态的轻量级线程。 协程拥有自己的寄存器上下文和栈。协程调度切换时,将寄存器上下文和栈保存到其他地方,在切回来的时候,恢复先前保存的寄存器上下文和栈。因此: 协程能保留上一次调用时的状态(即所有局部状态的一个特 ...
分类:
编程语言 时间:
2016-10-14 12:06:03
阅读次数:
258
协程 协程,又称微线程,纤程。英文名Coroutine。一句话说明什么是线程:协程是一种用户态的轻量级线程。 协程拥有自己的寄存器上下文和栈。协程调度切换时,将寄存器上下文和栈保存到其他地方,在切回来的时候,恢复先前保存的寄存器上下文和栈。因此: 协程能保留上一次调用时的状态(即所有局部状态的一个特 ...
分类:
数据库 时间:
2016-10-09 07:00:06
阅读次数:
277
简介:iptables是用户态模块,主要进行规则配置;netfilter是内核模块,负责实现过滤动作。实例:iptables–Fiptables–AINPUT–ilo–jACCEPTiptables–AINPUT–s127.0.0.1–d127.0.0.1–jACCEPTiptables–AINPUT–picmp--icmp-typeany–jACCEPTiptables–AINPUT–ptcp–-dport..
分类:
系统相关 时间:
2016-10-04 08:00:47
阅读次数:
232
标准 C 库函数中可以封装系统调用,也可以不封装系统调用,不同的标准 C 库函数可以封装相同的系统调用。标准 C 库属于用户态,而系统调用属于内核态。 标准 C 库中的函数在不同的操作系统环境下都可以使用,比如 fopen 函数在linux下可以使用,在windos下也可以使用。所以说程序的可移植性 ...
分类:
其他好文 时间:
2016-10-01 17:12:52
阅读次数:
133
在一般的情况下,处理器处理的指令序列是相邻的(顺序执行)。 异常控制流提供了指令的跳转,它一部分是由硬件实现的,一部分是由操作系统实现的。 异常处理 在系统启动时,操作系统分配和初始化一张称为异常表的跳转表: 触发异常时将从跳转表中找到并执行相应的异常处理程序的代码(所谓的内核态代码?): 系统调用 ...
分类:
移动开发 时间:
2016-09-27 18:04:40
阅读次数:
226
#1 什么是内核应用程序? #2 开发内核应用程序注意事项 什么是内核应用程序? 内核应用程序不同于RTP程序,它允许在内核态,与操作系统使用相同的地址空间。因此,它与操作系统会相互干扰。它可以编译成内核应用程序模块,亦可以与操作系统映像静态连接生成一个映像。应用程序模块可以被动态加载,因此在开发和 ...
分类:
移动开发 时间:
2016-09-27 11:34:11
阅读次数:
292