logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

linux内核地址空间与用户地址空间的差别

本文仅限在i386平台下讨论一般情况。1、用户线性地址空间范围0-3G,内核线性空间范围3G-4G。2、内核总是立即满足内核空间的物理内存分配,并且分配结果对所有进程可见;而对于用户空间的内存分配请求,linux总是先保留用户线性地址空间的一段区域,然后修改页表项使这段线性区域都指向一页内容全为0的全局只读物理页。当进程写入这段线性区域时,将会产生一个缺页异常,这时系统才会为对应的线性地址分配物理

#linux
Linux代码阅读之header.S(一)

以下源代码来源于linux2.6.26.5的arch/x86/boot/header.S/* *  header.S * *  Copyright (C) 1991, 1992 Linus Torvalds * *  Based on bootsect.S and setup.S *  modified by more people than can be co

#linux
linux内核空间访问文件系统代码实现

本文代码是从互联网收集而来,我记录下来主要为学习方便,版权归原作者所有。以下代码实现了在linux内核空间打开、读、写文件等相关函数,有兴趣的可以研究一下并在此基础上扩展。 #include #include #include #include #include #include #include  /*  file I/O in kernel module*/

Linux虚拟内存组织结构浅析(二)

Linux虚拟内存组织结构浅析(二)在前一篇文章中我们介绍了Linux虚拟内存在逻辑上的组织结构,现在就让我们从源代码入手,从程序级仔细看看各个数据结构体的内部组成如何,源代码来自于最新的kernel2.6.26.5,分析过程中主要参考了《Understanding the linux virtual memory》这本书,有兴趣的朋友可以去阅读一下。 一、节点的数据表示在内核中,

#linux#数据结构#list +1
到底了