1. 操作系统的启动流程
- BLOS -> BLOS自检(导致启动速度变慢) -> BootLoader -> OS
- UEFI -> BootLoader -> OS [改进后没有自检,启动速度快]
2. 查看进程信息
- 查看启动进程:ps -ef | grep name(| grep name是查找name并且通过管道传输给前面的ps -ef命令
- 查看某个进程:top -p name
- 关闭某个进程:kill name
- 全部进程动态实时视图:top
3. 进程调度
CPU按照某种策略或规则选择进程占用CPU进行运行的过程
4. 一切皆文件
保证在Linux里面的操作统一和接口调用统一。
查看文件系统类型
- 查看文件系统磁盘空间利用率 df -T
- 不加任何指令查看文件系统在内的磁盘控件利用率:mount
shell命令文件基本操作
- ls path:查看当前路径下的文件内容
- move file dir : 将文件移动到目录中
- rm file/dir:删除文件/目录
- touch filename : 创建文件
- mkdir dirname : 创建目录
- cp file copyfile : 将file中的内容复制到copyfile
*文件读取流程
- 用户空间:用户进程、用户缓冲区
- 内核空间:内核缓冲区、Socket缓冲区
- 硬件空间:磁盘、网卡
当Linux需要读取文件时:首先,会在用户缓冲区查找是否有这个文件,如果有则直接读取文件;如果没有,则Linux会发起一次I/O请求,当发起I/O请求时,Linux会从用户态切换到内核态;然后读取内核缓存区中是否有该文件,如果有,则通过CPU将此文件拷贝到用户缓存区然后进行文件的读取;否则会通过DMA的方式向磁盘发起访问,找到该文件并读取,然后DMA(直接和磁盘进行交互,不通过CPU从而提升速度)将该文件复制到内核缓存区中,最后CPU将在内核缓冲区的该数据复制到用户缓存区中,Linux对该文件进行读取。
5. 用户权限
- 用户账号:普通用户账号、超级用户账号
- 组账号(group):标准组、私有组
- 所有者、所有组、其他人
- 读(r)、写(w)、执行(x)
- d(文件类型)rwx(所有者)rwx(所有组)rwx(其他人)——共十位(赋值时可以直接777这种形式)
6. *软件包的管理
软件包:一个应用程序,可以是GUI应用程序、命令行工具、其他软件程序所需的软件库
软件包管理
- 底层工具:处理安装和删除软件包文件等任务(DPKG -> Debian、RPM -> Red hat)
- 上层工具:处理数据搜索任务和依赖解析任务(APT、YUM、DNF) [更加自动化,可以帮助我们屏蔽底层的表示]
总结自己学到的东西
- Linux文件读取过程
- Linux --> 用户缓冲区 --> 读取文件
- Linux --> 用户缓冲区 --> 内核缓冲区 --> 文件 --> CPU --> 用户缓冲区 --> 读取文件
- Linux --> 用户缓冲区 --> 内核缓冲区 --> (DMA) --> 磁盘 --> (DMA) --> 内核缓冲区 --> (CPU) --> 用户缓冲区
- 软件包/软件包的管理
- 熟悉shell命令
- mount命令后面不跟指令可以用来查看文件系统磁盘中的内存信息
- top -p : 查看某个进程的状态...