在上一篇译文中说明了x86内存映射,在实时模式下,要做的工作还真不少,为了让操作系统放在内存开始运行起来时多么辛苦啊!下面将从整体上把握设计思想。
这里主要从内存分布的角度来看这些程序。
第一是BIOS,上电后cpu的IP指针指向BIOS内存区,开始执行BIOS程序。BIOS主要做的工作是
POST(Power On Self Test,上电自检)创建中断向量、设置寄存器
从软盘或...
分类:
移动开发 时间:
2014-11-20 18:46:57
阅读次数:
192
在看上面2440的内存映射的时候,对其中的有些名字,不是完全太懂,所以到网上找了相关的信息。对于mini2440来说,SDRAM,即内存,程序运行时的地方。选择连接SDRAM的为bank6。1)S3C2440 支持两种启动模式:一种是从 Nand Flash 启动;一种是从Nor Flash启动。在...
分类:
其他好文 时间:
2014-11-20 11:48:35
阅读次数:
297
摘要:本章首先以应用程序开发者的角度审视Linux的进程内存管理,在此基础上逐步深入到内核中讨论系统物理内存管理和内核内存地使用方法。力求从外自内、水到渠成地引导网友分析Linux地内存管理与使用。在本章最后我们给出一个内存映射地实例,帮助网友们理解内核内存管理与用户内存管理之间地关系,希望大家最终...
分类:
系统相关 时间:
2014-11-18 01:32:23
阅读次数:
367
五.共享内存(shared memory)共享内存映射为一段可以被其他进程访问的内存。该共享内存由一个进程所创建,然后其他进程可以挂载到该共享内存中。共享内存是最快的IPC机制,但由于linux本身不能实现对其同步控制,需要用户程序进行并发访问控制,因此它一般结合了其他通信机制实现了进程间的通信,例...
分类:
系统相关 时间:
2014-11-17 17:13:51
阅读次数:
415
Redis 2.8.12 —— 我有两个版本的 redis-server.exe : 一个是32位,另一个是64位, 在启动这两个版本时都会创建一个 RedisQFork.dat文件, 当我运行32位exe时这个文件的大小是500 MB, 而运行64位时RedisQFork.dat文件变成了 16GB,这就是问题所在。
那么请问有什么方法(比如配置某些参数)能让Redis不去创建这个16GB 的文件吗?(顺便说一下我的服务器是 windows 2012, 所以我希望能使用64位的exe), 回到问题… 我...
【版权声明:尊重原创,转载请保留出处:blog.csdn.net/shallnet 或 .../gentleliu,文章仅供学习交流,请勿用于商业用途】
上一节讲了由open函数打开一个内存映射文件,再由mmap函数把得到的描述符映射到当前进程地址空间中来。这一节说说另外一种类似的共享内存方法,即有shm_open函数打开一个Posix.1 IPC名字(也许是文件系统中的一个路径...
分类:
系统相关 时间:
2014-11-12 10:33:42
阅读次数:
259
(1)第一节阶段的功能
1、硬件设备的初始化
2、加载u-boot第二阶段的代码到我们的RAM空间
3、设置好栈
4、跳转到第二阶段的代码入口
(2)第二阶段的功能
1、初始化本阶段所使用的硬件设备
2、检测系统内存映射
3、将内核Flash读取到RAM中
4、为内核设置启动参数
5、调用我们多的内核
为什么我们的bootloader有一段汇编代码?为什么不用C语言的...
分类:
其他好文 时间:
2014-11-11 16:42:45
阅读次数:
251
RandomAccessFile RandomAccessFile的唯一父类是Object,与其他流父类不同。是用来访问那些保存数据记录的文件的,这样你就可以用seek( )方法来访问记录,并进行读写了。这些记录的大小不必相同;但是其大小和位置...
分类:
移动开发 时间:
2014-11-04 13:21:22
阅读次数:
168
可以说,一天的时间都在了解内存映射mmap这个函数,冯诺依曼结构中表示运算器不能直接对硬盘上的文件进行操作。mmap函数的功能就是将文件映射到某一段内存中,然后操作内存就相当与操作文件。这样的话对文件操作更加方便。mamp函数的定义如下:void *mmap(void *start,size...
分类:
其他好文 时间:
2014-11-02 23:54:51
阅读次数:
267