- 博客(23)
- 资源 (7)
- 收藏
- 关注
原创 Intel® IA-32 Architecture Learning 3.2 PROCESSOR MANAGEMENT AND INITIALIZATION---Taking Linux As Example
This chapter is OS dependent. We chose to follow the kernel initialization process in the linear order in which it occurs. We begin with a discussion of what happens on power-on through to the call to
2011-06-14 14:28:00 1011
原创 Enterprise Services Bus ---5&6
1. Itinerary-Based Routing: Highly Distributed SOA The key importance of the ESB approach to SOA is that the service definition is separated from the mechanism for locating and invoking services.
2011-06-14 14:26:00 711
原创 Enterprise Services Bus ---3&4 Necessity Is the Mother of Invention
3.1 The Evolution of the ESB 3.2 The ESB in Global Manufacturing Common APIs and event-driven service interfaces are a core part of the design center of an ESB. However, diversity in connectivity
2011-06-14 14:24:00 896 1
原创 Microsoft® Windows XP Analysis 3---Memory Management
1. Windows XP内存管理 内存管理器是Windows XP执行体的一部分,位于Ntoskml.exe文件中。在硬件抽象层HAL中没有内存管理器的任何部分。 2. 地址空间布局 用户地址空间布局 系统地址空间布局 3. 内存保护机制 1.所有系统级核心态组件的数据结构和内存缓冲池只能在核心态下访问 2.每个进程有一个独立、私有
2011-06-14 14:23:00 715
原创 Microsoft® Windows XP Analysis 1---Architecure Overview
Author: Harold Wang http://blog.csdn.net/hero7935 1. OS Model of Windows XP Windows XP 不是单纯地使用某种体系结构,而是融合了分层操作系统和客户/服务器(微内核)操作系统的特点。同样实现了两个特权级——管态(kernel mode)和目态(user mode)。 Windows XP核心态组件使用了面向对象设计原则,表现在数据的封装、信息隐藏上。但是它又不是一个严格的面向对象系统,处于可移植性以及效力因素的考
2011-05-22 13:53:00 653
原创 Enterprise Services Bus ---2 The State of Integration
Author: Harold Wang http://blog.csdn.net/hero7935 2.1 Business Drivers Motivating Integration 2.2 The Current State of Enterprise Integration The accidental architecture is something that nobody sets out to create; instead, it's the result of years of
2011-05-22 13:46:00 943
原创 Enterprise Services Bus ---1 Overview & Introduction
Author: Harold Wang http://blog.csdn.net/hero7935 Integration is making a comeback—perhaps it never even left. In this book you'll be introduced to the next generation of integration, called Enterprise Service Bus (ESB). ESB is really exciting in that it
2011-05-22 13:42:00 802
原创 Intel® IA-32 Architecture Learning 2 Protected-Mode Memory Management
Author: Harold Wang http://blog.csdn.net/hero7935 There is no mode bit to disable segmentation, the use of paging, however, is optional. 1. Segment Selectors and Segment Registers The first entry of the GDT is not used by the processor. To reduce
2011-05-14 12:25:00 1133
转载 Linux 查看 elf可执行文件格式的两个命令
<br /> This article is from <br />http://hi.baidu.com/widebright/blog/item/2acbf536ec3c12390b55a927.html<br /> <br /> 使用objdump 和readelf 两个命令,我们可以看到elf的各个节段的 信息还有 运行时需要那些动态链接库,elf中的汇编代码等等。 我就是想用来查看 这个elf运行需要哪些 *.so 文件<br /><br />#include<stdio.h><br /><br
2011-05-10 16:10:00 3747
原创 Linux Kernel Memory Management (2)
Author: Harold Wang http://blog.csdn.net/hero7935 1.Slab Allocator Three Layer architecture: --Cache --Slab --Object 1.1 Caches General cache --kmem_cache_init() and kmem_cache_sizes_init() to establish general cache when system
2011-05-10 14:40:00 3066
原创 Intel® IA-32 Architecture Learning 1
Author: Harold Wang http://blog.csdn.net/hero7935 Overview: Operation Mode Typical Computer Systems Registers/Resources Operation Mode: Real Mode Intel® 8086 processor mode with a few extension that only 20 bit address memory is ceessible(1M
2011-05-09 17:25:00 2274
原创 Linux Kernel Memory Management (1)
Author: Harold Wang http://blog.csdn.net/hero7935 1. Memory Addressing Logical address: used in machine instruction, including Segment and Segment-offset Linear address(virtual address): in 32 bit machine, the space is 4GB. Physical address: addres
2011-05-08 15:46:00 3031
原创 Linux Kernel Interrupts, Exceptions and System Calls
Author: Harold Wang http://blog.csdn.net/hero7935 Basic knowledge In interrupt is usually defined as an event that alters the sequence of instructions executed by a processor, providing a way to divert the processor to code outside the normal flow of c
2011-05-07 11:35:00 1705
原创 Linux kernel Synchronization
Kernel Synchronization Introduction Many kernel tasks access and modify share data, like kernel thread, bottom-half, hardware interupt, system call, etc. These operations may involve data overwrite, unconsistent, unstable or even dead lock. It is difficul
2011-05-06 21:02:00 947
原创 Larbin Source Code Analysis 3——Class global(updating……)
#include Collaboration diagram for global: Class global is the head, the heart, the core of the Larbin, so its complexity is unavoidable and releatively acceptable(Don’t tell me you have been imaging that a webcrawler’s main class should be VERY little
2011-05-05 20:14:00 829
原创 Larbin Source Code Analysis 1——Introduction
what Larbin can do Larbin is an open source web crawler programmed by C++. It is intended to fetch a large number of web pages to fill the database of a serch engine. With a network fast enough, Larbin should be able to fetch more than 100 millions pages
2011-05-05 16:44:00 896
原创 Linux kernel Process Management 3.1(overview)——Schedule System
Problems with earlier Linux schedulers: Before the 2.6 kernel, the scheduler had a significant limitation with its Run Queue, because of the O(n) complexity algorithm when many tasks were active, forthermore, only a single Run Queue and a sigle runqueue l
2011-05-05 10:57:00 2702
原创 Linux kernel Process Management 2.2(x86)——Creation and Switch
进程切换时需要保存《进程上下文》 ——用户地址空间 包括程序代码,数据,用户堆栈等——控制信息 进程描述符,内核堆栈等——硬件上下文 包括通用寄存器以及一些系统寄存器 通用寄存器如eax,bx等;系统寄存器如eip,esp,cr3等等Linux将硬件上下文保存在如下thread_struct结构中: 423 struct thread_struct {424425 struct desc_structtls_array[G
2011-05-04 15:01:00 1064
转载 Linux kernel Process Management 2.1(amd64)——Creation and Switch
进程在OS中是一个非常关键的抽象概念。 在OS中虚拟CPU称为执行线程,简称为线程。 用于创建和管理多执行线程的实用工具通常包含在一个pthread库。因为该库中接口是按照POSIX标准定义的,所以以p开头。 在UNIX Os中,单线程进程和多线程进程模型如下:在linux中,单线程任务和多线程任务组模型如下: 在linux Os中,用“任务”替代“进程”,而没有“进程”这个对象。 用数据结构task_struct来描述任务,任务就相当于UNIX OS中的进程。 每一个任务都有任务地
2011-05-04 12:01:00 887
原创 Linux kernel Process Management ~Supplement(updating)
task state:task_struct* task; /** This is OK even in SMP system, because it can involve Memory Barrier if necessary.*/ set_task_state(task,state); set_task_state(current,state)=set_current_state(state) /* * We can simply use this instead
2011-05-04 11:24:00 1710
原创 Linux kernel Memory Barrier
Reportson the Barrier in LinuxReporter: Harold Wanghttp://blog.csdn.net/hero7935/KernelEdition: 2.6.37.3Abstract:本报告介绍Linux中MemoryBarrier使用环境、分类与典型应用举例,分析了MemoryBarrier在多处理机环境下对于维持指令按序执行的意义。KeyWord: 内存屏障MemoryBarrier; 对称多处理机SMP;Explanations
2011-05-04 11:18:00 2784
转载 Linux kernel Process Management 1——Conparison and Contrast between linux 2.4 VS linux 2.6 in process kernel stack layout
Linux内核2.4和2.6的进程内核堆栈和task描述符存储不太一样,这儿总结一下。 在内核2.4中堆栈这么定义的: union task_union{ struct task_struct task; unsigned long stack[INIT_TASK_SIZE/sizeof(long)]; }; 而INIT_TASK_SIZE只能是8k。 内核为每个进程分配一个task
2011-05-04 10:51:00 807
windows内核实验教程
2010-08-26
Visual.Studio.2010.高级编程 Professional 霍顿
2010-08-06
Visual.Studio.2010.高级编程 Professional 霍顿
2010-08-06
Visual.Studio.2010.高级编程 Professional 霍顿
2010-08-06
Ivor Horton’s Beginning Visual C++ 2010霍顿
2010-08-06
Ivor Horton’s Beginning Visual C++ 2010霍顿
2010-08-06
Ivor Horton’s Beginning Visual C++ 2010霍顿
2010-08-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人