- 博客(14)
- 资源 (1)
- 收藏
- 关注
转载 linux下bochs创建最简单的OS(一)
我的系统为redhat9首先去bochs的官网http://bochs.sourceforge.net/下载最新的程序,我直接下的是bochs-2.4.tar.gztar zxvf bochs-2.4.tar.gz./configure如果要调试功能的话,可查看configure文件做相应调整 --enable-debugger comp
2012-12-25 00:30:00 734
转载 如何在Linux上使用Bochs
如何在Linux上使用Bochs作者:王聪引言 最近在做操作系统方面的研究,不得不去下一个虚拟机 来用。由于我不使用Windows,所以选择很少了。因为在Linux上,差不多就只有两款好的 虚拟机——Bochs和Qemu。这两个之中,Bochs是用C++编写,能在很多平台上使用,而且不论什么平台, 它都不倚赖主机的指令系统,总是模拟x86。所以我选择了Bochs。但是
2012-12-25 00:28:55 872
转载 sysrq-trigger的使用
# 立即重新启动计算机echo "b" > /proc/sysrq-trigger # 立即关闭计算机echo "o" > /proc/sysrq-trigger # 导出内存分配的信息 (可以用/var/log/message 查看)echo "m" > /proc/sysrq-trigger# 导出当前CPU寄存器信息和标志位的信息ech
2012-12-17 08:22:20 698
转载 PROC系列之---/proc/loadavg、/proc/pid/stat、/proc/pid/statm等
该文件中的所有值都是从系统启动开始累计到当前时刻。该文件只给出了所有CPU的集合信息,不能该出每个CPU的信息。[root@localhost ~]# cat /proc/loadavg 4.61 4.36 4.15 9/84 5662每个值的含义为:参数 解释lavg_1 (4.61) 1-分钟平均负载lavg_5 (4.36) 5-分钟平均负载lavg_15
2012-12-05 10:01:19 471
转载 参数 解释 /proc/pid/statm
测量一个进程占用了多少内存,linux为我们提供了一个很方便的方法,/proc目录为我们提供了所有的信息,实际上top等工具也通过这里来获取相应的信息。/proc/meminfo 机器的内存使用信息/proc/pid/maps pid为进程号,显示当前进程所占用的虚拟地址。/proc/pid/statm 进程所占用的内存[root@l
2012-12-04 23:47:09 1858 2
转载 Linux+page+cache+里的几个函数的源码分析
page cache 在linux vfs 中是比较重要的一层,其功能就不详细介绍了。主要介绍了几个关键性函数,容易帮助了解page cache里的整体逻辑和流程先看一下page 的结构体[cpp] view plaincopy/* * Each physical page in the system has a struct page
2012-12-02 21:10:11 916
转载 Linux tmpfs 源码分析(一)
Tmpfs是linux 系统中基于内存/交换分区作的文件系统,与ramdisk不同的是,ramdisk是作为块设备,基于ext的文件系统,所以不可绕过的是page cache的内存复制,具体可以参考前面写的关于ramdisk, 对tmpfs来说就是直接操作内存做为文件系统的,而不是基于块设备的。如何绕过page cache,实际上很简单,只要直接在setup文件系统的时候,设置自己的fil
2012-12-02 21:09:05 966
转载 用户空间scatter gether方式DMA传输
标 题: [合集] 请问如何实现这个问题? 发信站: 水木社区 (Sun Dec 24 14:00:17 2006), 站内 ☆—————————————————————————————————————☆ terrac (xiaoyt) 于 (Sat Mar 6 14:26:12 2004) 提到: 在win2000 DDK 中有个接口函数: PVO
2012-12-01 22:40:36 2042
转载 DMA控制器硬件结构
DMA控制器硬件结构DMA允许外围设备和主内存之间直接传输 I/O 数据, DMA 依赖于系统。每一种体系结构DMA传输不同,编程接口也不同。数据传输可以以两种方式触发:一种软件请求数据,另一种由硬件异步传输。在第一种情况下,调用的步骤可以概括如下(以read为例):(1)在进程调用 read 时,驱动程序的方法分配一个 DMA 缓冲区,随后指示硬件传送它的数据。进
2012-12-01 22:36:48 3041
转载 linux之DMA API -- 通用设备的动态DMA映射
通用设备的动态DMA映射by JHJ(jianghuijun211@gmail.com) 本文描述DMA API。更详细的介绍请参看Documentation/DMA-API-HOWTO.txt。API分为两部分,第一部分描述API,第二部分描述可以支持非一致性内存机器的扩展API。你应该使用第一部分所描述的API,除非你知道你的驱动必须要支持非一致性平台。
2012-12-01 22:31:49 707
转载 操作系统真实的虚拟内存是什么样的(一)
1. 内存及虚存基本布局提起虚存,大都能说出几条来。对于32位系统,大多数操作系统都会将4GB的内存空间的一部分挪给内核使用,应用程序无法直接访问这一段内存,这部分内存空间称为内核空间。Windows默认情况下会将高地址的2GB分配给内核(也可配置为1GB),而Linux默认情况下将高地址的1GB空间分配给内核。参考阅读:《程序员的自我修养—链接、装载与库》第10章--
2012-12-01 22:13:35 433
转载 linear,swizzle,tile
linear,swizzle,tile是有些类似的三个属性,其中linear和swizzle是关于贴图的,tile是关于内存的。linear一般是默认的,也就是贴图的texel从左上到右下一行行的存储。swizzle是指贴图的一种属性,一般采用2x2的小quad 按照Z字型顺序来存储4个象素,类似:0 1 | 4 52 3 | 6 7 这
2012-12-01 22:09:29 755
转载 page fault 过程
ext2文件读(写)过程:结构图(P561) 理解每一层的做什么 read(P508) 【层:User Mode】 -->sys_read-->vfs_read-->file->f_op->read() 【层:VFS】 ---->generic_file_read(P632) 【层:Disk File(Block Device File)】 ------>do_
2012-12-01 21:39:35 1131
转载 Linux 内存管理子系统导读
Linux 内存管理子系统导读本文主要针对2.4的kernel。关于本文的组织:我的目标是‘导读’,提供linux内存管理子系统的整体概念,同时给出进一步深入研究某个部分时的辅助信息(包括代码组织,文件和主要函数的意义和一些参考文档)。之所以采取这种方式,是因为我本人在阅读代码的过程中,深感“读懂一段代码容易,把握整体思想却极不容易”。而且,在我写一些内核代码时,也觉得很多
2012-12-01 21:33:59 921
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人