安阳工学院计科系考试试卷UCOSII_最终

合集下载

2022年安阳工学院计算机应用技术专业《数据库概论》科目期末试卷B(有答案)

2022年安阳工学院计算机应用技术专业《数据库概论》科目期末试卷B(有答案)

2022年安阳工学院计算机应用技术专业《数据库概论》科目期末试卷B(有答案)一、填空题1、安全性控制的一般方法有____________、____________、____________、和____________视图的保护五级安全措施。

2、在SQL Server 2000中,数据页的大小是8KB。

某数据库表有1000行数据,每行需要5000字节空间,则此数据库表需要占用的数据页数为_____页。

3、关系数据库中基于数学的两类运算是______________和______________。

4、数据库管理系统的主要功能有______________、______________、数据库的运行管理以及数据库的建立和维护等4个方面。

5、数据仓库创建后,首先从______中抽取所需要的数据到数据准备区,在数据准备区中经过净化处理______,再加载到数据仓库中,最后根据用户的需求将数据发布到______。

6、____________和____________一起组成了安全性子系统。

7、某在SQL Server 2000数据库中有两张表:商品表(商品号,商品名,商品类别,成本价)和销售表(商品号,销售时间,销售数量,销售单价)。

用户需统计指定年份每类商品的销售总数量和销售总利润,要求只列出销售总利润最多的前三类商品的商品类别、销售总数量和销售总利润。

为了完成该统计操作,请按要求将下面的存储过程补充完整。

8、SQL Server中数据完整性包括______、______和______。

9、在一个关系R中,若每个数据项都是不可再分割的,那么R一定属于______。

10、设某数据库中有作者表(作者号,城市)和出版商表(出版商号,城市),请补全如下查询语句,使该查询语句能查询作者和出版商所在的全部不重复的城市。

SELECT城市FROM作者表_____SELECT城市FROM出版商表;二、判断题11、可以用UNION将两个查询结果合并为一个查询结果。

【2022年】河南省安阳市全国计算机等级考试数据库技术真题(含答案)

【2022年】河南省安阳市全国计算机等级考试数据库技术真题(含答案)

【2022年】河南省安阳市全国计算机等级考试数据库技术真题(含答案)学校:________ 班级:________ 姓名:________ 考号:________一、1.选择题(10题)1. 批处理操作系统中,作业运行过程中反映作业的运行情况,并且是作业存在的唯一标志是( )。

