自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

gxfan的专栏

记录我的学习过程

  • 博客(21)
  • 收藏
  • 关注

原创 linux下禁止机箱蜂鸣方法

更改/etc/inputrc文件,找到set bell-style none这一行,把前面注释去掉,但这个只能解决控制台下命令补全或命令出错不发出蜂鸣声,要想完全不发出蜂鸣声,可以用下面的方法:加入xset b off于用户目下的.bashrc文件中。或者setterm -blength 0

2008-09-27 17:18:00 1106

原创 linux内核常用宏学习——BUILD_BUG_ON

/* Force a compilation error if condition is true */#define BUILD_BUG_ON(condition) ((void)sizeof(char[1 - 2*!!(condition)])如果条件为真则引起一个编译时错误。

2008-09-27 11:30:00 5815

原创 Linux代码阅读之header.S(一)

以下源代码来源于linux2.6.26.5的arch/x86/boot/header.S/* *  header.S * *  Copyright (C) 1991, 1992 Linus Torvalds * *  Based on bootsect.S and setup.S *  modified by more people than can be co

2008-09-24 17:07:00 3881 1

转载 one's complement & two's complement

一的补码(ones complement) 指的是:正数=原码,负数=反码 而二的补码(twos complement) 指的就是通常所指的补码

2008-09-24 09:37:00 6626 1

转载 The Kernel Boot Process

本文系转载,原文地址:http://duartes.org/gustavo/blog/post/kernel-boot-processThe previous post explained how computers boot up right up to the point where the boot loader, after stuffing the kernel image into

2008-09-23 14:44:00 2982

转载 How Computers Boot Up

本文系转载,原文地址:http://duartes.org/gustavo/blog/post/how-computers-boot-upThe previous post described motherboards and the memory map in Intel computers to set the scene for the initial phases of boot. B

2008-09-23 14:35:00 1537

转载 Motherboard Chipsets and the Memory Map

本文系转载,原文地址:http://duartes.org/gustavo/blog/post/motherboard-chipsets-memory-map I’m going to write a few posts about computer internals with the goal of explaining how modern kernels work. I hope

2008-09-23 10:10:00 2348 3

转载 INT 15h系列介绍

本文系转载,原文地址:http://www.uruk.org/orig-grub/mem64mb.htmlINT 15h, AX=E820h - Query System Address MapReal mode only.This call returns a memory map of all the installed RAM, and of physicalmemo

2008-09-22 16:33:00 10149 2

转载 e820简介

本文系转载,原文地址:http://wangcong.org/blog/?p=320,其中附录部分为本人所加...    e820是和BIOS的一个中断相关的,具体说是int 0x15。之所以叫e820是因为在用这个中断时ax必须是0xe820。这个中断的作用是得到系统的内存布局。因为系统内存会有很多段,每段的类型属性也不一样,所以这个查询是“迭代式”的,每次求得一个段。    我们看内核源代

2008-09-22 15:54:00 16450 1

转载 Linux启动代码分析

本文系转载,原文地址:http://blog.chinaunix.net/u/6071/showart_205152.htmlLinux启动代码分析Kernel: 2.6.10-rc2Finished: 01/01/05/* * Activate the first processor. */asmlinkage void __init start_kernel

2008-09-22 15:00:00 3607 1

原创 Windows存储设备驱动程序结构简介

Windows存储设备驱动程序结构简介Windows中的存储驱动程序符合“类(Class)/端口(Port)/小端口(Miniport)”结构:microsoft提供一个存储类驱动程序,它实现了对于所有的存储设备都共同的功能;microsoft也提供了一个存储端口驱动程序,它实现了对于特定总线而言共同的功能;OEM厂商提供小端口驱动程序,它们插入到端口驱动程序中,将windows与特定的实现连

2008-09-22 08:58:00 3254 1

原创 Linux虚拟内存组织结构浅析(二)

