随笔分类 -  Linux内核

摘要:简介:良好的操作系统性能部分依赖于操作系统有效管理资源的能力。在过去,堆内存管理器是实际的规范,但是其性能会受到内存碎片和内存回收需求的影响。现在,Linux® 内核使用了源自于 Solaris 的一种方法,但是这种方法在嵌入式系统中已经使用了很长时间了,它是将内存作为对象按照大小进行分配。本文将探索 slab 分配器背后所采用的思想,并介绍这种方法提供的接口和用法。动态内存管理内存管理的目标是提供一种方法,为实现各种目的而在各个用户之间实现内存共享。内存管理方法应该实现以下两个功能:最小化管理内存所需的时间最大化用于一般应用的可用内存(最小化管理开销) 内存管理实际上是一种关于权衡 阅读全文

posted @ 2011-03-11 11:05 道明一腾 阅读(306) 评论(0) 推荐(0) 编辑 |

摘要:循环链表 在循环链表中,可以从任意一个节点P出发找到它的直接前驱,而不是从head出发。其算法C语言描述如下:typedef struct node{ int data; struct node *next;}NODE;NODE *prev(NODE *head,NODE *p){ NODE *q; q=p->next; while(q->next!=p) q=q->next; return (q);}循环链表的其他特性。范例1:将2个线性表链接起来略范例2:将单向循环链表倒置void invert_list(List head){ q... 阅读全文

posted @ 2011-03-09 10:50 道明一腾 阅读(231) 评论(0) 推荐(0) 编辑 |

摘要:链表 树 哈希表 单向链表 1、链表建立typedef struct node{ int data; struct node *next;}NODE;NODE *create(){ NODE *head,*q,*p; char ch; int flag,a; head=(NODE *)malloc(sizeof(NODE)); q=head; scanf("%d",&flag); ch=getchar(); scanf("%d",&a); while(ch!="!") { a!=flag; p=... 阅读全文

posted @ 2011-03-09 10:16 道明一腾 阅读(382) 评论(0) 推荐(0) 编辑 |

摘要:发送信号的函数:kill、raise 捕获信号的函数:alarm、pause 设置信号处理的函数:signal 阅读全文

posted @ 2011-03-05 15:38 道明一腾 阅读(126) 评论(0) 推荐(0) 编辑 |

摘要:[转]linux进程间的通信手段 linux下进程间通信的几种主要手段简介: 管道(Pipe)及有名管道(named pipe):管道可用于具有亲缘关系进程间的通信,有名管道克服了管道没有名字的限制,因此,除具有管道所具有的功能外,它还允许无亲缘关系进程间的通信; 信号(Signal):信号是比较复杂的通信方式,用于通知接受进程有某种事件发生,除了用于进程间通信外,进程还可以发送信号给进程本身;linux除了支持Unix早期信号语义函数sigal外,还支持语义符合Posix.1标准的信号函数sigaction(实际上,该函数是基于BSD的,BSD为了实现可靠信号机制,又能够统一对外接口,用.. 阅读全文

posted @ 2011-03-05 15:29 道明一腾 阅读(167) 评论(0) 推荐(0) 编辑 |

Copyright © 2024 道明一腾
Powered by .NET 8.0 on Kubernetes