Linux系统一般有四个主要部分:内核、shell、文件系统、应用程序
内核可分为3层:第一层文件系统,第二层进程管理,第三层TTY(有命令行工具,用于交互使用)(TTY是Linux和Unix中的一个子系统,通过TTY驱动程序在内核级别实现流程管理、编辑和会话管理。)
进程管理:有进程管理员,cron:定时调度,进程之间可以通过管道通信,进程可直接访问文件系统。 tty:对输入项进行处理,最终返回结果给输入项
进程管理
进程是正在执行的一个程序或命令,是动态的概念
进程有自己的地址空间,占用一定的系统资源
一个CPU核同一时间只能运行一个进程
进程由它的进程ID(PID)和它父进程的进程ID(PPID)唯一识别 查看进程信息
进程调度:操作系统按某种策略或规则选择进程占用CPU进行运行的过程。
当父进程关闭子进程时,这个进程才被关闭。 查看进程命令
进程调度原则
一个CPU核同一时间只能运行一个进程 每个进程由近乎相等的执行时间 对于的、逻辑CPU而言进程调度使用轮询的方式执行,当轮询完成则回到第一个进程反复
进程执行消耗时间和进程量成正比
进程的系统调用
内核空间:系统内核运行的空间
用户空间:应用程序运行的空间
当Ngix运行时,默认在用户态,发起一个I/O请求后,切换到内核态,调用后返回结果给用户态
文件系统:是操作系统中负责管理持久数据的子系统,负责把用户的文件存到磁盘硬件中,持久化的保存文件
LInux文件系统是采用树状的目录结构,最上层是/根目录
bin:可执行命令
boot:
dev:设备文件目录 opt:
root:超级管理员目录
sbin:命令行二进制目录
home:用户信息目录
usr
虚拟文件系统(VFS)
对应用层提供一个标准的文件操作接口
对文件系统提高一个标准的文件接入接口
查看文件命令
文件读取流程
DMA:可直接获取磁盘数据,将磁盘数据写入内核缓冲区
加入缓冲区:为了减少系统调用,提高系统性能
用户权限
用户账号
普通用户账户:在系统中进行普通作业
超级用户账户:在系统中对普通用户和整个系统进行管理
组账户
标准组:可以容纳多个用户
私有组:只有用户自己
查看用户信息
文件权限
所有者:文件的所有者 所在组:文件的所有者所在组 其他人:除文件所有者及所在组外的其他人 每个用户对于文件都有不同的权限,包括读(R)、写(W)、执行(X)
软件包管理
软件包:通常指的是一个应用程序,它可以是一个GUI应用程序、命令行工具或(其他软件程序需要的)软件库 软件包管理 底层工具:主要用来处理安装和删除软件包文件等任务,DPKG,RPM 上层工具:主要用于数据的搜索任务和依赖解析任务,APT,YUM,DNF
软件包管理工具
RPM(Red Hat Package Manager),为Red hat操作系统的包管理系统 DPKG(Debian package),为Debian操作系统的包管理系统
Debian APT常用命令