读书感想--list/BSS等等

1.list_head也有缺点,比如凡是用该结构体连接的数据结构链表最终要通过list_entry得到原始结构体,这是一个额外的操作,当然list_head优点是提高代码维护性,这是OO的思想,实际上在效率上并没有什么优势,其实OO本来就不是为了效率的。

2.BSS段的作用。试想如果你写了一个程序,分配了一个拥有10000个字节的char数组,将之编译之后,难道这个10000个字节或者更大的大家伙就会傻乎乎的进入可执行文件中吗?幸好有bss段所有没有初始化的数据就都在这个段了,当然如果初始化了,那什么办法也没有了只好进入可执行文件了毕竟必须要有一个地方记住这个变量被初始化成了什么。

3.vm_area_struct的next,prev指针的作用。在什么时候有用呢?有三个地方,第一个是fork时会复制父进程的所有的该结构体,浅拷贝;第二就是在进程退出时会挨个释放;第三就是在vm_area_struct合并的时候,因为不允许内存区域重合。

4.文本编辑器是最重要的。为什么这么说呢?其实文本编辑器是最终的人机交互接口,也是为数不多的交互接口之一,计算机执行的任何程序目前来看几乎都是编程语言书写的,而编程语言是文本形式的,编译器将之转化成二进制形式,要知道编译器也是一个程序,它也需要文本的源代码。如果不谈程序,而说数据的话,文本是唯一能被人识别的,也许还有声音,图像,当然这两种格式中的每一个也是重要的人机交互接口之一。由此可见文本编辑器并不仅仅是为了编辑文本,作为人机交互接口的意义更大一些。vi作为最原始的成功的文本编辑器,证实了unix的成功,unix的shell强调的东西也和vi一样,那就是文本形式的人机交互。

你可能感兴趣的:(数据结构,struct,unix,读书,编译器,文本编辑)