How tough life is, how strong you should be!
发布时间:2012-12-18 17:11:50
原文地址:http://blog.csdn.net/ssff1/article/details/5006722一、malloc()和free()的基本概念以及基本用法: 1、函数原型及说明: void *malloc(long NumBytes):该函数分配了NumBytes个字节,并返回了指向这块内存的指针。如果分配失败,则返回一个空指针(NULL)。 关于分配失败的原因,应该有多种,比如说空间不足就是一种。 void free(void *FirstByte): 该函数是将之前用malloc分配的空间还给程序或者是操作系统,也就是释放了这块内存,让它......【阅读全文】
发布时间:2012-12-17 16:37:11
原文地址:http://blog.csdn.net/ganggexiongqi/article/details/6746248Linux内核中,关于虚存管理的最基本的管理单元应该是struct vm_area_struct了,它描述的是一段连续的、具有相同访问属性的虚存空间,该虚存空间的大小为物理内存页面的整数倍。 下面是struct vm_area_struct结构体的定义:[cpp] view plaincopy<span style="font-family:Microsoft YaHei;">/* * This ......【阅读全文】
发布时间:2012-12-17 15:40:43
原文地址:http://blog.csdn.net/bailyzheng/article/details/8015618进程内核栈、用户栈1.进程的堆栈 内核在创建进程的时候,在创建task_struct的同事,会为进程创建相应的堆栈。每个进程会有两个栈,一个用户栈,存在于用户空间,一个内核栈,存在于内核空间。当进程在用户空间运行时,cpu堆栈指针寄存器里面的内容是用户堆栈地址,使用用户栈;当进程在内核空间时,cpu堆栈指针寄存器里面的内容是内核栈空间地址,使用内核栈。2.进程用户栈和内核栈的切换 当进程因为中......【阅读全文】
发布时间:2012-12-17 11:06:57
进程_轻量级进程_内核线程_用户线程的区别关系.doc 进程,轻量级进程,内核线程,用户线程的区别关系 在现代操作系统中,进程支持多线程。进程是资源管理的最小单元;而线程是程序执行的最小单元。一个进程的组成实体可以分为两大部分:线程集合资源集。进程中的线程是动态的对象;代表了进程指令的执行。资源,包括地址空间、打开的文件、用户信息等等,由进程内的线程共享。 线程有自己的私有数据:程序计数器,栈空间以及寄存器。 Why Thread?(传统单线程进程的缺点) 1. 现实中有很多需要并发处理的任务,如数据库的服务器端、网络服务器、大容量计算......【阅读全文】
发布时间:2012-12-12 14:09:17
原文地址:http://www.kerneltravel.net/kernel-book/%E7%AC%AC%E5%85%AD%E7%AB%A0%20Linux%E5%86%85%E5%AD%98%E7%AE%A1%E7%90%86/6.3.3.htm6.3.3 Slab分配机制 采用伙伴算法分配内存时,每次至少分配一个页面。但当请求分配的内存大小为几十个字节或几百个字节时应该如何处理?如何在一个页面中分配小的内存区,小内存区的分配所产生的内碎片又如何解决? Linux2.0采用的解决办法是建立了13个空闲区链表,它......【阅读全文】