A.作业状态B.作业类型C.作业控制块D.作业优先级2. 有关系S(S#,SNAME,SEX),C(C#,CNAME),SC(S#,C#)。

其中S#为学生号,SNAME为学生姓名,SEX为性别,C#为课程号,CNAME 为课程名。

要查询选修“计算机文化”课的全体男学生姓名的SQL语句是:SELECT SNAME FROM S,C,SC WHEREA.S.S#=SC.S# AND SEX='男' AND CNAME='计算机文化'B.S.S#=SC.S# AND C.C#=SC.C# AND CNAME='计算机文化'C.SEX='女' AND CNAME='计算机文化'D.S.S#=SC.S# AND C.C#=SC.C# AND SEX='男' AND CNAME='计算机文化'3. 下列关于这个关系的叙述中,不正确的是职员关系是S(S#,SNAME,SEX,AGE)主码为S#部门关系是C(C#,CNAME)主码为C#职员部门关系是SC(S#,C#,r emark)主码为(S#,C#)A.SC. C#是外码B.SC. S#是外码C.S是SC的参照关系D.C是SC的目标关系4. 在有关计算机软件的描述中,下面不正确的是A.软件就是计算机系统中的程序B.软件包括系统软件和应用软件C.软件是用户和机器的接口D.软件使用户在不必了解计算机本身内部结构的情况下使用计算机5. 下列________文件存储设备不支持文件的随机存取。

2022年河南省安阳市全国计算机等级考试数据库技术真题(含答案)

2022年河南省安阳市全国计算机等级考试数据库技术真题(含答案)

2022年河南省安阳市全国计算机等级考试数据库技术真题(含答案)学校:________ 班级:________ 姓名:________ 考号:________一、1.选择题(10题)1. 假设系统处于安全状态,目前系统剩余资源数量为2。

下列哪一个进程序列不是安全序列?A.P1,P2,P3,P4B.P2,P3,P4,P1C.P3,P1,P2,P4D.P4,P3,P2,P12. SQL语言集数据查询、数据操纵、数据定义和数据控制功能于一体,语句GRANT和REVOKE实现的功能是______。

A.数据查询B.数据定义C.数据操纵D.数据控制3. 在下面的叙述中,属于TCP/IP协议特点的是Ⅰ.开放的协议标准,独立于特定的计算机硬件与操作系统Ⅰ.可以运行在局域网、广域网,更适用于互联网Ⅰ.整个TCP/IP设备在网络中具有惟一的IP地址Ⅰ.可以提供多种可靠的用户服务A.Ⅰ和ⅠB.ⅠC.ⅠD.全部4. 在下列叙述中,不正确的是______。

A.如果完善对数据库系统的设计,故障是可以避免的B.恢复子系统应成为数据库系统的一个重要组成部分C.介质故障发生的可能性很小,但破坏性很大D.应把计算机病毒看做一种人为的故障5. 防止地址越界的工作是由下列哪一项完成的?______。

A.软件B.硬件C.软件与硬件配合D.CPU6. DDL是A.操作数据语言B.定义数据的语言C.自含语言D.宿主语言7. 关系数据模型由哪几部分组成?Ⅰ.关系数据结构Ⅰ.关系操作语言Ⅰ.关系操作集合Ⅰ.关系完整性约束A.Ⅰ,Ⅰ和ⅠB.Ⅰ,Ⅰ和ⅠC.Ⅰ,Ⅰ和ⅠD.全部8. 在数据库技术中,实体-联系模型是一种A.概念数据模型B.结构数据模型C.物理数据模型D.逻辑数据模型9. 如果在DOS系统中,某一子目录中存在某些文件,该子目录使用RD 命令A.能够删除B.不可能删除C.删除该子目录中的所有文件和子目录后可以删除D.不能确定10. 一个公司有若干名兼职人员,而每个兼职人员有可能在多家公司打工,则公司与兼职人员之间具有A.一对一联系B.一对多联系C.多对多联系D.多对一联系二、填空题(10题)11. 数据库管理系统中事务的隔离性主要由______部件来保证。

2022-2023学年河南省安阳市全国计算机等级考试C语言程序设计真题(含答案)

2022-2023学年河南省安阳市全国计算机等级考试C语言程序设计真题(含答案)

2022-2023学年河南省安阳市全国计算机等级考试C语言程序设计真题(含答案)学校:________ 班级:________ 姓名:________ 考号:________一、单选题(12题)1. 结构化程序设计方法的3种基本控制结构中不包括A.循环结构B.递归结构C.顺序结构D.选择结构2.下列程序的输出结果是()#include<stdio.h>main() { int a=0,i;for(i=1;i<5;i++){ switch(i){ case 0:case 3:a+=1;case 1:case 2:a+=2;default:a+=3;}printf(“%d”,a) ;}A.19B.18C.6D.83.下列程序的输出结果是( )。

#include<stdio.h>main{ int i;for(i=1;i<=10,i++){ if((i*i>=20)&&(i*i<=100))break;}printf("%d\n",i*i;}A.49B.36C.25D.644. 有以下程序:main() {int x,y,z;x=y=1; z=x++,y++,++y;printf("%d,%d,%d,%d\n",x,y,z);程序运行后的输出结果是( )。

A.2,3,3B.2,3,2C.2,3,1D.2,2,15. 下列程序的输出结果是()struct abc{ int a,b,c;};main(){ struct abc s[2]={{1,2,3},{4,5,6}};int t;t=s[0].a+s[1].b;printf("%d\n",t);}A.3B.4C.5D.66.下列排序方法中,()方法的比较次数与记录的初始排列状态无关。

A.直接插入排序B.冒泡排序C.快速排序D.直接选择排序7. 以下叙述中正确的是______。

2022年河南省安阳市全国计算机等级计算机基础及MS Office应用真题(含答案)

2022年河南省安阳市全国计算机等级计算机基础及MS Office应用真题(含答案)

2022年河南省安阳市全国计算机等级计算机基础及MS Office应用真题(含答案) 学校:________ 班级:________ 姓名:________ 考号:________一、单选题(30题)1.下列不属于计算机特点的是()。

A.存储程序控制,工作自动化B.具有逻辑推理和判断能力C.处理速度快、存储量大D.不可靠、故障率高2.在Word的表格中,按()键可以将光标移到下一个单元格A.[Shift]+[Enter]B.[Alt]C.[Tab]D.[Enter]3. 在计算机内部用宋传送、存储、加工处理的数据或指令所采用的形式是A.十进制码B.二进制码C.八进制码D.十六进制码4.下列属于系统软件的是()。

A.Office 2000B.Windows 2000 scapeD.Front Page5.如果给出的文件标识符是*.*,则是指()。

A.硬盘上的所有文件B.当前驱动器上的所有文件C.当前盘当前目录中的所有文件D.根目录中的所有文件6.在以下四个字符中,()能够作为一个文件的文件名中第一个字符。

A.$B.*C..(小数点)D.?7.计算机自诞生以来,无论在性能、价格等方面都发生了巨大的变化,但是______并没有发生多大的改变。

A.耗电量B.体积C.运算速度D.基本工作原理8.十进制数57转换成二进制整数是()A.0011 1001B.0011 0101C.0011 0011D.0011 01119.在同一个驱动器中复制文件,需按键加拖曳()。

A.Shift或不按任何B.CtrlC.Alt或不按任何D.Tab10.通过以下哪个自带的工具软件,可以将录制的视频或音频从数码相机转移到计算机中()。

A.Windows MediaPlayerB.Windows updateC.Windows DVDMakerD.Windows MovieMaker11.下列设备组中,完全属于外部设备的一组是()。

安阳工学院计科系考试试卷EDA 最终

安阳工学院计科系考试试卷EDA 最终

一、选择题(10x2)分1. 在VHDL的IEEE标准库中,预定义的标准逻辑位数据STD_LOGIC有(D)种逻辑值。

A.2 B.3 C.8 D.92. 信号与变量的区别是:变量只在定义它的进程和子进程内有效,无法传递到进程之外,而信号在定义它的结构体内有效;赋给变量的值则立即成为当前值,而赋给信号的值必须在进程结束才能成为当前值。

变量的赋值符号 :=,信号赋值符号是 <=3.MAX+pluss II编译时VHDL要求实体名与文件名相同4.MAX+plus II是altera公司的开发工具5.std_logic中’H’表示弱信号16.时钟的下降沿表示方式:If clk=’0’ AND clk’last_value=’1’ AND clk’event7.做实验的芯片是MAX7000S系列的EPM7128SLC84-6注:1. STD_LOGIC是IEEE在1993年制定的新的标准(IEEE STD1164),它具有9种不同的值:'U'——初始值'X'——不定'0'——0'1'——1'Z'——高阻'W'——弱信号不定'L'——弱信号0'H'——弱信号1'-'——不可能的情况在使用该数据类型时,在程序中必须写出库说明语句和使用包集合的说明语句。

二、填空题:(15x2)分1.EDA的中文含义:电子设计自动化技术2.FPGA的中文含义:现场可编程门阵列3.VHDL中最常用的库: IEEE标准库 STD库 WORK库4.最常用的程序包: std_logic_11645.EDA源程序输入方式: HDL 和原理图6.VHDL中的对象(客体)有:信号、变量、常数7.VHDL中,可以对已经使用过的函数,进行多次重新定义,这样的函数被称之为重载函数8.用户的工作库是: WORK库9.一个完整的VHDL其中包含哪几部分:设计实体、构造体、配置、子程序和程序包10.VHDL源文件后缀名是: vhd11.VHDL里面的并行语句哪几种:进程语句、并行信号赋值语句、条件信号赋值语句、选择信号赋值语句、并发过程调用语句、块语句三、判定题:(10x1)分1.EPM7256是Xilinx公司的CPLD器件(X)2.MAX+plus II 是Xilinx公司的开发工具(X)3.EDA技术定义了3个阶段 CAD CAE EDA (√)4.VHDL里面结构体可以单独存在(X)5.VHDL标识符8decoder是合法的(X)6. 数据类型bit的取值为1或0 (X)7. VHDL中的操作符不等号为!=(X)8. MAX+plus II不支持原理图输入方式(X)9. 块语句是VHDL中的一种顺序描述语句(X)注:1.EPM7256是Altera公司生产的CPLD器件,MAX+plus II是Altera公司生产的一款PLD开发工具。

【2023年】河南省安阳市全国计算机等级考试数据库技术测试卷(含答案)

【2023年】河南省安阳市全国计算机等级考试数据库技术测试卷(含答案)

【2023年】河南省安阳市全国计算机等级考试数据库技术测试卷(含答案) 学校:________ 班级:________ 姓名:________ 考号:________一、1.选择题(10题)1. 选择排序和归并排序稳定性分别是________。

A.都稳定B.稳定,不稳定C.不稳定,稳定D.都不稳定2. 关系模型中常用的关系操作包括Ⅰ.选择Ⅰ.投影Ⅰ.连接Ⅰ.查询Ⅰ.删除A.Ⅰ,Ⅰ和ⅠB.Ⅰ,Ⅰ和ⅠC.Ⅰ,Ⅰ和ⅠD.全部3. 设有关系R和S,关系代数表达式R-(R-S)表示的是A.R∩SB.R-SC.R∪SD.R÷S4. DDL是A.操作数据语言B.定义数据的语言C.自含语言D.宿主语言5. 下列条目中,哪些是DBMS的基本功能?______。

Ⅰ.提供用户对数据库结构的描述功能Ⅰ.提供用户对数据的操作功能Ⅰ.提供多用户环境下的事务管理Ⅰ.分类组织、存储和管理各种数据Ⅰ.数据库的创建、转储和恢复A.Ⅰ、Ⅰ和ⅠB.Ⅰ、Ⅰ和ⅠC.Ⅰ、Ⅰ、Ⅰ和ⅠD.都是6. CPU状态分为目态和管态两种,从目态转换到管态的惟一途径是( )。

A.运行进程修改程序状态字B.中断屏蔽C.中断D.进程调度7. SQL成为关系数据库的国际标准的年份是( )。

A.1985年B.1986年C.1987年D.1988年8. 关于“死锁”,下列说法中正确的是________。

A.死锁是操作系统中的问题,数据库系统中不存在B.只有出现并发操作时,才有可能出现死锁C.在数据库操作中防止死锁的方法是禁止两个用户同时操作数据库D.当两个用户竞争相同的资源时不会发生死锁9.有关系模式A(C,T,H,R,S),其中各属性的含义是:C,课程:T,教员:H,上课时间:R,教室:S,学生。

根据语义有如下函数依赖集F={C→T,(H,R)→C,(H,T)→R,(H,S)→R}。

关系模式A 的码是____ ___ 。

A.CB.(H,R)C.(H,T)D.(H,S)10. 一个系统在选择进程调度算法时不需要考虑的因素是______。

安阳工学院计算机网络期末试卷

安阳工学院计算机网络期末试卷

安阳工学院计算机网络 课程试卷A20 —20 学年第 学期一、填空题(每空1分,共10分)1、计算机网络按功能来划分可分为_ __ 子网和_ __子网。

2、所谓计算机网络,就是_ __。

3、计算机网络按地理范围分为_ __、城域网和_ __。

4、防火墙技术主要包括_ __和_ __两种。

5、http 的含义是_ __, ftp 的含义是_ __。

6、假若在安阳工学院()的某同学写好一个程序Hello.c, 放在目录ftp/push/ 下,则这个程序可能的URL 是_ __。

二、单项选择题(每小题1分,共10分)1.网络体系结构可以定义为( )a 、一种计算机网络的实现b 、执行计算机数据处理的软件结构c 、建立和使用通信硬件和软件的一套规则和规范d 、由ISO 制定的一个标准2.关于基带信号,下面哪一项描述最恰当( ) a 、可以用三角波表示b 、表示二进制比特序列的典型的矩形脉冲信号c 、常常采用频分复用d 、在模拟通信信道上传输的数据信号3.在OSI 参考模型中,数据链路层的数据服务单元是( )a 、分组b 、报文c 、帧d 、比特序列4.在TCP/IP 参考模型中,与OSI 参考模型的网络层对应的是( )a 、主机——网络层b 、互连层c 、应用层d 、传输层5.在10Base-T 总线网中,计算机与集线器之间双绞线的最大长度是 米。

A 、500 B 、185 C 、2.5 D 、1006.当网络安全遭到破坏时,通常要采取相应的行动方案,如果发现非法闯入者可能对网络资源造成严重破坏时,网络管理员应采取―――a、跟踪方式b、保护方式c、修改密码d、修改访问权限7.IP地址202.116.44.67属于。

A、A类B、B类C、C类D、D类8.IP地址127.0.0.1 是一个地址。

A、A类B、B类C、C类D、测试9.使用缺省的子网掩码,IP地址201.100.200.1 的主机网络编号和主机编号分别是。

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

一、概念1.实时系统:指系统能够在限定的响应时间内提供所需水平的服务2.ucos-ii最多管理64个任务3.其中OS_TaskStat的优先级占62,OS_TaskIdle的优先级是634.ucos-ii的优先级号是0~63,值越小优先级越高5.临界区的两个宏OS_ENTER_CRITICAL、OS_EXIT_CRITICAL:a) 第一种方式:OS_ENTER_CRITCAL被定义成关中断,OS_EXIT_CRITICAL被定义成开中断,这种方式有一个问题,如果在禁止中断的情况下调用uc/os-ii函数,那么从uc/os-ii函数返回时,中断可能会变成允许的了。

