ZKX's LAB

结构化程序设计原则 任务控制块结构

2020-07-21知识8

在CNC系统中,控制软件的结构主要有 CNC系统是一个专用的实时多任务计算机系统,在它的控制软件中融合了当今计算机软件技术中的许多先进技术,其中最突出的是多任务并行处理和多重实时中断。下面分别加以介绍。1、多任务并行处理(1)CNC系统的多任务性。CNC系统通常作为一个独立的过程控制单元用于工业自动化生产中,因此它的系统软件必须完成管理和控制两大任务。系统的管理部分包括输入、I/O处理、显示和诊断。系统的控制部分包括译码、刀具补偿、速度处理、插补和位置控制。在许多情况下,管理和控制的某些工作必须同时进行。例如,当CNC系统工作在加工控制状态时,为了使操作人员能及时地了解CNC系统的工作状态,管理软件中的显示模块必须与控制软件同时运行。当CNC系统工作在NC加工方式时,管理软件中的零件程序输入模块必须与控制软件同时运行。而当控制软件运行时,其本身的一些处理模块也必须同时运行。例如,为了保证加工过程的连续性,即刀具在各程序段之间不停刀,译码、刀具补偿和速度处理模块必须与插补模块同时运行,而插补又必须与位置控制同时进行。下面给出CNC系统的任务分解图(图3-10(a))和任务并行处理关系图(图3-10(b))。在图3-10(b)中,双向箭头表示两个模块之间有并行处理关系。(2。设备管理的基本任务是什么?实现设备分配一般需要哪些数据结构? 设备管理的基本任务:提高效率:提高I/O访问效率,匹配CPU和多种不同处理速度的外设方便使用:方便用户使用,对不同类型的设备统一使用方法,协调对设备的并发使用方便控制:方便OS内部对设备的控制:增加和删除设备,适应新的设备类型数据结构:? 设备控制表(DCT,Device Control Table):每个设备一张,描述设备特性和状态。反映设备的特性、设备和控制器636f7079e799bee5baa6e997aee7ad9431333335323534的连接情况。? 控制器控制表(COCT,COntroller Control Table):每个设备控制器一张,描述I/O控制器的配置和状态。如DMA控制器所占用的中断号、DMA数据通道的分配。? 通道控制表(CHCT,CHannel Control Table):每个通道一张,描述通道工作状态。? 系统设备表(SDT,System Device Table):系统内一张,反映系统中设备资源的状态,记录所有设备的状态及其设备控制表的入口。SDT表项的主要组成:DCT指针:指向相应设备的DCT;设备使用进程标识:正在使用该设备的进程标识;DCT信息:为引用方便而保存的DCT信息,如:设备标识、设备类型等;uc/os-ii中任务控制块(TCB)和事件控制块(ECB)的区别 uC/OS II的源码中,OS_TCB结构体的定义中并没有单独保存SP的成员,而是由结构体中的OSTCBStkPtr指针指向的任务堆栈保存着任务切换需要保存的CPU寄存器内容。uC/OS会给每个创建的任务分配一个TCB,TCB中包含了该任务的全部信息。结构化程序设计原则主要2113有5261四个原则:1.自顶向下:4102程序设计时,应先考虑1653总体,后考虑细节;先考虑全局目标,后考虑局部目标。不要一开始就过多追求众多的细节,先从最上层总目标开始设计,逐步使问题具体化。2.逐步求精:对复杂问题,应设计一些子目标作为过渡,逐步细化。3.模块化:一个复杂问题,肯定是由若干稍简单的问题构成。模块化是把程序要解决的总目标分解为子目标,再进一步分解为具体的小目标,把每一个小目标称为一个模块。4.限制使用goto语句结构化程序设计方法的起源来自对GOTO语句的认识和争论。肯定的结论是:在块和进程的非正常出口处往往需要用GOTO语句,使用GOTO语句会使程序执行效率较高;在合成程序目标时,GOTO语句往往是有用的,如返回语句用GOTO。否定的结论是:GOTO语句是有害的,是造成程序混乱的祸根,程序的质量与GOTO语句的数量呈反比,应该在所有高级程序设计语言中取消GOTO语句。取消GOTO语句后,程序易于理解、易于排错、容易维护,容易进行正确性证明。作为争论的结论,1974年Knuth发表了令人信服的总结,并取消了GOTO语句。扩展资料:结构化程序,是以模块化设计为中心,将待开发的软件系统划分为若干个。任务控制块是一个什么样的数据结构 任务控制块是一个基于链表的数据结构,任务控制块主要用于记录任务的堆栈栈顶指针、指向下一个任务控制块的指针、任务等待的延迟时间、任务的当前状态标志与任务的优先级别等一些与任务管理有关的属性。当任务的CPU使用权被剥夺时,μC/OS-Ⅱ用任务控制块来保存该任务的状态,从而保证任务重新获得CPU使用权时从断点处执行。线程控制块tcb中包含了哪些内容 进程控制块(Process Control Block,PCB),是操作系统内核中一种数据结构,主要表示 进程状态,它是对系统的进程进行管理的重要依据,和 进程管理 相关的操作无一不用到。任务创建FirstTask的任务控制块实体是什么 ucos的任务堆栈就是一个内存区域,由于其不支持动态内存分配所以可以用数组的方式定义堆栈,如unsinged char task_tack[2000];就会有一个2000字节内存空间 然后将 task_tack赋给任务控制即可。结构化程序的三种基本逻辑结构是什么? 1、顺序结构:顺序结构表示程序中的各操作是按照它们出现的先后顺序执行的。2、选择结构:选择结构表示程序的处理步骤出现了分支,它需要根据某一特定的条件选择其中的一个分支执行。选择结构有单选择、双选择和多选择三种形式。3、循环结构:循环结构表示程序反复执行某个或某些操作,直到某条件为假(或为真)时才可终止循环。在循环结构中最主要的是:什么情况下执行循环?哪些操作需要循环执行?循环结构的基本形式有两种:当型循环和直到型循环。扩展资料由于模块相互独立,因此在设计其中一个模块时,不会受到其它模块的牵连,因而可将原来较为复杂的问题化简为一系列简单模块的设计。模块的独立性还为扩充已有的系统、建立新系统带来了不少的方便,因为可以充分利用现有的模块作积木式的扩展。按照结构化程序设计的观点,任何算法功能都可以通过由程序模块组成的三种基本程序结构的组合:顺序结构、选择结构和循环结构来实现。结构化程序设计的基本思想是采用\"自顶向下,逐步求精\"的程序设计方法和\"单入口单出口\"的控制结构。自顶向下、逐步求精的程序设计方法从问题本身开始,经过逐步细化,将解决问题的步骤分解为由基本程序结构模块组成的结构化程序。

#管理控制#电脑#goto语句#进程控制块#结构化方法

随机阅读

qrcode
访问手机版