嵌入式系统复习提纲

合集下载

嵌入式系统复习提纲

嵌入式系统复习提纲
处理器通过总线方式或GPIO方式扩展 外围硬件。
存储器设备
嵌入式系统的存储器包括主存和外存。 大多数嵌入式系统的代码和数据都存
储在处理器可直接访问的存储空间即 主存中。 系统上电后在主存中的代码直接运行。 主存储器的特点是速度快,一般采用 ROM、EPROM、Nor Flash、SRAM、 DRAM、SDRAM等存储器件。
➢ARM状态,此时处理器执行32位的字对齐 的ARM指令;
➢Thumb状态,此时处理器执行16位的、半 字对齐的Thumb指令。
ARM的寄存器组织
系统和用户 R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 (PC)
CPSR
ARM状态 通用寄存器和程序计数器
在Thumb指令集中,某些指令强制性的要 求使用R13作为堆栈指针。
由于处理器的每种运行模式均有自己独立 的物理寄存器R13,在初始化部分,都要 初始化每种模式下的R13,这样,当程序 的运行进入异常模式时,可以将需要保护 的寄存器放入R13所指向的堆栈,而当程 序从异常模式返回时,则从对应的堆栈中 恢复。
ARM状态 程序状态寄存器
CPSR
CPSR
SPSR_svc
SPSR_abt
CPSR SPSR_irq
未定义 R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13_ und R14_ und R15 (PC)
CPSR SPSR_und
堆栈指针—R13
R13在ARM指令中常用作堆栈指针SP,但 这只是一种习惯用法,用户也可使用其他 的寄存器作为堆栈指针。
该模式主要用于运行系统中的一些特权任务
FIQ模式 用于处理快速中断,支持高速数据传输

嵌入式期末复习提纲(包含复习资料)

嵌入式期末复习提纲(包含复习资料)

考试题型:•1、判断题 10分•2、填空题 20分•3、选择题 20分•4、简答题 30分(5个)•5、应用题 20分(3个)•6、名字解释复习资料:•书本•课件,平时课堂例题。

•平时作业和练习•考试范围:1-5章•其他说明:•课后习题是重点。

•简答题来源于前5章,每章一个。

每章重点:第一章:1.什么是嵌入式系统?试简单列举一些生活中常见的嵌入式系统的实例。

嵌入式系统是用于检测、控制、辅助、操作机械设备的装置。

以应用为中心,一计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积和功耗等严格要求的专用计算机系统。

2.嵌入式系统具有哪些特点?3.嵌入式系统由哪些部分组成?简单说明各部分的功能和作用。

4.嵌入式系统是怎样分类的?5.嵌入式系统的定义。

嵌入式系统是用于检测、控制、辅助、操作机械设备的装置。

以应用为中心,一计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积和功耗等严格要求的专用计算机系统。

6.什么是交叉编译,试说明交叉编译的实现过程。

7.嵌入式系统有哪些应用领域。

嵌入式系统技术具有非常广阔的应用前景,其应用领域可以包括:1.工业控制:基于嵌入式芯片的工业自动化设备将获得长足的发展,目前已经有大量的8、16、32 位嵌入式微控制器在应用中,网络化是提高生产效率和产品质量、减少人力资源主要途径,如工业过程控制、数字机床、电力系统、电网安全、电网设备监测、石油化工系统。

就传统的工业控制产品而言,低端型采用的往往是8位单片机。

但是随着技术的发展,32位、64位的处理器逐渐成为工业控制设备的核心,在未来几年内必将获得长足的发展。

2.交通管理:在车辆导航、流量控制、信息监测与汽车服务方面,嵌入式系统技术已经获得了广泛的应用,内嵌模块,模块的移动定位终端已经在各种运输行业获得了成功的使用。

目前设备已经从尖端产品进入了普通百姓的家庭,只需要几千元,就可以随时随地找到你的位置。

嵌入式系统基础-复习提纲

嵌入式系统基础-复习提纲

嵌入式系统基础复习题第1章嵌入式系统概论1、什么是嵌入式系统?嵌入到对象体系中的专用计算机应用系统。