b) 第二种方式:OS_ENTER_CRITICAL被定义为先将中断状态保存到堆栈中,然后关中断,OS_EXIT_CRITICAL被定义为再从堆栈中恢复原来中断开/关状态。

这种方式也有一个问题,因为编译器不知道堆栈指针已经被OS_ENTER_CRITICAL中的push指令改变了。

那么所有采用栈指针相对寻址模式的局部变量都会出现偏差并导致严重问题。

c) 第三种方式:执行OS_ENTER_CRITICAL,将中断状态字保存在了局部变量中,执行OS_EXIT_CRITICAL时,将中断状态字从局部变量中恢复过了,这样即能保存执行OS_ENTER_CRITICAL时的程序中断状态,又不会影响栈指针。

6.OSRdyTbl就绪表的大小由OS_RDY_TBL_SIZE来定义,由OS_LOWEST_PRIO来决定的,OS_RDY_TBL_SIZE = (((OS_LOWEST_PRIO) / 8u) + 1u)7.TCB的内部定义:struct os_tcb {OS_STK *OSTCBStkPtr, 指向当前任力的堆栈栈顶的指针struct os_tcb *OSTCBNext, 指向下一个任务控制块struct os_tcb *OSTCBPrev, 指向上一个任务控制块OS_EVENT *OSTCBEventPtr, 指向事件控制块的指针。

void *OSTCBMsg, 指向传递给任务的消息的指针OS_FLAG_NODE *OSTCBFlagNode, 指向事件标志结点的指针OS_FLAGS OSTCBFlagsRdy, 当任务等待事件标志组时,OSTCBFlagRdy是使任务进入就绪态的事件标志INT16U OSTCBDly 当需要把任务延时若干时钟节拍时,或者需要把任务挂起一段时间以等待某个事件的发生时,须用到这个变量。

INT8U OSTCBStat, 用于指示任务状态INT8U OSTCBPrio 用于指示任务的优先级INT8U OSTCBX OSTCBY OSTCBBitX OSTCBBitY,用于加速就绪态的计算过程}8.TCB内部最重要的元素放在第一个单元叫OSTCBStkPtr,因数这个变量是惟一一个能用汇编语言处置的变量,将其放在结构最前面,使得在汇编语言中处理这个变量时较为容易。