Linux虚拟内存组织结构浅析(二)在前一篇文章中我们介绍了Linux虚拟内存在逻辑上的组织结构,现在就让我们从源代码入手,从程序级仔细看看各个数据结构体的内部组成如何,源代码来自于最新的kernel2.6.26.5,分析过程中主要参考了《Understanding the linux virtual memory》这本书,有兴趣的朋友可以去阅读一下。 一、节点的数据表示在内核中,

2008-09-21 17:19:00 4127

原创 Linux虚拟内存组织结构浅析(一)

众所周知,linux内核支持绝大多数体系结构,因此linux内核必须采取一种与具体体系结构无关的方法来描述物理内存的组织结构,这个问题就是本系列文章要讨论的话题。 要理解linux虚拟内存在逻辑上的组织结构,我们首先要明白两个概念:UMA(Uniform Memory Access)、NUMA(Non Uniform Memory Access)。UMA指一致性内存访问,这是单CPU机器常

2008-09-20 10:48:00 4812

转载 C语言编译过程

    编译,编译程序读取源程序(字符流),对之进行词法和语法的分析,将高级语言指令转换为功能等效的汇编代码,再由汇编程序转换为机器语言,并且按照操作系统对可执行文件格式的要求链接生成可执行程序。C源程序头文件-->预编译处理(cpp)-->编译程序本身-->优化程序-->汇编程序-->链接程序-->可执行文件1.编译预处理读取c源程序,对其中的伪指令(以#开头的指令)和特殊符号进行处理伪指令主要

2008-09-18 17:24:00 1162 2

转载 Pageable kernel-mode drivers

Pageable kernel-mode driversBy default, the kernel loader will load all driver executables and any global data that you may have defined in your driver into nonpaged memory. Therefore, if you want y

2008-09-18 09:08:00 1118

原创 Windows DDK中经典的宏——CONTAINING_RECORD

在windows ddk中提供了一个经典的宏,其定义如下:#define CONTAININT_RECORD(address, type, field) /             ((type*)((PCHAR)(address) - (PCHAR)(&((type*)0)->field)))这个宏用于取得内存中任何结构体的首地址,要提供的参数是:结构体中某个成员(field)的地址addres

2008-09-17 20:47:00 5948 2

翻译 卷的挂载过程

卷的挂载过程原文:The volume mount process is typically triggered by a request to open a file on a logical volume (that is, a partition or dynamic volume) as follows: A user application calls CreateFil

2008-09-17 18:43:00 2163 1

原创 CreateFile打开文件执行流程浅析

CreateFile打开文件的执行流程浅析    分析CreateFile这个函数打开文件的执行流程有助于我们理解windows操作系统在接收到用户打开文件请求后都会做哪些工作、它是如何找到驱动程序的、以及有哪些windows核心部件参与了打开文件的操作,这对我们开发windows驱动程序十分有益。下面我们以CreateFile打开文件C:/MYFILE.CPP来浅析这一过程,系统对象参考图例

2008-09-17 18:35:00 5971 1

翻译 Timing of File Operations In WDM driver

原文:You’ll be likely to want to read a disk file in a WDM driver while you’re initializing your device in response to an IRP_MN_START_DEVICE request. Depending on where your device falls in the initi

2008-09-12 10:03:00 980

转载 利用IoBuildDeviceIoControlRequest构造irp获得存储设备总线类型源代码

 本代码演示用IoBuildDeviceIoControlRequest向下层存储设备的DeviceObject发送一个代码为IOCTL_STORAGE_QUERY_PROPERTY的IRP_MJ_DEVICE_IO_CONTROL的Irp获取到存储设备所在的总线类型。此代码来源于互联网,所有权归原作者所有。ULONG GetStorageDeviceBusType(IN PDEVIC

2008-09-08 16:29:00 5499 1

原创 重要函数学习:IoBuildDeviceIoControlRequest

重要函数学习:IoBuildDeviceIoControlRequest这个函数主要用来构造一个用于设备i/o控制请求的irp包,该irp包将被同步处理,其原型如下:  参数解释:       IoControlCode                     提供i/o控制请求所需的i/o控制码。这个i/o控制码可以在msdn中查询到。       DeviceObj

2008-09-08 15:53:00 6905

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除