物理地址:物理地址就是内存单元的绝对地址,比如你有一个4G的内存条插在电脑上,物理地址0x0000就表示内存条的第一个存储单元,0x0010就表示内存条的第17个存储单元,不管CPU内部怎么处理地址,最终访问的都是物理地址。在CPU实模式下“段基址+段内偏移地址”就是物理地址,CPU可以使用此地址直 ...
分类:
其他好文 时间:
2020-03-01 19:38:47
阅读次数:
55
还是关于JSP后台管理系统的,有几个问题要解决一下 使用虚拟路径访问本地图片 之前在kindeditor编辑框插入图片时,是把图片文件转换为base64编码的形式;还有一种方法是使用虚拟地址。另外图片在数据库中存储的时候,应该是存储图片的虚拟地址(当然也可以是图片的二进制流数据)。 可以参考 ide ...
分类:
移动开发 时间:
2020-02-29 20:56:19
阅读次数:
141
kernel启动分析kernel启动代码kernel启动分析一、链接脚本二、head.S1.汇编阶段内核运行的虚拟地址与物理地址重要注释设置CPU工作模式汇编阶段__lookup_processor_type__lookup_machine_type__vet_atags__create_page_... ...
分类:
其他好文 时间:
2020-02-28 22:51:12
阅读次数:
102
程序的虚拟地址空间分为多个区域,栈是其中地址较高的一个区域。 栈可以存放函数参数、局部变量、局部数组等作用范围在函数内部的数据,它的作用就是完成函数的调用。 栈的概念 栈溢出(Stack Overflow) 对于每个程序来说,栈能使用的内存是有限的,一般是1M 8M,这在编译时就已经决定了,程序运行 ...
分类:
其他好文 时间:
2020-02-21 22:39:57
阅读次数:
76
虚拟地址空间:就是程序可以使用的虚拟地址的有效范围。虚拟地址空间的大小由操作系统决定,但还会受到编译模式的影响。 CPU的数据处理能力 地址总线:用于在内存上定位数据,例如:地址总线有20根,寻址能力为2^20 = 1MB 数据总线:位于主板之上,不在CPU中,用于在CPU和内存之间传输数据。决定了 ...
分类:
其他好文 时间:
2020-02-21 18:05:13
阅读次数:
74
在扩展PE头是一个名为 的结构体 其中存在一个结构体数组为 ,个数有16个,总占128字节 其中关于导入表的结构体的名称为: ,结构体如下: 因为导入表由一堆PE文件组成,所以一般导入表都是有许多个的,导入表中存储的为当前PE需要依赖的函数等 导入表的具体结构为:占20个字节 如何判断导入表的个数? ...
分类:
其他好文 时间:
2020-02-18 12:42:24
阅读次数:
90
2020-02-14 关键字:Linux驱动中的probe函数是如何执行的 1、设备驱动模型 嵌入式 Linux 驱动开发往往都是按照如下的步骤来进行的: 1、实现入口函数 xxx_init() 和卸载函数 xxx_exit() 2、申请设备号 register_chrdev() 3、创建设备文件节 ...
分类:
系统相关 时间:
2020-02-14 18:51:21
阅读次数:
81
BInder机制 Linux内核的基础知识 + 进程隔离/虚拟地址空间 操作系统当中为了保证进程间互不干扰,设计了进程隔离的技术,避免了一个进程去操作另一个进程的数据。进程隔离用到了虚拟地址空间, 不同进程的虚拟地址空间是不同 的,不同进程之间数据不共享,进程要和另一个进程通信就需要通过某种进程间的 ...
分类:
其他好文 时间:
2020-02-06 01:35:46
阅读次数:
70
共享内存允许两个或多个进程共享一个给定的存储区,就是多个进程将同一块物理内存映射到自己的虚拟地址上。因为不需要在客户进程和服务进程之间拷贝,所以是最快的一种IPC。 函数1 #include <sys/shm.h> int shmget(key_t key, size_t size, int fla ...
分类:
其他好文 时间:
2020-02-04 23:33:45
阅读次数:
107
进程间通信原因因为每一个进程都是拥有一个独立的虚拟地址空间的,促使进程独立,导致了进程之间需要协作。进程间通信分为数据传输-----管道,消息队列数据共享-----共享内存进程控制-----信号量首先先谈谈管道和共享内存管道---匿名管道,命名管道本质:管道其实就是一块内存,是内核当中的缓冲区匿名管道---没有标识特性:具有亲缘关系的进程间通信半双工,数据只能有一个流向提供字节流服务自带同步与互斥
分类:
系统相关 时间:
2020-01-30 12:54:12
阅读次数:
109