9.启动过程:OSInit(), OSTaskCreate(),OSStart(),开始时钟使能节拍。

10.中断服务流程:保存全部CPU寄存器;调用OSIntEnter或OSIntNesting直接加1;执行用户代码做中断服务;调用OSIntExit();恢复所有CPU寄存器;执行中断返回指令;11.异步串行通信:单工:信息在两点之间只能单方向发送的工作方式。

双工:信息在两点之间能够在两个方向上发送的工作方式起始位:下降沿起始位,空闲电平是1波特率单位:bps bit/s12.键盘什么时候用矩形键盘:当键盘多于5个时,键盘的核心问题是去抖。

13.可以被4整除且不能被100整除即为闰年;可以被400整除的为闰年;二、名词解释什么叫前后台系统:前后台系统又叫超循环系统,是由应用程序和中断服务程序组成。

应用程序是一个无限循环,循环中调用相应的函数完成相应的操作,这部分可以看成后台行为。

中断服务程序处理异步事件,这部分时间相关性很强的关键操作靠中断服务来保证,可以看成前台行为。

什么叫多任务系统:多任务系统是靠CPU在许多任务之间转换和调度,以达到所有任务并发执行的功能的系统。

什么叫时钟节拍?时钟节拍是特定的周期性中断。

这个中断可以看做是系统心脏的脉动。

