: .
中南大学信息科学与工程学院
实验报告
安磊
班级: 计科0901 学号:090909
系统初始化时会自动产生两个任务: 一个是空闲任务,它的优先级最低,该任务仅给一个 整形变量做累加运算;另一个是系统任务,它的优先级为次低,该任务负责统计当前 cpu
的利用率。
时间管理
uC/OS-ll的时间管理是通过定时中断来实现的,该定时中断一般为 10毫秒或100毫秒
发生一次,时间频率取决于用户对硬件系统的定时器编程来实现。 中断发生的时间间隔是固
定不变的,该中断也成为一个时钟节拍。
uC/OS-ll要求用户在定时中断的服务程序中, 调用系统提供的与时钟节拍相关的系统函
数,例如中断级的任务切换函数,系统时间函数。
存管理
在ANSl C中是使用malloc和free两个函数来动态分配和释放存。 但在嵌入式实时系统 中,多次这样的操作会导致存碎片,且由于存管理算法的原因, malloc和free的执行时间
也是不确定。
uC/OS-ll中把连续的大块存按分区管理。每个分区中包含整数个大小相同的存块,但不 同分区之间的存块大小可以不同。 用户需要动态分配存时, 系统选择一个适当的分区, 按块
来分配存。释放存时将该块放回它以前所属的分区, 这样能有效解决碎片问题, 同时执行时
间也是固定的。
任务间通信与同步
对一个多任务的操作系统来说,任务间的通信和同步是必不可少的。 uC/OS-ll中提供了
4种同步对象,分另忧信号量,,消息队列和事件。所有这些同步对象都有创建,等待,发 送,查询的接口用于实现进程间的通信和同步。
任务调度
uC/OS-ll采用的是可剥夺型实时多任务核。可剥夺型的实时核在任何时候都运行就绪 了的最高优先级的任务。
uC/os-II的任务调度是完全基于任务优先级的抢占式调度, 也就是最高优先级的任务, 一旦处于就绪状态,则立即抢占正在运行的低优先级任务的处理器资源。 为了简化系统设计, uC/OS-ll规定所有任务的优先级不同,因为任务的优先级也同时唯一标志了该任务本身
II . uC/OS文件系统的建立
uC/OS操作系统本身是没有自带文件系统的。但可由用户自行设计。
文件系统设计的原则:
1. 简洁性
现有的比较完善的文件系统功能齐全、 对系统资源要求较高,而我们所需要的这个嵌入式文
件系统是嵌入式平台的一个中间件,要求简洁高效可靠。为此我们在设计过程中借鉴了 MS-DOS的 FAT16文件系统格式的目录形式进行文件管理,打开文件数据结构则采用了类似 于UNIX系统文件表的方式,为每一个打开文件设置了一个数据结构指针 FS_FILE,使得用
户接口简洁明了。
2. 多设备驱动支持
考虑到应用的广泛性和存储介质的多样性, 要求我们在进行设计文件系统时必须考虑对多种
存储介质的兼容性。整个系统采用模块化分层设计的原则和面向对象的实现方法, 使得用户
可以通过统一的顶层应用程序接口方便地对各种存储介质进行文件操作。 利用本文件系统可
以管理不同的存储介质,可以同时访问不同的硬件。
3. 多操作系统支持
文件系统的开发是基于 ucos ii,在设计开发过程中,考虑到以后对多操作系统的支持, OS
接口模块设计为动态可变,当文件系统应用于其它操作系统时,只需将 OS接口模块中的操
作系统信息变为新的操作系统即可。
4. 可靠性
由于嵌入式系统的数据资源的重要性, 要求存储数据的物理介质必须具有很高的稳定性, 可
是我们知道一些人为或外在的因素可能会导致介质的损坏, 从而造成数据的缺失, 所以我们
要尽可能提高文件系统可靠性。
文件系统的层次结构和功能模块
API层
中间转换层
介质驱动层
系结构上具有很大的差异性。在普通桌面操作系统中,文件系统不仅要管理文件,提供文件 系统调用API,还要管理各种设备,支持对设备和文件操作的一致性。 在嵌入式文件系统中,
这种规则发生了很大的变化。在某些情况下,嵌入式系统可以针对特殊的目的来进行定制, 对嵌入式操作系统的系统功能规整性、可伸缩性及其灵活性提出了更高的要求。
基于以上的考虑,我们采用了如上图所示的嵌入式文件系统体系结构, 该结构定义的文
件系统从上到下有三个层次:第一层为 API层、第二层为中间转换层、下层为介质驱动层。
API层
API层是文件系统和用户应用程序之间的接口,它有一个标准 C函数库,其中包含有诸如打
开文件(FS_FOPE)写文件(FS_FWRIT
嵌入式操作系统实验报告 来自淘豆网m.daumloan.com转载请标明出处.