网站大量收购闲置独家精品文档,联系QQ:2885784924

Linux内核相关概念.ppt

  1. 1、本文档共35页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Linux内核相关概念 内核(OS kernel)是操作系统的内部核心程序,基本功能包括进程调度、内存管理、进程间通信、虚拟文件系统和网络接口五大部分。 嵌入式内核:定制编译,常驻内存 一个可执行二进制文件,可完成系统上电、复位自动运行 Linux内核特征 分两部分: 内核空间:内核所在的地址空间。 外部空间(用户空间):外部管理程序与用户进程所占据的地址空间。 通常一个程序会跨越两个空间,当执行到内核空间的一段代码时,程序处于核心态,当执行到外部空间代码时,程序处于用户态。 单一内核(Monolithic kernel):指操作系统中所有的系统相关功能都被封装在内核中,程序只能通过系统调用的界面来访问内核。 微内核(Microkernel):操作系统只提供最基本最核心的一部分操作(如任务的创建和删除、内存、中断管理等),而其它管理程序则尽可能放到内核之外。这些外部程序可以独立运行,并对外部用户程序提供操作系统服务,服务之间使用进程间通信机制进行交互。 微内核在效率上的损失小于其在结构上的收益,一般EOS选取微内核结构 1. 进程管理 进程是运行于自己虚拟地址空间的一个程序块。 Linux的进程类型: 交互进程:由shell控制和运行,可在前台或后台运行 批处理进程:被提交到一个队列中顺序执行 守护进程:只在需要时才被唤起在后台进行。一般Linux启动时执行。 进程是动态的(执行的指令、数据、程序计数、寄存器、堆栈等),每个进程都有自己的权限和任务,会用到各种系统资源。进程之间通过内核控制相互通信 Linux是一个多进程的操作系统,其内核必须了解各进程的情况和所用到的资源,并进行合理分配和调度。 内核中的调度算法主要决定CPU分配给哪一个进程 进程管理程序 进程管理程序能进行进程的创建、激活、运行、阻塞、释放及删除。 进程的顺序:创建-就绪或激活-产生(创建且激活)-运行-阻塞-再运行-完成……-释放或删除 进程管理程序的功能: 使进程能顺利执行或在需要资源时发生阻塞,并使其在资源可用时继续运行; 为进行资源管理(包括CPU的进程调度)实现了与资源管理程序的逻辑连接; 限制某些资源只在某些进程间共享 按照系统的资源分配机制分配资源; 管理系统中的进程和资源。 进程(Process)和线程(thread) 在单处理器系统中,多任务执行必须轮流利用分配到的执行时间来完成工作。 嵌入式操作系统会分别以一个执行单位来看待一项工作或一个程序。 一个执行单位可能就是一个进程,包括多个子进程即线程。 一般,操作系统会分配给进程一块内存空间,存放该进程的程序代码和数据及相关系统服务的记录。该进程内的线程从父进程继承一块空间,记录该线程的程序代码和数据及每次微处理器的执行状态,并共享父进程的全局资源。 进程的状态 每个任务在执行时状态都不相同。 操作系统以PCB(Process Control Block)或TCB(Task Control Block)这种数据结构来记录进程信息,包括task context(任务上下文)、句柄、优先级等,以便系统调度。 内核程序通过任务向量表管理进程。Linux的任务向量表是一个task_struct任务结构指针。 PCB或TCB定义在头文件include/linux/sched.h中,用current指针指向当前运行的进程。 进程的状态 运行状态(task_running):进程正被CPU执行的状态;包括内核运行态和用户运行态。也包括就绪态:即当进程资源已经可用时,进程即被唤醒而进入准备运行状态。 可中断睡眠状态(task_interruptible):此状态虽不能被调度执行,但当系统产生一个中断或者释放了进程正在等待的资源,或者进程接到相关信号都可以唤醒进程转换到就绪态。 不可中断睡眠状态(task_uninterruptible):此状态只能用wake_up()函数明确唤醒时,才转换到就绪态。 进程的状态 暂停状态(task_stopped): 进程收到信号sigstop、sigttin或sigttou时就会进入此状态,向其发送sigcont信号可让进程转换到运行状态,正在调试的进程可处于暂停状态。 僵死状态(task_zombie):当进程停止运行,但父进程还没有询问其状态时,处于此状态。 进程的基本状态及其转换 进程的状态转换 进程的创建 进程的创建是指为创建的进程定义地址空间,并为进程定义资源。进程管理程序创

文档评论(0)

wuyoujun92 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档