自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

larryliuqing的专栏-xxx

创建一个共同分享和讨论的空间

  • 博客(29)
  • 资源 (4)
  • 收藏
  • 关注

转载 Linux--根文件系统的挂载过程分析

http://blog.csdn.net/guopeixin/article/details/5962482前言:本篇文章以S3C6410公版的Linux BSP和U-Boot来进行分析,文中所有提及的名词和数据都是以该环境为例,所有的代码流程也是以该环境为例来进行分析。哈哈。如果有不正确或者不完善的地方,欢迎前来拍砖留言或者发邮件到guopeixin@126.com进行讨论,

2013-12-27 10:31:11 739

转载 init 进程和inittab 引导指令

http://blog.csdn.net/ce123_zhouwei/article/details/6744121init 进程和inittab 引导指令init 进程是系统所有进程的起点,内核在完成内核引导以后,即在本线程(进程)空间内加载init 程序,它的进程号是1。init 程序读取/etc/inittab 文件作为其行为指针,根据initab 描述文件的内容建立相应的进

2013-12-24 15:25:54 584

转载 深度解析Linux根文件系统的挂载过程

http://blog.tektea.com/archives/1184.html在前面的文章中介绍《Linux操作系统启动过程》,而Linux系统的根文件系统(root file system)的挂载过程则是其中一个重要环节,下面这部分内容来自于网络,经整理分享如下,希望能给这部份知识点比较迷茫的朋友一点帮助。一、rootfs的种类总的来说,rootfs分为两种:虚拟

2013-12-23 17:53:25 688

转载 Linux操作系统启动过程详解

http://blog.tektea.com/archives/782.html如果你对Linux操作系统有一定的了解,想对其更深层次的东西做进一步探究。这当中就包括系统的启动流程、文件系统的组成结构、基于动态库和静态库的程序在执行时的异同、协议栈的架构和原理、驱动程序的机制等等。其中Linux操作系统启动过程肯定是大家最有兴趣了解的,这里在综合了现有网上大家智慧的基础上,基于

2013-12-23 17:52:19 1858

转载 2.6.37的setup_arch

http://blog.chinaunix.net/uid-1701789-id-284584.html暂时放下对于内存管理的探讨而对setup_arch进行深入分析的目的在于要找出相关于内存管理初始化细节。在遍历代码的过程中,我跳过了一些和特殊平台相关的代码,例如EFI等。1. 首先kernel将全局页表目录page global directory切换到swapper_

2013-12-23 11:33:07 1375

转载 内存机制的建立

http://blog.chinaunix.net/uid-1701789-id-263951.htmlkernel是怎么管理内存的呢?从启动的角度来看,怎么看kernel怎么建立内存管理模块。还是需要从全局变量的角度来看。1. early_ioremap--固定映射FIXMAPioremap的作用是将IO和BIOS以及物理地址空间映射到在896M至1G的128M的

2013-12-23 11:31:44 801

转载 Linux源码阅读:以后怎么看源码的思考

http://blog.chinaunix.net/uid-1701789-id-172258.html进入了start_kernel,个人感觉再象前几天那样按照代码顺序进行阅读的话会对代码的理解,kernel的理解还有阅读效率造成一定的阻碍。所以这些天一直在想接下来应该怎么继续。现在的想法是结合内核书籍对于内核模块的介绍进行start_kernel各个代码段的解释。由于要花不少时间看书,博文

2013-12-23 11:29:49 727

转载 Start_Kernel之一 ------勇敢的猜想和胡言乱语

http://blog.chinaunix.net/uid-1701789-id-166259.html进入start_kernel就是进入了kernel启动的主线。其定义在init/main.c里面。start_kernel里面包含了一长串的init代码。看实际代码之前,我来猜一下有哪些需要初始化的:1. CPU和SMP的初始化的初始化2. 内存管理的初始化

2013-12-23 11:28:06 604

转载 让我们现在开始Start Kernel: i386_start_kernel

http://blog.chinaunix.net/uid-1701789-id-161409.htmlKernel是从header_32.S里面跳转到i386_start_kernel的。回忆一下在进入i386_start_kernel之前已经建立起来的运行环境:1. CR3已经指向PMD或者PT的起始地址。2. PMD或者PT已经完全建立起来,其所指向的页框已经覆盖了从0起

2013-12-23 11:27:37 773

转载 再次进入startup_32: 初始化页表

http://blog.chinaunix.net/uid-1701789-id-154125.html好了,我们就回到0x100000处开始执行解压缩之后的kernel了。但是问题是现在在0x100000处的代码在kernel tree的哪个源代码里面呢?我们就有必要来看看kernel是怎么编译的,压缩的代码到底是什么?大家可以看一下http://david0

2013-12-23 11:27:05 1031

转载 Linux Kernel 2.6.37 启动过程:startup_32

http://blog.chinaunix.net/uid-1701789-id-148056.html一路走来真是内牛满面,现在终于来到了kernel的32位入口了。这就是startup_32。这个入口在arch/x86/boot/compressed/header_32.S里面。至此,请记住,bootloader对于kernel来说意义只有boot_params结构了,其他的一切的一切已经

2013-12-23 11:26:33 1130

转载 Linux Kernel 2.6.37 启动过程:漫步进入保护模式

http://blog.chinaunix.net/uid-1701789-id-147545.html进入保护模式的代码相当短,在pmjump.S中。我们就来一点一点看到底是如何进入保护模式的。/** The actual transition into protected mode*/#include #include #includ

2013-12-23 11:23:34 878

转载 Linux Kernel 2.6.37 启动过程:go_to_protected_mode

