自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 资源 (10)
  • 收藏
  • 关注

转载 Linux开发心得总结21 - Busybox下tftp命令使用详解

Busybox下的tftp命令可以用来进行单文件传输。使用的时候,是把电脑作为服务器Server,Busybox作为客户端Client,使用tftp命令可以实现从Server下载单个文件到Client,或者从Client上***个文件到Server。    首先来了解一下tftp命令参数,在Busybox下输入tftp –help,得到tftp使用的详细参数,如下图

2012-08-18 05:34:18 850

翻译 Linux开发心得总结20 - 内核编程中的全局变量使用(EXPORT_SYMBOL())

和我们通常写程序不同,如果仅仅是全局变量,虽然编译内核的时候能连接成功,但是连接之后再就没有办法使用这个变量了而模块的加载是运行时的,它引用某个变量时,内核需要解析它,否则模块不能工作,EXPORT_SYMBOL 的定义如下fine __EXPORT_SYMBOL(sym, sec)                                /        extern type

2012-06-06 09:45:31 4440

转载 Linux开发心得总结19 - 进程的虚拟空间

6.4.2 进程的虚拟空间如前所述,每个进程拥有3G字节的用户虚存空间。但是,这并不意味着用户进程在这3G的范围内可以任意使用,因为虚存空间最终得映射到某个物理存储空间(内存或磁盘空间),才真正可以使用。那么,内核怎样管理每个进程3G的虚存空间呢?概括地说,用户进程经过编译、链接后形成的映象文件有一个代码段和数据段(包括data段和bss段),其中代码段在下,数据段在上。数据段中包括了所有

2012-03-10 14:22:43 515

转载 Linux开发心得总结18 - Linux内存管理

摘要:本章首先以应用程序开发者的角度审视Linux的进程内存管理,在此基础上逐步深入到内核中讨论系统物理内存管理和内核内存的使用方法。力求从外到内、水到渠成地引导网友分析Linux的内存管理与使用。在本章最后,我们给出一个内存映射的实例,帮助网友们理解内核内存管理与用户内存管理之间的关系,希望大家最终能驾驭Linux内存管理。前言内存管理一向是所有操作系统书籍不惜笔墨重点讨论的内容,无论市

2012-03-10 14:19:54 587

转载 Linux开发心得总结17 - Linux程序数据段分布分析