操作系统通过时钟节拍为任务提供时间管理。

什么叫任务状态?任务状态是任务当前所处于的一种状态。

共有5种状态:睡眠态:任务驻留在程序空间,还没有交给uc/os-ii来管理。

把任务交给uc/os-ii是通过OSTaskCreate()或OSTaskCreateExt()来实现的。

这些调用只是用于告诉uc/os-ii任务的起邕地址在哪里;任务建立时,用户给作协务赋予的优先级是多少,任务要使用多少栈空间用等等。

就绪态:任务一量建立,这个任务就进入了就绪态,准备运行。

运行态:调用OSStart()可以启动多任务。

该函数运行用户初始化代码中已经建立的、进入就绪态的优先级最高的任务。

优先级最高的任务就这样进入了运行态。

等待状态:正在运行的作任务延迟一段时间或等待某一事件的发生将进入就等待状态。

中断服务态:正在运行的任务是可以被中断的,除非该任务中断关闭,或者uc/os-ii将中断关闭。

被中断了的任务于是进入了中断服务态。

什么是量化?将时间和空间的连续的模拟信号转换为数字信号叫量化。

三、简答题:1.ECB中完整的数据结构描述。

typedef struct {INT8U OSEventType; /*事件类型*/INT8U OSEventGrp; /*等待任务所在的组*/INT8U OSEventTbl[OS_EVENT_TBL_SIZE];/*等待任务所在的列表,与OSEventGrp相配合构成与就绪表相同的结构*/INT16U OSEventCnt;/*当事件控制块用于信号量时,此变量用于信号量计数;当事件控制块用于互斥信号量时,此变量用于互斥型信号量和优先级继承优先级(PIP)的计数器。

void *OSEventPtr; /*指向消息或消息队列的指针*/} OS_EVENT;2.就绪表中完整的数据结构描述就绪表中有2个变量,OSRdyGrp和OSRdyTbl[]。

