LPVOID VirtualAlloc( LPVOID lpAddress, //指定内存地址,一般填NULL DWORD dwSize, //分配内存大小 0x1000为1个物理页 DWORD flAllocationType, //分配类型 MEM_COMMIT地址空间和物理页都分 MEM_RE ...
从主要概念,开销,通信,安全几个方面来回答 进程是资源分配最小单位,线程是程序执行的最小单位; 进程有自己独立的地址空间,每启动一个进程,系统都会为其分配地址空间,建立数据表来维护代码段、堆栈段和数据段,线程没有独立的地址空间,它使用相同的地址空间共享数据; CPU切换一个线程比切换进程花费小; 创 ...
分类:
编程语言 时间:
2020-06-21 09:59:43
阅读次数:
49
浅拷贝:以string类为例c++浅拷贝以及浅拷贝的解决方案当对一个已知对象进行拷贝时,编译系统会自动调用一种构造函数——拷贝构造函数,如果用户未定义拷贝构造函数,则会调用默认拷贝构造函数。默认拷贝构造属于浅拷贝,相当于两个指针变量指向了同一块地址空间,调用析构函数时,会delete两次,所以在第二次delete时会发生中断(无法寻址地址)//浅拷贝classstring{private:ch
分类:
编程语言 时间:
2020-06-18 10:26:15
阅读次数:
57
一、Cortex-M的定位 二、内存管理单元 内存管理单元简称MMU,它负责虚拟地址到物理地址的映射,并提供硬件机制的内存访问权限检查。 在多用户、多进程的操作系统中,MMU使得各个用户进程都有独立的地址空间。 任何微控制器都存在一个程序能够产生的地址集和,被称为虚拟地址范围。 以32位机为例,虚拟 ...
分类:
系统相关 时间:
2020-06-17 12:52:35
阅读次数:
62
一、实验目标 以fork和execve系统调用为例分析中断上下文的切换 分析execve系统调用中断上下文的特殊之处 分析fork子进程启动执行时进程上下文的特殊之处 以系统调用作为特殊的中断,结合中断上下文切换和进程上下文切换分析Linux系统的一般执行过程 二、实验过程 理解task_struc ...
分类:
系统相关 时间:
2020-06-15 13:40:16
阅读次数:
58
文章主要内容 以fork和execve系统调用为例分析中断上下文的切换 分析execve系统调用中断上下文的特殊之处 分析fork子进程启动执行时进程上下文的特殊之处 以系统调用作为特殊的中断,结合中断上下文切换和进程上下文切换分析Linux系统的一般执行过程 分析fork 查看do_fork源码 ...
分类:
系统相关 时间:
2020-06-14 01:03:52
阅读次数:
79
CPU 生成的地址通常称为逻辑地址,而内存单元看到的地址(即加载到内存地址寄存器的地址)通常称为物理地址。 编译时和加载时的地址绑定方法生成相同的逻辑地址和物理地址。然而,执行时的地址绑定方案生成不同的逻辑地址和物理地址。在这种情况下,我们通常称逻辑地址为虚拟地址,本节我们对逻辑地址和虚拟地址不加区 ...
分类:
编程语言 时间:
2020-06-13 00:14:40
阅读次数:
73
看看架构: ARM7:ARMv4架构 ARM7没有MMU(内存管理单元),只能叫做MCU(微控制器),不能运行诸如Linux、WinCE等 这些现代的多用户多进程操作系统,因为运行这些系统需要MMU,才能给每个用户进程分配进 程自己独立的地址空间。ucOS、ucLinux这些精简实时的RTOS不需要 ...
分类:
移动开发 时间:
2020-06-07 18:01:16
阅读次数:
251
Windows 程序原理 一,CPU的保护模式和windows操作系统 windows 是多任务实现 虚拟内存和 各个进程的地址空间安排:2G系统空间,2G用户空间,2G用户空间是各个进程私有的,很少被其他应用打断,保证系统稳定 内核模式和用户模式:虽然用户模式下是独立4G空间,但是内核模式的系统和 ...
进程间通信IPC (InterProcess Communication) 一、进程间通信的概念 每个进程各自有不同的用户地址空间,任何一个进程的全局变量在另一个进程中都看不到,所以进程之间要交换数据必须通过内核,在内核中开辟一块缓冲区,进程1把数据从用户空间拷到内核缓冲区,进程2再从内核缓冲区把数 ...
分类:
系统相关 时间:
2020-06-06 18:54:55
阅读次数:
78