-
Linux进程间通信
Linux环境下,进程地址空间相互独立,每个进程各自有不同的用户地址空间。任何一个进程的全局变量在另一个进程中都看不到,所以进程和进程之间不能相互访问,要交换数据必须通过内核,在内核中开辟一块缓冲区,进程1把数据从用户空间拷到内核缓冲区,进程2再从内核缓冲区把数据读走,内核提供的这种机制称为进程间通信(IPC,Inter-Process Communication)。
2023-05-15 digiproto
-
浅谈ARMv8-A系列CPU的架构
1978年底,物理学家Hermann Hauser和工程师Chris Curry,在英国剑桥创办了CPU公司(Cambridge Processing Unit),主要业务是为当地市场供应电子设备。1979年,CPU公司改名为Acorn计算机公司。
2023-05-15 digiproto
-
CPU是如何处理指令的
CPU主要由以下几部分组成,参考下图 一系列寄存器,部分处理地址相关的寄存器,和其他一些用于处理数据的寄存器 ALU,算数逻辑运算单元 CU,控制单元,控制多个寄存器传输之间的时序等 内部一些寄存器之间的连线
2023-05-15 digiproto
-
关于Cortex-M3处理器内核中断异常处理机制你了解多少?
Cortex-M3处理器内核是ARM公司设计的Cortex-M系列的一款经典处理器内核,基于32位ARMv7内核架构,采用Thumb-2指令集,完全没有使用ARM指令集,即不能执行ARM指令。Thumb-2是16位Thumb 指令集的一个超集,在Thumb-2中,16位指令首次与32位指令并存。Cortex-M3处理器的特点包括:性能强劲、功耗低、实时性好、代码密度得到很大改善、低成本的整体解决方案。
2023-05-15 digiproto
-
如何使用Windows OVERLAPPED优化你的应用
01 异步I/O基本原理I/O即输入输出。在现代操作系统中,输入输出是计算机完整功能必不可少的一部分。处理器负责各种计算任务,然后通过各种输入输出设备与外界进行交互。常见的输入输出设备包括键盘、鼠标、显示器、硬盘、网络适配器接口等。有了硬件设备,在软件层面上,使得操作系统通过以一致的方式与设备驱动交互从而操控硬件设备。而应用程序通过统一的接口与系统内核进行交互。在计算机程序执行过程中,设备I/O是
2023-05-15 digiproto
-
你真的了解虚拟机吗?
近年来,随着科技的发展,计算机在各行各业的应用越来越广泛,所扮演角色也越来越重要。小到超市收银系统,大到飞机导弹都有计算机的影子。正是因为这些广泛的应用推动了计算机体系的迅猛发展,为了满足各种需求,
2023-05-15 digiproto
-
一文读懂什么是DDS
数据分发服务(DDS™)是一个由对象管理组(OMG)发布的以数据为中心的中间件协议和API标准。采用分布式发布/订阅体系架构,以中间件的形式提供通信服务,强调以数据为中心。DDS中间件是一个软件层,从操作系统、网络传输和底层数据格式的细节中抽象出应用。相同的概念和api提供给不同的编成语言,使得应用在不同的操作系统、编成语言和处理体系架构之间交换信息。底层细节包括数据传输格式、发现、连接、可靠性和、协议、Qos策略等由中间件来管理。
2023-05-15 digiproto
-
VxWorks任务调度
大家知道,CPU运行的基本单位其实是一条一条的指令,如今我们通过编译器就可以将代码生成为机器指令,也就是所谓的二进制文件,这些指令组成了程序。程序在装入内存中执行时被称之为任务,或者说是进程。随着处理器性能的日益强大,程序也越来越复杂,因此诞生了操作系统来帮助我们管理进程,更合理地分配处理器资源,这也就是任务调度的目标。而在VxWorks中,能够调度起这些任务,最核心的就是reschedule调度算法了。
2023-05-15 digiproto