http://blog.chinaunix.net/uid-1701789-id-145357.html现在就让我们看一下到底是怎么进入保护模式。void go_to_protected_mode(void){    /* Hook before leaving real mode, also disables interrupts */    re

2013-12-23 11:22:57 827

转载 Linux Kernel 2.6.37 启动过程笔记 :set_video

http://blog.chinaunix.net/uid-1701789-id-134688.html现在就让我们进去到现在为止我们面对的最复杂的代码set_video。望文生义,这个段代码一定做了些初始化显示设备的工作。那么让我们一起来看一下它到底是怎么干的。set_video的代码在arch/x86/boot/Video.c里面void set_v

2013-12-23 11:21:08 825

转载 Linux Kernel 2.6.37 启动过程笔记 :main详解

http://blog.chinaunix.net/uid-1701789-id-132589.html上次粗略的过了一下Header.S的控制权传递的过程。随着慢慢地进入main.c,发现仍然有必要重新审视一下Header.S。main()的代码如下:void main(void){    /* First, copy the boot heade

2013-12-23 10:57:19 855

转载 Linux Kernel 2.6.37 启动过程笔记 :Header.S

http://blog.chinaunix.net/uid-1701789-id-127294.html写这篇东西的目的是对于这些天看bootloader和kernel启动的一点总结。写Linux启动的文章很多,但是写Header.S是怎么被执行到的不多,这也造成了我花了很多时间来寻找为什么入口不在0x7c00。现在终于弄明白了。arch/x86/boot/Header.S是K

2013-12-23 10:56:02 1200

转载 Linux Kernel 2.6.37 启动过程笔记 :MBR

http://blog.chinaunix.net/uid-1701789-id-125510.htmlPC加电的过程就是将cs:ip指向0xFFFF0,这里是BIOS的内容。BIOS接下来就接管系统启动,负责检查并初始化硬件设备,初始化实模式下中断向量表。然后i386系统就会将硬盘的第一个扇区(0扇区)加载到内存0x7c00处---这就是MBR。最简单的MBR的结构如下:

2013-12-23 10:55:32 714

转载 tcp的65535个连接之迷

http://www.cnblogs.com/ouzi/archive/2012/10/29/2745430.html前言在上篇《post真的安全么》的最后有提到一个问题,其实这是个既简单又复杂的问题。机器连接数记得以前一台机器只能建立65535个连接的这种想法一直长时间占据着思维方式,为什么会有这种想法呢,估计最早起源于学校的port的short(16位655

2013-12-18 10:54:03 777

转载 Page Cache, the Affair Between Memory and Files

http://duartes.org/gustavo/blog/post/page-cache-the-affair-between-memory-and-filesPreviously we looked at how the kernel manages virtual memory for a user process, but files and I/O were left

2013-12-12 17:07:21 810

转载 How The Kernel Manages Your Memory

http://duartes.org/gustavo/blog/post/how-the-kernel-manages-your-memoryAfter examining the virtual address layout of a process, we turn to the kernel and its mechanisms for managing user memor

2013-12-12 17:05:56 904

转载 Anatomy of a Program in Memory

http://duartes.org/gustavo/blog/post/anatomy-of-a-program-in-memoryMemory management is the heart of operating systems; it is crucial for both programming and system administration. In the next

2013-12-12 17:05:18 498

转载 Getting Physical With Memory

http://duartes.org/gustavo/blog/post/getting-physical-with-memoryWhen trying to understand complex systems, you can often learn a lot by stripping away abstractions and looking at their lowest l

2013-12-12 17:04:41 671

转载 Cache: a place for concealment and safekeeping

http://duartes.org/gustavo/blog/post/intel-cpu-cachesThis post shows briefly how CPU caches are organized in modern Intel processors. Cache discussions often lack concrete examples, obfuscating

2013-12-12 17:04:04 721

转载 What Your Computer Does While You Wait

http://duartes.org/gustavo/blog/post/what-your-computer-does-while-you-waitThis post takes a look at the speed – latency and throughput – of various subsystems in a modern commodity PC, an Intel

2013-12-12 17:03:25 673

转载 CPU Rings, Privilege, and Protection

http://duartes.org/gustavo/blog/post/cpu-rings-privilege-and-protectionYou probably know intuitively that applications have limited powers in Intel x86 computers and that only operating system c

2013-12-12 17:02:37 970

转载 Memory Translation and Segmentation

http://duartes.org/gustavo/blog/post/memory-translation-and-segmentationThis post is the first in a series about memory and protection in Intel-compatible (x86) computers, going further down the

2013-12-12 17:01:50 691

转载 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 memo

2013-12-12 16:59:01 725

转载 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. Bootin

2013-12-12 16:58:20 576

转载 Motherboard Chipsets and the Memory Map

http://duartes.org/gustavo/blog/post/motherboard-chipsets-memory-mapI’m going to write a few posts about computer internals with the goal of explaining how modern kernels work. I hope to make th

2013-12-12 16:57:35 606

为web-polygraph添加user_agent和add_headers配置变量

在使用web-polygraph为代理,缓存软件做测试的时候,发现官方提供的polygraph-4.3.2代码功能中,配置文件没法配置user-agent和添加自己想要添加的头,于是对代码修改之,使其能使用user_agent和add_headers两个配置变量。起代码在这里作备份!

2012-07-26

sqlite examples

sqlite examples,是学习sqlite数据库的使用的非常好的例子!

2012-03-15

lemon examples

5个关于lemon语法分析的例子,很简单,覆盖很全面!

2012-03-15

fasm_chm

fasmfasmfasmfasm

2007-08-02

空空如也

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

TA关注的人

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