《组成原理第二章1嵌入式系统软件成分课件.ppt》由会员分享,可在线阅读,更多相关《组成原理第二章1嵌入式系统软件成分课件.ppt(25页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1嵌入式系统嵌入式系统第二章第二章 软件成分软件成分21 1、操作系统定义、操作系统定义2 2、进程、进程3 3、文件系统、文件系统4 4、系统调用、系统调用5 5、操作系统结构、操作系统结构操作系统概述操作系统概述-基本概念基本概念31 1、进程模型、进程模型 例:例:多道程序多道程序 ,例:计算机科学家做饭例:计算机科学家做饭 进程与并行,进程与时序进程与并行,进程与时序2 2、进程的层次结构、进程的层次结构 进程进程子进程子进程孙进程孙进程例:例:initshelluser initshelluser 3 3、进程的状态、进程的状态 运行态运行态 就绪态就绪态 阻塞态及三者的关系阻塞态及
2、三者的关系4 4、进程模型的建立、进程模型的建立 顺序进程顺序进程操作系统概述操作系统概述-进程模型进程模型45 5、进程的实现、进程的实现 进程表进程表 地址空间地址空间 描述进程调度如何实现描述进程调度如何实现 (读请求)(读请求)6 6、线程(轻量进程)、线程(轻量进程)传统进程:传统进程:一条控制线索,一条控制线索,多线程进程:多条控制线索,多线程进程:多条控制线索,例:共享高速缓存例:共享高速缓存 网络浏览器网络浏览器 线程表,线程的三态。线程表,线程的三态。线程的继承,共享,堆栈管理线程的继承,共享,堆栈管理操作系统概述操作系统概述-进程模型进程模型56实现互斥的前提条件:实现互斥
3、的前提条件:1 1任何两个进程不能同时处于临界区。任何两个进程不能同时处于临界区。2 2不应对不应对CPUCPU的速度和数目做任何假设。的速度和数目做任何假设。3 3临界区外的进程不得阻塞其他进程。临界区外的进程不得阻塞其他进程。4 4不得使进程在临界区外无休止地等待。不得使进程在临界区外无休止地等待。几种互斥方案几种互斥方案 1 1、关中断、关中断 2 2、锁变量、锁变量 3 3、严格轮换、严格轮换 4 4、邮箱与原子操作、邮箱与原子操作操作系统概述操作系统概述-进程间通信(进程间通信(IPC)7当有多个进程就绪时,操作系统必须决定先运行哪一个。操作系统中做出这种决定的部分称当有多个进程就绪
4、时,操作系统必须决定先运行哪一个。操作系统中做出这种决定的部分称作调度程序作调度程序(scheduler)(scheduler),它使用的算法称作调度算法,它使用的算法称作调度算法(scheduling algorithm)(scheduling algorithm)。例:批处理:依次运行下一个作业例:批处理:依次运行下一个作业原则:原则:1 1 公平公平确保每个进程获得合理的确保每个进程获得合理的CPUCPU份额。份额。2 2 有效有效使使CPUCPU百分之百地忙碌。百分之百地忙碌。3 3 响应时间响应时间使交互用户的响应时间尽可能短。使交互用户的响应时间尽可能短。4 4 周转时间周转时间使
5、批处理用户等待输出的时间尽可能短。使批处理用户等待输出的时间尽可能短。5 5 吞吐量吞吐量使每小时处理的作业数最多使每小时处理的作业数最多可剥夺调度,可剥夺调度,导致竞争条件导致竞争条件不可剥夺调度,不可剥夺调度,导致进程无限等待导致进程无限等待操作系统概述操作系统概述-进程调度进程调度81 1、时间片轮换调度时间片轮换调度2 2、优先级调度优先级调度3 3、多重队列多重队列4 4、最短作业优先最短作业优先5 5、保证调度算法保证调度算法6 6、彩票调度算法彩票调度算法7 7、实时调度实时调度8 8、两级调度算法两级调度算法 低级调度:基于内存的调度低级调度:基于内存的调度 高级调度:内外存交
6、换调度高级调度:内外存交换调度 (1 1)进程被换入(出)的时间)进程被换入(出)的时间 (2 2)进程最近使用)进程最近使用CPUCPU的时间的时间 (3 3)进程的大小(小进程不参与高级调度)进程的大小(小进程不参与高级调度)(4 4)进程的优先极)进程的优先极操作系统概述操作系统概述-进程调度进程调度910进程实现进程实现1 1、引导过程引导过程 硬盘:主引导记录(小程序和分区表),再找活动分区的第一扇区的引导程序,由引导硬盘:主引导记录(小程序和分区表),再找活动分区的第一扇区的引导程序,由引导程序装入程序装入bootboot,由,由bootboot装入装入MinixMinix。Boo
7、t Boot装入装入MinixMinix的的1 1,2 2,3 3层及层及InitInit,一旦装入,核心便开始运行。,一旦装入,核心便开始运行。2 2、初始化阶段初始化阶段 核心先启动各任务,再启动第三层,这些运行初始化后阻塞,等待执行某种操作,然后核心先启动各任务,再启动第三层,这些运行初始化后阻塞,等待执行某种操作,然后运行运行InitInit进程。进程。3 3、InitInit进程进程 Init Init先读先读/etc/ttytab/etc/ttytab,initinit为每个终端创建一个子进程,该子进程执行为每个终端创建一个子进程,该子进程执行/usr/bin/getty/usr/
8、bin/getty,打印信息等待用户登陆,登陆后,执行用户的,打印信息等待用户登陆,登陆后,执行用户的ShellShell,ShellShell等待用户等待用户键入命令,并为每条命令创建一个子进程。键入命令,并为每条命令创建一个子进程。Minix系统概述系统概述11MINIX MINIX 进程间通信进程间通信三条原语,组塞和唤醒三条原语,组塞和唤醒1 1、send(dent,&message)send(dent,&message)2 2、receive(source.&message)receive(source.&message)3 3、send-rec(src-dst,&message)s
9、end-rec(src-dst,&message)每一层可以在同层间和下一层通信,但不能隔层通信。每一层可以在同层间和下一层通信,但不能隔层通信。MINIX MINIX 进程调度进程调度 MINIX MINIX采用三级排队机制,任务具有最高优先级,第三层次之,用户进程最低,采用三级排队机制,任务具有最高优先级,第三层次之,用户进程最低,第第2 2,3 3层一直运行到阻塞,用户进程采用时间片轮换(层一直运行到阻塞,用户进程采用时间片轮换(100ms100ms)。)。Minix系统概述系统概述12131.1.总线总线2.2.控制器与设备接口控制器与设备接口3.3.I/O I/O 指令指令 内存映像
10、内存映像I/O,I/O,专用专用I/OI/O指令指令Minix 系统的系统的 I/O任务任务1415I/OI/O流程流程Minix 系统的系统的 I/O任务任务16MINIXMINIX的中断处理程序的中断处理程序三种不同的中断处理方式:硬盘中断,时钟中断,终端任务三种不同的中断处理方式:硬盘中断,时钟中断,终端任务硬盘中断:中断转换成消息硬盘中断:中断转换成消息时钟中断:每次中断时判定有没有很多事可做,如有,则发消息唤醒相应任时钟中断:每次中断时判定有没有很多事可做,如有,则发消息唤醒相应任务(时钟任务或终端任务),如无,则由时钟中断处理程序维护时间,务(时钟任务或终端任务),如无,则由时钟中
11、断处理程序维护时间,增加增加pending_ticks,pending_ticks,当前时间是时钟任务上次值加上当前时间是时钟任务上次值加上pending_tickspending_ticks。终端中断:需要处理不同硬件(键盘,终端中断:需要处理不同硬件(键盘,RS232RS232等),终端设备的中断处理程序等),终端设备的中断处理程序并不向终端任务发消息,只是维护键码(或类似的数据)队列,维护并不向终端任务发消息,只是维护键码(或类似的数据)队列,维护tty_timeouttty_timeout变量,由时钟中断处理程序读变量,由时钟中断处理程序读tty_timeouttty_timeout变
12、量,如发生变变量,如发生变化,则有时钟中断处理程序向终端任务发消息。终端任务收到一条消息化,则有时钟中断处理程序向终端任务发消息。终端任务收到一条消息后,将检查所有终端设备。后,将检查所有终端设备。Minix 系统的系统的 I/O任务任务1718MINIXMINIX设备驱动程设备驱动程工作流程工作流程Minix 系统的系统的 I/O任务任务19MINIXMINIX设备驱动程设备驱动程消息结构消息结构Minix 系统的系统的 I/O任务任务20I/OI/O任务和系统的接口:系统向任务发送请求消息,任务接收消息并执行,再返回一个应答消息任务和系统的接口:系统向任务发送请求消息,任务接收消息并执行,
13、再返回一个应答消息代码实例:代码实例:I/OI/O任务主过程框架任务主过程框架Minix 系统的系统的 I/O任务任务21MINIXMINIX内存布局内存布局 空洞和空洞表(单向链表:首块号,长度,下个空洞指针),空洞和空洞表(单向链表:首块号,长度,下个空洞指针),I I空间和空间和D D空间空间,结合的结合的I I空间和空间和D D空间空间,独立的独立的I I空间和空间和D D空间空间Minix Minix 消息处理消息处理 FORK FORK 系统调用,系统调用,EXEC EXEC系统调用系统调用MinixMinix信号处理信号处理 信号定义信号定义 软信号,硬信号软信号,硬信号 信号处
14、理的三个阶段信号处理的三个阶段 准备,执行,恢复准备,执行,恢复Minix 系统的存储器管理系统的存储器管理22文件的实现文件的实现 文件在存储介质的存放规则文件在存储介质的存放规则 连续分配,连续分配,链表分配,带索引的链表链表分配,带索引的链表 DOS DOS i i节点节点 UNIX/Minix UNIX/Minix目录的实现目录的实现 实现文件名与文件数据块的对应实现文件名与文件数据块的对应 目录项结构:目录项结构:文件名文件名 属性属性 所有磁盘块号所有磁盘块号 文件名文件名 属性属性 第一块磁盘块号第一块磁盘块号 MS-DOS MS-DOS i i节点号节点号 文件名文件名 UNIX/Minix UNIX/MinixMinix 文件系统文件系统2324i-i-节点节点 结构结构 Minix 文件系统文件系统25谢谢 谢谢 各各 位位