Linux操作系统内核原理.ppt
《Linux操作系统内核原理.ppt》由会员分享,可在线阅读,更多相关《Linux操作系统内核原理.ppt(28页珍藏版)》请在课桌文档上搜索。
1、Linux内核基础,内容,进程管理内存管理虚拟文件系统,了解Linux内核核心功能的基本原理结构,引导源码阅读,Linux系统结构,计算机硬件,体系结构相关代码,进程管理,内存管理,文件系统,模块,模块接口,设备驱动,驱动接口,系统调用,应用程序,标准函数库,kernel,Linux系统执行框架,地址空间,内核功能函数,内核线程1,内核线程2,内核线程3,内核线程4,内核线程5,内核线程n,进程1,进程2,进程3,进程n,用户态,内核态,进程和线程的区别,线程是系统最小的执行流单位,一个线程就是一个执行过程,是任务调度的基本单位。进程是线程和资源的容器,一个以上的线程组成一个进程,在同一个进程
2、中的线程共享进程资源。,资源,线程1,线程2,线程n,Linux内核进程和线程表示,Linux现行内核淡化了进程和线程的关系,原则上不区分进程和线程。在Linux内核中使用(struct task_struct)表示一个任务(Linux中称为进程,也可以称为线程)多个 task_struct 共享资源和进程空间,实际就构成了一个进程(线程组),这些task_struct实际就是这个进程的线程,通常在Linux书上将task_struct直接就称为一个进程。,Linux内核进程和线程表示,tasks,tasks,tasks,tasks,tasks,进程1,进程2,进程3,创建进程有几个函数for
3、k exec clone,struct list_head*group_leader,struct list_head thread_group,Linux进程组织关系,init,子进程1,子进程2,子进程3,子进程4,子进程5,子进程6,父进程,children,子进程,slibing,子进程,slibing,子进程,slibing,通过pstree命令可以显示出进程树,比较Windows进程线程管理,Windows进程使用KPROCESS表示进程对象,能够通过句柄单独操作进程对象线程是通过ETHREAD线程块来表示,多个线程块链接到KPROCESS的执行体线程块链表头上。(结构如下图),K
4、PROCESS,ETHREAD,ETHREAD,ETHREAD,任务调度,在多任务系统中,任务调度很重要,调度策略决定了系统最终性能和功能。任务调度有多种策略,比如基于优先级的调度,ucOS-II上就是这种,谁的优先级高就谁占有CPU还有基于时间片的,一个任务执行时间结束的就执行下一个,调度过程,中断或异常,进入关中断执行区,保存中断前所有的寄存器的内容到SP原则上是保存程序使用的所有寄存器,a0-a4,v0-v1,EPC,将当前的SP保存到任务结构体上,任务状态段TSS,任务上下文,通过调度器策略算法求得下一个要执行的任务,从任务结构体上取下SP指针,从SP上恢复所有的寄存器的内容,打开中断
5、并返回恢复的位置执行,进程切换,对于多进程系统,任务调度的过程中伴随进程切换,从真实的一个进程切换到另外一个不共享资源的进程,虚拟内存地址映射表(PGD)必须进行切换,还有其它资源数据也需要跟着切换。进程切换通常比较耗时,效率很低,需要执行切换TLB,回写Cache等低效率操作。,Linux多线程机制,原子操作自旋锁信号量读写锁互斥量,线程A,线程B,a=i,i=0,a=i,i=1,临界区,死锁,所谓死锁:是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象;表现为程序假死,不再被调度。避免死锁有 银行家算法,获取B资源,获取A资源,获取A资源,获取B资源,任务A,任务B
6、,优先级反转,高优先级任务需要等待低优先级任务释放资源,而低优先级任务又正在等待中等优先级任务的现象叫做优先级反转。此时高优先级任务和中等优先级任务之间没有任何共享资源但执行顺序却发生了倒置,这种情况称为优先级反转,而高优先级任务因为等待低优先级任务释放资源而阻塞的情况则不称为优先级反转,优先级反转,任务1,任务2,任务3,获取资源,释放资源,获取资源,后果,任务1将一直等待任务2运行完才能运行,实时性差,消除优先级反转,优先级继承策略:继承现有被阻塞任务的最高优先级作为其优先级,任务退出临界区,恢复初始优先级;Linux内核的实时互斥量就是使用这个策略。优先级天花板策略(封顶策略):指将申请
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Linux 操作系统 内核 原理

链接地址:https://www.desk33.com/p-242025.html