探索ucos-ii之路(一)--内核目录结构和内核组成
内核 -- 探索 结构 目录 II 之路 组成
2023-09-14 08:59:41 时间
*********************************************************************************
* OS_CORE.C 系统初始化,开启多任务环境等的代码
*********************************************************************************
* OS_FLAG .C 事件标志组管理代码
*********************************************************************************
* OS_MBOX .C 消息邮箱管理代码
*********************************************************************************
* OS_MEM.C 内存管理代码
*********************************************************************************
* OS_MUTEX.C 互斥型信号量管理代码
*********************************************************************************
* OS_Q.C 消息队列管理
*********************************************************************************
* OS_SEM.C 信号量管理代码
*********************************************************************************
* OS_TASK.C 任务管理代码
*********************************************************************************
* OS_TIME.C 事件管理代码
*********************************************************************************
* uCOS_II.C 包含内核的其它C语言源文件
*********************************************************************************
2 uCOS II配置文件(与应用程序有关)
********************************************************************************* * INCLUDES .H 系统的全局头文件,在所有的源码中包含 ********************************************************************************* * OS_CFG .H UCOS系统的全局配置 *********************************************************************************
********************************************************************************* * OS_CPU .h 包含与处理器相关的常量、宏及结构体定义 ********************************************************************************* * OS_CPU_C.C 多任务栈初始化等与处理器有关的代码 ********************************************************************************* * OS_CPU_A.asm 汇编语言编写的启动任务、任务切换等四个重要函数 *********************************************************************************
4 μC/OS-II组成
自制操作系统Antz day08——实现内核 (中) 扩展内核 在前几天的任务中,我们已经简单实现了MBR,直接操作显示器和硬盘操作来加载其他扇区的程序,如今已经可以进入保护模式了,并且编写了我们自己的内核程序,这个内核虽然什么也没有做,但还是成功被加载进内存了。接下来我们要将这个内核程序编写详细的内容了。
********************************************************************************* * OS_CORE.C 系统初始化,开启多任务环境等的代码 ********************************************************************************* * OS_FLAG .C 事件标志组管理代码 ********************************************************************************* * OS_MBOX .C 消息邮箱管理代码 ********************************************************************************* * OS_MEM.C 内存管理代码 ********************************************************************************* * OS_MUTEX.C 互斥型信号量管理代码 ********************************************************************************* * OS_Q.C 消息队列管理 ********************************************************************************* * OS_SEM.C 信号量管理代码 ********************************************************************************* * OS_TASK.C 任务管理代码 ********************************************************************************* * OS_TIME.C 事件管理代码 ********************************************************************************* * uCOS_II.C 包含内核的其它C语言源文件 *********************************************************************************
2 uCOS II配置文件(与应用程序有关)
********************************************************************************* * INCLUDES .H 系统的全局头文件,在所有的源码中包含 ********************************************************************************* * OS_CFG .H UCOS系统的全局配置 *********************************************************************************
********************************************************************************* * INCLUDES .H 系统的全局头文件,在所有的源码中包含 ********************************************************************************* * OS_CFG .H UCOS系统的全局配置 *********************************************************************************3 移植uCOS II (与处理器有关的代码)
********************************************************************************* * OS_CPU .h 包含与处理器相关的常量、宏及结构体定义 ********************************************************************************* * OS_CPU_C.C 多任务栈初始化等与处理器有关的代码 ********************************************************************************* * OS_CPU_A.asm 汇编语言编写的启动任务、任务切换等四个重要函数 *********************************************************************************
********************************************************************************* * OS_CPU .h 包含与处理器相关的常量、宏及结构体定义 ********************************************************************************* * OS_CPU_C.C 多任务栈初始化等与处理器有关的代码 ********************************************************************************* * OS_CPU_A.asm 汇编语言编写的启动任务、任务切换等四个重要函数 *********************************************************************************
4 μC/OS-II组成
μC/OS-II可以大致分成核心、任务处理、时间处理、任务同步与通信,CPU的移植等5个部分。
1) 核心部分(OSCore.c) 是操作系统的处理核心,包括操作系统初始化、操作系统运行、中断进出的前导、时钟节拍、任务调度、事件处理等多部分。能够维持系统基本工作的部分都在这里。
2) 任务处理部分(OSTask.c) 任务处理部分中的内容都是与任务的操作密切相关的。包括任务的建立、删除、挂起、恢复等等。因为μC/OS-II是以任务为基本单位调度的,所以这部分内容也相当重要。
3) 时钟部分(OSTime.c) μC/OS-II中的最小时钟单位是timetick(时钟节拍)。任务延时等操作是在这里完成的。
4) 任务同步和通信部分 为事件处理部分,包括信号量、邮箱、消息队列、事件标志等部分;主要用于任务间的互相联系和对临界资源的访问。
5) 与CPU的接口部分 是指μC/OS-II针对所使用的CPU的移植部分。由于μC/OS-II是一个通用性的操作系统,所以对于关键问题上的实现,还是需要根据具体CPU的具体内容和要求作相应的移植。这部分内容由于牵涉到SP等系统指针,所以通常用汇编语言编写。主要包括中断级任务切换的底层实现、任务级任务切换的底层实现、时钟节拍的产生和处理、中断的相关处理部分等内容。
转载:http://blog.csdn.net/gatieme/article/details/21098269
自制操作系统Antz day08——实现内核 (中) 扩展内核 在前几天的任务中,我们已经简单实现了MBR,直接操作显示器和硬盘操作来加载其他扇区的程序,如今已经可以进入保护模式了,并且编写了我们自己的内核程序,这个内核虽然什么也没有做,但还是成功被加载进内存了。接下来我们要将这个内核程序编写详细的内容了。
相关文章
- windows驱动开发教程_windows内核驱动开发
- linux内核编译详解[通俗易懂]
- CentOS 7 升级 Linux 内核
- 查看linux内核版本号的方法_查看系统型号命令
- 【Linux 内核 内存管理】mmap 系统调用源码分析 ③ ( vm_mmap_pgoff 函数执行流程 | vm_mmap_pgoff 函数源码 )
- Linux内核:运行系统的基石(linux内核文件)
- Ubuntu 及衍生版本用户怎样安装 Pf-Kernel 3.14 内核
- Linux Lite 宣布使用基于 Linux Kernel 4.14 的内核
- kernelEC20芯片驱动安装在Linux内核上(ec20linux)
- Linux内核重新开始(linux内核重启)
- Linux 内核编程:至尊编码规范(linux内核编程规范)
- Linux内核之美:赵炯的探索之旅(linux内核赵炯)
- 寻找为 Linux 内核贡献数千补丁的“超能力者”!
- 安卓操作系统的Linux内核无限可能(安卓和linux内核)
- 学习Linux内核:精彩视频教程(linux 内核视频教程)