-
Linux进程间通信
Linux环境下,进程地址空间相互独立,每个进程各自有不同的用户地址空间。任何一个进程的全局变量在另一个进程中都看不到,所以进程和进程之间不能相互访问,要交换数据必须通过内核,在内核中开辟一块缓冲区,进程1把数据从用户空间拷到内核缓冲区,进程2再从内核缓冲区把数据读走,内核提供的这种机制称为进程间通信(IPC,Inter-Process Communication)。
2023-05-15 digiproto
-
L2C中Lustre语义的环境定义
随着计算机技术越来越多地应用于航空航天、核电、高速铁路等安全关键系统(SCS,Safety-Critical System),对计算机技术的安全性要求也越来越高。安全关键系统中的丝毫错误都可能引发巨大的灾难。如何为安全关键系统构造一个基础的安全软件环境是需要面对的首要问题,尤其是对操作系统、编译器等基础软件。
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
-
如何在Linux上部署Jenkins
Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件项目可以进行持续集成。
2023-05-15 digiproto
-
浅谈Eclipse GEF
相信学过编程的同学都会用过Eclipse,Eclipse作为一个集成开发环境(IDE),给我们带来了不错的开发体验(虽然我知道大家都用IDEA了),但是Eclipse的作用却不仅限于此。 Eclipse本身是一个框架平台,由于众多插件的支持,使得Eclipse拥有较佳的灵活性,所以许多软件开发商以Eclipse为框架开发自己的IDE。如果你的想开发属于自己的IDE,那么选择Eclipse作为你的开发框架是个不错的选择。随着业务变得越来越复杂以及可视化的需求越来越多,如果你想在基于Eclipse平台的IDE中画个UML图,流程图,工作流 ,那么应该怎么去实现呢?
2023-05-15 digiproto
-
WebSocket的简单实现
WebSocket协议是基于TCP的一种新的网络协议。 浏览器通信通常是基于HTTP 协议,为什么还需要另一个协议?因为http只能由客户端发起,不能由服务端发起。而WebSocket 浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。
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