Linux基础笔记|青训营笔记

59 阅读4分钟

1..计算机由五大基本单元组成。

E9EB026FDC497E14D2D1CF2C795F448F.jpg

2.操作系统(承上启下)

苹果 安卓 微软

FB6D7C7C77EE35442ABC5A38670B0494.jpg

开机时如何执行操作系统

启动流程(类似程序)

1.bios启动模式

BIOS自检

bootloder

OS

2.UEFI启动模式(是第一种的优化)

bootloder

OS

3.Linux发展史

C4D5D580D4483F523DE292301E889549.png Linux版本

1.内核版本

作者本人去维护,提供文件管理 内核管理

2.发行版本=Linux内核版本+常用软件

91674AD92713CED9157592E4DAF4A476.png Linux系统应用领域

BACA904F99AEE60D9D6E06A7E17F0BBE.jpg IT服务器(操作系统,虚拟化和云计算)

嵌入式智能设备

个人办公桌面

学术研究和软件研发

Linux系统结构

内核

shell

文件系统

应用程序

内核

提供底层能力

shell

命令解析器

文件系统

负责把用户文件传到磁盘中去

应用系统

Linux应用程序

Linux体系结构

主要分为用户空间(分为应用程序)和内核空间(系统调用。平台架构相关代码)

为什么分为用户空间和内核空间?

运行不一样一个运行应用,一个运行操作系统

安全性:用户空间损坏不会影响到内核空间

权限:内核空间拥有全部权限

应用程序如何与硬件通信?

应用程序上下层的切换 发起系统调用,然后进入内核空间 再切换为应用态

内核是硬件与软件直接的中间层

内核是一个资源管理程序

内核提供一组面向系统的命令

38053A197F88F7B1180C59880CF2351A.jpg

底层文件操作

中层:进层监控

cron 定时调动

进程直接允许通道

上层:输入项的处理

Linux进程管理

进程的含义:正在执行的一个程序或命令

进程有一定自己的地址空间,占用一定的资源

一个CPU核同一时间智能运行一个进程

4.进程由它的进程Id(PID)和它父进程的进程id(PPID)唯一识别 对4的解释

由父进程拉一个子进程,子进程的资源拉进一个新创建的进程当中

查看Linux的进程对应哪个程序

QQ图片20230416114305.jpg

Linux系统怎么实现同时运行多个程序?

使用进程调度

含义:进程调度是指操作系统按某种策略或规则选择进程占用了cpu运行的时间换而言之,CPU将运行时间进行了切分

QQ图片20230416114321.jpg

R可执行状态

S可中断状态

D不可中断睡眠状态

T暂停状态或跟踪状态

Z退出状态进入僵尸进程

X退休状态,进程即将被销毁

进程调度原则

一个cpu核同一时间只能运行一个进程

每个进程近乎相等执行时间

对于逻辑CPU而言进程调度使用轮询的方式执行,当轮询完成后则回到第一个进程反复

进程消耗的时间和进程量成正比

进程内核系统的调用

内核空间:系统内核运行的空间

用户空间:应用系统运行的空间

Linux系统结构

文件系统

Linux系统中一切皆文件

文件内容包括

1.普通文件

2.目录

3.设备

4.套接字

看作文件好处

保证所有操作都是统一的,接口调用的统一

Linux目录结构(采用树状形式)

最上层是根目录

虚拟文件系统(VFS)

打通所有文件类型,保证所有操作的统一

QQ图片20230416114923.jpg

文件读取流程

从上往下 缓冲区

从左到右

用户权限

1.用户账户

2.组用户

查看用户信息

QQ图片20230416114816.jpg

文件权限

当前文件的所有者

文件的所有者所在的组

除文件所有者及所在组外的其他人

QQ图片20230416114804.jpg

B9B18BC4C64A308C3B0A5CE7A3F41AF5.jpg

软件包的管理

软件包:通常是指一个应用程序,它可以是一个GUI应用程序,命令行工具或(其他软件程序需要的)软件库

软件包管理

底层工具:主要用来处理安装和删除软件包文件等任务

上层工具:主要用于数据搜索任务和依赖解析任务

例如底层工具做饭的番茄

上层工具例如厨师

FD89FDB79732E562C7EAB764C976F17E.jpg

Debian APT常用命令

列出所有可更新的软件清单命令:apt update

安装指定的软件命令:apt install<package_1><package_2>

更新指定的软件命令:apt update<package_name>

寻找软件包命令apt search< keyword>

删除软件包命令apt  remove< keyword>

列出所有已安装的包 apt list--installed

B2EBD1C128241D8D521F0E5F79D2F4D6.jpg