2018年2月28日

进程在Linux内核中的角色扮演

摘要: 在Linux内核中,内核将进程、线程和内核线程一视同仁,即内核使用唯一的数据结构task_struct来分别表示他们;内核使用相同的调度算法对这三者进行调度;并且内核也使用同一个函数do_fork()来分别创建这三种执行线程(thread of execution)。执行线程通常是指任何正在执行的代 阅读全文

posted @ 2018-02-28 12:15 AlanTu 阅读(275) 评论(0) 推荐(0) 编辑

存储映射I/O

摘要: 一个进程拥有独立并且连续虚拟地址空间,在32位体系结构中进程的地址空间是4G。不过,内核在管理进程的地址空间时是以内存区域为单位。内存区域是进程整个地址空间中一个独立的内存范围,它在内核中使用vm_area_struct数据结构来描述。每个内存区域都有自己访问权限以及操作函数,因此进程只能对有效范围 阅读全文

posted @ 2018-02-28 12:11 AlanTu 阅读(1174) 评论(0) 推荐(0) 编辑

伙伴算法的实现-分配页框

摘要: 内核中alloc_pages系列页框分配函数都是基于伙伴算法实现的,这些函数最终都会调用伙伴算法的入口函数buffered_rmqueue()。 Linux内核管理物理内存有三种方式,其一就是经典的伙伴算法。但是伙伴算法分配物理内存的基本单位是页框,因此内核又引入了slab机制,基于此机制实现的物理 阅读全文

posted @ 2018-02-28 12:08 AlanTu 阅读(1555) 评论(0) 推荐(0) 编辑

内部排序算法小结

摘要: 内部排序算法主要分为插入类排序、交换类排序和选择类排序,它们在性能上的差异主要体现在时间复杂度、空间复杂度和稳定性。各种排序算法都会进行元素间的比较和移动,时间复杂度主要由整个排序过程中的比较次数和移动次数决定。空间复杂度体现在除了待排序记录本身所占的空间,排序过程中占用了多少辅助空间。 1.插入类 阅读全文

posted @ 2018-02-28 12:05 AlanTu 阅读(412) 评论(0) 推荐(0) 编辑

typedef那回事儿

摘要: typedef是一种特殊的声明方式,不过它与普通声明(详见这里)的含义取大不相同。普通声明的主角是“变量”,它或是创建一个新变量或是对外文件变量使用前的声明;而typedef声明的主角则是“类型”,通过这个声明对一种数据类型引入新的名字。从引入新名字这个角度来说,typedef声明又和宏定义有些相似 阅读全文

posted @ 2018-02-28 12:01 AlanTu 阅读(425) 评论(0) 推荐(0) 编辑

声明那回事儿

摘要: C语言中的变量声明是让程序员比较苦恼的一件事,因为过多的优先级规则使得阅读声明并不能像自然方式那样从左至右的阅读。比如下面这个声明: int (*(*fun)())(); 对于这个声明,你能准确说出它的含义吗?这个声明涉及到本文的两大主题:什么是声明和声明的阅读规则。本文的最后将给出这个声明的准确含 阅读全文

posted @ 2018-02-28 11:53 AlanTu 阅读(146) 评论(0) 推荐(0) 编辑

C语言中的指针和数组

摘要: 下面的内容节选自由我所执笔的会议记录。对于本文的不足之处,各位可以提出自己的看法。 Q1:指针和数组到底是怎么一回事? A:指针和数组有本质的不同。指针就是一个内存地址,在32位系统下,一个指针永远占4个字节;数组是一块连续的内存空间,我们从一个已定义的数组中可以获得数组大小以及这块连续内存空间的起 阅读全文

posted @ 2018-02-28 11:47 AlanTu 阅读(284) 评论(0) 推荐(0) 编辑

C语言笔记本

摘要: 在此记录一些常见的C语言错误,可以当作学习C语言的笔记,需要的时候可以回过头看看。 1.关于“++” 关于自加自减运算符用于句话就可以总结:a++先使用后自加,++a先自加再引用。这样就可以轻松得出结果: 2.交换变量 第一种方法即中间变量法,下面说明第二种,不添加中间变量: 3.char* str 阅读全文

posted @ 2018-02-28 11:44 AlanTu 阅读(423) 评论(0) 推荐(0) 编辑

西邮Linux兴趣小组纳新笔试试题

摘要: 下面是西邮Linux小组今年纳新的笔试试题 1、 下面这个程序的输出结果是什么? int main() { int a = (1, 2); printf(“a = %d\n”, a); return 0; } 解答: a = 2 这里利用了逗号表达式。 2、下面这个程序的输出结果是什么? struc 阅读全文

posted @ 2018-02-28 11:40 AlanTu 阅读(363) 评论(0) 推荐(0) 编辑

导航