feisky

云计算、虚拟化与Linux技术笔记
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2012年4月5日

摘要: realloc 用过很多次了。无非就是将已经存在的一块内存扩大。char* p = malloc(1024);char* q = realloc(p,2048);现在的问题是我们应该如何处理指针 p。 刚开始按照我最直观的理解,如果就是直接将 p = NULL;。 到最后只需要释放 q的空间就可以了。因为最近在做个封装。结果在做单元测试的时候发现。有时候我在 free(q); 的时候会出错。这样我就郁闷了。后来仔细一跟踪,发现 realloc 完以后 q 和 p 的指针地址是一样。不过有时候又不一样。仔细查了下资料。得到如下信息: 1.如果 当前连续内存块足够 realloc 的... 阅读全文

posted @ 2012-04-05 21:37 feisky 阅读(512) 评论(0) 推荐(0) 编辑

摘要: linux进程的五种状态 运行 可中断 不可中断 僵尸 停止 遍历父进程和子进程 注:init进程是作为init_struct静态分配的。进程的创建linux中通过fork和exec实现进程的创建。fork通过拷贝当前进程来创建一个新的进程,再通过exec加载可执行文件并执行。fork采用的写时拷贝方法避免了不必要数据的拷贝,使得linux可以快速创... 阅读全文

posted @ 2012-04-05 15:53 feisky 阅读(983) 评论(1) 推荐(0) 编辑

摘要: 进程是执行期间的程序及其它所包含的资源的总称。 进程通过fork()系统调用产生,该系统调用通过复制一个现有进程来创建一个全新的进程。fork()调用一次返回两次:一次回到父进程、一次回到新创建的子进程。 进程描述符及任务结构 内核把进程放在task list的双向循环链表中,其中每一项都是一个task_struct结构(即进程描述符)。task_struct结构比较大(32位机... 阅读全文

posted @ 2012-04-05 15:47 feisky 阅读(499) 评论(0) 推荐(0) 编辑

摘要: Linux中一切都是文件,这样可以通过相同的系统调用接口来操作数据和设备。 处理器的运行状态可以分为: 运行于内核态,处于进程上下文中,代表某个进程执行了系统调用; 运行于内核态,处于中断上下文,代表正在处理中断; 运行于用户态,正在执行用户进程。 单内核与微内核 单内核:内核作为一个整体构成一个大过程,运行在一个地址空间中,这样的内核以单个二进制文件的形式存在。内核... 阅读全文

posted @ 2012-04-05 15:46 feisky 阅读(445) 评论(0) 推荐(0) 编辑

摘要: xm migrate源码分析xen动态迁移虚机的命令为:xm migrate --live <domain id> <destination machine>迁移的原理Xen live migration begins by sending a request, orreservation, to the target specifying the resources the migrating domain will need. If the target accepts the request, the source begins theiterative prec 阅读全文

posted @ 2012-04-05 15:34 feisky 阅读(1619) 评论(0) 推荐(0) 编辑

无觅相关文章插件,快速提升流量