Linux以企鹅为logo,表达其开源思想。GPL:通用公共许可)协议
计算机硬件 组成:
控制器
运算器
存储器单元(内、外存)
输入单元
输出单元
计算机操作系统 (OS,Operating System)
useage:
控制管理计算机系统中硬件和软件资源,用于用户和系统硬件间传递信息。计算机中最大软件。起承上启下作用。
具体例子:Linux, Apple ,Android, HarmonyOS
操作系统的执行:
1、BIOS-BIOS自检-Boodloader-OS
2 UEFI-Boodloader-OS
Linux部分:
版本:内核版本(作者本人维护)与发现版本 内核版本+Linux内核=Linux发行版本
代码部分:
查看Linux内核版本:
1、name -a
2、cat/proc/version
cat/etc/os-release #查看Linux系统版本
应用领域:IT服务器、嵌入式和智能设备、个人办公桌面、学术研究与研发
结构:
内核:提供操作系统底层能力。内存、进程、文件系统、硬件资源的管理
shell:命令解释器。通过shell输入指令实现与内核的交互。
文件系统:将用户文件存到磁盘
应用程序:DIM...
体系结构:(安全与权限方面的考虑)
用户空间:用户态
内核空间:内核态
内核漫画
Linux系统结构
进程管理:
进程是正在执行的一个程序或命令
进程有自己的地址空间,占用一定的系统资源
一个CPU核同一时间只能运行一个进程
进程由它的进程ID(PID)和它父进程的进程ID(PPID)唯一识别
conclusion:结构为树形结构
命令:
ps -ef | grep nginx(nginx为进程名) #查看启动的nginx进程
top -p PID #查看某进程
kill PID #关闭指定进程
top #全部进程动态实时视图
进程调度:操作系统按某种策略或者规则选择进程占用CPU进行运行的过程。
调用原则:
一个CPU核同一时间只能运行一个进程
每个进程有几乎相等的执行时间
对于逻辑CPU而言进程调度使用轮询的方式执行,当轮询完成则回到第一个进程反复(队列形式,保住低优先级的进程也会被执行)
进程执行消耗时间和进程度成正比
进度过程的系统调用:
内核空间Kernal Space:系统内核运行空间
用户空间User Space:应用程序运行空间
文件系统:OS中负责管理持久数据的子系统,负责把用户的文件存到磁盘硬件中,持久化的保存文件。
Attention:Linux中一切皆文件。保证对文件的操作统一,接口调用的统一。
树状结构: 最上层是/(根)目录
虚拟文件系统(VFS)
指令:
df -T #报告文件系统磁盘空间利用率
mount #挂载文件系统使用的,不带任何参数运行,会打印包含文件系统类型在内的磁盘分区信息
文件基本操作:
文件读取流程:具体看图
术语DMA:直接存储访问。可直接与磁盘进行交互,获取磁盘数据,将磁盘数据写入内核缓冲区。
缓冲区:减少对系统的调用次数,集中调用,提高系统性能
用户权限
用户账号
普通用户:在系统中进行普通作业
超级用户账号:在系统中对普通用户和整个系统进行管理
组账户
标准组:可以容纳多个用户
私有组:只有用户自己
代码部分:
w #查看当前用户信息
groups #查看当前用户所属组(p.s.一个用户可以属于多个组)
id xxxx #查看当前用户uid
文件权限
所有者:
所有组:
其他人:
每个用户对用户有不同权限,包括r,w,x(执行)
e.g.
代码部分:
注释:chown 改变该文件夹所拥有用户。
软件包管理
软件包::通常指一个应用程序,为GUI应用程序、命令行工具或(其他软件程序需要的)软件库
软件包管理:底层工具:主要用于安装和删除软件包文件等任务,DPKG,RPM
上层工具:主要用于数据的搜索任务和依赖解析任务,APT,YUM,DNF
Debian APT常用命令
Debian配置软件源
Linux是广泛应用的一种操作系统。本文的内容主要复现了老师上课所讲。如果你看到这里,你会发现,虽然本文有不少代码方面的例子,但是这显然不是文章的重点。这节课有很大一部分讲操作系统,着重介绍了Linux作为一个强大、广泛应用的操作系统的特性。课程很棒的一点是从安全性的角度引出了用户权限、文件权限的内容。——这门课对我来说重要的是对操作系统,尤其是Linux操作系统的介绍。它使我得以从一角窥见计算机世界内的东西。计算机科学里边的理论很有趣,我们一起探索!