一、简介
计算机系统的三大领域:服务器市场,桌面市场,嵌入式市场。
以往计算机分类:大型计算机,中型计算机,小型机,微计算机。
目前计算机分类:超级计算机,大型计算机,工作站,微计算机,亚微计算机(嵌入式计算机)
嵌入式系统的定义:以应用为中心、以计算机技术为基础,软硬件可裁剪,应用系统对功能、可靠性、成本、体积、功耗和应用环境有特殊要求的专用计算机系统。是将应用程序、操作系统和计算机硬件集成在一起的系统(技术角度)。
嵌入式系统是设计完成复杂功能的硬件和软件,并使其紧密耦合在一起的计算机系统(系统角度)。
特点:功耗限制,低成本,多速率,环境相关性,系统内核小,环境相关性,不可垄断性,产品相对稳定,实时性。
嵌入式系统与单片机,PC相比的优势:
采用32位RISC嵌入式微处理器和实时操作系统组成的嵌入式控制系统,与传统基于单片机的控制系统和基于PC的控制方式相比,有以下优点:
1.性能方面:采用32位RISC结构微处理器,主频从32MHz达到624MHz以上,处理能力大大超出单片机系统,接近PC机的水平,但体积更小,能够真正的嵌入到设备中。
2.实时性方面:嵌入式控制器内嵌实时操作系统,能够完全保证控制系统的强实时性。
3.人机交互方面:嵌入式控制器可支持大屏幕的液晶显示器,提供功能强大的用户图形界面,输入方法多种多样。
4.系统升级方面:嵌入式控制器可为控制系统专门设计,其功能专一,成本较低,而且开放的用户程序接口(API)保证了系统能够快速升级和更新。
嵌入式DSP处理器:
DSP处理器是专门用于信号处理方面的处理器,其在系统结构和指令算法方面进行了特殊设计,在数字滤波、FFT、谱分析等各种仪器上DSP获得了大规模的应用。DSP处理器对系统结构和指令进行了特殊设计,使其适合于执行DSP算法,编译效率较高,指令执行速度也较高。
主流的操作系统分三类:多道批处理、分时和实时操作系统。
实时操作系统的特点:异步的事件响应,切换时间和中断延迟时间确定,优先级中断和调度,抢占式调度,内存锁定,连续文件,同步。
总的来说实时操作系统是事件驱动的,能对来自外界的作用和信号在限定的时间范围内作出响应。它强调的是实时性、可靠性和灵活性, 与实时应用软件相结合成为有机的整体起着核心作用, 由它来管理和协调各项工作,为应用软件提供良好的运行软件环境及开发环境。
前后台系统:循环中调用相应的函数完成相应的操作,这部分可以看成后台行为,后台也可以叫做任务级。这种系统在处理的及时性上比实际可以做到的要差。 中断服务程序处理异步事件,这部分可以看成前台行为,前台也叫中断级。时间相关性很强的关键操作一定是靠中断服务程序来保证的。
操作系统:操作系统是计算机中最基本的程序。操作系统负责计算机系统中全部软硬资源的分配与回收、控制与协调等并发的活动;操作系统提供用户接口,使用户获得良好的工作环境;操作系统为用户扩展新的系统功能提供软件平台。
实时操作系统:实时操作系统是一段在嵌入式系统启动后首先执行的背景程序,用户的应用程序是运行于RTOS之上的各个任务,RTOS根据各个任务的要求,进行资源(包括存储器、外设等)管理、消息管理、任务调度、异常处理等工作。在RTOS支持的系统中, 每个任务均有一个优先级,RTOS根据各个任务的优先级,动态地切换各个任务,保证对实时性的要求。
代码的临界区: 代码的临界区也称为临界区,指处理时不可分割的代码,运行这些代码不允许被打断。一旦这部分代码开始执行,则不允许任何中断打入(这不是绝对的,如果中断不调用任何包含临界区的代码,也不访问任何临界区使用的共享资源,这个中断可能可以执行)。为确保临界区代码的执行,在进入临界区之前要关中断,而临界区代码执行完成以后要立即开中断。
资源:程序运行时可使用的软、硬件环境统称为资源。资源可以是输入输出设备,例如打印机、键盘、显示器。资源也可以是一个变量、一个结构或一个数组等。可以被一个以上任务使用的资源叫做共享资源。为了防止数据被破坏,每个任务在与共享资源打交道时,必须独占该资源,这叫做互斥。
任务:一个任务,也称作一个线程,是一个简单的程序,该程序可以认为CPU完全属于该程序自己。实时应用程序的设计过程,包括如何把问题分割成多个任务,每个任务都是整个应用的某一部分,每个任务被赋予一定的优先级,有它自己的一套CPU寄存器和自己的栈空间。(任务切换)
内核:多任务系统中,内核负责管理各个任务,或者说为每个任务分配CPU时间,并且负责任务之间的通信。内核提供的基本服务是任务切换。使用实时内核可以大大简化应用系统的设计,是因为实时内核允许将应用分成若干个任务,由实时内核来管理它们。内核需要消耗一定的系统资源,比如2%~5%的CPU运行时间、RAM和ROM等。内核提供必不可少的系统服务,如信号量、消息队列、延时等。(占先式内核和非占先式内核)
中断:中断是一种硬件机制,用于通知CPU有个异步事件发生了。中断一旦被识别,CPU保存部分(或全部)上下文即部分或全部寄存器的值,跳转到专门的子程序,称为中断服务子程序(ISR)。中断服务子程序做事件处理,处理完成后,程序回到:
1.在前后台系统中,程序回到后台程序;
2.对非占先式内核而言,程序回到被中断了的任务;
3.对占先式内核而言,让进入就绪态的优先级最高的任务开始运行。
嵌入式的应用很广泛。
二、Linux操作系统
Linux与GNU计划密不可分
GNU是Richard Stallman在1984年创立的,其目标是发展一个完全免费的自由软件——一个类UNIX计算机操作系统以及运行在其上的软件开发工具和各种应用程序。实际发展中,GNU自己的操作系统内核并没有真正开发出来并得到应用,反倒是大量GNU软件(包括开发工具、调试工具和各种各样的应用软件等)与Linux操作系统完美地融合在一起了。
优点:提供了先进的网络支持
多任务,多用户
符合POSIX标准
支持数十种
完全运行于文件系统格式保护模式
开发源代码
采用先进的内存管理机制,更加有效的利用物理地址
Linux的目录结构:
/bin 存放常用的命令
/boot 存放启动程序
/etc 存放启动、关闭、配置程序与文件
/dev 存放设备文件
/home 普通用户工作目录
/root 超级用户工作目录
/lib 存放共享链接库
/sbin 系统管理员的常用管理程序
/tmp 存放临时文件
Lost + found 系统出现异常,用来存放部分资料
/misc 一些实用工具
/mnt 光驱硬盘等挂载点
/media 光驱的自动挂载点
/proc 操作系统的实时信息
/sys 系统中的硬件设备信息
/srv 服务启动后需要提取的信息
/var 主要存放系统日志
/usr 存放用户程序
/tftpboot :tftp服务器的服务目录
selinux :redhat提供的selinux安全程序