初识嵌入式

题外话:刚刚接触嵌入式开发不过四天,对于相关概念理解依旧不是很透彻。在此,通过整理课堂笔记,并附上自己浅薄的理解,还希望各路大神能不吝赐教!


一、嵌入式开发系统的概述

1、什么是嵌入式开发?

百度百科上对于嵌入式开发的解释:嵌入式开发就是在嵌入式系统下进行的开发,一般的操作系统有winCE,LINUX,Android等等。对于嵌入式系统的解释引用了IEEE对嵌入式系统的定义:“用于控制、监视或者辅助操作机器和设备的装置”。嵌入式系统就是嵌入到特定设备中的计算机系统。

我自己也查看不少对于嵌入式开发的解释,虽然不能完全理解,但是无外乎都是再提嵌入式开发与软件硬件的关系。嵌入式开发就是在已有硬件平台上的软件开发,是基于操作系统上的软件开发。它并不是单纯地研究硬件。我有很多同学一听我正在学习嵌入式,就惊讶道:你怎么去学硬件呀? 其实并不然。

2、为什么需要嵌入式开发?

如我们所知,传统的软件开发有着一些无法避免的缺点如:软件移植性差。在传统开发中,软件直接访问硬件,一款软件针对一种硬件,每款软件不是对多个硬件具有兼容性。如此一来必然会导致,软件开发人员就必须学习多种硬件平台的相关知识,再针对各自的性能开发不同的软件。不能只专注于软件开发。

相比之下,嵌入式的优势便突显出来。嵌入式开发基于操作系统上的软件开发,是软件不再受硬件的约束,进而解决了上述问题。

3、嵌入式的核心技术有哪些?

这个问题,我不很了解。感觉嵌入式包含很多,c语言、Linux操作系统应该都挺重要的吧。

嵌入式的核心技术是嵌入式微处理器。

二、嵌入式Linux开发环境的安装

1、什么是操作系统?操作系统有哪些作用?

操作系统(operating system,简称 OS),是管理和控制计算机硬件和软件资源的计算机程序,是直接运行在“裸机”上的最基本的系统软件,任何其他软件必须在操作系统的支持下才能运行。
操作系统是计算机硬件与其他软件的接口,是对所有系统资源进行管理的程序的集合。
 
操作系统提供了开源软件和工具以及开发库。
操作系统提供了丰富的网络协议栈
操作系统提供了多任务机制(进程、线程),使得开发的产品更加智能化。


ps:嵌入式操作系统与一般的操作系统的区别在于:嵌入式操作系统的内核代码是开源的。


2、有哪些嵌入式操作系统?什么是实时性?哪些操作系统的实时性好?

比较火的:VXworks、winCE、Linux,μC/OS-Ⅱ
实时性可以定义为:在规定的时间内系统的反应能力。
一般有实时性要求的应用有两个特点:其中的活动时间行强,要求在一定的时间或一定的时刻自外部收集信息,并及时作出响应。
在嵌入式中,实时系统必须对外来事件在限定的时间内做出反应,这个限定时间范围根据实际需要来定。
 注意Linux无实时性。

3、Linux操作系统的优缺点

linux的优点是:
A)开放性:linux操作系统遵守GNU规范,代码共享,易于实现系统的裁剪和客制化的开发。 
B)多用户:系统资源可以被不同用户以各自的权限访问使用,互不影响。 
C)多任务和多线程:不同任务和线程几乎同时并发地处理独立的但却内在关联的一系列事件
D)设备独立性:linux操作系统把所有外部设备统一当作设备文件来看待,只要安装它们的驱动程序,任何用户都可以象使用普通文件一样,操纵、使用这些设备,而不必知道它们的具体存在形式。 
E)丰富的网络功能:完善的内置网络是Linux的一大特点。Linux在通信和网络功能方面优于其他操作系统。其他操作系统不包含如此紧密地和内核结合在一起的连接网络的能力,也没有内置这些联网特性的灵活性。而Linux为用户提供了完善的、强大的网络功能。  
F)良好的可移植性
缺点是:主要来自于硬件方面的支持,还有就是对于普通用户来说,它的操作性没有windows那么方便,实用,一般用户使用起来 不太会操作


ps:1、GPL 协议:GNU通用公共许可证(GNU General Public License)  自由软件
         2、GNU计划:  革奴计划 “ GNU is Not Unix”   它的目标是创建一套完全自由的操作系统。

         3、POSIX标准:可移植性操作系统接口   完全兼容    POSIX标准意在期望获得源代码级别的软件可移植性。换句话说,为一个POSIX兼容的操作系统编写的程序,应该可以在任何其它的POSIX操作系统(即使是来自另一个厂商)上编译执行。


4、什么是发行版?Linux有哪些发行版?优缺点是什么?

发行版:发行版是一个完整的系统,一个安装了就可以用的系统。
内核是一个系统核,单纯地内核不是完整的操作系统。而发行版增加了外围资源如用户界面、系统安装,程序更新等,,,各发行版的内核可以一样但是各发行版采用的用户应用方式可能不同。

Linux常见的发行版有:Redhat,openSUSE,Ubuntu,红旗。

5、什么是虚拟机?虚拟机的作用?虚拟机的优点?为什么要使用虚拟机?

我的理解就是:虚拟机就是一个虚拟的pc机,它是一个软件。

专业术语:虚拟机(英文全称:Virtual Machine)是指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统,目前流行的虚拟机软件有VMware(VMWare ACE)、Virtual Box和Virtual PC,它们都能在Windows系统上虚拟出多个计算机,每个虚拟计算机可以独立运行,可以安装各种软件与应用等。

你可能感兴趣的:(课堂笔记)