博客首页 注册 建议与交流 排行榜 加入友情链接
推荐 投诉 搜索: 帮助

My Linux Journey

A crazy man in a crazy world !
davidbelle.cublog.cn


[原创]linux内核编程学习笔记二:linux内核体系结构(二)
5、linux内核对内存对管理
   在linux0.11内核中,内存被划分为几个功能区:首先内存从起始位置开始,划分出一个内核模块区,接着是用于提供硬盘或软盘等块设备使用的高速缓冲区,最后是主内存区,如果含有RAM虚拟盘的系统,主内存区头部还要划分出一部分供虚拟盘存贮数据。
   linux同时采用了intel cpu的内存分段和分页管理机制,因此我们首先要分清3种地址以及它们之间的关系:
   (1)逻辑地址:有程序产生的与段相关的偏移地址部分,在intel保护模式下就是指程序执行代码段限长内的偏移地址。
   (2)线性地址:是逻辑地址到物理地址变换的中间层。段中的偏移地址加上相应段段基地址就生成了一个线性地址。
   (3)物理地址:指的是出现在cpu外部地址总线上的寻址物理内存的地址信号,是地址变换的最终结果地址。
   除此之外,我们还需要知道什么是虚拟内存。虚拟内存是指计算机呈现出要比实际拥有的内存大得多的内存量。一个比喻可以让我们很好的把握这个概念:假如说我们把一个大型的程序或者说整个计算机上的程序比喻成一个大型图书馆,cpu就是读者,而实际内存呢就是一个阅览用的书桌,那么假设我们有足够长的时间去看完图书馆所有的书,可是即使是这样,我们也不必一次把图书馆的所有书借来放到你看书的桌子上,当然桌子也放不下。因此,我们只把目前要看的书放到书桌上,等看完了在换另一本书。那么好,在计算机中也是这样的,一个程序的运行一般都是有一定顺序的,我们不用把整个程序全部加载到内存中,只是加载当前运行需要到部分,由cpu来执行,等这部分执行完了,在把另外需要的部分加载到内存中来。这样,虽然每次运行的程序只是内存中的部分,但是对于cpu来说,它面对的其实还是整个“图书馆”。这里的这个“图书馆‘就是虚拟内存!
 
在linux0.11内核中,给每个程序(进程)都划分了总量为64M的虚拟内存空间,因此程序的逻辑地址范围是0x00000000到0x40000000。
 
6、linux内核源代码的目录结构
   由于linux内核是单内核模式,所有内核中所有程序几乎都有着紧密的联系。在linux0.11内核源代码中一共有14个子目录,总共包括102个代码文件。
  linux    
    |--- boot  
    |--- fs  
    |--- include  
    |    |--- asm
    |    |--- linux
    |    |--- sys
    |--- init  
    |--- kernel  
    |    |--- blk_drv
    |    |--- chr_drv
    |    |--- math
    |--- lib  
    |--- mm  
    |--- tools  
 
 系统引导汇编程序
 文件系统
 头文件(*h)
 与cpu体系结构相关的部分
 linux内核专用部分
 系统数据结构部分
 内核初始化程序
 内核进程调度、信号处理、系统调用等程序
 块设备驱动程序
 字符设备驱动程序
 数学协处理器仿真处理程序
 内核库函数
 内存管理程序
 生成内核Image文件的工具程序

发表于: 2006-11-28 ,修改于: 2006-11-28 14:08,已浏览1284次,有评论1条 推荐 投诉


网友评论
内容:
强烈的顶顶顶!!! 
 15G空间=5个网站=500元/年 可免费试用 
www.abcnic.com    QQ:1012727
5GB 独立WEB空间、5GB 企业邮箱空间、5GB MSSQL数据库   
IIS连接数据 500 个、500GB/月流量、共享日志文件空间 
数据库功能 
支持5GB MSSQL数据库空间,5个用户数据库、Access 
主机功能支持 
采用安全稳定的Win2003 .net2.0 架构 
支持ASP、PHP、ASP.NET、PERL等脚本、支持自定义CGI 
全面支持.net2.0版本,独立的Application应用池,
支持SSI(Shtml),支持FrontPage扩展 
可免费自行绑定5个域名、500个解析、500个子域名
 企业邮箱功能 
赠送5GB 超大企业邮箱,500个Email企业邮箱用户 
自动回复、自动转发、POP3、SMTP收发信、SMTP发信认证 
邮件过滤、邮件拒收、邮件夹管理、邮件域管理、定制邮件数
本站网友评论于:2007-10-09 15:38:59 (222.64.17.★)

发表评论