![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux
球球你别秀了
这个作者很懒,什么都没留下…
展开
-
Linux内核设计与实现 第三章
Linux内核设计与实现 第三章这一章介绍了Linux中进程的实现进程描述符Linux的进程信息放在一个叫进程描述符(task_struct)的结构中,各个进程描述符又组合成一个双向循环链表,即任务队列。这里的任务队列属于操作系统。对于每个进程来讲,在进程栈中还有另一个结构来描述本进程,这个结构往往就在栈顶或者栈底,叫threa...原创 2019-02-06 18:40:18 · 231 阅读 · 1 评论 -
Linux内核设计与实现 第七章
中断和中断处理一些简单基础的概念就不过多介绍了,着重说一些比较新的和重要的东西上半部与下半部我们对中断处理程序有两个要求:一是运行速度快,而是完成的任务量多。鉴于两者此消彼长的关系,我们将中断处理分为两部分上半部:接受一个中断,就立即执行,但只做有严格时限的工作,例如对中断进行应答或复位硬件,这些工作都是在所有中断被禁止的情况下完成的。在本章,我们主要讨论上半部的工作下半部:能...原创 2019-02-21 19:57:24 · 187 阅读 · 0 评论 -
Linux内核设计与实现 第四章
Linux内核设计与实现 第四章多任务多任务系统可以划分为抢占式多任务和非抢占式多任务。进程在被抢占之前能够运行的时间叫时间片。Linux采用的就是抢占式多任务Linux的进程调度IO消耗型进程:频繁处于可运行状态但是只运行很短的时间。处理器消耗型:时间大多用在执行代码上,系统尽量降低其调度频率而延长运行时间。进程调度要在两个调度之间寻求平衡:响应时间短和最大系统利用率。优先...原创 2019-02-17 11:20:48 · 426 阅读 · 0 评论 -
Linux内核设计与实现 第五章
系统调用作用:为用户空间提供一个管理接口;保证系统的安全;利于多任务和虚拟内存的实现。系统调用系统调用号:每个系统都有唯一的编号,即使该系统调用被删除此编号也不能回收利用,进程在进行系统调用时直接使用系统调用号而不是系统调用的名字。系统调用的性能:Linux中系统调用贼快:进程切换快,系统调用本身简洁。系统调用处理程序用户空间的程序无法直接执行内核代码,所以必须通知内核自己...原创 2019-02-18 14:46:56 · 221 阅读 · 0 评论 -
Linux系统设计与实现 第六章
这章感觉没什么好说的,以后看见这些数据结构的API操作后能认出来是啥就行了呗。http://www.cnblogs.com/wang_yb/archive/2013/04/16/3023892.html原创 2019-02-18 22:40:10 · 194 阅读 · 0 评论 -
epoll源码解析
epoll源码解析 struct epoll_filefd { struct file *file; int fd; } __packed; /* * Each file descriptor added to the eventpoll interface will * have an entry of thi...原创 2019-03-18 14:50:28 · 288 阅读 · 0 评论 -
Linux内核设计与实现 第八章
下半部和推后执行的工作在第七章中我们讨论了中断处理程序的上半部,在操作系统响应中断时,存在着一些限制,比如中断处理可能打断其他一些重要代码,或者执行中断时需要屏蔽其他中断。这些限制决定上半部的执行过程需要越快越好。下半部在划分上半部和下半部的工作时,尽管没有严格的规则,但是往往我们可以借鉴一些提示:(1)对时间任务非常敏感的任务,放在中断处理程序中执行(2)和硬件相关的任务,放在中断处...原创 2019-03-26 15:04:56 · 189 阅读 · 0 评论