计算机硬件
- 控制器
- 运算器
- 存储器单元
- 输入单元
- 输出单元
计算机操作系统
- 管理硬件和软件资源,管理计算机资源
- 提供用户接口,用于在用户与系统硬件之间传递信息
操作系统程序的执行
- Power Up
- BIOS/UEFI (固化在主板上的程序)
- UEFI是BIOS的优化版本,BIOS自检,UEFI优化了自检流程。UEFI配合GPU
- BootLoader(引导程序)
- OS
Linux版本
- 内核版本(内核)
- 进程管理 内存管理 文件资源管理 硬件资源管理
- 硬件与软件之间的中间层
- 资源管理程序
- 提供一组面向系统的程序
- 发行版本
- 内核+常用软件
Linux应用
- IT服务器
- 嵌入式和智能设备(安卓手机)
- 个人办公桌面
- 学术研究和软件研发
Linux 系统结构
- 内核
- shell
- 文件系统
- 应用程序
- 体系结构
- 用户空间(权限、稳定可靠)
- 应用程序
- 内核空间
- 系统调用 平台架构
- 上下文切换(用户与内核程序的通信)
- 系统调用后,由用户态切换至内核态,与硬件设备通信
- 系统调用后,中断
- 用户空间(权限、稳定可靠)
进程管理
-
正在执行的命令或程序
-
有自己的地址空间、占用一定的系统资源
-
一个CPU核同一时间只能运行一个进程
-
由进程ID(PID)和父进程ID(PPID)唯一识别
- 将父进程作为模板创建子进程
- pid0-pid1(用户进程的父进程)-pid2(内核进程的父进程)
- 树形结构
-
进程调度
- 进程执行完成/本次执行时间到期 CPU切换到下一进程
- 轮询方式进行
-
文件系统
- Linux一切皆文件
- proc systs只存在于内存中
- 树状目录结构
- 统一的用户接口:虚拟文件系统(VFS)
- 对应用层提供一个标准的文件操作接口
- 对文件系统提供一个标准的文件接入接口
- 使得对不同类型文件的操作可用同一接口执行
- 文件读取流程
- 用户缓冲区
- 系统IO
- 内核缓冲区
- DMA
-
用户权限
- 用户账户
- 普通用户账户
- 超级用户账户
- 组账户
- 标准组
- 用户账户
-
文件权限
- 所有者
- 所在组
- 其他人
- 读(R)、写(W)、执行(X)
- drwxr-xr-x
软件包
- 应用程序(GUI/命令行工具/软件库)
- 底层工具:处理安装和删除软件包文件等任务
- 上层工具:数据的搜索任务和依赖解析任务
基础命令
- 查看Linux版本
uname -acat /proc/version - 查看发行版本
cat /etc/os-release - 查看启动的ngix进程
ps -ef | grep nginx - 查看某个进程
top -p PID- 调度优先级
- PID
- 状态 休眠状态(S) 可执行状态(R) 不可中断的睡眠状态(D) T Z X
- CPU和内存的使用状况
- 关闭某进程
kill PID - 全部进程的动态实时视图
top - 命令报告文件系统磁盘空间利用率
df -T - 打印系统文件在内的磁盘分区信息
mount - 查看文件夹下的内容
ls - 创建文件夹
mkdir - 移动文件夹
mv dirname dir - 删除文件夹
rm -r dirname - 创建空文件
touch file.txt - 复制文件
cp file.txt file_bak.txt - 查看当前用户信息
w - 查看当前用户所属的组
groups - 查看用户uid信息
id xxxx