在完成内存映射的内容后,接下来我们将进入一个简单Bootloader的实际设计中来。在第一节内容中,我们已经简单介绍了bootlaoder的作用,它实际上就是在单片机重启过程中的一个步骤:如果有bootloader的启动信号,则进入bootloader模式开始新程序的接收与flash的擦写,若没有b ...
分类:
其他好文 时间:
2018-08-21 00:25:32
阅读次数:
808
NumPy:数组计算 NumPy是高性能科学计算和数据分析的基础包。它是Pandas等其他各种工具的基础 NumPy的主要功能: ndarray,一个多维数据结构,高校且节省空间 无需循环即可对整组数据进行快速运算的数学函数 读写磁盘数据的工具以及用于操作内存映射文件的工具 线性代数、随机数生成和傅 ...
分类:
其他好文 时间:
2018-08-19 00:49:36
阅读次数:
198
1. JVM的基本结构 1.1. 类加载子系统 类加载子系统负责从文件或者网络中加载Class信息,加载的类信息存放于方法区的内存空间。方法区中可能还会存放运行时常量信息,包括字符串与数字常量。(这部分常量信息是Class文件中常量池部分的内存映射)。 1.2. JAVA堆 JAVA的堆在JVM启动 ...
分类:
编程语言 时间:
2018-08-16 14:03:44
阅读次数:
151
百度百科:内存映射 内存映射文件,是由一个文件到一块内存的映射。Win32提供了允许应用程序把文件映射到一个进程的函数 (CreateFileMapping)。内存映射文件与虚拟内存有些类似,通过内存映射文件可以保留一个地址空间的区域,同时将物理存储器提交给此区域,内存文件映射的物理存储器来自一个已 ...
分类:
其他好文 时间:
2018-08-07 18:57:49
阅读次数:
152
共享内存是最快的IPC形式,一旦这样的内存映射到共享它的进程的地址空间,这些进程间的数据传递不再涉及到内核,也就是说进程不再通过执行进入内核的系统调用来传递彼此的数据。写共享内存要加锁。常和信号量在一起使用。消息队列和管道读写数据都是要进入内核的。 示意图如下: 传递数据的示意图如下: 共享内存的数 ...
分类:
系统相关 时间:
2018-08-07 00:38:52
阅读次数:
303
目前我们网络所面临的依然是高并发的问题,就像某cat双11时的情况,瞬间的并发量是惊人的,当然我们会有很多种方法去解决这个问题,本文我们谈论的是单台服务器,如何提高自己对并发请求的处理能力。要想解决这个问题,我们需要先理清楚Unix和类Unix系统的I/O模型。IO也就是输入输出即读写操作,在操作系统内部逻辑上一般会分两个空间(实际是内存映射):用户空间和内核空间。为了保证数据的安全性,只有内核才
分类:
其他好文 时间:
2018-08-04 12:04:01
阅读次数:
155
Windows进程间共享内存通信实例 抄抄补补整出来 采用内存映射文件实现WIN32进程间的通讯:Windows中的内存映射文件的机制为我们高效地操作文件提供了一种途径,它允许我们在WIN32进程中保留一段内存区域,把硬盘或页文件上的目标文件映射到这段虚拟内存中。注意:在程序实现中必须考虑各进程之间 ...
每个线程都有自己专属的栈,栈的最大尺寸是固定的,超出则引发栈溢出。 栈上的变量离开作用域,栈上的数据会自动释放。 选择用栈还是堆???? 明确知道数据占用内存,且数据量很小的情况下看,选择用栈。 在数据量很大,且不确定需要多少内存的情况下使用堆。 在栈上不能创建动态数组,在堆中能创建动态数组。 ...
分类:
其他好文 时间:
2018-07-29 00:48:00
阅读次数:
141
前提:本文是基于Linux系统下的学习 补充:Linux系统下,一切皆文件 段错误的原因: 访问了没有物理地址映射的虚拟地址或者是对改地址没有访问权限 #include <sys/mman.h>void *mmap(void *addr, size_t length, int prot, int f ...
分类:
其他好文 时间:
2018-07-22 15:23:34
阅读次数:
184
Posix共享内存有两种非亲缘进程间的共享内存方法:1). 使用内存映射文件,由open函数打开,再由mmap函数把返回的文件描述符映射到当前进程空间中的一个文件。2). 使用共享内存区对象,由shm_open打开一个 Posix IPC名字。再由mmap把返回的描述符映射到当前进程的地址空间。Po ...
分类:
系统相关 时间:
2018-06-25 22:54:02
阅读次数:
299