Linux基础笔记(硬件基础->进程调度)
图标起源:Linux的企鹅图标象征着Linux其开源性,希望全世界人能在任何场合使用Linux的初心。
一、计算机硬件 计算机组成 (冯诺依曼结构)
- 控制器
- 运算器
- 存储器单元
- 输入单元
- 输出单元
二、计算机操作系统(Operating System)
1.用于管理和控制计算机系统中的硬件和软件资源,用于在用户与系统硬件之间传递信息。
管理计算机资源
- 处理器管理
- 存储器管理
- 设备管理
- 文件管理 提供用户接口
- 命令接口
- 图形用户接口
- 程序接口
2.OS启动流程
graph TD
Powerup --> BIOS --> BIOS自检 --> Bootloader --> OS
Powerup --> UEFI --> Bootloader --> OS
三、Linux系统概览 1.Linux版本
- 内核版本(由创建者本人发布)
- 发行版本(Linux内核+常用软件)
2.Linux系统内核版本查看
- uname -a
- cat /proc/version
3.Linux系统版本查看
cat /etc/os-release
4.Linux系统应用领域
- IT服务器(操作系统、虚拟化和云计算)
- 嵌入式和智能设备(手机)
- 个人办公桌面
- 学术研究与软件研发
四、Linux系统结构
1.主要部分
- 内核
- shell(命令解释器)
- 文件系统
- 应用程序
2.Linux体系结构
依据权限划分(用户空间权限小,内核空间权限大)
程序运行时在用户态和内核态之间转化,即需要高权限时进入内核态对硬件进行操控,需要低权限时则保持用户态与用户进行交互
Linux
用户空间(应用程序运行的空间)
--应用程序
内核空间(系统内核运行的空间)
--系统调用
-- 内核
--平台架构相关的代码
对于内核(Linux系统的底层)
- 内核是硬件与软件之间的中间层
- 内核是一个资源管理程序
- 内核提供一组面向系统的命令
五、Linux系统结构
1.进程管理
- 进程是正在执行的一个程序或命令
- 进程有自己的地址空间,占用一定的系统资源
- 一个CPU核同一时间只能运行一个进程
- 进程由它的进程ID(PID)和它父进程的进程ID(PPID)唯一识别
2.查看进程信息
查看启动的nginx进程
- ps -ef | grep nginx
查看某个进程
- top -p 93824
关闭指定的进程
- kill 93824
全部进程动态实时视图
- top
3.进程调度
a.进程调度是指操作系统按某种策略或规则选择进程占用CPU进行运行的过程
graph TD
创建进程 --> 进程就绪
特殊事件触发 --> 进程就绪
进程运行 --> 特殊事件触发
进程运行 --> 进程僵死 --> 进程结束
进程运行 --> 进行就绪 --> 进程运行
b.进程状态
- R 可执行状态
- S 可中断的睡眠状态
- D 不可中断的睡眠状态
- T 暂停状态或跟踪状态
- Z 退出状态,进程成为僵尸进程
- X 退出状态,进程即将被摧毁
c.进程调度原则
- 一个CPU核同一时间只能运行一个进程
- 每个进程有近乎相似的执行时间
- 对于逻辑CPU而言进程调度使用轮询的方式执行,当轮询完成则回到第一个进程反复
- 进程执行消耗时间和进程量成正比
4、文件系统
文件系统是操作系统中负责管理持久数据的子系统,负责把用户的文件存放到磁盘硬件中,持久化的保存文件
Linux文件系统是采用树状的目录结构,最上层是/(根)目录
虚拟文件系统(VFS)
- 对应用层提供一个标准的文件操作接口
- 对文件系统提供一个标准的文件接入接口
查看文件系统类型
df命令报告文件系统磁盘空间利用率
- df -T
mount命令是挂载文件系统用的,不带任何参数运行,会打印包含文件系统类型在内的磁盘分区的信息
- mount
文件基本操作
- ls #查看文件夹下内容
- mkdir demo #创建文件夹
- mv demo /home #移动demo文件夹到/home
- rm -r demo #删除demo文件夹
- touch file.txt #创建空文件
- op file.txt file_bak.txt #复制文件
5.用户权限
查看用户信息
- w #查看当前登录用户信息
- groups #查看当前用户所属的组
- id xxxx #查看用户的uid信息
6.文件权限
所有者:文件的所有者
所在组:文件的所有者所在的组
其他人:除文件所有者及所在组外的其他人
权限包括读(R)、写(W)、执行(X)