OSRdyGrp中任务按优先级分组,8个任务为一组。

OSRdyGrp的每一位表示8组作任务中每一组是否有进入就绪态的任务。

任务进入就绪态时,就绪表OSRdyTbl[]中相应的元素的相应位被置1。

3.TMR的数据结构struct TMR{BOOLEAN TmrEn; /*用于启动或禁止倒计数过程*/INT16U TmrCtr; /*计数器当前值*/INT16U TmrInit; /*计数器初始值*/void (*TmrFnct)(void *); /*计数器为0时被调用的函数的指针*/void *TmrFnctArg; /*函数TmrFnct的参数*/};4.OS_TCB *OSTCBPrioTbl[OS_LOWEST_PRIO + 1u];OSTCBPrioTbl[OS_LOWEST_PRIO – 1]里面存放的是OS_TaskStat任务。

OSTCBPrioTbl[OS_LOWEST_PRIO] 里面存放的是OS_TaskIdle任务。

uc/os-ii建议保留4个最高优先级和4个最低优先级的任务,供心后uc/os-ii的版本使用。

5.行列式矩形扫描算法①所有的行(输出端口)被强行设置为低电平;②扫描每一列,若全为高电平,则没有键按下;否则,找到为低电平的列;③锁定该低电平的列,行逐次送低电平0;④若锁定的列为低电平,则按下的键必在此行。

