嵌入式操作系统基础第一章操作系统的基本概念2第一章操作系统的基本概念计算机操作系统系统内核与中断进程与线程的概念进程管理存储管理I/O设备管理文件管理宏内核与微内核操作系统的分类操作系统的SHELL系统引导与装入嵌入式操作系统基础第一章操作系统的基本概念3第一章操作系统的基本概念§1.1计算机操作系统一、操作系统的基本概念1.操作系统与计算机系统的关系。中央处理机(CPU)硬件子系统存储器裸机计算机系统输入输出设备操作系统系统程序程序设计语言软件子系统编译程序···应用程序注:有的操作系统本身也包含了程序设计语言和编译程序等功能。嵌入式操作系统基础第一章操作系统的基本概念4硬件部分:构成了系统本身和用户作业赖以活动的物质基础和环境。系统软件:主要管理计算机系统本身的操作;应用软件:主要解决用户的问题。2.操作系统在计算机系统中的地位和作用应用软件系···统编译软件软程序设计语言件操作系统(底层)裸机计算机操作系统嵌入式操作系统基础第一章操作系统的基本概念5计算机系统的层次结构计算机硬件操作系统系统工具应用软件应用用户应用开发人员操作系统开发人员操作系统的地位:是系统硬件之上的第一层软件,为其他软件提供单向支撑作用。裸机:没有任何软件支持的计算机。虚拟机:对裸机功能的首次扩充,把裸机改造成功能更强、使用更方便的机器。嵌入式操作系统基础第一章操作系统的基本概念6二、操作系统的功能1、对计算机系统硬件封装和扩充,提供一个计算机用户与计算机硬件系统之间的接口(API函数和SHELL命令),使计算机系统更易于使用;2、有效地控制和管理计算机系统中的各种硬件和软件资源,提高计算机系统资源利用率;3、合理地组织计算机系统的工作流程,以改善系统性能。三、操作系统的定义操作系统是计算机系统中的一个大型的系统软件,它管理和控制计算机系统中的全部软、硬件资源,合理地组织计算机的工作流程,为用户应用程序的运行提供一个友好的界面和良好的工作环境。嵌入式操作系统基础第一章操作系统的基本概念7嵌入式操作系统基础第一章操作系统的基本概念8一、中断和中断处理1.几个概念内核:由HAL(硬件抽象层)中的程序模块及进程管理、内存管理等基本服务程序模块组成的系统核心部分称为操作系统的内核。异步事件:与当前正在做的事情不存在逻辑关系的事件。中断:因异步事件的发生而迫使程序执行流程发生转移的现象。§1.2操作系统的内核是由中断驱动的嵌入式操作系统基础第一章操作系统的基本概念92.中断处理流程嵌入式操作系统基础第一章操作系统的基本概念10二、系统时钟的实现1.定时器:CPU周期性工作的保证。2.系统时钟:由定时器发出的中断请求。嵌入式操作系统基础第一章操作系统的基本概念11§1.3进程和线程的基本概念一、进程1.概念:程序的一次运行过程。2.特征:动态、并发、独立、异步和机构性。动态性:进程是程序的一次运行,程序是进程的蓝本。并发性:相对独立的多个进程可以同时存在,交替被CPU处理,完成各自独立的任务。异步性:使用计算机资源时,对使用秩序进程间没做任何事先约定。独立性:系统中的进程具有独立功能,是资源分配和调度的独立单位。结构性:为了便于系统的管理和控制,系统为其建立了一整套完整数据结构。嵌入式操作系统基础第一章操作系统的基本概念12二、进程的概念1.进程的实体:存储在存储器中且与进程直接相关的实体——代码、进程控制块及数据集合。※可重入代码:可共享的程序代码。2.进程状态及转换◆就绪状态:除CPU外,进程获取了其他所有必须得资源。◆运行状态:就绪状态进程一旦获取CPU,进入运行状态。◆阻塞状态:因自身原因而暂停执行,转入阻塞状态。◆进程调度:在就绪进程中选择一个并使之运行的工作。嵌入式操作系统基础第一章操作系统的基本概念133.进程控制块为了记录和跟踪进程的相关信息,操作系统用来记载相应信息的一种数据结构。structpcb{charpstate;//进程当前状态intpprio;//进程优先级intpid;//进程标识符intpregs[SIZE];//进程堆栈intpsem;//进程信号量intpmsg;//进程消息intpname;//进程名称intpargs;//进程参数……}PCB;嵌入式操作系统基础第一章操作系统的基本概念144.进程的内存映像进程控制块(PCB)、进程数据、程序代码、进程堆栈三、线程的概念为了减少系统切换进时的时间和空间开销,把进程进一步分割为更小的单位——线程。操作系统在进行资源分配时,对存储空间资源,系统仍然以进程为单位进行分配,而对处理器资源则以线程为单位进行分配。5.进程控制块链表为了管理的方便,操作系统根据系统当前不同的状态,把那些具有相同状态的进程的进程控制块用链表组织。嵌入式操作系统基础第一章操作系统的基本概念15§1.4进程管理多级反馈队列调度发:按优先级划分若干的组,同组的进程的优先级相同,处理器以小于低级别队列的时间片按FIFO方式优先运行从高级别队列的进程。一、进程(线程)调度系统中的所有就绪进程,按照某种策略确定一个合适的进程按规定的使用权限(可剥夺方式OR不可剥夺方式)让处理器运行它。1.调度策略时间片轮法:系统中的每个进程轮流占用处理器运行一个相同的时间片。优先级调度:每个进程都有一个优先级,级别的大小决定抢占处理器权利的大小(优先级决定方式)。嵌入式操作系统基础第一章操作系统的基本概念162.进程切换从正在运行的进程中收回处理器,然后再使待运行的进程占用处理器的过程。保存处理器PC寄存器的值保存处理器PSW寄存器的保存处理器SP寄存器的值保存处理器其它相关寄存器的值二、进程(线程)的同步与通信1.直接制约源于进程间的相互合作,而受限制的行为。嵌入式操作系统基础第一章操作系统的基本概念172.间接制约源于对资源的共享。3.进程同步进程间制约性的合作运行机制就为进程同步。三、进程的其它管理1.进程的创建和删除进程创建:分配PCB,并给PC和SP付值,置标志位。进程撤销:回收资源,自内存中删除。2.进程的挂起和恢复由相应的进程挂起服务模块和恢复服务模块执行。嵌入式操作系统基础第一章操作系统的基本概念18§1.5存储管理一、计算机存储的层次可挥发性存储装置:系统掉电后,其所存储的信息会丢失殆尽,属存储管理范畴。非挥发性存储装置:可永保存其上存储的信息,属设备管理范畴。嵌入式操作系统基础第一章操作系统的基本概念19二、存储空间的段页式分区连续分配方式会形成许多碎片,虽然通过“紧凑”可以拼接,但是必须付出很多开销。因此产生了离散分配方式,如果离散分配基本单位是页,则称为分页存储管理方式;如果离散分配基本单位是段,则称为分段存储管理方式1.存储空间的分页分页存储:将一个进程的逻辑地址空间分成若干个大小相等的片,称为页面或页,并从0开始为各页加以编号。相应地,也把内存空间分成与页面相同大小的若干个存储块(512B-8K),称为(物理)块或页框(frame),也同样为它们加以编号。在为进程分配内存时,以块为单位将进程中的若干个页分别装入到多个可以不相邻接的物理块中。嵌入式操作系统基础第一章操作系统的基本概念202.存储空间的分段引入分段存储管理方式,主要是为了满足用户和程序员的下述一系列需要:方便编程、信息共享、信息保护、动态增长、动态链接。分段:按程序自身的逻辑关系把作业的地址空间划分为若干个程序段,每个程序段都有一个段名,且有一个段号。段号从0开始,每一段也从0开始编址,段内地址是连续的。分段地址中的地址具有如下结构(二维的):嵌入式操作系统基础第一章操作系统的基本概念213.存储空间的段页式划分基本原理:将用户程序划分若干个段,然后再把每个段分成若干页,并为每一段赋一个段名。利用段表和页表实现地址映射的过程:段号状态页表大小页表始址0111213041页号状态存储块#0111213041操作系统主存页表段表段表大小段表始址段表寄存器嵌入式操作系统基础第一章操作系统的基本概念22三、虚拟存储器的概念1.虚拟存储的迫切性有的作业很大,其所要求的内存空间超过了内存总容量,作业不能全部被装入内存,导致该作业无法运行。有大量作业要求运行,但是由于内存容量不足以容纳所有这些作业,只能将少数的作业装入内存让它们先运行,而将其它大量的作业留在外存上等待。2.虚拟存储的定义虚拟存储器是指具有请求调入功能和置换功能,能从逻辑上对内存容量加以扩充的一种存储器系统。其逻辑容量由内存容量和外存容量之和所决定,其运行速度接近于内存速度,而每位的成本却又接近于外存。可见,虚拟存储技术是一\种性能非常优越的存储器管理技术。嵌入式操作系统基础第一章操作系统的基本概念23§1.6I/O与设备管理设备控制器:主要职责是控制一个或多个I/O设备,以实现I/O设备和计算机之间的数据交换。它包括:接收和识别命令、数据交换、标识和报告设备的状态、地址识别、数据缓冲、差错控制等。驱动程序:接收操作系统请求,并对I/O设备进行输入输出操作的软件一、I/O设备及其抽象二、操作系统的设备无关性设备的可寻址性:由外围设备形成的地址区域——I/O或地址空间:嵌入式操作系统基础第一章操作系统的基本概念24逻辑设备名的使用:操作系统规定用户程序中应使用逻辑设备名来对设备进行标识,而不是使用物理设备的实际名称。三、操作系统对设备的管理设备描述表:通过对实际物理设备属性的抽象而形成的设备属性描述的数据结构(DCT)。1.缓冲技术:为了缓和因处理器和外围设备数据传输速率的不匹配,需在主存区开辟的一个缓冲区。2.设备调度:为了缓和多个进程共享同一个设备资源而带来的竞争,处理器必须针对设备的属性按照某种预先设置的算法或策略对共享该设备资源的进程调度。3.设备的分配:为竞争同一个设备资源的进程按预先设定的分配策略,在保证完整性和合理性的前提下,分配该设备资源。嵌入式操作系统基础第一章操作系统的基本概念25§1.7文件管理一、文件、文件结构和文件系统1.文件的基本概念信息的一种组织形式,是存放在外存储器中的一组相关信息的集合,具有用于相互区别的名称。2.文件的逻辑结构字符流式文件:由字符序列组成,文件内的信息不再划分结构。记录式文件:具有特定结构,内部信息划分为多个记录,用户必需以记录为单位来组织和使用信息。连续结构文件:以记录存入的时间为。有序结构文件:按某项值大小排序。嵌入式操作系统基础第一章操作系统的基本概念263.文件的物理结构4.文件系统操作系统中负责存取和管理文件的一组软件模块。有序文件:文件的逻辑顺序和在连续物理块中的结构中一致,称其为…。链接文件:存储文件的物理块通过链表组织在一起。索引文件(随机文件):由指示文件的逻辑记录和其所存储的物理块之间对应关系的索引表盒文件本身共同组成的文件。功能1:建立文件时分配存储空间。功能2:回收被删除文件占用的空间资源。功能3:提供文件和目录间的操作接口,实现和实体的映射。功能2:为文件提供足够的保护作用。嵌入式操作系统基础第一章操作系统的基本概念27二、文件管理1.文件目录及其结构文件目录:是一个记录了文件的各个属性信息的数据结构,通常包括:文件名、存储位置、文件结构、存取权限和相关使用信息。目录文件:有文件目录构成的文件。0长度m指针ptrm01m1?imi?R0R1?Ri?逻辑文件目录项目录文件嵌入式操作系统基础第一章操作系统的基本概念282.文件存储空间的管理存储空间的分配:以块为单位——512B/1K/2K。空闲块的组织:“位图”OR“链表”。嵌入式操作系统基础第一章操作系统的基本概念29§1.8宏内核和微内核一、内核1.基本概念裸机的首次抽象和封装,是系统对进程进行资源分配以及对进程进行管理和调度的程序模块的集合。2.基本构成和位置与硬件紧密相关、运行频率较高的公共基本操作程序模块,关键性的数据结构等;计算机系统工作时,其将常驻内存。3.基本功能中断处理:中断管理和处理为操作系统赖以活动的基础。嵌入式操作系统基础第一章操作系统的基本概