程序 1 中使用的是局部变量 temp 作为变量。 通常的 C 编译器, 把局部变量分配在栈中。 所以, 多次调用同一个函数, 可以保证每次的 temp 互不受影响。 而程序 2 中 temp 定义的是全局变量,多次调用函数的时候,必然受到影响。 从这个角度可以看出,代码的可重入性是保证完成多任务的基础。
14. 请描述实验中如何使用 ucOS-II 中消息机制与信号量机制? 参考答案: 消息机制:
六、 思考题
1. 如何看待手工、机械、电子计算,以及未来的光和生物计算?
答:(1)人类的计算方法和工具自古以来不断的发展进步。由一开始的手工、机械计算,到现在的电子计算,而未来将会出现光和生物计算。
计算的载体不断发展变化着,一方面说明了人类科学技术的进步,认识和改造世界的能力的加强。我们通过对于客观世界的认识和改造,也在延伸着人本身的能力。
另一方面则说明,物质世界的本质具有数学特性,具有一致性,不管工具如何发展,计算的本质并没有发生改变。人类的数学与计算就是一种对于宇宙本质规律的抽象与总结。因此无论载体是否变为光和生物,计算速度不管如何提高,计算的本质是不变的。
2. 计算载体与计算系统的关系?
计算系统包含计算载体。计算系统还包括在计算载体上运行的程序、数据,以及各部分和部分之间组织起来的设计思想等。计算载体只是承载思想和数据运行的实体而已。
3. 普世计算的颠覆性体现在哪几个方面?
PC 所存在的一些根本问题(反过来说可以算普适计算的颠覆性吧):
? 过分复杂而难以使用 ? 过分要求人的注意力
? 过分隔绝于他人和现实活动
过分的支配作用使我们的桌面和生活犹如殖民地
4. 如何理解自动化延伸了人的手和脚,通讯延伸了眼和耳,而计算机延伸了大脑?
自动化的设备和机器人等工具可以代替人类来完成一些人类难以完成或不愿完成的劳动,这就好比延伸了手和脚一样。而通讯则扩充了人类的感知能力和范围,使人们得到信息更加方便快捷,就好比延伸了人类的眼睛和耳朵一样。而计算机的主要功能则是存储和计算,人类的大脑虽然也是拥有巨大的记忆和计算能力,但是单就存储量和计算速度方面,无疑计算机是非常有效的工具,扩展了人类的计算力和存储信息的能力,因此可以说是计算机延伸了人类的大脑。 5. 普适计算内涵思考是什么? 基本思想:把计算机融入到环境中去,使人们关注的重点从操作工具转移到执行任务本身上来,可以在任意时间、使用任意设备、通过任意网络来获得所需的服务。
“消失”的技术:正如“书写”和“电”一样,由于这两种技术使用的普遍性导致它们变得非常平淡,以至忘记了这些技术对日常生活的巨大影响,犹如消失于人们的日常生活中。普适计算也将是那样一种消失的计算。
“不可见”的工具:一种好的工具是“不可见”的,它并不进入你的意识,你只是专注于任务而并非工具。普适计算也将是那样一种“不可见”的工具。
6. 怎样理解系统“现象、原因、方法、手段、代码”的可靠性设计思想? 这是讲可靠性那一章的最后一页PPT,不知道答案。 “根据(系统不可靠的)现象(表现),分析原因,提出方法,采用手段,编写代码”。是不是哦?
7. 如何理解苹果云端类产品的封闭式开放特征? 8. 怎样理解云端计算系统的软件生态? 9. UML 思维价值?
使用面向对象的概念构造系统的模型;
建立设计框架和代码框架间明确的关系;
解决复杂的、以任务为中心的系统内在的规模问题; 开发人与机器通用的建模语言; 面向对象设计帮助设计者组织设计;
UML是能够提供结构、状态描述的可传递系统设计语言。 10. 怎样理解集成电路设计中的可控制性和可观测性?
可控制性:控制输入,容易由外部输入控制内部节点的状态。 可观测性:观察输出,容易由外部输出观察内部节点的状态。 硬件可测性设计方法(参考):
扫描方法——将电路中的时序单元转化为扫描单元,这些扫描单元连接成一个或者多个移位寄存器;移位寄存器的内容可以由输出端逐位移出。
内建自测试方法——测试结构嵌入测试对象内部,测试码在测试对象内部自动产生、测试激励在测试对象内部自动加载、测试响应在测试对象内部自动分析。 11. 如何理解嵌入式系统软件设计中的自测、优化和体验?