2、嵌入式系统的3个基本特点?嵌入性、专用性、计算机3、什么是嵌入式处理器,嵌入式处理器可以分为几大类?嵌入式处理器是为了完成特殊的应用而设计的特殊目的的处理器。

分为嵌入式微处理器、嵌入式微控制器、嵌入式DSP处理器、嵌入式片上系统(SOC)。

4、什么是嵌入式操作系统和?有何特点?列出常见的几种嵌入式操作系统及特点。

5、试比较说明JA TG工具和ISP工具的异同点?6、从硬件系统来看,嵌入式系统由哪几部分组成?画出简图。

第2章ARM7体系结构1、什么是RISC指令系统?什么是CISC指令系统?RISC是精简指令集计算机的缩写。

CISC是复杂指令集计算机的缩写。

2、ARM与ARM公司有什么区别?举出2个以上的ARM公司当前应用比较多的ARM处理器核?ARM7系列、ARM9系列、ARM10系列、ARM11系列、intel的Xscale系列和MPCore系列。

3、ARM7TDMI中的T、D、S、I分别表示什么含义?T:支持高密度16位的Thumb指令集D:支持片上调试S:ARM7TDMI 的可综合(synthesizable)版本(软核)I:支持EmbededICE观察硬件M:支持64位乘法4、ARM7TDMI处理器采用什么样的体系结构,其可寻址地址空间多大?ARM处理器使用冯.诺依曼结构使用单个平面的232个8位字节地址空间。

地址空间可以看作是包含230个32位字,或231个16位半字。

5、ARM7TDMI与ARM9处理器采用几级流水线处理,使用何种存储器编址方式?ARM7TDMI处理器采用三级流水线。

ARM处理器将存储器看做是一个从0开始的线性递增的字节集合。

6、ARM处理器有几种模式和ARM处理器状态有什么区别?各种工作模式下分别有什么特点?R M处理器模式指用户模式、快中断模式、中断模式、管理模式、中止模式、未定义模式和系统模式。

嵌入式操作系统复习提纲-仅供参考

嵌入式操作系统复习提纲-仅供参考

复习提纲―――仅供参考!!!!!!!!!!第1部分嵌入式系统导论嵌入式系统的定义嵌入式计算机与通用计算机的异同嵌入式系统的组成嵌入式系统的特点及每个特点的说明嵌入式系统的分类:按实时性分,嵌入式系统可分为几类?它们的特点是什么?|| 按软件结构分,嵌入式系统可分为几类?它们的优缺点是什么?分别适用于哪些系统?|| 前后台系统的组成和运行模式如何?需要考虑的主要因素有哪些?主要性能指标是什么?|| 单处理器多任务系统由哪些部分组成?其运行方式如何?嵌入式的主要应用领域有哪些?嵌入式系统的发展趋势第2部分嵌入式系统硬件设计嵌入式硬件系统由哪几部分组成几个基本概念:冯.诺依曼与哈佛结构、流水线构、CISC和RISC、主存、外存、MPU、MMU、Cache、TCM、Write buffer、总线、异常、交叉编译、交叉开发、寻址方式、堆栈CISC和RISC的异同ARM处理器的特点ARM处理器的分类ARM的异常类型及对异常的处理过程,异常的优先级ARM微处理器的编程模型,CPU模式,处理器的工作状态,寄存器及寄存器的作用CPSR寄存器复位后,ARM处理器执行什么操作?ARM微处理器的内存和I/O:大小端,对齐方式,CPU和I/O的接口信息,I/O的映射方式总线分类,总线的主要参数AMBA总线及组成串行总线主存、外存NOR和NAND Flash的异同嵌入式系统设计主要步骤及每步骤的分析最小系统组成及每部分作用JTAG的作用及引脚在嵌入式系统中,串口的作用ARM指令系统:ARM寻址方式及ARM指令集ARM处理器版本ARM处理器指令系统第3部分嵌入式软件系统几个基本概念:软件、嵌入式操作系统体系结构、Bootloader、进程、任务、任务切换、中断、中断向量表、内存管理嵌入式软件系统的分类嵌入式软件系统的体系结构及每部分的组成和作用嵌入式软件运行流程及每部分的作用嵌入式软件的特点嵌入式操作系统的分类操作系统体系结构分类嵌入式操作系统组成嵌入式内核主要功能嵌入式文件系统功能为什么要交叉编译交叉编译工具链包括什么,及每部分的作用交叉编译环境建立的3种方法Bootloader的主要任务、操作模式、烧写硬实时、软实时采用多任务的好处进程的构成,进程控制块包含的信息引入线程概念后,可把进程和线程分为几种模型嵌入式实时内核使用什么模型任务与程序的区别任务分类任务参数实时内核中,三种基本任务状态是什么任务状态与变迁任务控制块包含什么信息任务切换基本操作步骤任务切换时机内核任务管理机制包括任务创建时通常要使用的信息任务创建要完成什么工作中断分类中断控制器作用中断处理过程中断服务程序主要内容实时内核中断管理内容实时内核提供的中断管理功能内存管理机制,常用管理方式,可变大小存储区管理,堆的操作 MMU的功能MMU用来进行内存保护,可实现什么在内存保护方面,MMU提供了什么措施嵌入式I/O系统管理分层思想(PPT88页)I/O系统工作过程Linux内核版本号含义Linux设备驱动主要完成的功能Linux设备文件分类及其含义Linux设备驱动的特点编写Linux驱动大致过程结合嵌入式目标板,实现Linux设备驱动的大致流程。

