Linux基础——文件系统和内存管理

Linux 中有句话是“一切都是文件”,非常经典。

Linux文件的概念参考于此文章
—————————————————————————————————————————————————

文件系统的基本知识

  1. 文件名最多可以有256个字符,可以包含数字,点号“.”,下划线“_”,横杆“-“

  2. 文件名前面带”.”的文件在输入”ls”或者”dir” 命令时一般不显示。可以把这些文件看作是隐含文件,当然你也可以使用命令”ls –a”来显示这些文件。

  3. 在Linux系统下,所有的目录显示在单一目录树下(有别于DOS系统的驱动器标识)。这意味着所有的物理设备上的所有文件和目录都合并在单一的目录树下。

  4. 整个系统级别的设定一般放在目录/etc下,这个目录在LINUX里很重要,里面装的都是些杂七杂八的配置文件。

  5. Linux系统把所有可执行的文件命令在/usr/bin目录里都作了启动连接,你可以去那个目录寻找你安装的文件的启动命令,双击启动。

whereis xxx 找到软件安装目录,rm -rf 把这些目录都删除,应该能删除干净。

内存管理

  • Linux程序段

Linux采用虚拟段页式存储方式来管理内存,程序的基本逻辑存储单元,也可以说是程序段。

Linux中有四个段,代码段,数据段,BSS段,堆栈段。虚拟地址从低到高依次是:代码段,数据段,BSS段,堆栈段。

其中代码段为程序本身(二进制指令),数据段为代码中初始化了的全局变量和静态变量,BSS段为为初始化的全局变量和静态变量,堆为程序员申请的内存空间,栈是编译器用来存放函数局部变量,参数等数据的位置。

  • 虚拟地址和物理地址

将程序的逻辑存储单元分配好后,每个段在内存中以页为基本单元进行存储。我们在程序中,用取地址符取的地址,叫做逻辑地址,也叫做虚拟地址。

虚拟地址由段号和段内偏移量组成。MMU通过段机制查看段表来寻找该段号对应的页号,该页号和段偏移量组成的地址是线性地址;

通过页机制查看页表,找到该页号对应的物理号,物理号和偏移量组成的地址,即为物理地址。

  • 内核态和用户态

BSD 的基本系统由KERNEL和USERLAND组成,KERNEL就是内核,其实就是/BOOT/底下的KERNEL,基本系统除了KERNEL外所有的东西都可以称为USERLAND,如/BIN底下的一些程序。

有的程序必须有要有KERNEL和USERLAND才能运行,不像LINUX只要一个KERNEL就可以运行了,所以称为基本系统。/USR/PORTS下安装的程序不属于基本系统,可以称为PACKAGE 。

交换分区swap

swap分区的作用是充当虚拟内存,其大小通常是物理内存的两倍左右。

我们如果没有足够的内存,也许就不能运行某些大型的软件,解决的办法是在硬盘上划出一个区域来当作临时的内存,好像内存变大了。Windows操作系统把这个区域叫做虚拟内存,Linux把它叫做交换分区swap。

你可能感兴趣的:(Linux)