读书笔记
文章平均质量分 80
MayerMHH
这个作者很懒,什么都没留下…
展开
-
linux系统编程读书笔记 第八章
我草...我居然也有博客了... 为了更好的学习,我要用博客来记录下我看过的东西。 首先看的是linux系统编程的内存管理,页面调度是非常normal的知识了,写时复制还比较巧妙,存储区域说数据段是堆??!!真的假的,网上说的是已初始化的全局变量啊。估计是因为堆是数据段的一部分吧。 另外一个挺有用的点是,C会把malloc返回的指针转为需要的类原创 2013-07-19 23:00:57 · 504 阅读 · 0 评论 -
linux系统编程读书笔记 第八章 (续)
calloc与malloc的区别在于calloc会给分配的区域以0来初始化,这个函数的速度比memset还快,那要memset来干嘛? realloc是重新分配某块内存的大小,如果realloc不能在已有空间上增加到size大小,那么就会重新申请一块size大小的空间,将原本的数据拷贝到新空间中,然后将旧的空间释放。因为有潜在的拷贝操作,所以一个扩大原区域的realloc()操作可原创 2013-07-20 22:02:09 · 683 阅读 · 0 评论 -
linux系统编程读书笔记 第五章
除非用户显式地指定内核所要运行的程序(通过内核启动的init参数),否则内核就必须寻找一个适合的init程序---这是很少见的内核特定要求中的一个例子。Linux内核会以以下顺序进行尝试: 1./sbin/init:init最有可能存在的地方。 2./etc/init:另一个可能存在的地方。 3./bin/init:init一个可能存在的位置。原创 2013-07-22 17:49:08 · 573 阅读 · 0 评论 -
linux系统编程读书笔记 第六章
进程调度器是内核中决定哪个进程可以运行的组件,即是把有限的处理器资源分配给进程的内核子系统。 调度器可以要求一个进程停止运行,处理器转而运行另一个进程,这种中止正在运行的进程的行为称做抢占。在协同多任务系统中,一个进程持续运行直到它自发停止。进程自发停止的行为为让出。这种情况下,一个拙劣的程序可能运行很长时间,甚至导致整个系统死掉。所以,现代操作系统几乎都采用抢占多任务机制,lin原创 2013-07-27 15:38:29 · 558 阅读 · 0 评论 -
linux系统编程 第二章
在对文件进行读写操作前,需要先打开该文件。内核为每一个进程维护一个打开文件的列表,该表被称为文件表。该表由一些叫做文件描述符的非负整数进行索引。列表中的每项均包含一个打开文件的信息,其中包括一个指向文件备份inode内存拷贝的指针和元数据。用户空间和内核空间都把文件描述符作为每个进程的唯一cookies。打开一个文件返回一个文件描述符,而接下来的操作则把文件描述符作为基本参数。 子原创 2013-08-16 17:45:27 · 656 阅读 · 0 评论 -
linux系统编程 第三章
作为文件系统的抽象,它是IO中最基本的概念,所有的磁盘操作都是基于块进行的。 操作系统效率随着系统调用次数的增多而急剧下降。每次读写操作字节数太少,会导致读写次数增多而降低效率;每次读写不是块大小的整数倍,也会因为对齐数据而降低效率。 系统调用stat可以轻松指定设备的块大小。 现实中程序很少以块为单位进行操作,程序往往是以区域、行和单原创 2013-08-16 17:46:50 · 726 阅读 · 0 评论