计算机硬件
- 控制器
- 运算器
- 存储器
- 输入设备
- 输出设备
计算机操作系统
承上启下,管理和控制计算机软件和硬件。
启动方式:
BIOS->BIOS自检->Bootloader->OS
UEFI->Bootloader->OS(是BIOS的优化,主流)
Linux系统
查看Linux系统版本
uname -acat /proc/versioncat /etc/os-release
Linux基本组成
内核 提供内存管理、进程管理、文件系统管理、硬件资源管理等。
shell 命令解释器,输入指令与Linux内核交互。
文件系统 将文件保存到磁盘硬件,持久化保持文件。
应用程序
内核
- 内核是硬件与软件的中间层
- 内核是一个资源管理程序
- 内核提供一组面向系统的命令
进程管理
创建进程一般是fork父进程。
- 进程是正在执行的程序或命令。
- 进程有自己的空间,占用一定的系统资源
- 一个cpu核同一时间只能运行一个进程
- 进程由它的ID(PID)和它的父进程ID(PPID)唯一识别
查看进程信息的指令
操作系统通过进程调度控制哪一进程何时占用CPU实现对程序运行的控制。
进程的系统调用
内核空间:系统内核运行的空间
用户空间:应用程序运行的空间
文件系统
文件系统采用树状的目录结构
查看文件系统类型的命令
文件基本操作的指令
文件读取流程
- 读取时,从用户缓存去找,若命中,读取。
- 未命中,发起系统调用,切换到内核态。
- 从内核缓冲区查找,有缓存,从内核缓冲区拷贝到用户缓冲区。
- 若未命中,向磁盘发起文件读取请求。
- DMA将文件拷贝到内核缓冲区,内核缓冲区向CPU发指令,CPU将数据拷贝到用户缓冲区。
- CPU将数据拷贝到Socket缓冲区,DMA再拷贝到网卡,最后呈现给用户。
用户权限
用户账户
- 普通用户
- 超级用户
用户组
- 标注组 可以有多个用户
- 私有组 只有自己
文件权限
读(R)写(W)执行(X)
软件包管理
底层工具:提供一个依赖项表,需要自己手动安装。 举例rpm
上层工具:自动下载并安装所有依赖项。 举例yum