计算机由五大基础单元组成
- 控制器
- 运算器
- 存储器单元
- 输入单元
- 输出单元
操作系统(Operating System,OS)
管理和控制计算机系统中的硬件和软件资源,用于在用户与系统硬件之间传递信息
查看Linux系统版本
Linux基本组成
Linux系统一般有4个主要部分
- 内核
- shell
- 文件系统
- 应用程序
Linux体系结构
- 内核是硬件与软件之间的中间层
- 内核是一个资源管理程序
- 内核提供一组面向系统的命令
Linux系统结构
进程管理
- 进程是正在执行的一个程序或命令
- 进程有自己的地址空间,占用一定的系统资源
- 一个CPU核同一时间只能运行一个进程
- 进程由它的进程ID(PID)和它的父进程的进程ID(PPID)唯一识别
查看进程信息
查看启动的nginx进程:ps - ef | grep nginx
查看某个进程:top -p 123456
关闭指定的进程:kill 123456
全部进程动态实时视图:top
问题思考:
系统中运行的程序远远大于CPU的核数,那Linux系统是如何实现同时运行这么多程序的? 答:Linux是通过进程调度来实现这么多程序的。
进程调度
进程调度是指操作系统按某种策略或规则选择进程占用CPU进行运行的过程
进程调度原则
- 一个CPU核同一时间只能运行一个进程
- 每个进程有近乎相等的执行时间
- 对于逻辑CPU而言进程调度使用轮询的方式执行,当轮询完成则回到第一个进程反复
- 进程执行消耗时间和进程量成正比
进程的系统调用
内核空间(Kernal Space):系统内核运行的空间 用户空间(User Space):应用程序运行的空间
文件系统
文件系统是操作系统中负责管理持久数据的子系统,负责把用户的文件存到磁盘硬件中,持久化的保存文件。
虚拟文件系统
虚拟文件系统(VFS)
- 对应用层提供一个标准的文件操作接口
- 对文件系统提供一个标准的文件接入接口
查看文件系统类型
df命令报告文件系统磁盘空间利用率:df -T
mount命令是挂载文件系统用的,不带任何参数运行,会打印包含文件系统类型在内的磁盘分区信息
文件基本操作
ls # 查看文件夹下内容
mkdir demo # 创建文件夹
mv demo /home # 移动demo文件夹到 /home
rm -r demo # 删除demo文件夹
touch file.txt # 创建空文件
cp file.txt file_bak.txt # 复制文件
用户权限
- 用户账户
- 普通用户账户:在系统中进行普通作业
- 超级用户账号:在系统中对普通用户和整个系统进行管理
- 组账户
- 标准组:可以容纳多个用户
- 私有组:只有用户自己
查看用户信息
文件权限
文件权限关于用户有三个概念:
所在者:文件的所有者
所在组:文件的所有者所在的组
其他人:除文件所有者及所在组外的其他人
每个用户对于文件都有不同权限,包括读(R)、写(W)、执行(X)
用户权限操作
总结:
经过今天的学习,让我对linux操作系统有了更深刻的认识,因为之前也是接触过这方面的东西,但是对它底层的实现原理也没有过多的去了解过,也明白了linux基本的运作原理,对今后学习linux操作系统有了更进一步的理解。