本文主要内容来自 SpriCoder的博客,更换了更清晰的图片并对原文的疏漏做了补充和修正。
任务管理
μC/OS-II 是一个可移植的、可固化的、可扩展的、抢占式的、实时确定性的多任务内核,适用于微处理器、微控制器和 DSP。
任务主函数
开源代码用来学习是可以的,但是如果要商用,则需要获取到开源代码所有者的商业许可。
本文主要内容来自 SpriCoder的博客,更换了更清晰的图片并对原文的疏漏做了补充和修正。
μC/OS-II 是一个可移植的、可固化的、可扩展的、抢占式的、实时确定性的多任务内核,适用于微处理器、微控制器和 DSP。
开源代码用来学习是可以的,但是如果要商用,则需要获取到开源代码所有者的商业许可。
集中式计算:完全依赖一台大型的中心计算机的处理能力,即主机,与其相连的终端设备具有各不相同、非常低的计算能力。实际上大多数终端完全不具有处理能力,仅作为输入输出设备使用。
分布式计算:多个通过网络互联的计算机都具有一定的计算能力,他们相互之间传递数据,实现信息 共享,协作共同完成一个处理任务。
中国科学院:分布式计算就是在两个或多个软件互相共享信息,这些软件既可以在同一台计算机上,也可以在通过网络连接起来的多台计算机上运行
优势:稀有资源实现共享;在多台计算机上平衡计算负载;将程序放在最适合它的计算机上运行。
OpenStack 是开源云计算平台(云操作系统),可控制整个数据中心的大型计算,存储和网络资源池。
管理员能够通过 Web 界面、命令行或 API 接口控制、配置资源;用户可以通过 Web 界面使用资源。
虚拟化是云计算的核心技术,但不是其专用技术。
本质:虚拟化的本质就是通过添加一个虚拟化层将原先的物理设备进行逻辑化,转化成一个文件夹或文件,实现软硬件的解耦。
20 世纪 60 年代,IBM 公司推出虚拟化技术,主要用于当时的 IBM 大型机的服务器虚拟化。
云计算中服务器的虚拟化:核心思想是利用软件或固件管理程序构成虚拟化层,把物理资源映射为虚拟资源。在虚拟资源上可以安装和部署多个虚拟机,实现多用户共享物理资源。
本文主要内容来自 SpriCoder的博客,更换了更清晰的图片并对原文的疏漏做了补充和修正。
芯片、产业链、M2M(Mechine To Mechine)、工业化 4.0、中国制造 2025
传统 SWOT 分析与商业模式画布结合
中间层计算架构、B/S 架构、混合计算架构都可为云计算提供一定的伸缩能力
共性:基于无状态连接【http 请求】和基于服务的访问【而非过程调用】
Service-oriented Architecture 面向服务的体系结构
每个程序只做本职工作,将服务暴露出来供其他程序使用
多个程序通过一个统一的界面协调工作——控制复杂性,更容易管理
区别于“分布式对象”
摘要
尽管静态代码分析(SCA)工具已集成到许多现代软件构建和测试管道中,但它们的实际影响仍然受到它们通常产生的过多误报警告的严重阻碍。为了解决这个问题,研究人员提出了几种后处理方法,旨在在 SCA 工具产生结果后过滤掉错误命中(或等效地识别“可操作”警告)。然而,我们发现这些方法中的大多数都是有针对性的(即仅处理少数 SCA 警告类型)并在综合基准或小规模手动收集的数据集(即典型样本量为数百)上进行评估。在本文中,我们提出了一个数据集,其中包含 224,484 个被开发人员修复(真阳性)或明确忽略(假阳性)的真实警告样本,我们使用数据挖掘方法从 GitHub 的 9,958 个不同的开源 Java 项目中收集了这些样本。此外,我们利用这个丰富的数据集来训练基于代码嵌入的机器学习模型,用于过滤由 160 种不同的 SonarQube 规则检查产生的误报警告,这是当今最广泛采用的 SCA 工具之一。这是我们在该领域所知道的最广泛的现实世界公共数据集和研究。我们的方法对 SonarQube 警告分类的准确率为 91%(最佳 F1 分数为 81.3%,AUC 为 95.3%)。
关键词:静态代码分析、过滤误报、真实数据集、代码嵌入、机器学习。
静态代码分析 (SCA) 工具成为现代软件开发生命周期 (SDLC) 的一等公民。 SCA 工具相对快速、经济高效且易于与持续集成 (CI) 系统集成。他们分析软件的源代码,可以有效地检测各种类型的编程问题,如简单的编码错误、漏洞、性能问题或设计错误。