
系统
lxqfirst
这个作者很懒,什么都没留下…
展开
-
内存碎片
内存碎片的产生 内存分配有静态分配和动态分配两种 静态分配在程序编译链接时分配的大小和使用寿命就已经确定,而应用上要求操作系统可以提供给进程运行时申请和释放任意大小内存的功能,这就是内存的动态分配。 因此动态分配将不可避免会产生内存碎片的问题,那么什么是内存碎片?内存碎片即“碎片的内存”描述一个系统中所有不可用的空闲内存,这些碎片之所以不能被使用转载 2012-10-07 19:26:38 · 423 阅读 · 0 评论 -
动态链接和静态链接
理解静态链接和动态链接 前些日子在论坛上看到这样两个问题: 1、什么叫静态链接和动态链接?(static linking,dynamic linking) 2、如何理解先期和迟后联编?(early binding,later binding) 3、连接时所需的库lib和dll。 实际上,这两个问题性质是一样的,不管是静态链接/动态链接也好,还是先期联编/迟后联编也好,都是转载 2012-10-09 19:16:06 · 545 阅读 · 0 评论 -
用户态和内核态
就像世界上的人并不平等一样,并不是所有的程序都是平等的。世界上有的人占有资源多,有的人占有资源少,有的人来了,别人得让出资源,有的人则专门为别人让出资源。程序也是这样,有的程序可以访问计算机的任何资源,有的程序则只能访问非常受限的少量资源。而操作系统作为计算机的管理者,自然不能和被管理者享受一样的待遇,它应该享有更多的方便或特权。为了区分不用程序的不同权利,人们发胆了内核和用户态的概念。 那转载 2012-10-09 19:22:40 · 1137 阅读 · 0 评论 -
一个fork的面试题
前两天有人问了个关于Unix的fork()系统调用的面试题,这个题正好是我大约十年前找工作时某公司问我的一个题,我觉得比较有趣,写篇文章与大家分享一下。这个题是这样的: 题目:请问下面的程序一共输出多少个“-”? #include #include #include int main(void) { int i; for(i=0; i<2; i++){ f转载 2012-10-09 19:27:51 · 367 阅读 · 0 评论