1.1:Linux文件系统概述
打开Linux的一个Terminal,
输入以下命令:
cd /
ls
可以看到Linux系统文件系统的主要目录:
bin ----> 用户级二进制工具
boot ----> 内核的镜像文件,bootloader程序读取运行
sbin ----> 管理员级二进制工具
dev ----> 各种硬件的设备文件
etc ----> 系统及用户程序的配置文件
home ----> 用户主目录
lib ----> 系统运行时所需的各种类库
opt ----> 系统附带的一些应用程序
proc ----> 内核和进程所虚拟的系统文件
root ----> 管理员工作目录
sys ----> 一般是驱动文件虚拟的系统文件
usr ----> 管理员安装的用户通用的应用程序
var ----> 系统运行时候的调试信息或者统计文件
总的来说,Linux文件系统不完全等同于我们常用的Windows文件系统,Linux文件系统有两层意思,一是rootfs(根文件系统),二是基本类似于Windwos文件系统的储存类文件系统。
根文件系统有以下特点:
1:文件不仅指硬盘上的数据,也指任何设备资源,所有硬件资源都可以抽象为文件,比如内存,CPU等都被内核抽象成文件。
2:文件或目录不都对应硬盘空间,比如sys,proc,dev这三个目录就是由内核或驱动维护的设备文件。
3:rootfs不能和储存类文件系统并列,储存类文件系统只能挂载到rootfs的子目录下。
4:Linux储存类文件系统支持windows所支持的FAT16,FAT32,NTFS文件系统类型。更常用的是ext2,ext3,ext4,yaffs等。
Linux挂载和卸载储存类文件使用mount和umount命令。
1.2:Linux系统的启动过程
虽然根据硬件的不同,Linux系统的启动会有细小的细微差异,但是从计算机系统的角度来看,Linux系统的启动分为:
cpu复位装载bootloader程序 ----> Linux内核启动 ----> 运行第一个程序
普通Linux过程:
1:cpu通电复位,装载bootloader程序,根据特殊引脚的高地电平不同判断Linux内核装载位置。
2:Linux内核初始化各种硬件
3:运行第一个Terminal程序。
基于Linux的Android启动过程:
1:cpu通电复位之后,读取处理器片上Rom的bootloader程序
2:加载uboot/fastboot程序,初始化硬件。
3:判断是否有指定特殊按键按下,有则进入调试模式,没有则加载指定位置的Linux内核程序并运行
ARM,处理器,CPU三个知识点的区别和联系:
ARM 是一家公司的名称,从技术的角度来看这是一种CPU架构
处理器 包括CPU,片上ROM,接口等不同硬件逻辑的统称。
CPU 处理器内部中央处理单元的检测,处理器分为短指令集架构和长指令集架构,ARM就是短指令集架构的一直。