6.任务状态转换图7.时钟负载重的情况下的两种解决方法:1. 那么可以从任务级等待调用OSTimeTick();代码如下:TickTask的优先级必须大于应用程序中所有其他作任务优先级的任务。

void TickTask(void *pdata){pdata = pdata;for (; ;) {OSMboxPend(…);OSTimeTick();OS_Sched();}}void OSTickISR(void){保存处理器寄存器的值;调用OSIntEnter(), 或是将OSIntNesting 加1;if (OSIntesting == 1)OSTCBCur->OSTCBStkPtr = SP;发哑消息(即(void *)1)给时钟节拍邮箱;调用OSIntExit();恢复处理器寄存器的值;执行中断返回指令;}2. 使用计数信号,信号会“记住”时钟脉冲数,因此在处理器的负载减少时,时钟任务最终会追上来。

每个时钟脉冲或一整秒过去后,时钟脉冲ISR给计数信号发送一个信号。

四、程序填充1.闰年的判断逻辑表达式If ((!(year %4) && (year %100)) || !(year % 400))闰年Else平年2.生成时间戳函数代码如下:TS ClkMakeTS (INT8U month, INT8U day, INT16U yr, INT8U hr, INT8U min, INT8U sec){ TS ts;yr -= CLK_TS_BASE_YEAR;ts = ((INT32U)yr << 26) | ((INT32U)month << 22) | ((INT32U)day << 17);ts |= ((INT32U)hr << 12) | ((INT32U)min << 6) | (INT32U)sec;return (ts);}3. 异步串行通信发送缓冲区和接收缓冲区图下图列出了使用环状缓冲区的输入缓冲。

在接收字节时,ISR从串行端口读入字节(①),将其放入环状缓冲区(②);应用程序(后台)监测环状缓冲区是否收到了字节(③)。

如果环状缓冲区不是空的,就从环状缓冲区中取出最“旧”的字节(最早收到的)。

当应用程序从ISR或接口函数以独占方式访问环状缓冲区时,中断将会停止。

如果应用程序不及时取出环状缓冲区中的字节,环状缓冲区将会被填满而导致接收字节丢失。

对输入数据的响应依赖于后台进程执行速度。

如果是实时内核,处理输人数据的速度就与ISR只接收数据(不处理)的速度差不多一样快。

为此,环状缓冲区的管理中加入了一个信号量,见下图。

应用程序在信号量处等待(①);收到一个字节后,ISR从串行端口读人字节(②),将其存入环状缓冲区(③)。

然后ISR通知信号量,等待任务已收到一个字节(④)。

信号发送给信号量,等待任务就准备运行。

ISR完成后,内核决定等待任务是否成为占有CPU的最优先任务。

如果是的话,并且内核为占先内核,则ISR恢复等待字节的任务。

相关文档
最新文档