- 博客(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配置变量
2012-07-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人