[ 前端与 HTML | 青训营笔记]Linux基础

27 阅读7分钟

Linux基础


1 . 学习linux价值

image.png 2 . 为什么选择企鹅作为logo

开源系统为全人类所共有

image.png

image.png 3 . 目录

计算机硬件

计算机操作系统、

Linux系统概览

Linux系统结构

Linux系统软件包管理

4 . **计算机硬件

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

控制器 运算器 存储器单元 输入单元

输出单元

控制器和运算器为cpu

image.png 5 . 计算机操作系统

image.png 问题引出:

程序启动必须有操作系统来执行,而操作系统本身也是一个程序,是如何在开机的时候被执行的呢? 操作系统的启动流程

image.png BIOS和UEFI为计算机内部固化在主板上的编写好的程序用来引导启动操作系统,作用用来在开机时候就会启动该程序,区别BIOS启动时候会自检会耗时间,启动时候磁盘分区中BIOS不能引导超过2.2T容量以上磁盘。UEFI是BIOS的升级和优化。Bootloader是一种引导操作系统启动的程序

BIOS/UEFI 固化在主板上的一段程序,主要作用是让计算机在开机的时候就能执行或解析到这段程序。找到并运行Bootloader。
Bootloader:操作系统启动程序

6. Linux系统概览

1)Linux发展简史

image.png 69年可以免费。84年商业化

GPL为一个通用的公共许可。

2)Linux系统版本

image.png 3)查看Linux系统内核命令

image.png

image.png 3)Linux系统应用领域

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

嵌入式和智能设备

个人办公桌面

学术研究与软件研发

7.Linux系统结构

image.png 1)Linux系统一般有四个主要部分

内核:提供核心能力

Shell(命令解释器):输入一些命令来实现和Linux内核的交互

文件系统:负责把用户的文件存储到磁盘中

应用程序

2)Linux体系结构 用户空间和内核空间,两者分开运行,用户空间崩溃不会影响内核空间。 内核空间拥有最高级别的权限(访问硬件设备的所有权限,以及对系统资源管理的权限),用户空间拥有最低级别的空间

应用程序默认运行于用户空间运行,即用户态。用户发起I/O请求时候,底层从C library发起一次系统调用,程序会从用户态切换为内核态,程序会拥有最高权限,当结束后会从内核态变回用户态,这就是一次简单系统调用过程

image.png 3)内核漫画

image.png

image.png 企鹅可以看做是进程

狗可以看做对进程监控和管理系统

注解1:两个进程之间可以通过管道通信8 . Linux系统结构

image.png

image.png 都是进程****

Pid1为所有用户进程的父进程

Pid2为所有内核进程的父进程

2)查询进程信息

1)进程管理

image.png

image.png

image.png S那一行下面为S说明为休眠状态

Cpu等都是0

NI为调度优先级

Top 命令-类似于资源管理器

image.png 问题思考:系统中运行的程序远远大于CPU核数,Linux系统是如何实现同时运行这么多程序的?

进程调度

3)进程调度

进程调度:

是指操作系统按某种策略或规则选择进程占用CPU进行运行的过程

image.png 原则: · 一个CPU核同一时间只能运行一个进程

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

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

· 进程执行消耗时间与进程量成正比

4)进程的系统调用

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

用户空间:应用程序运行的空间

NJS例子:

NGINX是一款高性能的开源Web服务器软件

在Linux中,"njs"通常指的是NGINX JavaScript(简称njs)模块。该模块允许使用JavaScript来扩展和定制NGINX服务器的功能,包括处理HTTP请求、读取和修改请求头、访问请求正文、使用HTTP2等。

njs模块通过V8引擎提供了对JavaScript的支持,并可以与NGINX C模块和其他第三方模块集成。它还提供了许多内置的JavaScript函数和对象,以方便开发人员编写高效的NGINX配置文件和扩展。

image.png 5)文件系统

I:

· 含义:是操作系统中负责管理持久数据的子系统,负责把用户的文件存到磁盘硬件中,持久化的保存文件。

· Linux中一切皆文件:【保证了操作和接口调用统一】

· 普通文件、目录、硬件设备、套接字(网络连接)

image.png

image.png II.目录结构

Linux文件系统是采用树状的目录结构,最上层是/(根)目录。

image.png 问题思考:Linux有这么多不同的文件系统,如何时间对用户提供统一调用接口的?

III.虚拟文件系统(VFS)

· 一个中间层,用于抹平不同文件的差异

· 对应用层提供一个标准的文件操作接口

· 对文件系统提供一个标准的文件接入接口

image.png IV查看文件系统类型

image.png

image.png Tmpfs为虚拟文件系统

V文件基本操作

image.png

image.png DMA njx Socket

缓冲区为以前用户打开或使用过的文件,如果有目标文件的话直接打开。

DMA:可以直接和磁盘交互,获取磁盘中的一些数据,将磁盘上的一些数据写到内核缓冲区

缓冲区:减少对系统的调用次数、集中调用、提高系统性能

6)用户权限

用户账号

· 普通用户账户:在系统中进行普通作业

· 超级用户账户:在系统中对普通用户和整个系统进行管理

组账户(group)

· 标准组:可以容纳多个用户

· 私有组:只有用户自己

I. 查看用户信息

image.png

image.png II. 文件权限

文件权限关于用户有三个概念

· 所有者:文件的所有者(文件属于谁)

· 所在组:文件的所有者所在的组

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

每个用户对于文件都有不同权限包括读(R)、写(W)、执行(X)****

image.png d-文件夹

III.  用户权限操作

image.png IV. 软件包

软件包

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

软件包管理

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

· 上层工具:主要用于数据的搜索任务和依赖解析任务,APT,YUM,DNF

软件包管理工具

· RPM(Red Hat Package Manager),为Red hat操作系统的包管理系统

· DPKG(Debian package),为Debian操作系统的包管理系统

image.png V. DebianAPT 常用命令

image.png VI. Debian配置软件源 由于国内网络问题有些软件包下载很慢npn前端包管理工具

image.png 总结

image.png 个人感受

今天学习了linux基础,相比之前计算机网络基础好学和学懂很多,可能在校也在学习Linux的缘故吧,老师把每一个知识点讲得浅显易懂,不懂的专业术语已查课外资料并补充到笔记中方便以后查看,此课学习Linux系统发展历史,基础命令,文件管理,结构等,在今后的学习中我会更加努力学习Linux,还是比较喜欢此方面。