<cite id="d9bzp"></cite>
<cite id="d9bzp"><span id="d9bzp"></span></cite>
<cite id="d9bzp"><video id="d9bzp"></video></cite><var id="d9bzp"></var>
<var id="d9bzp"><video id="d9bzp"><thead id="d9bzp"></thead></video></var>
<menuitem id="d9bzp"><video id="d9bzp"></video></menuitem>
<var id="d9bzp"></var><cite id="d9bzp"><video id="d9bzp"></video></cite>
<cite id="d9bzp"></cite>
<var id="d9bzp"></var>
<var id="d9bzp"></var>
<var id="d9bzp"><video id="d9bzp"><thead id="d9bzp"></thead></video></var>

进程地址空间数据采集系统的设计与实现

毕业论文

目录
前言 1
1 存储器管理 3
1.1 存储器地址 3
1.2 分页机制 4
1.2.1 常规分页 4
1.2.2 Linux中的分页 5
1.3 页帧管理 6
1.3.1 页描述符 6
1.3.2 宏描述 7
1.4 区管理 8
2 进程管理及地址空间 9
2.1 进程管理 9
2.1.1 进程描述符 9
2.1.2 任务结构 9
2.2 进程地址空间 10
2.2.1 内存描述符 10
2.2.2 内存区域 12
2.2.3 页表 12
3 内核开发 15
3.1 Linux内核简介 15
3.1.1 内核版本 15
3.1.2 内核源代码组成 15
3.2 2.6内核编译 16
3.2.1 准备工作 16
3.2.2 编译 16
3.3 内核?楸喑 17
3.3.1简单的?楸喑 17
3.3.2 ?椴问 20
3.4 用户空间与内核空间数据交换 20
3.4.1 procfs 21
3.4.2 seq_file 22
4 Qt开发简介 26
4.1 Qt简介 26
4.2 开发简介 26
5 进程地址空间的数据采集系统设计与实现 31
5.1 应用环境 31
5.2 需求分析 31
5.3 系统设计 32
5.3.1 总体设计 32
5.3.2 详细设计 33
5.4 系统实现 39
5.4.1 数据采集的实现 39
5.4.2 接口实现 40
5.4.3 用户态应用程序实现 43
6 结论 47
参考文献 48
致谢 49

进程地址空间数据采集系统的设计与实现

摘要:虚拟存储管理技术已被广泛地应用于现代操作系统中。在当今的教学中它被作为存储器管理的重点部分,但是多数教材只是从理论上加以分析介绍,缺乏实例,导致学生感性认识不足。
在采取分页机制的操作系统中,通过页表实现进程虚拟页到物理页帧的动态映射。本论文设计与实现了进程地址空间的数据采集系统,可以动态跟踪进程页表信息,反映虚拟存储器的行为特征。该系统基于Linux操作系统,硬件体系结构为IA32。
    首先,本文实现了采集内核态进程地址空间数据的内核可加载?,其次设计seq_file接口实现内核数据的输出,然后在应用层利用Qt开发对用户友好的可视化界面。系统在Linux 2.6.9和2.6.11内核上运行成功,该系统1定程度上将弥补高校操作系统教学的不足。
关键词:Linux内核?;存储器管理;进程地址空间;seq_file接口;Qt开发

Design and Implementation of Data Collection System for Process Address Space

Abstract: The virtual memory management technology has been applied widely in modern operating systems. In the today’s teaching it is the key part of memory management. But most textbooks introduce the virtual memory theoretically and lack the real examples. The result is that students are short of perceptual knowledge of virtual memory.
In paging-based operating systems, process page table maintains mappings of virtual pages onto physical frames dynamically. Based on IA32 Linux, this dissertation implements a data collection system for process address space. The system might track process page table information dynamically, and reflects the behavior of virtual memory.
Firstly, this dissertation implements the kernel module to collect the process address space’s data. Secondly, seq_file interface is used to output the kernel data. Finally, by using Qt development tool, a GUI application is created to supply friendly interfaces for users. The system has run successfully in the Linux 2.6.9 and 2.6.11, which will improve operating system teaching in some degree.
Keywords: Linux kernel module; memory management; process address space; seq_file interface; Qt development
 
前言
操作系统控制应用程序的执行,所有多道程序操作系统的创建都围绕进程的概念。操作系统必须交替地执行多个进程,管理分配给进程的资源。存储器是进程的重要资源之1,有效地给进程分配存储器,在多任务的操作系统中是至关重要的。如果仅仅只有少数进程在存储器中,那么多数时间所有进程都在等待I/O,处理器也处于空闲状态。现代操作系统广泛地采用虚拟存储管理技术,主要功能是从逻辑上扩充内存的容量,让更多的进程装入存储器,从而提高CPU的利用率。Linux操作系统管理虚拟内存的部分称为虚拟存储管理子系统,它是1个重要的子系统。
进程的地址空间是系统中每个用户空间进程所看到的内存,它由线性地址区组成。在采取分页机制的操作系统中,进程的线性地址空间被划分为若干大小固定的区间,称为页。相应地,存储器也被划分为大小固定的块,称为页帧。进程的页是虚拟页,页帧是物理页。进程虚拟页到物理页帧的映射是通过页表动态实现的。
在当今的教学中虚拟存取器的管理被作为存储器管理的重点部分,但是多数教材只是从理论上加以分析介绍,缺乏实例,导致学生感性认识不足。
Linux 操作系统是UNIX 操作系统的1种克隆系统。它诞生于1991 年的10 月5 日(这是第1次正式向外公布的时间)。以后借助于Internet 网络,并经过全世界各地计算机爱好者的共同努力下,现已成为今天世界上使用最多的1种UNIX 类操作系统,并且使用人数还在迅猛增长。Linux发展可以分为3类:服务器端、桌面和嵌入式领域。在桌面领域,Windows 占有绝对优势,其友好的界面、易操作性和多种多样的应用程序是Linux所匮乏的,Linux的长处在于服务器端和嵌入式两个方向。Linux操作系统作为发布软件,正如Robert Love所言:“Linux是1个非商业化的产品,这是它最让人感兴趣的特征”[1],它是个免费软件(Freeware)。其次,它还是个自由软件(Freeware或Freesoftware),任何用户都有权使用、拷贝、扩散、修改。Linux的这种开源特性,可以让任何人修

进程地址空间数据采集系统的设计与实现相关推荐
云南快乐十分哪个好_北京pK怎么玩-湖北快3怎么玩 一拳超人| 女人我最大| 李嘉欣| 轮台县4.1级地震| 步步惊心| 爱奇艺| 科大讯飞| 废柴老爸| 中国新说唱| 我和我的祖国|