linux内核空间分布解析SECTIONS{ . = TEXTADDR;   /* 表示内核编译后链接的首地址,由arch/arm/makefile编译选项指定,如果是armv版本,则一般指定为0xc0008000,这是linux内核起来后,mmu起作用时的内核空间地址,这个值跟具体的处理器体系有关,需要额外指定的.*/ .init : {   /* Init code and d

2012-03-10 14:10:03 489

转载 Linux开发心得总结16 - linux 程序加载过程

一个进程在内存中主要占用了以下几个部分,分别是代码段、数据段、BSS,栈,堆,等参数。其中,代码、数据、BSS的内容是可执行文件中对应的内容,加载程序并不是把它们的内容从可执行程序中填充到内存中,而是将它们的信息(基地址、长度等)更新到进程控制块(task_struct)中,当CPU第 一次实际寻址执行的时候,就会引起缺页中断,操作系统再将实际的内容从可执行文件中复制内容到物理内存中。

2012-03-10 14:02:02 483

转载 Linux开发心得总结15 - Learning about Linux Processes

So, What Is A Process?Quoting from Robert Love's book Linux Kernel Development, "The Process is one of the fundamental abstractions in Unix Operating Systems, the other fundamental abstraction being

2012-03-10 04:39:23 400

转载 Linux开发心得总结14 - Red Hat Linux Deployment Guide

http://www.centos.org/docs/5/html/5.2/Deployment_Guide/index.html3.2.19. /proc/meminfoThis is one of the more commonly used files in the /proc/ directory, as it reports a large amount of v

2012-03-08 11:51:22 429

转载 Linux开发心得总结14 - linux情景分析--存储管理

2.1  linux内存管理基本框架 linux中的分段分页机制分三层,页目录(PGD),中间目录(PMD),页表(PT)。PT中的表项称为页表项(PTE)。注意英文缩写,在linux程序中函数变量的名字等都会和英文缩写相关。LINUX中的三级映射流程如图:但是arm结构的MMU在硬件只有2级映射,所以在软件上会跳过PMD表。即:在PGD中直接放的是PT的base address。

2012-03-02 00:31:20 1718

转载 Linux开发心得总结13 - Linux内存管理和分析vmalloc使用的地址范围

Vmalloc可以获得的地址在VMALLOC_START到VMALLOC_END的范围中。这两个符号在中定义:/* include/asm/pgtable.h */#define VMALLOC_OFFSET               (8*1024*1024)#define VMALLOC_START                 (((unsigned long)high_me

2012-03-02 00:29:02 669

转载 Linux开发心得总结12 - Linux内核分析之缺页中断

Linux缺页异常程序必须能够区分由编程引起的异常以及由引用属于进程地址空间但还尚未分配物理页框的页所引起的异常。在x86-ia32体系上由do_page_fault函数处理,每个版本有所差异,现分析的版本为2.6.32 /*  regs:该结构包含当异常发生时的微处理器寄存器的值  3位的error_code,当异常发生时由控制单元压入栈中  -如果第0位被清0,则异常由

2012-03-02 00:27:49 727

转载 Linux开发心得总结11 - Page table

A page table is the data structure used by a virtual memory system in a computer operating system to store the mapping between virtual addresses and physical addresses. Virtual addresses are

2012-03-02 00:25:47 2781

转载 Linux开发心得总结10 - MIPS TLB 的结构(translated)

MIPS TLB 的结构 实例分析: MIPS R3000上的一个简单的虚存和分页系统. Case Study: A simple VM and paging system for the MIPS R3000. 体系结构. 下面是将要分析的实例机器的内存层次结构:  * 一级cache. 64KB, 直接映像. Write allocate, write through. Phy

2012-03-02 00:23:57 1001

转载 Linux开发心得总结9 - Linux中的内存分配和释放之kmem_cache_alloc()函数分析

在kmem_cache_create()函数调用它的语句是cachep = (kmem_cache_t *) kmem_cache_alloc(&cache_cache, SLAB_KERNEL);这里的cachep是我们要申请的高速缓存内存的描述结构体(kmem_cache_t),但是我们也需要高速缓存内存来存放这个结构体。就是cache_cache所描述的高速缓存内存。对于这个结构体什么时

2012-03-01 23:30:40 1066

转载 Linux开发心得总结8 - 虚地址转换为物理地址

一、 与页相关的数据结构及宏的定义    分页机制是硬件对分页的支持,这是虚拟内存管理的硬件基础。要想使这种硬件机制充分发挥其功能,必须有相应软件的支持,我们来看一下Linux所定义的一些主要数据结构,其分布在include/asm-i386/目录下的page.h,pgtable.h及pgtable-2level.h三个文件中。 1. 表项的定义   如上所述,PGD、PMD及PT表的

2012-03-01 23:29:02 513

转载 Linux开发心得总结7 - linux内核空间与用户空间信息交互方法

内核空间(kernel-space) VS 用户空间(user-space)作为一个Linux开发者,首先应该清楚内核空间和用户空间的区别。关于这个话题,已经有很多相关资料,我们在这里简单描述如下:现代的计算机体系结构中存储管理通常都包含保护机制。提供保护的目的,是要避免系统中的一个任务访问属于另外的或属于操作系统的存储区域。如在IntelX86体系中,就提供了特权级这种保护机制,通过特权

2012-03-01 11:53:04 398

转载 Linux开发心得总结6 - When Linux Runs Out of Memory

When Linux Runs Out of MemoryPerhaps you rarely face it, but once you do, you surely know what's wrong: lack of free memory, or Out of Memory (OOM). The results are typical: you can no longer alloca

2012-03-01 11:52:14 577

转载 Linux开发心得总结5 - Linux下OOM Killer机制详解

Linux下面有个特性叫OOM killer(Out Of Memory killer),这个东西会在系统内存耗尽的情况下跳出来,选择性的干掉一些进程以求释放一些内存。相信广大从事Linux服务端编程的农民工兄弟们或多或少遇到过(人在江湖漂,哪有不挨刀啊)。典型的情况是:某天机器突然登不上了,能ping通,但是ssh死活连不了。原因是sshd进程被OOM killer干掉了(泪流满面)。重启机器后

2012-03-01 11:47:58 1280

转载 Linux开发心得总结4 - 在内核中添加系统调用

如何往内核中添加自己写的系统调用?其实步骤非常简单:1.编写一个系统调用;2.在系统调用表末尾加入一个新表项;3.在>中添加一个新的系统调用号;4.重新编译内核;上述工作完成后,就可以在用户程序中使用自己所编写的系统调用了。接下来,我们将逐步分析如何上述步骤。1.编写系统调用我们将要实现一个获得当前进程pid的的系统调用。对于一个进程,我们可以直接通过current->

2012-03-01 11:44:45 631

转载 Linux开发心得总结3 - brk和sbrk及内存分配函数介绍

brk和sbrk及内存分配函数介绍brk和sbrk主要的工作是实现虚拟内存到内存的映射.在GNUC中,内存分配是这样的:       每个进程可访问的虚拟内存空间为3G,但在程序编译时,不可能也没必要为程序分配这么大的空间,只分配并不大的数据段空间,程序中动态分配的空间就是从这一块分配的。如果这块空间不够,malloc函数族(realloc,calloc等)就调用sbrk函数将数据段的下界

2012-03-01 11:43:36 544

转载 Linux开发心得总结2 - 频繁分配释放内存导致的性能问题的分析

现象1 压力测试过程中,发现被测对象性能不够理想,具体表现为:进程的系统态CPU消耗20,用户态CPU消耗10,系统idle大约702 用ps -o majflt,minflt -C program命令查看,发现majflt每秒增量为0,而minflt每秒增量大于10000。初步分析majflt代表major fault,中文名叫大错误,minflt代表minor fault,

2012-03-01 11:42:13 609

转载 Linux开发心得总结1 - Linux内核分析之缺页中断

Linux缺页异常程序必须能够区分由编程引起的异常以及由引用属于进程地址空间但还尚未分配物理页框的页所引起的异常。在x86-ia32体系上由do_page_fault函数处理,每个版本有所差异,现分析的版本为2.6.32 /*  regs:该结构包含当异常发生时的微处理器寄存器的值  3位的error_code,当异常发生时由控制单元压入栈中  -如果第0位被清0,则异常由访问一个不存在的页所

2012-03-01 11:33:22 707

Database Programming with JDBC

Oreilly.Database Programming with JDBC Oreilly.Database Programming with JDBC

2010-05-26

understanding linux kernel

understanding linux kernel

2010-05-26

MasteringEJB2

MasteringEJB2 - a book about JAVA EJB program

2010-04-10

精通嵌入式Linux编程

精通嵌入式Linux编程 simply introduction of GUI

2010-04-10

Markov Random Fields and Images - thesis

Markov Random Fields and Images

2010-04-10

TMS320C6000 Programmer's Guide

TMS320C6000 Programmer's Guide, 下载后用acrobat打开

2009-08-31

_Verilog语言入门

_Verilog语言入门, 中文, 下载后用acrobat打开

2009-08-31

仿真PSpice分析类型简介

仿真PSpice分析类型简介 PSpice A/D将直流工作点分析、直流扫描分析、交流扫描分析和瞬态TRAN分析作为4种基本分析类型

2009-08-31

电子工程师便携手册pdf

电子工程师便携手册pdf 下载后用acrobat打开

2009-07-09

人工神经网络讲稿电子版pdf

人工神经网络讲稿电子版pdf 下载后用acrobat打开

2009-07-09

空空如也

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

TA关注的人

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