资源预览内容
第1页 / 共34页
第2页 / 共34页
第3页 / 共34页
第4页 / 共34页
第5页 / 共34页
第6页 / 共34页
第7页 / 共34页
第8页 / 共34页
第9页 / 共34页
第10页 / 共34页
亲,该文档总共34页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第2章 嵌入式Linux操作系统2.1 Linux及其应用 2.2 Linux内核 2.3 典型嵌入式Linux系统 1第2章 嵌入式Linux操作系统2.1 Linux及其应用2.1.1 Linux与UNIX和GNU2.1.2 Linux的特点2.1.3 Linux的发展及应用2第2章 嵌入式Linux操作系统2章 嵌入式 LINUX操作系统 2.1.1 LINUX与unix GNUnUnix操作系统nMINIX操作系统nGNU及FSFnPOSIX标准nInternet网络Linux 的5大支柱:3第2章 嵌入式Linux操作系统2章 嵌入式 LINUX操作系统 2.1.2 Linux的特点 1开放性; 2多用户; 3多任务; 4稳定性强; 5设备独立性; 6提供了丰富的网络功能 7可靠的系统安全 8良好的可移植性 9应用软件多4第2章 嵌入式Linux操作系统2章 嵌入式 LINUX操作系统 2.1.3 LINUX的发展及应用nLinux 的发展nLinux 的应用和优势 高可靠性,安全性成本优良的集群特性其他5第2章 嵌入式Linux操作系统2章 嵌入式 LINUX操作系统 2.2 Linux内核2.2.1 Linux的内核特征2.2.2 进程管理2.2.3 内存管理2.2.4 文件系统管理2.2.5 设备管理2.2.6 进程间通信机制6第2章 嵌入式Linux操作系统2章 嵌入式 LINUX操作系统 2.2.1 Linux的内核特征 一:基本概念 1内核的定义: 是操作系统的内部核心程序,它向外部提供了对计算机设 备的核心管理调用;2 操作系统代码组成: l 内核空间:内核所在的地址空间称为内核空间; l 用户空间:外部管理程序与用户进程所占据的地址空间称 为外部空间(用户空间) 3 运行状态: l 内核态:当执行到内核空间的一段代码时,称程序处于核 心态; l 用户态:当程序执行到外部空间代码时,称程序处于用户 态7第2章 嵌入式Linux操作系统2章 嵌入式 LINUX操作系统 2.2.1 Linux的内核特征4 内核分类单一内核(Monolithic Kernel):指操作系统中所有的 系统相关功能都被封装在内核中。它们与外部程序处在不 同的内存地址空间中,并通过各种方式防止外部程序直接 访问内核中的数据结构。程序只有通过一套称作系统调用 (System Call)的界面访问内核结构。微内核(Micro Kernel)结构:在微内核结构中,操作系 统的内核只需要提供最基本、最核心的一部分操作(例如 ,创建和删除任务、内存管理、中断管理等)即可,而其 他管理程序(如文件系统、网络协议栈等)则尽可能放在 内核以外。这些外部程序可以独立运行,并对外部用户程 序提供操作系统服务,服务之间使用进程间通信机制( IPC)进行交互。8第2章 嵌入式Linux操作系统2章 嵌入式 LINUX操作系统 单一内核和微内核结构用户进程系统调用内核服务1内核服务2内核服务3硬件资源用户进程操作系统服务1操作系统服务2微内核硬件资源9第2章 嵌入式Linux操作系统2章 嵌入式 LINUX操作系统 二 Linux系统的内核结构 -单一内核结构LINUX的模块化结构; Linux的不是一个“硬”实时操作系统; Linux操作系统的内核稳定而高效; 10第2章 嵌入式Linux操作系统2章 嵌入式 LINUX操作系统 2.2.2进程管理2.2.2.1 进程的基本概念一 进程的定义 进程是运行于自己的虚拟地址空间的一个程序。可以说, 任何在Linux系统下运行的都是进程。二 Linux系统中进程的类型 交互进程:该进程是由shell控制和运行的。它既可以在前 台运行,也可以在后台运行。 批处理进程:该进程不属于某个终端,被提交到一个队列 中以便顺序执行。 守护进程:该进程只有在需要时才被唤起在后台运行。它 一般在Linux启动时开始执行。11第2章 嵌入式Linux操作系统2章 嵌入式 LINUX操作系统 3 进程的属性 进程是动态性; 进程运行对资源的依赖性; 多进程的调度;4 进程管理程序的功能 使进程能够顺序执行或者在需要资源时发生阻塞 ,并使其在资源可用时继续运行。 为进行资源管理(包括CPU上的进程调度)实现 了与资源管理程序的逻辑链接。 限制某些资源只在某些进程间共享。 按照系统的资源分配机制分配资源。 管理系统中的进程和资源。 12第2章 嵌入式Linux操作系统2章 嵌入式 LINUX操作系统 2.2.2 .2进程与线程1 概念 进程:一个应用程序; 线程:占用CPU时间片的最小应用单位;2 运行模式 用户模式 核心模式3 进程与线程的资源分配4 LINUX的资源分配-继承方式13第2章 嵌入式Linux操作系统2章 嵌入式 LINUX操作系统 2.2.2.3 进程的状态1进程状态:一个进程在其生存期内,可处于一组不同的状态下,称为 进程状态。2 进程数据结构 PCB(Process Control Block)或TCB(Task Control Block):用于定义一个特殊的数据结构来代表一个进程; 任务向量表:内核程序通过任务向量表对进程进行管理, 在Linux系统中,任务向量表项是一个task_struct任务结构指 针 进程的上下文:当一个进程在执行时,CPU的所有寄存器 中的值、进程的状态,以及堆栈中的内容被称为该进程的上 下文。14第2章 嵌入式Linux操作系统2章 嵌入式 LINUX操作系统 2.2.2.3 进程的状态Task_struct Context Status . Task_struct Context Status . 进程任务向量表进程1进程2进程n 15第2章 嵌入式Linux操作系统2章 嵌入式 LINUX操作系统 运行状态(TASK_RUNNING); 可中断睡眠状态(TASK_INTERRUPTIBLE); 不可中断睡眠状态(TASK_UNINTERRUPTIBLE) ; 暂停状态(TASK_STOPPED); 僵死状态(TASK_ZOMBIE);2.2.2.4 进程的状态16第2章 嵌入式Linux操作系统2章 嵌入式 LINUX操作系统 17第2章 嵌入式Linux操作系统2章 嵌入式 LINUX操作系统 2.2.2.5 进程管理n进程的创建n进程的调度n进程的终止18第2章 嵌入式Linux操作系统2章 嵌入式 LINUX操作系统 1进程的创建的定义 进程的创建是指为创建的进程定义地址空间(存储器块) ,并为进程定义资源。 2 进程创建方式-继承方式 3 关键进程-系统初始化进程init_task 4 新进程的创建 克隆当前的进程;系统调用创建的(fork或clone);核心 态; 在新进程的创建过程,该将新进程状态置为不可中断的等 待状态; 资源分配:2.2.2.5进程管理- 进程创建19第2章 嵌入式Linux操作系统2章 嵌入式 LINUX操作系统 1进程的调度-基于优先级排队的调度策略 2 . 系统调用-内核态和用户态的转换 3. 调度过程 调度程序的任务就是选择当前可运行的进程中最值得运行的一个 进程。一个可以运行的进程是一个只等待CPU的进程。Linux使用 合理而简单的基于优先级的调度算法在系统当前的进程中进行选择 。 当它选择了准备运行的新进程,就保存当前进程的状态、与处理 器相关的寄存器,以及其他需要保存的上下文信息到进程的 task_struct数据结构中。 然后恢复要运行的新的进程的状态(又和处理器相关); 把系统的控制交给这个进程。 2.2.2.5进程管理- 进程调度20第2章 嵌入式Linux操作系统2章 嵌入式 LINUX操作系统 1 进程终止 当一个进程结束了运行或在半途终止了运行,那么内核 就需要释放该进程所占用的系统资源。这包括进程运行时打 开的文件、申请的内存等,这一过程称为进程终止; 2 进程终止的方法 系统调用:执行内核函数do_exit(); 3 进程终止的过程 释放进程代码段和数据段占用的内存; 关闭进程打开着的所有文件等; 设置进程状态置为僵死状态TASK_ZOMBIE; 通知原父进程子进程在执行期间;2.2.2.5进程管理-进程终止21第2章 嵌入式Linux操作系统2章 嵌入式 LINUX操作系统 2.2.3内存管理一 内存管理的功能 内存管理(Memory Management)系统是操作系统中最为重要的部 分,内存管理程序子系统负责控制进程对硬件内存资源的访问。内存管 理程序提供以下一些功能: 大地址空间用户程序使用的内存数量可以超过物理上实际所有 的内存数量。 保护进程的内存是私有的,不能被其他进程所读取和修改。而 且,内存管理程序可以防止进程覆盖代码和只读数据。 内存映射可以把一个文件映射到虚拟内存区域,并把该文件当 做内存来访问。 对物理内存的公平访问内存管理程序确保所有的进程都能公平 地访问计算机的内存资源,这样可以确保理想的系统性能。 共享内存内存管理程序允许进程共享它们内存的一部分。22第2章 嵌入式Linux操作系统2章 嵌入式 LINUX操作系统 二 虚拟内存的抽象模型: 1 内存中存放的对象-指令及数据 2 虚拟内存系统及物理内存 3 分页管理 通过页面表进行管理: 有效标志此标志用于标明页面表入口是否可 以使用。 物理页面号页面表入口描述的物理页面号。 存取控制信息用来描述页面如何使用,例如 ,是否可写,是否包括可执行代码等 23第2章 嵌入式Linux操作系统2章 嵌入式 LINUX操作系统 0X2194=0X2000+0X194PEN=1物理页面号=1页面大小 =0x200024第2章 嵌入式Linux操作系统2章 嵌入式 LINUX操作系统 三按需装入页面(Demand Paging )1 需求 2 方法:内存映射 3 优点25第2章 嵌入式Linux操作系统2章 嵌入式 LINUX操作系统 四交换(Swapping) 当一个进程需要把一个虚拟内存页面装入物理内存而又没 有空闲时,操作系统必须废弃物理内存中的一个页面,为将 要装入的虚拟内存页腾出空间。 Linux系统使用一种叫做“最近最少使用”的技术(Least Recently Used,LRU)来决定把哪一个页面从物理内存中 移出。 五 共享虚拟内存(Shared Virtual Memory) 六访问控制(Access Control) 七 高速缓存(Caches) 八页面的分配和回收-mem_map数据结构26第2章 嵌入式Linux操作系统2章 嵌入式 LINUX操作系统 九内存映射(Memory Mapping) 将一个文件的镜像和一个进程的虚拟内存地址空 间连接起来的方法叫做内存映射;27第2章 嵌入式Linux操作系统2章 嵌入式 LINUX操作系统 2.2.4文件系统管理 一 基本情况 文件系统从操作系统和系统服务中分离,在它们 之间使用一个接口层-虚拟文件系统(VFS)来 支持多种不同的文件系统; 二 EXT2 文件系统 数据以数据块的方式进行存储,大小相同并可以 设定,通过使用索引节点数据结构来描述每个文件 。 三 虚拟文件系统(VFS) 负责管理实际文件系统之间关系28第2章 嵌入式Linux操作系统2章 嵌入式 LINUX操作系统 29第2章 嵌入式Linux操作系统2章 嵌入式 LINUX操作系统 2.2.5 设备管
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号