




已阅读5页,还剩29页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第2章 嵌入式Linux操作系统,2.1 Linux及其应用 2.2 Linux内核 2.3 典型嵌入式Linux系统,第2章 嵌入式LINUX操作系统,2,2.1 Linux及其应用,2.1.1 Linux与UNIX和GNU 2.1.2 Linux的特点 2.1.3 Linux的发展及应用,第2章 嵌入式LINUX操作系统,3,2.1.1 LINUX与unix GNU,Unix操作系统 MINIX操作系统 GNU及FSF POSIX标准 Internet网络,Linux 的5大支柱:,第2章 嵌入式LINUX操作系统,4,2.1.2 Linux的特点,1开放性; 2多用户; 3多任务; 4稳定性强; 5设备独立性; 6提供了丰富的网络功能 7可靠的系统安全 8良好的可移植性 9应用软件多,第2章 嵌入式LINUX操作系统,5,2.1.3 LINUX的发展及应用,Linux 的发展 Linux 的应用和优势 高可靠性,安全性 成本 优良的集群特性 其他,第2章 嵌入式LINUX操作系统,6,2.2 Linux内核,2.2.1 Linux的内核特征 2.2.2 进程管理 2.2.3 内存管理 2.2.4 文件系统管理 2.2.5 设备管理 2.2.6 进程间通信机制,第2章 嵌入式LINUX操作系统,7,2.2.1 Linux的内核特征,一:基本概念 1内核的定义: 是操作系统的内部核心程序,它向外部提供了对计算机设备的核心管理调用; 2 操作系统代码组成: 内核空间:内核所在的地址空间称为内核空间; 用户空间:外部管理程序与用户进程所占据的地址空间称为外部空间(用户空间) 3 运行状态: 内核态:当执行到内核空间的一段代码时,称程序处于核心态; 用户态:当程序执行到外部空间代码时,称程序处于用户态,第2章 嵌入式LINUX操作系统,8,2.2.1 Linux的内核特征,4 内核分类 单一内核(Monolithic Kernel):指操作系统中所有的系统相关功能都被封装在内核中。它们与外部程序处在不同的内存地址空间中,并通过各种方式防止外部程序直接访问内核中的数据结构。程序只有通过一套称作系统调用(System Call)的界面访问内核结构。 微内核(Micro Kernel)结构:在微内核结构中,操作系统的内核只需要提供最基本、最核心的一部分操作(例如,创建和删除任务、内存管理、中断管理等)即可,而其他管理程序(如文件系统、网络协议栈等)则尽可能放在内核以外。这些外部程序可以独立运行,并对外部用户程序提供操作系统服务,服务之间使用进程间通信机制(IPC)进行交互。,第2章 嵌入式LINUX操作系统,9,单一内核和微内核结构,第2章 嵌入式LINUX操作系统,10,二 Linux系统的内核结构 -单一内核结构 LINUX的模块化结构; Linux的不是一个“硬”实时操作系统; Linux操作系统的内核稳定而高效;,第2章 嵌入式LINUX操作系统,11,2.2.2进程管理,2.2.2.1 进程的基本概念 一 进程的定义 进程是运行于自己的虚拟地址空间的一个程序。可以说,任何在Linux系统下运行的都是进程。 二 Linux系统中进程的类型 交互进程:该进程是由shell控制和运行的。它既可以在前台运行,也可以在后台运行。 批处理进程:该进程不属于某个终端,被提交到一个队列中以便顺序执行。 守护进程:该进程只有在需要时才被唤起在后台运行。它一般在Linux启动时开始执行。,第2章 嵌入式LINUX操作系统,12,3 进程的属性 进程是动态性; 进程运行对资源的依赖性; 多进程的调度; 4 进程管理程序的功能 使进程能够顺序执行或者在需要资源时发生阻塞,并使其在资源可用时继续运行。 为进行资源管理(包括CPU上的进程调度)实现了与资源管理程序的逻辑链接。 限制某些资源只在某些进程间共享。 按照系统的资源分配机制分配资源。 管理系统中的进程和资源。,第2章 嵌入式LINUX操作系统,13,2.2.2 .2进程与线程 1 概念 进程:一个应用程序; 线程:占用CPU时间片的最小应用单位; 2 运行模式 用户模式 核心模式 3 进程与线程的资源分配 4 LINUX的资源分配-继承方式,第2章 嵌入式LINUX操作系统,14,2.2.2.3 进程的状态 1进程状态: 一个进程在其生存期内,可处于一组不同的状态下,称为进程状态。 2 进程数据结构 PCB(Process Control Block)或TCB(Task Control Block):用于定义一个特殊的数据结构来代表一个进程; 任务向量表:内核程序通过任务向量表对进程进行管理,在Linux系统中,任务向量表项是一个task_struct任务结构指针 进程的上下文:当一个进程在执行时,CPU的所有寄存器中的值、进程的状态,以及堆栈中的内容被称为该进程的上下文。,第2章 嵌入式LINUX操作系统,15,2.2.2.3 进程的状态,第2章 嵌入式LINUX操作系统,16,运行状态(TASK_RUNNING); 可中断睡眠状态(TASK_INTERRUPTIBLE); 不可中断睡眠状态(TASK_UNINTERRUPTIBLE); 暂停状态(TASK_STOPPED); 僵死状态(TASK_ZOMBIE);,2.2.2.4 进程的状态,第2章 嵌入式LINUX操作系统,17,第2章 嵌入式LINUX操作系统,18,2.2.2.5 进程管理,进程的创建 进程的调度 进程的终止,第2章 嵌入式LINUX操作系统,19,1进程的创建的定义 进程的创建是指为创建的进程定义地址空间(存储器块),并为进程定义资源。 2 进程创建方式-继承方式 3 关键进程-系统初始化进程init_task 4 新进程的创建 克隆当前的进程;系统调用创建的(fork或clone);核心态; 在新进程的创建过程,该将新进程状态置为不可中断的等待状态; 资源分配:,2.2.2.5进程管理-进程创建,第2章 嵌入式LINUX操作系统,20,1进程的调度-基于优先级排队的调度策略 2 . 系统调用-内核态和用户态的转换 3. 调度过程 调度程序的任务就是选择当前可运行的进程中最值得运行的一个进程。一个可以运行的进程是一个只等待CPU的进程。Linux使用合理而简单的基于优先级的调度算法在系统当前的进程中进行选择。 当它选择了准备运行的新进程,就保存当前进程的状态、与处理器相关的寄存器,以及其他需要保存的上下文信息到进程的task_struct数据结构中。 然后恢复要运行的新的进程的状态(又和处理器相关); 把系统的控制交给这个进程。,2.2.2.5进程管理-进程调度,第2章 嵌入式LINUX操作系统,21,1 进程终止 当一个进程结束了运行或在半途终止了运行,那么内核就需要释放该进程所占用的系统资源。这包括进程运行时打开的文件、申请的内存等,这一过程称为进程终止; 2 进程终止的方法 系统调用:执行内核函数do_exit(); 3 进程终止的过程 释放进程代码段和数据段占用的内存; 关闭进程打开着的所有文件等; 设置进程状态置为僵死状态TASK_ZOMBIE; 通知原父进程子进程在执行期间;,2.2.2.5进程管理-进程终止,第2章 嵌入式LINUX操作系统,22,2.2.3内存管理,一 内存管理的功能 内存管理(Memory Management)系统是操作系统中最为重要的部分,内存管理程序子系统负责控制进程对硬件内存资源的访问。内存管理程序提供以下一些功能: 大地址空间用户程序使用的内存数量可以超过物理上实际所有的内存数量。 保护进程的内存是私有的,不能被其他进程所读取和修改。而且,内存管理程序可以防止进程覆盖代码和只读数据。 内存映射可以把一个文件映射到虚拟内存区域,并把该文件当做内存来访问。 对物理内存的公平访问内存管理程序确保所有的进程都能公平地访问计算机的内存资源,这样可以确保理想的系统性能。 共享内存内存管理程序允许进程共享它们内存的一部分。,第2章 嵌入式LINUX操作系统,23,二 虚拟内存的抽象模型: 1 内存中存放的对象-指令及数据 2 虚拟内存系统及物理内存 3 分页管理 通过页面表进行管理: 有效标志此标志用于标明页面表入口是否可以使用。 物理页面号页面表入口描述的物理页面号。 存取控制信息用来描述页面如何使用,例如,是否可写,是否包括可执行代码等,第2章 嵌入式LINUX操作系统,24,0X2194=0X2000+0X194,PEN=1 物理页面号=1,页面大小=0x2000,第2章 嵌入式LINUX操作系统,25,三按需装入页面(Demand Paging) 1 需求 2 方法:内存映射 3 优点,第2章 嵌入式LINUX操作系统,26,四交换(Swapping) 当一个进程需要把一个虚拟内存页面装入物理内存而又没有空闲时,操作系统必须废弃物理内存中的一个页面,为将要装入的虚拟内存页腾出空间。 Linux系统使用一种叫做“最近最少使用”的技术(Least Recently Used,LRU)来决定把哪一个页面从物理内存中移出。 五 共享虚拟内存(Shared Virtual Memory) 六访问控制(Access Control) 七 高速缓存(Caches) 八页面的分配和回收-mem_map数据结构,第2章 嵌入式LINUX操作系统,27,九内存映射(Memory Mapping) 将一个文件的镜像和一个进程的虚拟内存地址空间连接起来的方法叫做内存映射;,第2章 嵌入式LINUX操作系统,28,2.2.4文件系统管理,一 基本情况 文件系统从操作系统和系统服务中分离,在它们之间使用一个接口层-虚拟文件系统(VFS)来支持多种不同的文件系统; 二 EXT2 文件系统 数据以数据块的方式进行存储,大小相同并可以设定,通过使用索引节点数据结构来描述每个文件。 三 虚拟文件系统(VFS) 负责管理实际文件系统之间关系,第2章 嵌入式LINUX操作系统,29,第2章 嵌入式LINUX操作系统,30,2.2.5 设备管理,一功能 负责用户和系统的硬件特性隔离。向上提供相同的接口,使用户不必关心底层的硬件设备。 二 设备驱动程序 设备驱动程序的一个基本特点就是对设备的抽象处理。系统中的所有硬件设备看起来都与一般的文件一样,它们可以使用处理文件的标准系统调用来打开、关闭和读写。 三 LINUX支持的硬件设备类型 字符设备:直接读取,不必使用缓冲区,固定大小读取; 块设备:通过缓冲区读取,可以随机读取; 网络设备:通过套接字进行读取;,第2章 嵌入式LINUX操作系统,31,2.2.6进程间通信机制,一 功能 Linux提供进程间通信(Interprocess Communication,IPC)机制,是为了给并发执行的进程提供一种方法,使它们可以共享资源,与其他进程同步并且交换数据。Linux提供了下列形式的IPC机制。 二 通信方式 信号:最古老的UNIX IPC形式。信号是发往某进程的异步消息。 管道和命名管道:允许在两个进程之间进行面向连接的单向的数据传输,方法可以是显式地建立管道连接,也可以通过驻留在文件系统中的命名管道进行通信。 信号量:传统信号量模型的一种实现,该模型还允许创建信号量数组。 消息队列:一种无连接的数据传输模型。消息是字节的序列,并带有相应的类型。消息可以写入到消息队列中,并且可以通过从消息队列中读取来获得消息,当然也可以限制读入消息的类型。 共享内存:通过使用这种机制,几个进程可以访问物理内存的同一块区域。 其中信号量、消息队列、共享内存等属于System V IPC(用首次出现的UNIX的版本命名)的机制。,第2章 嵌入式LINUX操作系统,32,2.3 典型嵌入式Linux系统
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年河北邯郸市教育局春季市直学校选聘博硕人才300名模拟试卷有完整答案详解
- 2025年春季中国邮政储蓄银行陕西省分行校园招聘模拟试卷及答案详解(考点梳理)
- 2025年甘肃省平凉市第二批市直单位公益性岗位工作人员招聘37人模拟试卷附答案详解(黄金题型)
- 2025北京航空航天大学无人系统研究院聘用编集群智能研究岗F岗招聘1人考前自测高频考点模拟试题及答案详解(有一套)
- 2025湖北省三支一扶招募高校毕业生2000人模拟试卷及一套完整答案详解
- 2025年蒲江县公开招聘事业单位工作人员(14人)模拟试卷及完整答案详解1套
- 2025宝鸡石油机械有限责任公司春季高校毕业生招聘10人考前自测高频考点模拟试题及答案详解(易错题)
- 2025北京市海淀区青苗学校招聘考前自测高频考点模拟试题及答案详解(名师系列)
- 2025广东湛江法院劳动合同制司法辅助人员招聘9人模拟试卷及参考答案详解
- 2025年东方地球物理勘探有限责任公司招聘(25人)模拟试卷及答案详解(新)
- 家乡的变化课件
- 暖通施工工程方案(3篇)
- 消化内科常见疾病诊疗标准与流程
- 人教部编版八年级语文上册教案(全册)
- 泵闸维修方案(3篇)
- wellsenn AI眼镜拆解及BOM成本报告:小米AI眼镜-电致变色
- 2025至2030科普教育基地行业发展趋势分析与未来投资战略咨询研究报告
- 2025年上半年事业单位联考《综合应用能力》A类考试测试题(含答案)
- 代理商激励方案(3篇)
- 小学国防教学课课件
- 口腔修复桩核冠病例汇报
评论
0/150
提交评论