Linux基础
学习目标:
- 计算机硬件
- 计算机操作系统
- Linux 系统概览
- Linux 系统结构
- Linux 系统软件包管理器
四、Linux系统结构
(1)Linux 基本组成
Linux 系统一般有 4 个主要部分
- 内核
- shell
- 文件系统
- 应用程序
(2)Linux 体系结构
Linux结构主要分为用户空间和内核空间。
用户空间主要包含用户运行的应用程序以及GNU C library,也就是封装好的系统标准调用库,而内核空间主要分为三块,分别是系统调用层、内核代码以及平台架构相关的一些代码。用户空间和内核空间是操作系统的理论基础之一,内部模块运行于内核空间,而应用程序则运行于用户空间。从安全的角度讲,他们是隔离的,也就是说,即使用户程序崩溃了,也不会对内核造成任何影响。
同时内核是硬件与软件之间的中间层,也是一个资源管理程序,负责提供一组面向系统的命令。
(3)进程管理
进程管理的特点:
- 进程是正在执行的一个程序或命令
- 进程有自己的地址空间,占用一定的系统资源
- 一个CPU核同一时间只能运行一个进程
- 进程由它的进程 ID(PID)和它父进程的进程ID(PPID) 唯一识别
(4)查看进程信息
(5)进程调度
进程调度是指操作系统按某种策略或规则选择进程占用CPU进行运行的过程。简单理解就是,CPU将其运行时间做了切分,比如100毫秒为一个单位,每100毫秒CPU就会拉起一个待执行的进程进入执行状态,当进程执行完成或者本次执行时间到期后,CPU会自动切换到下一个进程开始执行。
每个阶段所对应的进程状态:
- R(TASK RUNNING),可执行状态
- S(TASK_INTERRUPTIBLE),可中断的睡眠状态
- D(TASK_UNINTERRUPTIBLE),不可中断的睡眠状态
- T(TASK STOPPED or TASK_TRACED),暂停状态或跟踪状态
- Z(TASK DEAD - EXIT ZOMBIE),退出状态,进程成为僵尸进程
- X(TASK DEAD - EXIT DEAD),退出状态,进程即将被销毁
(6)进程调度原则
- 一个CPU核同一时间只能运行一个进程
- 每个进程有近乎相等的执行时间
- 对于逻辑 CPU 而言进程调度使用轮询的方式执行,当轮询完成则回到第一个进程反复
- 进程执行消耗时间和进程量成正比