pSOS操作系统介绍

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

pSOSystem 操作系统

1.概述

pSOSystem 操作系统是一个高性能、高度模块化的实时操作系统,他完整的提供了基于开放系统标准的多任务环境,被广泛应用于嵌入式微处理器程序开发。pSOSystem实时多任务操作系统内核是以库文件方式存在,他有用于不同CPU的不同OS版本。提供给我们的编程语言接口是C/C++和汇编。像其他操作系统一样,pSOSystem操作系统有它的系统调用,让上层应用使用系统的功能。pSOSystem 操作系统的交插开发环境工具(包括编辑、编译和调试)可以驻留在UNIX或DOS主机上,他们通过串口或以太网同目标机建立通讯链接。

2.系统结构

pSOSystem操作系统是一个模块化高度可配置的操作系统,整个系统的结构如上图:pSOSystem的内核及各个模块都是硬件独立的,不依赖于具体的硬件,不对硬件作假设。由用户提供或配置OS提供的具体的硬件相关的驱动程序或接口程序。在上图的整个系统中,深灰框内是系统内核及系统模块,只需对其按要求进行配置或为其提供驱动程序。在浅灰色框内的部分包括:用户任务(User Task)、中断处理程序(Interrupt Handlers)、设备驱动程序(Drivers)。这三个部分是由用户来做的,做BSP程序主要是编写中断处理程序和设备驱动程序,而编写上层应用程序是编写各个任务(Tasks)。宏观上多个T ask是可以并行执行的,也就是说,一个Task在执行过程中可以被另一个T ask所打断,存在多个Task都在执行,但是都未结束的情况。当然在微观上多个Task是串行的(对单个CPU)。在什么情况下会发生T ask切换呢?只有在发生某一个系统事件的时候,pSOS+便检查现在该哪个T ask运行了,如果不是当前Task,便会发生Task 切换。一般只有发生系统调用时才可能发生系统事件。

BSP(Board-Support Package)板级支持包,是完成用户硬件板功能的程序包,他包括目标系统硬件初始化代码、设备驱动程序和中断处理例程。在BSP里都是以原码(Full Source Code) 存放仅仅与板子硬件相关的程序,与上层有何应用毫无关系。这也是我们把程序加入BSP的一个准则,如果某个程序仅仅与硬件相关,与上层有何应用没有关系,就可以把这个程序放入BSP中。BSP中为上层应用提供了操作硬件的驱动程序及功能函数,BSP 提供给上层应用的接口都是相同的,只是对不同的BSP它们的实现不同而已,这样有利于上层应用程序在不同的板间移植。

●pSOS+ 实时单处理器多任务操作系统内核模块

作为监控软件来提供应用程序要求的系统服务、调度、管理和资源分配,并且协调各种同步和异步操作。pSOS+的特点是小、快、完全可抢占、可重入。

pSOS+将应用程序抽象为:任务、I/O设备驱动程序和中断服务程序ISRs。pSOS+采用了基于优先级的、可抢占的和基于时间片的调度策略,并且每个任务可以有自己特殊的调度策略。

pSOS+是完全与硬件无关的,使得用户能在自己的硬件上使用pSOSystem。

●pSOS+m 实时多处理器多任务操作系统内核模块

是对pSOS+一些特性的扩展,使pSOSystem支持多处理器的操作,处理器间采用的是主从结构。

●pNA+ TCP/IP协议堆栈模块

是一个完全的TCP/IP协议组,包括网关路由协议、UDP、ARP和IGMP等。pNA+使用标准的socket接口,包括Stream、Datagram和Raw Socket。

●pRPC+ 远端过程调用库模块

提供了与SUN兼容的RPC和XDR服务,允许用户用熟悉的远程调用来构造分布式应用。

●pHILE+ 文件系统管理模块

可以通过它有效地访问各种不同的存储设备,支持四种文件格式:MS-DOS文件系统、CD-ROM文件系统、pSOSystem特有的快速文件系统、NFS的Client和Server端

●pREPC+ 标准C库模块

●pROBE+ 调试/分析器

3.开发方式

嵌入式开发环境主要可以分为两部分,宿主机上的工具和目标机上的软件映像。假如我们的目标板采用的是MPC860作为CPU,它本身不具有自开发能力,即我们无法在MPC860下开发运行在它之上的软件,只有借助PC机(x86)来开发软件。这种开发方式被称为嵌入式开发。不具有自开发能力的、待开发的机器(MPC860)叫做目标机(Target),把所借助的PC机叫做宿主机(Host)。

我们所能用的编辑器、编译器、调试器等工具都在HOST上。首先利用集成开发环境上的编辑器写源代码,其中要根据目标板的功能特性对BSP部分做不同的改动;然后编译自己的源文件和BSP部分,链接OS等不能改动的库文件(操作系统部分是目标代码,是以库文件的方式存放的)形成一个可以在Target上运行的IMAGE;最后用运行在Host之上的调试器把代码下载到Target上,进行调试。

结合上图我们所要开发的有如下几块部分:

操作系统部分是目标代码,是以库文件的方式存放的,无法修改;I/O Drivers(仅提供标准的系统调用接口)实际上也是固定部分,不需改动;只有嵌入式应用部分和BSP是我们要为目标板定做的。

4.嵌入式应用部分

结合ATM和IP的经验嵌入式应用部分由支撑软件模块和应用软件模块构成。支撑软件模块又是由以下几个子模块组成:调度系统,定时系统,通讯系统,内存管理,监控系统,控制系统,告警系统,诊断系统,文件和装载系统。应用软件模块可根据具体的应用来分解。

5.BSP

4.1初始化上电

是指从加电或复位后的第一条指令,到操作系统举起的过程。Boot的初始化可分为三级:

1. CPU 的初始化,如Cache 、寄存器的设置。

2. 板级初始化,指内存的自检、Flash 的刷新等。

3. 系统初始化,为操作系统的运行准备数据结构、配置表等。

4.2驱动程序

驱动程序是包含I/O 操作的子函数,是指目标板上所有硬件的驱动程序。对每个设备,都提供了六种操作的驱动程序:init 、open 、close 、read 、write 和control 。驱动程序必须由上层调用,其调用方式有三种:

1. 在任务中直接调用设备驱动程序。

2. 任务调用内核中的设备驱动程序,由内核根据设备号再调用相应的驱动程序。

3. 在任务中调用了某个服务,而该服务需要设备驱动程序的支持,如网卡。

与硬件无关

相关文档
最新文档