StoneTough

一只银杏独傲,悠悠灰鸟单飞

概述

进程是操作系统的核心概念之一,也是自多任务(分时)处理系统出现以来最成功的抽象概念之一。在多任务并发系统中,对计算、存储、IO等资源的合理、高效分配是决定系统性能和稳定性的关键因素。在复杂的系统中,各种任务对资源的占用种类、时间、实时要求等有着很大的差异,对于执行任务的进程而言,这个问题就等价于如何高效、合理地对进程进行调度。

阅读全文 »

概述

MCU 是随着大规模集成电路的出现及其发展,将 CPU 核、存储器、定时器以及各种输入输出模块(外设)通过总线互联并集成到一起的微型计算机。MCU 的性能也随着半导体工业的发展越来越强大,其应用场景也越来越广泛。对于开发者来说,在一些特殊应用场景中需要最大程度地发挥 MCU 中 CPU 核的性能,这就需要开发者对所用 MCU 的架构、总线及各模块特性等有深入的了解。本文以 NXP 的 S32K1XX/S32K3XX 系列 MCU为例, 并参考一些资料对此进行了总结。

阅读全文 »

概述

Linux 内核是用 C 语言编写的,但其并不完全符合 ANSI C 标准,实际上,内核开发者使用的 C 语言涵盖了 ISO C99 标准和 GNU C 扩展特性,这使得内核的构建长期依赖 gcc。

ClangLLVM 的持续性工作改变了这种现状,使得其可作为构建内核的替代工具。一些发行版,例如 Android、ChromwOS、OpenMandriva 等都在使用 Clang 编译的内核。

关于 LLVM 的简单介绍,参考 [LLVM 项目介绍]。Clang 是 LLVM 的前端,支持 C 语言和内核所需要的 GNU C 扩展。

阅读全文 »

概述

C++ 在 C++ 11 标准中正式增加了对并发的支持,不仅包含了线程内存模型,还在 C++ 的标准库中扩展了管理线程的类、共享数据保护、线程同步以及低级操作原语。

C++ 14 和 C++ 17 标准随后又增加了其他扩展。同时在标准库的具体实现下,兼顾性能,尽可能地减小抽象惩罚(abstraction penalty)

参考 《C++ Concurrency in Action. 2nd Edition》 by Anthony Williams.

阅读全文 »

概述

《The Design and Evolution of C++》 是 C++ 之父 Bjarne Stroustrup 为描述 C++ 语言的发展历史、设计理念和技术细节的著作。本篇文章对该书做一些精要部分的摘抄,并记录一些自己的心得。

阅读全文 »

概述

中本聪发布于 2008 年的论文:Bitcoin: A Peer-to-Peer Electronic Cash System 首次提出了比特币的概念。该论文介绍的关键思想是一种完全的点对点电子现金,对等体之间转移付款不需要第三方信任体(Trusted Third party)。

比特币所使用的技术并非都是新的,而是建立在数十年的密码学和分布式网络等技术之上的,包括默克尔树、哈希函数、公钥密钥学和数学签名等。另外,BitGoldB-moneyHashCash加密时间戳记等技术也为比特币提供了理论基础。

比特币中已经解决的关键问题包括:双重支付问题(double-spending problem) 的实用解决方案和拜占庭将军问题的解决方案。

阅读全文 »
0%