摘要:
![](http://images2015.cnblogs.com/blog/745369/201605/745369-20160531163134696-1311052297.jpg) ![](http://images2015.cnblogs.com/blog/745369/201605/745369-20160531163142399-1976844535.jpg) ![](http:/... 阅读全文
摘要:
![](http://images2015.cnblogs.com/blog/745369/201605/745369-20160526204058678-718423988.jpg) ![](http://images2015.cnblogs.com/blog/745369/201605/745369-20160526204103131-1922289782.jpg) ![](http://... 阅读全文
摘要:
![](http://images2015.cnblogs.com/blog/745369/201605/745369-20160526203800459-943212071.jpg)
![](http://images2015.cnblogs.com/blog/745369/201605/745369-20160526203847209-1513454244.jpg)
![](http://im... 阅读全文
摘要:
![mokuai1](http://images2015.cnblogs.com/blog/745369/201605/745369-20160526201656631-2093019024.jpg) ![mokuai2](http://images2015.cnblogs.com/blog/745369/201605/745369-20160526201818163-1571745874.jp... 阅读全文
摘要:
对Linux内核的理解 计算机如何工作的? 计算机是通过从内存中运行第一条指令,并根据其指令的内容和要求,对存储器进行相应的操作和运算,最后根据地址将结果保存至制定的位置之中。接下来,周而复始,不断的提取和运行指令,最终保存结果。直到出现停止的指令,才会停止工作。 操作系统是如何工作的? 操作系统能 阅读全文
摘要:
进程调度的时机 linux进程调度是基于分时和优先级的 中断处理过程(包括时钟中断、I/O中断、系统调用和异常)中,直接调用schedule(),或者返回用户态时根据need_resched标记调用schedule(); 内核线程可以直接调用schedule()进行进程切换,也可以在中断处理过程中进 阅读全文
摘要:
链接的过程 首先运行C预处理器cpp,将C的源程序(a.c)翻译成ASCII码的中间文件(a.i) 接着C编译器ccl,将a.i翻译成ASCII汇编语言文件a.s 接着运行汇编器as,将a.s翻译成可重定位的目标文件a.o 最终完全链接成可执行文件a.out 目标文件 目标文件有三种形式: 可重定位 阅读全文
摘要:
分析Linux内核创建一个新进程的过程 task_struct结构体分析 struct task_struct{ volatile long state; //进程的状态 unsigned long flags; //调用fork时候给出的进程号 long nice; //进程的基本时间片 unsi 阅读全文
摘要:
进程管理 进程是处于 执行期的程序 以及 相关的资源 的总称,也称作 任务 。 可以两个或两个以上的进程执行同一个程序 也可以两个或两个以上并存的进程共享许多资源 执行线程,简称线程,是在进程中活动的对象。 内核调度的对象是线程,而 不是 进程。 进程描述符及任务结构 内核把进程的列表存放在 任务列 阅读全文
摘要:
分析system_call中断处理过程 在MenuOS中添加上周所运用到的系统调用 即在Linuxkernel/menu/test.c文件中,添加代码如下: int Mkdir() { const char ch = "test"; //创建的文件夹名称 mode_t mode = 0700; // 阅读全文