Linux基础
1 . 学习linux价值
2 . 为什么选择企鹅作为logo
开源系统为全人类所共有
3 . 目录
计算机硬件
计算机操作系统、
Linux系统概览
Linux系统结构
Linux系统软件包管理
4 . **计算机硬件
计算机由五大基本单元组成
控制器 运算器 存储器单元 输入单元
输出单元
控制器和运算器为cpu
5 . 计算机操作系统
问题引出:
程序启动必须有操作系统来执行,而操作系统本身也是一个程序,是如何在开机的时候被执行的呢? 操作系统的启动流程
BIOS和UEFI为计算机内部固化在主板上的编写好的程序用来引导启动操作系统,作用用来在开机时候就会启动该程序,区别BIOS启动时候会自检会耗时间,启动时候磁盘分区中BIOS不能引导超过2.2T容量以上磁盘。UEFI是BIOS的升级和优化。Bootloader是一种引导操作系统启动的程序。
BIOS/UEFI 固化在主板上的一段程序,主要作用是让计算机在开机的时候就能执行或解析到这段程序。找到并运行Bootloader。
Bootloader:操作系统启动程序
6. Linux系统概览
1)Linux发展简史
69年可以免费。84年商业化
GPL为一个通用的公共许可。
2)Linux系统版本
3)查看Linux系统内核命令
3)Linux系统应用领域
IT服务器(操作系统,虚拟化和云计算)
嵌入式和智能设备
个人办公桌面
学术研究与软件研发
7.Linux系统结构
1)Linux系统一般有四个主要部分
内核:提供核心能力
Shell(命令解释器):输入一些命令来实现和Linux内核的交互
文件系统:负责把用户的文件存储到磁盘中
应用程序
2)Linux体系结构 用户空间和内核空间,两者分开运行,用户空间崩溃不会影响内核空间。 内核空间拥有最高级别的权限(访问硬件设备的所有权限,以及对系统资源管理的权限),用户空间拥有最低级别的空间
应用程序默认运行于用户空间运行,即用户态。用户发起I/O请求时候,底层从C library发起一次系统调用,程序会从用户态切换为内核态,程序会拥有最高权限,当结束后会从内核态变回用户态,这就是一次简单系统调用过程
3)内核漫画
企鹅可以看做是进程
狗可以看做对进程监控和管理系统
注解1:两个进程之间可以通过管道通信8 . Linux系统结构
都是进程****
Pid1为所有用户进程的父进程
Pid2为所有内核进程的父进程
2)查询进程信息
1)进程管理
S那一行下面为S说明为休眠状态
Cpu等都是0
NI为调度优先级
Top 命令-类似于资源管理器
问题思考:系统中运行的程序远远大于CPU核数,Linux系统是如何实现同时运行这么多程序的?
进程调度
3)进程调度
进程调度:
是指操作系统按某种策略或规则选择进程占用CPU进行运行的过程
原则:
· 一个CPU核同一时间只能运行一个进程
· 每个进程有近乎相等的执行时间
· 对于逻辑CPU而言,进程调度使用轮询的方式执行,当轮询完成则回到第一个进程反复
· 进程执行消耗时间与进程量成正比
4)进程的系统调用
内核空间:系统内核运行的空间
用户空间:应用程序运行的空间
NJS例子:
NGINX是一款高性能的开源Web服务器软件
在Linux中,"njs"通常指的是NGINX JavaScript(简称njs)模块。该模块允许使用JavaScript来扩展和定制NGINX服务器的功能,包括处理HTTP请求、读取和修改请求头、访问请求正文、使用HTTP2等。
njs模块通过V8引擎提供了对JavaScript的支持,并可以与NGINX C模块和其他第三方模块集成。它还提供了许多内置的JavaScript函数和对象,以方便开发人员编写高效的NGINX配置文件和扩展。
5)文件系统
I:
· 含义:是操作系统中负责管理持久数据的子系统,负责把用户的文件存到磁盘硬件中,持久化的保存文件。
· Linux中一切皆文件:【保证了操作和接口调用统一】
· 普通文件、目录、硬件设备、套接字(网络连接)
II.目录结构
Linux文件系统是采用树状的目录结构,最上层是/(根)目录。
问题思考:Linux有这么多不同的文件系统,如何时间对用户提供统一调用接口的?
III.虚拟文件系统(VFS)
· 一个中间层,用于抹平不同文件的差异
· 对应用层提供一个标准的文件操作接口
· 对文件系统提供一个标准的文件接入接口
IV查看文件系统类型
Tmpfs为虚拟文件系统
V文件基本操作
DMA njx Socket
缓冲区为以前用户打开或使用过的文件,如果有目标文件的话直接打开。
DMA:可以直接和磁盘交互,获取磁盘中的一些数据,将磁盘上的一些数据写到内核缓冲区
缓冲区:减少对系统的调用次数、集中调用、提高系统性能
6)用户权限
用户账号
· 普通用户账户:在系统中进行普通作业
· 超级用户账户:在系统中对普通用户和整个系统进行管理
组账户(group)
· 标准组:可以容纳多个用户
· 私有组:只有用户自己
I. 查看用户信息
II. 文件权限
文件权限关于用户有三个概念
· 所有者:文件的所有者(文件属于谁)
· 所在组:文件的所有者所在的组
· 其他人:除文件所有者所在组外的其他人
每个用户对于文件都有不同权限包括读(R)、写(W)、执行(X)****
d-文件夹
III. 用户权限操作
IV. 软件包
软件包
· 软件包:通常指的是一个应用程序,它可以是一个GUI应用程序、命令行工具或(其他软件程序需要的)软件库
软件包管理
· 底层工具:主要用来处理安装和删除软件包文件等任务,DPKG,RPM
· 上层工具:主要用于数据的搜索任务和依赖解析任务,APT,YUM,DNF
软件包管理工具
· RPM(Red Hat Package Manager),为Red hat操作系统的包管理系统
· DPKG(Debian package),为Debian操作系统的包管理系统
V. DebianAPT 常用命令
VI. Debian配置软件源
由于国内网络问题有些软件包下载很慢npn前端包管理工具
总结
个人感受
今天学习了linux基础,相比之前计算机网络基础好学和学懂很多,可能在校也在学习Linux的缘故吧,老师把每一个知识点讲得浅显易懂,不懂的专业术语已查课外资料并补充到笔记中方便以后查看,此课学习Linux系统发展历史,基础命令,文件管理,结构等,在今后的学习中我会更加努力学习Linux,还是比较喜欢此方面。