易截截图软件、单文件、免安装、纯绿色、仅160KB

Linux内存管理(zt)


Linux
内存管理
摘要
:本章首先以应用程序开发者的角度审视
Linux
的进程内存管理,在此基础上逐步深入到内核中讨论系统物理内存管理和内核内存的使用方法。力求从外到内、水到渠成地引导网友分析
Linux
的内存管理与使用。在本章最后,我们给出一个内存映射的实例,帮助网友们理解
内核内存管理与用户内存管理之间的关系,希望大家最终能驾驭
Linux
内存管理。
前言
内存管理一向是所有操作系统书籍不惜笔墨重点讨论的内容,无论市面上或是网上都充斥着大量涉及内存管理的教材和资料。因此,我们这里所要写的
Linux
内存管理采取避重就轻的策略,从理论层面就不去班门弄斧,贻笑大方了。我们最想做的和可能做到的是从开发者的角度谈谈对内存管理的理解,最终目的是把我们在内核开发中使用内存的经验和对
Linux
内存管理的认识与大家共享。
当然,这其中我们也会涉及到一些诸如段页等
内存管理的基本理论,但我们的目的不是为了强调理论,而是为了指导理解开发中的实践,所以仅仅点到为止,不做深究。
遵循“理论来源于实践”的“教条”,我们先不必一下子就钻入内核里去看系统

存到底是如何管理,那样往往会让你陷入似懂非懂的窘境(我当年就犯了这个错误!)。所以最好的方式是先从外部(用户编程范畴)来观察进程如何使用内存,等
到大家对内存的使用有了较直观的认识后,再深入到内核中去学习内存如何被管理等理论知识。最后再通过一个实例编程将所讲内容融会贯通。
进程与内存
进程如何使用内存?
毫无疑问,所有进程(执行的程序)都必须占用一定数量的内存,它或是用来存放从磁盘载入的程序代码,或是存放取自用户输入的数据等等。不过进程对这些内存的管理方式因内存用途不一而不尽相同,有些内存是事先静态分配和统一回收的,而有些却是按需要动态分配和回收的。
对任何一个普通进程来讲,它都会涉及到
5
种不同的数据段。稍有编程知识的朋友都能想到这几个数据段中包含有“程序代码段”、“程序数据段”、“程序堆栈段”等。不错,这几种数据段都在其中,但除了以上几种数据段之外,进程还另外包含两种数据段。下面我们来简单归纳一下进程对应的内存空间中所包含的
5
种不同的数据区。
代码段
:代码段是用来存放可执行文件的操作指令,也就是说是它是可执行程序在内存中的镜像。代码段需要防止在运行时被非法修改,所以只准许读取操作,而不允许


相关文档:

linux添加网卡及驱动


今天装了个RHCL5,不能加载网卡就更别说驱动了,用以下命令查看下网卡信息:
一、找硬件
[root@localhost
~]# kudzu --probe --class=network
class: NETWORK
bus: PCI
detached: 0
device: eth0
desc: "Realtek Semiconductor Co., Ltd. RTL-8110SC/8169SC Gigabit Ethernet
"
vendorId: 10ec
dev ......

Materials Studio 5.0 LINUX 版小集群并行安装手记

MS 5.0 LINUX 版小集群并行安装手记
MS 5.0 LINUX 版小集群并行安装手记
这几天重新配置了一下计算环境,顺便记录下来供同行参考,这次以安装MS5.0为例,实际上4.0,4.2,4.4的版本这几天我都配置过了,方法基本相同。
1.操作系统环境说明
客户端要求是Windows XP Professional - SP3或Vista (Business & Enterpris ......

linux学习

星际译王的安装


                “星际译王”是用Gtk2开发的跨平台的国际化的词典软件。它具有“通配符匹配”、“选中区取词”、“模糊查询”等强大功能。本文主要解说一下主程序和词库的安装;
一、什么 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号