- 博客(42)
- 资源 (9)
- 收藏
- 关注
转载 The Windows XP IRP Completion Primer
The Windows XP IRP Completion PrimerBy Enrico MartignettiFirst edition, June 2009If you are interested in the internals of Windows, check out Enrico Martignetti's book on the Virtual Memory
2013-07-10 09:25:13
860
原创 lfs-笔记
bin=ld0. ld,gcc,glibc,其中glibc是核心,一步步转向新系统1.用host的glibc-0,gcc-0,ld-0生成了ld-1,ld-1会link host/lib下的库(也只能这样,因为新的还没生出来)2.用ld-0,glibc-0,gcc-0生成gcc-1,gcc-1会使用host/lib下的ld-0而不是ld-1(也只能这样,因为它是新生出来的,没有修改过li
2012-11-16 14:57:37
572
原创 笔记-SNMP
标识域(tag)的编码规则标识域指明数据的类型,占用1个字节,常见的类型有:BOOL(0x01);INT(0x02);OCTSTR(0x04);NULL(0x05);OBJID(0x06);ENUM(0x0A);SEQ(0x30);SETOF(0x31);IPADDR(0x40);COUNTER(0x41);GAUGE(0x42);TIMETICKS(0x43);OPAQUE(0x44)
2012-11-02 12:35:42
796
原创 vfs学习-sysfs
/* * 一、说明 * sysfs与设备、驱动相关。系统将驱动的层级结构通过sysfs以 * 文件系统的形式展现给用户。在驱动方面涉及到的概念有kobject, * kset,bus,device_driver,device,class等等;而在文件系统方面 * 涉及到的概念有inode,dentry,super_block,vfsmount等虚拟文件 * 系统方面的内容。既然sys
2012-10-29 16:06:17
2905
原创 vfs学习
数据结构:struct path {//路径查找过程中用 struct vfsmount *mnt; struct dentry *dentry;};struct qstr {//quick string,查找时用的 union { struct { HASH_LEN_
2012-10-19 09:55:16
1223
原创 WeakPtr 学习
/*一、说明 WeakPtr,可用来在不同线程间传递对象。二、相关类 Flag : public RefCountedThreadSafe -->标志类,自身是有"线程安全引用计数"的。 用来标志WeakPtr所指向的对象是否还可用IsValid()。 WeakReference -->含有一个scoped_refptr flag,对应Flag的一个引用 WeakPtrB
2012-09-19 15:27:11
3262
原创 scoped_refptr
/*一、本文中包括以下几个类: RefCountedBase -->为子类增加引用计数,基类的基类,无线程安全 RefCountedThreadSafeBase -->为子类增加引用计数,基类的基类,有线程安全 RefCounted:public RefCountedBase -->为子类增加引用计数,基类,线程安全 RefCountedThreadSafe:
2012-09-19 15:22:04
4650
原创 linux/init/main.c
/* * linux/init/main.c * * Copyright (C) 1991, 1992 Linus Torvalds * * GK 2/5/95 - Changed to support mounting root fs via NFS * Added initrd & change_root: Werner Almesberger & Hans Lerm
2012-09-17 11:22:55
4435
原创 scoped_ptr analysis
/*一、概述: 1.1 宏MOVE_ONLY_TYPE_FOR_CPP_03是针对c++03实现move语义用的。在c++11中已经实现了T&& var的rvalue,而 为了兼容老编译器,没有用新语法。所以,需要手动实现move语义。不过,这个宏所提供的机制在新的c++ 中照样能工作。(好像效率没有rvalue高,会生出一些临时变量) 1.2 将拷贝构造函数type(type&);
2012-09-13 18:03:05
1297
原创 c++03 rvalue
一、关于lvalue和rvalue lvalue是指一块内存且我们可以用&符号取其地址的一个"引用"; rvalue是不能对其进行'&'操作的一个"引用"。 常见的rvalue有哪些呢?比如const int a=2; const ra&=a; 按值传递的函数参数、函数按值返回值产生的临时对象。二、关于临时对象 临时对象有如下特征:1.没有名字;2.存在时间短;3.只能
2012-09-13 16:25:54
765
原创 linux-boot-arch_x86_kernel_head_32.S
/* * * Copyright (C) 1991, 1992 Linus Torvalds * * Enhanced CPU detection and feature setting code by Mike Jagdis * and Martin Mares, November 1997. */.text#include #include #include #
2012-07-18 16:34:39
2721
原创 linux-boot-arch_x86_boot_compressed_head_32
/* * linux/boot/head.S * * Copyright (C) 1991, 1992, 1993 Linus Torvalds *//* * head.S contains the 32-bit startup code. * * NOTE!!! Startup happens at absolute address 0x00001000, which
2012-05-29 20:31:13
972
原创 linux boot-protected_mode_jump
/* * The actual transition into protected mode * 文档: * /arch/x86/include/asm/segment.h 【1】 * /arch/x86/boot/pmjump.S【本文】 */ #include #include #include #include
2012-05-24 19:06:29
1921
原创 linux boot-go_to_protected_mode
/* * Prepare the machine for transition to protected mode. * 从实模式向保护模式跳转 * 文档: * /arch/x86/include/asm/segment.h 【1】 * arch/x86/boot/pm.c【2】本文 * arch/x86/boot/a20.c【3】 */#include "boot.h"#in
2012-05-24 19:04:23
1766
转载 键盘相关知识
trackback:http://www.huihoo.org/gnu_linux/own_os/driver-keyboard_2.htm4.2 Keyboard [Home] [Top] [Previous] [Next] 4.2.1 Overview 键盘是计算机系统的重要输入设备,所有的IBM PC及其兼容机都有一个键盘。所以键
2012-05-24 10:55:45
1855
转载 A20 - a pain from the past
trackback:http://www.win.tue.nl/~aeb/linux/kbd/A20.htmlA20 - a pain from the pastEverybody hates the CapsLock key, but keyboard manufacturers continue producing keyboards with CapsLock - it co
2012-05-23 14:53:32
984
原创 linux boot -main
来到main()函数后。进行了一系列的设置工作,然后通过调用go_to_protected_mode()进行下一步工作/* -*- linux-c -*- ------------------------------------------------------- * * * Copyright (C) 1991, 1992 Linus Torvalds * Copyrig
2012-05-21 17:56:31
1994
转载 Linux GCC内嵌嵌入汇编程序基础知识
转自:http://www.yuewe.cn/article-5525-1.html在Linux代码中很多地方都使用了这种形式的汇编语言,嵌入汇编程序的格式如下: __asm__ __volatile__ ( asm statements : outputs : inputs : registers-modified ); asm statements
2012-05-21 09:52:17
641
原创 linux boot 学习
零、文档【1】 http://lxr.linux.no/linux+v3.3.6/arch/x86/boot/header.S header.S位置 【2】 http://lxr.linux.no/linux+v3.3.6/Documentation/x86/boot.txt header.S的文档【3】 http://lxr.linux.no/linux+v3.3.6/arch/x86/i
2012-05-14 15:49:28
2647
转载 linux编译
顶层编译文件:linux/Makefilex86顶层编译文件:linux/arch/x86/Makefilex86启动编译文件:linux/arch/x86/boot/Makefilex86启动压缩编译文件:linux/arch/x86/boot/compressed/Makefile顶层编译文件将顶层目录linux下的文件夹分为以下几个部分:Build的
2012-05-07 11:22:02
3954
原创 grub2与linux
bzImage=vmlinuz-*.*.*= setup.bin + vmlinux.bingrub2从硬盘上将bzImage读到内存,跳过setup.bin(因为grub2会代替它做一些初始化工作),并执行vmlinux.binvmlinux.bin自解压,体内携带内置模块。
2012-04-26 14:36:50
949
原创 物理地址映射
http://lxr.linux.no/linux+v3.3.2/arch/x86/include/asm/e820.h#L58 58struct e820entry { 59 __u64 addr; /* start of memory segment */ 60 __u64 size; /* size of memory segment
2012-04-20 18:01:00
938
转载 snort配置
link: http://hi.baidu.com/telpublic/blog/item/d40fddd3c1a6a7dca8ec9a01.html前提:snort的官方网站:www.snort.orgsnort的安装方法请参阅官方网站或在网络上搜索一下snort详细参考请参阅官方网站的用户手册或《snort中文手册》这篇文章仅讲解snort入侵检测的使用方法和处理过
2012-03-23 09:15:53
3146
1
转载 I/O端口地址分配表
(转)http://hi.baidu.com/i_coolboy/blog/item/98e9f190cdad8b80a877a4c1.htmlI/O端口地址分配表2010年08月17日 星期二 16:25端口地址范围 分配说明0x000-0x01f 8237
2012-03-09 15:21:12
15214
转载 bios中断
转:http://blog.youkuaiyun.com/liguodong86/article/details/3973337BIOS中断:1、显示服务(Video Service——INT 10H) 00H —设置显示器模式0CH —写图形象素01H —设置光标形状0DH —读图形象素02H —设置光标位置0EH —在Teletype模式下显示字符03H —读取光标信息0FH
2012-03-09 15:20:12
652
原创 grub2-自身启动-阅读笔记
1. BOIS->MBR执行0扇区的boot.s,它将第二扇区的diskboot.s读到GRUB_BOOT_MACHINE_BUFFER_SEG=0x7000先缓冲(实际地址是0x70000高于0x8000),再copybuf到内存0x8000处;2. diskboot.s将其后面的扇区(grub内核)读到GRUB_BOOT_MACHINE_BUFFER_SEG=0x7000先缓冲(实际地址是
2012-03-05 11:15:42
579
转载 diskboot
深入理解 GNU GRUB - 03 diskboot.S 3.1 diskboot.S执行时的环境 & 3.2 diskboot.S代码结构分类: Bootloader2011-05-10 09:05 243人阅读 评论(0) 收藏 举报转载注明出处(cppgp: http://blog.youkuaiyun.com/cppgp ) diskboot.S位于目录boot/i3
2012-02-24 12:28:44
1835
转载 boot.s
描述1类型大小 地址偏移 jmp LOCAL(after_BPB) 2 nop 1 _start + GRUB_BOOT_MACHINE_BPB_START 占位1
2012-02-22 17:15:31
829
转载 boot.S代码结构
深入理解 GNU GRUB - 02 boot.S 2.2 MBR结构 2.3 boot.S代码结构分类: Bootloader2011-04-25 11:05 252人阅读 评论(0) 收藏 举报转载注明出处(cppgp: http://blog.youkuaiyun.com/cppgp ) 2.2 MBR结构 历史悠久的MBR结构自从IBM兼容PC出现以来一直就没变过(
2012-02-22 13:57:19
928
转载 boot.S详细注释
深入理解 GNU GRUB - 02 boot.S 2.4 boot.S详细注释分类: Bootloader2011-04-25 11:08 239人阅读 评论(0) 收藏 举报转载注明出处(cppgp: http://blog.youkuaiyun.com/cppgp ) boot.S位于grub-1.98/boot/i386/pc/目录,采用AT&T汇编语法编写。
2012-02-22 13:27:39
3880
转载 grub 和 中断解析
深入理解 GNU GRUB - 02 boot.S 2.1 相关BIOS例程分类: Bootloader2011-04-25 10:59 252人阅读 评论(0) 收藏 举报转载注明出处(cppgp: http://blog.youkuaiyun.com/cppgp ) 2. boot.S: GRUB引导第一步 boot.S位于目录boot/i386/pc/。这部分指令被加
2012-02-22 13:26:15
931
转载 Linux2.6.16的启动过程
阅读报告——Linux2.6.16的启动过程 从按下启动按钮,到登陆界面的出现,这期间就是Linux的启动过程。显然这期间有两个重要的任务要完成:初始化各种硬件、载入kernel映像并有kernel接管系统。研究Linux的启动过程对嵌入式开发有着不言而喻的重要
2012-02-22 09:09:25
607
转载 启动过程
bootsect.S,系统引导程序,一般不超过512字节。在PC系统结构中,线性地址0xA0000以上,即640K以上用于图形接口卡和BIOS自身,640K以下为系统的基本内存。如果配置更多的内存,则0x100000,即1MB处开始称为高内存。当BIOS引导一个系统时,总是把引导扇区读入到基本内存地址为0x7c00的地方,然后跳转到此执行引导扇区的代码。这段代码将自身搬运到0x90000处,并跳
2012-02-21 13:31:27
579
转载 2.6 内核引导过程
Linux 2.6 内核引导过程分析 上一篇文章介绍了Linux内核的编译过程,接下来本文利用生成的内核,介绍Linux的内核的引导过程。本文以x86为例,x86与嵌入式系统的区别在于多了一个BIOS转移到BootLoader的过程。Linux内核引导的过程包含多个阶段,接下来将依次解读:1. 系统加电阶段 1:系统加电时,处理器会执行一个位于已知位
2012-02-21 11:48:52
839
转载 linux启动过程
剖析Linux系统启动过程来源: ChinaUnix博客 日期: 2009.12.01 16:50 本文以RedHat9.0和i386平台为例,剖析了从用户打开电源直到屏幕出现命令行提示符的整个Linux启动过程。并且介绍了启动中涉及到的各种文件。 阅读Linux源代码,无疑是深入学习Linux的最好方法
2012-02-21 11:21:00
432
原创 ashmem
0. rawfs仅基于内存1. ashmem基于tmpfs,tmpfs基于内存和交换分区2. 通过mmap将内存地址映射到tmpfs文件系统的后备文件file,此后对file的读写就是对内存的读写,得到内存start end,对齐到页面地址pgstart,pgend3.整个驱动就是解决怎么管理每个进程的range(pgstart,pgend)4.向内核注册一个shrink函数,将l
2012-01-11 16:20:37
497
原创 进程间通讯b i n d e r
一、初始化1. init:创建延时工作队列:负责一些扫尾工作注册一个misc设备在proc下创建:proc/binderproc/binder/proc->binder_read_proc_proc()proc/state -> binder_read_proc_state()proc/stats -> binder_read_proc_stats()p
2012-01-11 16:11:45
893
原创 windows socket
WSAStartup(MAKEWORD(2,2), &Ws)socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);connect(CientSocket,(struct sockaddr*)&ServerAddr, sizeof(ServerAddr));send(CientSocket, SendBuffer, (int)strlen(SendBuffe
2011-11-25 14:29:13
2259
原创 netlink 与 socket
netlink对socket函数的实现(v2.6.18)应用层调用:skfd = socket(PF_NETLINK, SOCK_RAW, NL_IMP2);/net/socket.c:中有一个全局变量,它存储协议族:static struct net_proto_family *net_families[NPROTO]; struct net_proto_family {
2011-11-24 14:58:18
1738
转载 转 枚举进程窗口
原文:http://blog.youkuaiyun.com/Icedmilk/archive/2010/02/01/5278371.aspx#include #include #include #include #define WINDOW_TEXT_LENGTH 256 BOOL CALLBACK EnumChildWindow
2010-04-22 14:40:00
3746
数据结构算法与应用-c++语言描述
2010-03-31
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人