1.1计算机操作系统
1.1.1什么是计算机操作系统
1.裸机:只有硬件构成的计算机
2.计算机操作系统、硬件与应用程序的关系:
应用软件 ↓ |
系统软件 ↓ |
操作系统 ↓ |
计算机硬件系统 |
下层是上层的基础,上层是下层功能的扩充。
3.操作系统层是最靠近硬件的软件层,主要完成:
硬件资源的调度和分配 |
信息的存储和保护 |
并发活动的协调和控制 |
1.1.2 操作系统的作用和功能
1.操作系统的作用
(1)操作系统是计算机硬件系统与应用程序之间的接口
(2)管理系统资源
2.操作系统的功能
处理器的管理 | 中断管理,对处理器工作进行调度 |
存储管理 | 合理分配资源 |
设备管理 | 管理外部设备,提供驱动 |
文件管理 | 管理大量文件 |
网络通信管理 | 网上资源管理,网络通信、故障管理、安全管理以及性能管理等网络功能 |
提供用户接口 | 提供使用上述功能的接口,以便用户使用操作系统功能 |
1.2嵌入式系统和嵌入式操作系统
1.2.1嵌入式系统的基本概念
1.什么是嵌入式系统:对对象进行自动控制而使其具有智能化并可潜入对象体系中的专用计算机系统
特点:嵌入性、专用性、计算机系统
2.嵌入式操作系统的发展历程:创新模式,微控制器(MCU)阶段,单片系统(SoC)阶段
3.嵌入式系统的特点:
专用性强 | 面向某个特定应用 |
可裁剪性好 | 可去除冗余,使操作系统在满足应用要求的前提下达到最精简配置 |
实时性与可靠性较好 | 操作系统中的软件固化在存储器芯片或单片系统的存储器里,可以快速相应我i阿布时间,提高系统可靠性 |
功耗低 |
|
1.2.2嵌入式操作系统
1.什么是嵌入式操作系统
运行在潜入式平台上,对整个系统机器及其所操作的部件、装置等资源进行统一协调、指挥和控制的系统软件叫嵌入式操作系统。
特点:
微型化 | 嵌入式操作系统规模越小越好 |
可裁剪性 | 用户根据需要选择 |
实时性 | 其很多应用要求系统快速响应 |
高可靠性 |
|
易移植性 | 适应多种多样的硬件平台 |
嵌入式操作系统分为专用型操作系统和通用型操作系统,uc/OS是通用型。
2.实时操作系统
使计算机系统及时响应外部事件的请求,并能及时控制所有实时任务协调运行,且能在一个规定的时间内完成对事件的处理。
两个基本要求:
(1)实时系统的计算必须产生正确的结果(逻辑或功能正确)
(2)在预定周期内完成(时间正确)
分类:
硬实时系统 | 系统必须在严格的时间内完成任务 |
软实时系统 | 对于计算超时有一定的容忍度 |
1.2.3实时操作系统需要满足的条件
(1)实时操作系统必须是多任务系统
(2)任务的切换时间与系统中的任务数无关
(3)中断延时时间可预知并尽可能短
1.多任务
把一个大的任务分解成多个可并行运行的小任务,为提高系统的实时性能创造条件,给应用程序的设计和维护提供了极大的方便。
2.内核的类型
可剥夺 | Cpu总是运行优先级最高的任务 |
不可剥夺 | 优先级高的任务先获得cpu |
3.任务的切换时间
任务切换的调度器的运行时间应该是固定的(为了准确地计算出系统完成某一个任务的时间)。
4.中断延时
中断延时会影响系统的实时性,需要缩短延时中断。
1.2.4嵌入式操作系统的任务及嵌入式实时操作系统
1.嵌入式系统的任务
任务代码:
void mytask()
{
while(1)
{
用户编写的代码;
}
}
嵌入式系统的典型结构
void mytask()
{
while(1)
{
}
}
2.嵌入式实时操作系统
大多数嵌入式操作系统主要提供三项服务:
内存管理 | 动态内存管理,动态分配内存,使内存可重复利用 |
多任务管理 | 能设计多线程的应用程序,使任务运行时的每个动作都会在一个严格要求的时间内执行完毕 |
外围资源管理 | 对资源进行合理的调度和管理,保证每个要使用资源的任务 |