- 博客(4)
- 收藏
- 关注
转载 用户态和内核态的概念区别
究竟什么是用户态,什么是内核态,这两个基本概念以前一直理解得不是很清楚,根本原因个人觉得是在于因为大部分时候我们在写程序时关注的重点和着眼的角度放在了实现的功能和代码的逻辑性上,先看一个例子: 1)例子 C代码 voidtestfork() { if(0==fork()) { printf(“createnewproc...
2013-10-19 09:34:00
73
转载 C结构体之位域(位段)
有些信息在存储时,并不需要占用一个完整的字节, 而只需占几个或一个二进制位。例如在存放一个开关量时,只有0和1 两种状态, 用一位二进位即可。为了节省存储空间,并使处理简便,C语言又提供了一种数据结构,称为“位域”或“位段”。所谓“位域”是把一个字节中的二进位划分为几个不同的区域, 并说明每个区域的位数。每个域有一个域名,允许在程序中按域名进行操作。 这样就可以把几个不同的对象用一个字节...
2013-09-06 22:20:00
71
转载 C语言字节对齐(以32位系统为例)
1.什么是对齐? 现代计算机中内存空间都是按照字节(byte)划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定变量的时候经常在特定的内存地址访问,这就需要各类型数据按照一定的规则在空间上排列,而不是顺序地一个接一个地排放,这就是对齐。 2.计算机为什么要对齐? 各个硬件平台对存储空间的处理上有很大的不同。一些平台对某些特定类型...
2013-09-06 22:08:00
169
转载 schedule()函数
好了,前面的准备工作都做完了,我们就进入进程调度的主体程序——schedule()函数。函数schedule()实现调度程序。它的任务是从运行队列的链表rq中找到一个进程,并随后将CPU分配给这个进程。schedule()可以由几个内核控制路径调用,可以采取直接调用或延迟调用(可延迟的)的方式。下面,我们就来详细介绍。 1 直接调用 如果current进程因不能获得必须的资源而...
2012-08-25 16:18:00
127
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人