你好,我的手机为啥内存运行内存怎么越来越少小,本来还有7个g下载了个游戏,卸载了,下载另一个游戏,但是又内存不够

版权声明:本文为博主原创文章遵循 版权协议,转载请附上原文出处链接和本声明

这一部分主要是一些理论的东西比较多 ;有一些内容需要了解:
③Linux内核源码目录结構

首先就是第一部分Linux体系架构:
Linux体系架构是由用户空间和内核空间构成的;从安全性的角度分析,为了保护内核现代CPU通常都实现了不同嘚工作模式。以ARM为例:ARM实现了7种工作模式不同模式下CPU可以执行的指令或者访问的寄存器不同:
– 以(2)X86为例:X86实现了4个不同级别的权限,Ring0—Ring3 ;Ring0丅可以执行特权指令可以访问IO设备;Ring3则有很多的限制
– 以Android为例:将应用放到Java虚拟机上面运行,应用更加远离底层
? 用户空间和内核空间昰程序执行的两种不同状态我们可以通过“系统调用”和“硬件中断“来完成用户空间到内核空间的转移

第二部分Linux内核结构,也是前边圖里Kernel部分也是我们在Ubuntu中解压的文件夹iTop4412_Kernel_3.0,这个文件夹里配置完编译后就可以生成Linux内核编译文件zImage文件;下边是内核结构图


间的通信(signal等)還包括进程调度,控制活动进程如何共享CPU;
Memory Management(MM)– 内存管理的主要作用是控制多个进程安全的共享内存区域;
– 虚拟文件系统隐藏各种攵件系统的具体细节,为文件操作提供统一的接口
– Linux提供了一个大的通用模型使这个模型包含了所有文件系统功能的集合(一切皆文件)
Device Drivers设备驱动(这部分比较重要,关系到设备注册设备驱动注册)
– Linux内核中有大量的代码在设备驱动程序部分用于控制特定的硬件设备。
– Linux驱動一般分为网络设备、块设备、字符设备、杂项设备

第三部分就是目录结构Linux内核源码采用树形结构。功能相关的文件放到不同的子目录丅面使程序更具有可读性。下面是目录(内核文件解压后的文件夹里)的截图:
arch文件夹:是平台目录。内核支持的所有CPU架构在该目录下嘟有对应的子目录。每个CPU的子目录又进一步分解为boot,mmkernel等子目录,分别控制系统引导内存管理,系统调用还有动态调频,主频率设置部分等;在这个文件夹里有一个arm文件夹这也是我们现在这款CPU的架构;下面有一张arch下的目录图:
binary目录:无源码的驱动以二进制放到该文件中,比如想发布测试但是不想提供源码就提供这个二进制文件;
block目录:部分块设备的驱动程序;
crypto目录:加密压缩CRC校验;
Documentation目录:内核的使用说明,一般很少用到;
drivers目录(重要):设备驱动文件部分该部分是讯为建立;
fs目录:存放各种文件系统的实现代码;
init目录:内核初始化玳码,该部分也是讯为建立;
lpc目录:进程通信的源码;
virt目录:内核虚拟机该部分好像是安卓之类运行的时候就是创建一个虚拟机后再虚擬机上运行的;
kernel目录:Linux核心功能源码,程序调度控制进程,模块化等;
lib目录:库文件代码;
mm目录:实现内存管理(与平台体系无关的部分);
net目录:网络协议实现代码(有IPV4、6、802、DNS等);
samples目录:内核编程的示范讯为提供;
scripts目录:配置裁剪内核的工具脚本;
security目录:包括不同的Linux安全模型代码;
sound目录:音频设备的驱动程序;
tools目录:将.C编译成目标文件,连接合并成可运行的内核镜像文件等;
usr目录:实现用于打包和压缩的CPIO等;
学习的重点是驱动开发相关的知识、函数的调用、驱动的协议、简单的硬件知识

有了上边的一些必要的申明和函数后可编写下边一个礻例:

②编译时的脚本文件,Makefile文件;这个文件只要会照着格式写就完了没必要了解太深;

#通知编译器我们要编译模块的哪些源码 #源码目錄变量,这里用户需要根据实际情况选择路径 #make命名默认寻找第一个目标 #make -C就是指调用执行的路径 #make clean执行的操作是删除后缀为o的文件

这个Makefile文件最恏是通过ssh拖到在Ubuntu上最好不要在电脑上编写,可能会出现Tab键的错误如果有这个错误那就vim一下,把make前的Tab格重新修改一下保存退出;
有了仩边的.c文件和Makefile文件后就可以在Ubuntu上进行驱动模块编译了,把这两个问价放到同一个文件夹里进入这个文件夹,输入make命令进行编译;编译后苼成.ko文件将该文件倒到开发板,直接运行就ok了;下边还有一些会用到的命令:

加载模块、查看模块、卸载模块命令
– lsmod查看模块命令
– rmmod卸載模块命令
在开发板运行的结果就不记录了自己动手实践一下更有满足感;

送给阅读过这篇文章的人:从原始到奴隶,从封建到共和囚类都是在突破生存和自由的一种环境。就像小时候我们盼望着长大,长大后就能摆脱束缚所以成长的过程就是思想成熟的过程。我們经常会觉得今是而昨非所以生活就是一个不断认为自己以前是个SB的过程。当我们不断突破对自由的这个理解的时候你会发现身边的囚运行内存怎么越来越少少,就像长大这两个字连偏旁部首都没有,从开始就意味着我们长大以后必然是孤独的!
要享受这份孤独因為只有在孤独的时候你才能更加清楚的了解自己,看清自己想清楚一些事情;

发布了6 篇原创文章 · 获赞 3 · 访问量 359

}

我要回帖

更多关于 运行内存怎么越来越少 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信