嵌入式复习提纲

嵌入式复习提纲

嵌入式复习提纲程序题(1分析 2设计)分析题对RTC内部寄存器读取操作 void rtcread(void) {INT8U Y,MO,D,W,H,MI,S; //**使能RTC读写操作rRTCCON=(INT8U)(rRTCCON|0x01) //**读取日期和时间 Y=rBCDYEAR;MO=rBCDMON; D=rBCDDAY; W=rBCDDATE; H=rBCDHOUR; MI=rBCDMI;S=rBCDSEC;//**关闭RTC读写操作rRTCCON=(INT8U)(rRTCCON&0xfe)//**将合并BCD码转换为十进制,放到对应的变量中year=(Y&0x0f)+(Y&0xf0)/16*10+2000; month=(MO&0x0f)+(MO&0x10)/16*10;day=(D&0x0f)+(D&0x30)/16*10; wkday=W&0x07;hour=(H&0x0f)+(H&0x30)/16*10; minute=(MI&0x0f)+(MI&0x70)/16*10; second=(S&0x0f)+(S&0x70)/16*10; }设计题用ARM指令编程实现64位数0xEE000000FF和0x9876543210的加法,想加的结果保存在起始地址为0x40001000的存储空间里,采用小端存储模式。

AREAex1,CODE,READONLY ENTRYstart MOV R0,#000000FF;低32位 MOV R1,#000000EE;高32位 LDRR2,#76543210;低32位 LDR R3,#00000098;高32位 ADDS R4,R0,R2 ADCS R5,R1,R3 LDR R6,#40001000STM R6!,{R4,R5};小端存储 STOP MOV R0,#0x18 LDR R1,=0x20026 SWI 0XAB END若需要利用S3C2410芯片Timer部件中的Timer2通道产生一个周期约为1000ms的脉冲信号,系统的PLCK=66MHz,写出初始化程序。

嵌入式复习提纲

嵌入式复习提纲

嵌入式复习提纲1、什么是小端和大端存储器组织P46①大端存储系统中,字的地址对应的是该字中最高有效字节所对应的地址;半字的地址对应的是该半字中最高有效字节所对应的地址。

也就是说,32位数据的最高字节存储在低地址中,而其最低字节则存放在高地址中。

②小端存储系统中,字的地址对应的是该字中最低有效字节所对应的地址;半字的地址对应的是该半字中最低有效字节所对应的地址。

也就是说,32位数据的最高字节存储在高地址中,而其最低字节则存放在低地址中。

2、目前嵌入式操作系统有哪些?Windows CE、VxWorks、pSOS、QNX、Palm OS、嵌入式Linux3、什么是异常?退出异常需要进行那些操作?P51异常:是指由内部或外部产生一个引起处理器处理的事件,换句话说,也就是指正常的程序执行流程被暂时中断而引发的过程。

(问答、选择)退出异常需要进行的操作:①将保存在R14寄存器的值再回送到PC中。

②再将SPSR寄存器的值回送到CPSR寄存器中。

③对中断禁止位标志进行清除。

4、嵌入式系统开发的步骤有哪几步?系统需求分析——规格说明——系统结构设计——构件设计和系统集成5、总线的分类。

①芯片级总线(又称CPU总线)②板卡级总线(又称内总线)③系统级总线(又称外总线)6、中断向量的类型。

P128中断向量是用于识别中断源的一种机制。

中断向量的提供通常有两种形式:一种是CPU对各种中断源规定了固定的中断向量,当某个中断请求信号被响应后,CPU自动转移到其对应的中断向量处执行程序;优点是具有中断响应速度快的优点,缺点是各中断向量固定而不能修改;另一种是不固定的中断向量,中断向量存储在设备中,当其中断请求被响应后,设备向CPU发送中断向量来迫使CPU的PC指向其中断向量处,优点是设计比较灵活,用户可根据需要设定中断向量表在主存中的位置,缺点是中断相应速度较慢。

7、I/O端口的寻址方式有那些?说明各方法的思想。

P112目前嵌入式系统设计中,对I/O端口或部件进行寻址采用两种方法:存储器映射法和I/O隔离法。

嵌入式期末复习提纲(包含答案)

嵌入式期末复习提纲(包含答案)

欢迎共阅考试题型:•1、判断题 10分•2、填空题 20分•3、选择题 20分•4、简答题 30分(5个)•5、应用题 20分(3个)•6、名字解释复习资料:•书本•PPT课件,平时课堂例题。

•平时作业和练习•考试范围:1-5章•其他说明:•课后习题是重点。

•简答题来源于前5章,每章一个。

每章重点:第一章:1.什么是嵌入式系统?试简单列举一些生活中常见的嵌入式系统的实例。

?嵌入式系统是用于检测、控制、辅助、操作机械设备的装置。

以应用为中心,一计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积和功耗等严格要求的专用计算机系统。

2.嵌入式系统具有哪些特点?3.嵌入式系统由哪些部分组成?简单说明各部分的功能和作用。

4.嵌入式系统是怎样分类的?5.嵌入式系统的定义。

嵌入式系统是用于检测、控制、辅助、操作机械设备的装置。

以应用为中心,一计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积和功耗等严格要求的专用计算机系统。

6.什么是交叉编译,试说明交叉编译的实现过程。

7.嵌入式系统有哪些应用领域。

嵌入式系统技术具有非常广阔的应用前景,其应用领域可以包括:???1.工业控制:???基于嵌入式芯片的工业自动化设备将获得长足的发展,目前已经有大量的8、16、32?位嵌入式微控制器在应用中,网络化是提高生产效率和产品质量、减少人力资源主要途径,如工业过程控制、数字机床、电力系统、电网安全、电网设备监测、石油化工系统。

就传统的工业控制产品而言,低端型采用的往往是8位单片机。

但是随着技术的发展,32位、64位的处理器逐渐成为工业控制设备的核心,在未来几年内必将获得长足的发展。

???2.交通管理:???在车辆导航、流量控制、信息监测与汽车服务方面,嵌入式系统技术已经获得了广泛的应用,内嵌GPS模块,GSM模块的移动定位终端已经在各种运输行业获得了成功的使用。

目前GPS设备已经从尖端产品进入了普通百姓的家庭,只需要几千元,就可以随时随地找到你的位置。

嵌入式复习提纲

嵌入式复习提纲

一、嵌入式基础1、IEEE对嵌入式系统的定义:用于控制、监视或者辅助操作机器和设备的装置。

2、国内对嵌入式系统的定义:以应用为中心,以计算机技术为基础,软硬件可裁剪,应用对系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。

3、特点:(1)专用性强;(2)实时性好;(3)可裁剪性好;(4)可靠性高;(5)功耗低4、嵌入式操作系统:(1)VxWorks:一种32位嵌入式实时操作系统。

(2)Windows CE:抢先试多任务、多线程的并具有强大通信能力的32嵌入式操作系统。

(3)μC/OS-Ⅱ:广泛用于便携式电话、运动控制卡、自动支付终端、交换机等。

(4)嵌入式Linux:对Linux经过小型化裁剪后,能够固化在容量为几百KB到几十MB的存储芯片或单片机中。

二、基于ARM9处理器的硬件平台1、ARM处理器核的体系结构:(1)ARM体系结构共定义了6个版本(v1-v6),P162、ARM微处理器核:(1)ARM7系列微处理器系列为低功耗的32位RISC处理器,适用于对价位和功耗要求较高的消费类应用。

主要应用领域为工业控制、Internet设备、网络和调制解调器设备、移动电话等。

特点:A、具有嵌入式ICE-RT逻辑,调试开发方便;B、能够提供0.9MIPS/MHz的三级流水线结构;C、代码密度高并兼容16位的Thumb指令集;D、对操作系统广泛支持;E、便于用户的产品升级换代;F、高速的运算处理能力胜任绝大多数的复杂应用。

(2)ARM9系列微处理器系列在高新能和低功耗特性方面提供了最佳的性能。

主要应用于无线设备、仪器仪表、安全系统、机顶盒、高端打印机、数字照相机等。

特点:A、5级流水线,指令执行效率更高;B、提供1.1MIPS/MHz的哈佛结构;C、支持32位ARM指令集和16位Thumb指令集;D、支持32位的高速AMBA总线接口;E、全性能的MMU,支持多种嵌入式操作系统;F、MPU支持实时操作系统;G、支持数据Cache和指令Cache,具有更高的指令和数据处理能力。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、ARM架构1、简述ARM处理器的工作模式•ARM体系结构支持7种处理器模式,分别为:用户模式、快中断模式、中断模式、管理模式、中止模式、未定义模式和系统模式,如下表所示。

这样的好处是可以更好的支持操作系统并提高工作效率。

ARM7TDMI完全支持这七种模式2、分述特权模式和异常模式的特点除用户模式外,其它模式均为特权模式。

ARM内部寄存器和一些片内外设在硬件设计上只允许(或者可选为只允许)特权模式下访问。

此外,特权模式可以自由的切换处理器模式,而用户模式不能直接切换到别的模式。

•快中断中断管理中止未定义•这五种模式称为异常模式。

它们除了可以通过程序切换进入外,也可以由特定的异常进入。

当特定的异常出现时,处理器进入相应的模式。

每种异常模式都有一些独立的寄存器,以避免异常退出时用户模式的状态不可靠。

3、ARM指令系统中的寻址方式。

寻址方式是处理器执行指令时寻找真实操作数地址的方式。

ARM处理器支持9种基本寻址方式:寄存器寻址;立即寻址;多寄存器寻址;堆栈寻址;块拷贝寻址;相对寻址;寄存器移位寻址;寄存器间接寻址;基址寻址二、ARM硬件结构1、简述ARM常用的存储系统构成2、从使用角度说明SDRAM、NOR FLASH和NAND FLASH的特点SDRAM是英文SynchronousDRAM 的缩写,译成中文就是同步动态存储器的意思。

从技术角度上讲,同步动态存储器(SDRAM)是在现有的标准动态存储器中加入同步控制逻辑(一个状态机),利用一个单一的系统时钟同步所有的地址数据和控制信号。

使用SDRAM 不但能提高系统表现,还能简化设计、提供高速的数据传输。

在功能上,它类似常规的DRAM,且也需时钟进行刷新。

可以说,SDRAM 是一种改善了结构的增强型DRAM。

目前的SDRAM有10ns 和8ns。

Flash容量:NAND Flash容量通常在8 MB以上,可以达到高存储密度,并且写入和擦除的速度也很快,应用NAND Flash的困难在于需要特殊的系统接口。

NAND Flash适用于资料存储。

NOR Flash容量通常在1 MB~8MB之间,主要应用在代码存储介质中,应用程序可以直接在NOR Flash内运行,不需要再把代码读到系统RAM中运行。

Flash接口:NOR Flash带有SRAM接口拥有独立的数据总线和地址总线,能快速随机读取,允许系统直接从Flash中读取代码执行(XIP, eXecute In Place)。

可以很容易地读取其内部的每一个字节。

写操作不能像RAM那样,直接对目标地址进行总线操作,它必须输入一串特殊的指令。

NAND Flash地址、数据和命令共用8位总线/16位总线,每次读写都要使用复杂的I/O 接口串行地存取数据。

写操作通过一段时序来完成。

NAND Flash读和写操作采用512B 的块,类似硬盘管理操作。

因此,基于NAND的闪存可以取代硬盘或其他块设备。

三、Bootloader工作原理1、简述Bootloader两种启动模式的功能•1.网络启动方式这种方式开发板不需要配置较大的存储介质,跟无盘工作站有点类似。

但是使用这种启动方式之前,需要把Bootloader安装到板上的EPROM或者Flash中。

Bootloader通过以太网接口远程下载Linux内核映像或者文件系统。

第3章介绍的交叉开发环境就是以网络启动方式建立的。

网络启动方式对于嵌入式系统开发来说非磁盘启动方式2.磁盘启动方式传统的Linux系统运行在台式机或者服务器上,这些计算机一般都使用BIOS 引导,并且使用磁盘作为存储介质。

进入BIOS设置菜单,可以探测处理器、内存、硬盘等设备,也可以设置BIOS从软盘、光盘或者某块硬盘启动。

也就是说,BIOS 并不直接引导操作系统。

那么在硬盘的主引导区,还需要一个Bootloader,这个Bootloader可以从磁盘文件系统中把操作系统引导起来。

Linux传统上是通过LILO(LInux LOader)引导的,后来出现GNU软件GRUB(GRand Unified Bootloader)。

这两种Bootloader广泛应用在X86的Linux系统上。

•3.Flash启动方式大多数嵌入式系统上都使用Flash存储介质。

Flash有很多类型,包括NOR Flash、NAND Flash和其他半导体盘。

其中,NOR Flash(也就是线性Flash)使用最为普遍。

NOR Flash可以支持随机访问,所以代码可以直接在Flash上执行。

Bootloader 一般是存储在Flash芯片上的。

另外,Linux内核映像和RAMdisk也可以存储在Flash 上。

通常需要把Flash分区使用,每个区的大小应该是Flash擦除块大小的整数倍。

2、Bootloader在启动的两个阶段中,分别完成哪些具体工作?•Bootloader的stage1通常包括以下工作(以执行的先后顺序):(1) 硬件设备初始化。

(2) 为加载Bootloader的stage2准备RAM空间。

(3) 拷贝Bootloader的stage2到RAM空间中。

(4) 设置堆栈。

(5) 跳转到stage2的C入口点。

•Bootloader的stage2通常包括以下工作(以执行的先后顺序):(1) 初始化本阶段要使用到的硬件设备。

(2) 检测系统内存映射(Memory Map)。

(3) 将内核映像和根文件系统映像从Flash设备上复制到RAM空间中。

(4) 设置内核启动参数。

(5) 调用启动内核。

四、Linux内核结构1、了解内核的概念;内核是一个操作系统的核心,它负责管理系统的进程,内存,设备驱动程序,文件和网络系统,决定着系统的性能和稳定性。

内核以独占的方式执行最底层任务,保证系统正常运行。

协调多个并发进程,管理进程使用的内存,使它们相互之间不产生冲突,满足进程访问磁盘的请求等等。

严格说Linux并不能称做一个完整的操作系统.我们安装时通常所说的Linux,是有很多集合组成的.应称为GNU/Linux.一个Linux内核很少1.2M左右,一张软盘就能放下。

Linux内核主要由五个子系统组成:进程调度,内存管理,虚拟文件系统,网络接口,进程间通信。

2、了解进程和线程的概念;1、什么是进程准确的定义进程并不容易,但要强调一下进程的两个重要特征:独立性:进程是系统中独立存在的实体,它可以拥有自己独立的资源。

动态性:进程与程序的区别在于程序只是一个静态的指令集合,而进程是一个正在系统中活动的指令集合。

在进程中加入了时间的概念。

由于以上两个性质,又可以衍生出进程的第三个重要特征,及并发性。

而并发性指在同一时刻内可能只有一条指令执行,但多个进程的指令被快速的轮换执行,使得在宏观上具有多个进程同时执行的效果。

线程的基本概念:线程是在共享内存空间中并发的多道执行路径,它们共享一个进程资源和上下文。

无需进行上下文切换,多个线程也共享一个进程的CPU时钟周期,进程的状态并未因线程的切换而改变。

目前最广泛使用的是Pthread线程标准,它更接近执行体的概念。

同一进程的线程可共享同一u区和上下文,但也能拥有自身的堆栈空间和独立的执行序列。

3、了解进程的状态。

用户态线程:用户态线程是由进程负责调度管理,高度抽象化的,与硬件平台无关的线程机制。

其最为显著的标志为进程在创建多个线程时,不需要Linux内核的支持,也不直接对CPU标志寄存器进行操作。

用户态的优势在于:减少多线程的系统开销:进程下的线程进行调度切换时,不需要进行系统调用。

同一个进程可以创建的线程数目没有限制。

实现方式灵活:可根据实际的需要设计相应的用户态线程机制,对于实时性要求高的程序特别重要。

用户态线程缺点:如果进程的其中一个线程被阻塞,进程会进入睡眠状态,其他线程同时也被阻塞。

无法发挥多核处理器的优势。

内核态线程由Linux操作系统根据CPU硬件的特点,以硬件底层模式实现的线程机制。

内核态将所有线程按照同一调度算法调度,更有利于多核处理器模式所支持的并发处理特性的发挥。

内核线程可以自由访问内存空间,并且在某一线程阻塞时,其他线程还能正常工作。

相对于用户态线程,内核态线程的系统开销稍大,并且必须通过系统调用实现,对硬件和内核版本的依赖性较高,不利于程序的移植。

五、嵌入式文件系统1、适用于RAM、NOR FLASH和NAND FLASH的文件系统有那些?2、虚拟文件系统的作用?Linux也在系统内核和文件系统之间提供了一种叫做虚拟文件系统VFS(virtual filesystem)的标准接口。

VFS 允许Linux 支持许多(通常是不同的)文件系统,每一个都向VFS 表现一个通用的软件接口。

Linux 文件系统的所有细节都通过软件进行转换,所以所有的文件系统对于Linux 核心的其余部分和系统中运行的程序显得一样。

虚拟文件系统(Virtual File System, 简称VFS),是Linux 内核中的一个软件层,用于给用户空间的程序提供文件系统接口;同时,它也提供了内核中的一个抽象功能,允许不同的文件系统共存。

系统中所有的文件系统不但依赖VFS 共存,而且也依靠VFS 协同工作。

六、Linux设备驱动1、Linux设备驱动的功能设备驱动程序是内核的一部分,它完成以下的功能:1.对设备初始化和释放.2.把数据从内核传送到硬件和从硬件读取数据.3.读取应用程序传送给设备文件的数据和回送应用程序请求的数据.4.检测和处理设备出现的错误.2、Linux操作系统下有哪3类主要的设备文件类型?•在Linux操作系统下有3类主要的设备文件类型:块设备、字符设备和网络设备。

这种分类方法可以将控制输入/输出设备的驱动程序与其他操作系统软件分离开来。

3、字符设备与块设备的主要区别是什么?字符设备与块设备的主要区别是:在对字符设备发出读/写请求时,实际的硬件I/O一般紧接着发生。

块设备则不然,它利用一块系统内存作为缓冲区,若用户进程对设备的请求能满足用户的要求,就返回请求的数据;否则,就调用请求函数来进行实际的I/O操作。

块设备主要是针对磁盘等慢速设备设计的,以免耗费过多的CPU 时间用来等待。

网络设备可以通过BSD套接口访问数据。

4、设备驱动程序的两种加载方式及差异。

1. 静态加载方式(1)特点:静态方式就是将驱动程序的源代码事前放到内核源代码中,和整个内核一起编译。

它需要修改内核源代码和文件系统,并重新烧录下载到嵌入式设备中,这样当内核启动时就会加载驱动程序。

(2)内核的修改:设备驱动程序写完后,就可以将文件加到linux的内核中了。

(3)文件系统的修改:在内核中加上驱动程序后,还不能直接在应用程序中使用驱动程序中的函数,如open,close等,因为还需要在文件系统中提供设备访问接口,也就是/dev/目录下的设备名与设备号。

相关文档
最新文档