自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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

椭圆曲线算法入门

整理了一份从零开始入门椭圆曲线的文档,初学者可从此文学到基本原理。

2017-11-24

SDN规范中文版

SDN规范中文版,比较详细地介绍了SDN规范

2014-01-23

ALICE的AIML包

经典的ALICE机器人语料库,你可以试试

2014-01-23

用python进行自然语言处理

用python进行自然语言处理,是一本非常好的书。

2014-01-19

snortrules-snapshot-2920.tar.gz

snortrules-snapshot-2920.tar

2012-03-19

Microsoft Windows Internals

Microsoft Windows InternalsMicrosoft Windows Internals

2010-03-31

数据结构算法与应用-c++语言描述

本书是关于计算机科学与工程领域的基础性研究科目之一——数据结构与算法的专著。 本书在简要回顾了基本的C++ 程序设计概念的基础上,全面系统地介绍了队列、堆栈、树、图等基本数据结构,以及贪婪算法、分而治之算法、分枝定界算法等多种算法设计方法,为数据结构与算法的继续学习和研究奠定了一个坚实的基础。更为可贵的是,本书不仅仅介绍了理论知识,还提供了50多个应用实例及600多道练习题。 本书内容广博权威,结构清晰合理,是一本全新的有关数据结构与算法的教材,对于计算机科学与工程领域的从业人员也是一本很好的参考书。

2010-03-31

80x86保护模式 李彦昌

80x86保护模式 李彦昌 80x86保护模式 李彦昌 80x86保护模式 李彦昌

2010-03-31

空空如也

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

TA关注的人

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