Linux 基础 | 青训营笔记

80 阅读5分钟

这是我在字节第六届前端青训营的第二篇学习笔记

一、计算机硬件

1、组成计算机的五大基本单元 在一个完整的冯诺依曼计算体系当中,计算机主要由五大基本单元组成,分别是控制器运算器存储器、以及输入 输出两个单元。 (1)控制器:执行指令,控制各硬件组件工作 (2)运算器:用于数据运算 (3)存储器单元:用于存储程序和数据。 (4)输入单元:用于向计算机输入数据和指令。 (5)输出单元:将计算机处理后的数据和结果输出给用户。

image.png

二、操作系统

管理和控制计算机系统中的硬件和软件资源,用于用户与系统硬件之间传递信息。 操作系统的目的是:向上层提供方便易用的服务。 它起到一个承上启下的作用:可以在操作系统之上可以运用我们的计算机应用程序,也可以直接与硬件做出交互。 image.png

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

操作系统的启动流程,一般有两种模式,BIOS启动和UEFI启动,两者逻辑如下:

image.png 在计算机启动时,最先被执行的是计算机 BIOS(Basic Input/Output System)或 UEFI(Unified Extensible Firmware Interface),它们是计算机的固件,也就是硬件上的软件。UEFI一般可以理解为BIOS的优化和升级。BIOS 或 UEFI 将会执行 POST(Power On Self Test,自检程序)以确认硬件设备是否正常。

接着,BIOS 或 UEFI 会寻找启动盘(通常是硬盘或者 USB 设备),读取启动盘中的引导程序。引导程序是一个小程序,它被放置在启动盘的特定位置,用于启动操作系统。

当引导程序被加载后,它会加载操作系统内核和初始化程序,并将控制权转移到操作系统内核中,启动操作系统的运行。操作系统会根据用户或者系统设置,加载相应的服务和应用程序,提供计算机的各种功能。

三、Linux系统概览

Linux发展历史

image.png

Linux发行版本

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

查看Linux系统内核版本

#方法1
uname -a
//显示系统的所有信息,包括内核版本号、操作系统发行版、主机名、处理器类型和架构等等
uname -r
//只显示当前Linux系统的内核版本号
#方法2
cat /proc/version
cat /etc/os-release
//cat /proc/version 命令用于显示当前 Linux 系统内核的版本号、编译者和编译日期。该命令读取 /proc/version 文件的内容并将其输出到终端上。
//该命令可以提供有关 Linux 内核的基本信息,包括内核版本、内核编译器和内核构建日期等。此外,它还提供了有关操作系统的其他信息,例如 GNU 工具链的版本和 CPU 架构信息。
//一些 Linux 系统中可能没有 /proc/version 文件,但是它们通常会提供其他方式来查看内核版本号,例如方法1的 uname -r 命令

Linux系统应用领域

  • IT服务器(操作系统、虚拟化和云计算)
  • 嵌入式和智能设备
  • 个人办公桌面
  • 学术研究和软件研发

四、Linux系统结构

1、Linux的四个主要部分

  • 内核
    • Linux操作系统的核心部分,它管理计算机硬件的资源,包括CPU、内存、磁盘、网络等。它是操作系统与硬件之间的接口,提供了一个操作系统所需的各种基本服务和功能,如进程管理、文件系统、内存管理、网络协议栈等。
  • shell
    • Shell是用户与Linux内核之间的接口,是一个命令解释器,提供了一种命令行界面供用户进行交互。在Shell中,用户可以输入命令和参数,执行脚本和程序,管理文件和目录等
  • 文件系统
    • 文件系统是Linux操作系统中用于管理文件和目录的机制,是用户与操作系统之间进行文件交互的接口。Linux支持多种文件系统,如ext4、NTFS、FAT32等。它们管理着磁盘上的文件和目录,并提供文件读写、权限控制等基本功能
  • 应用程序
    • 应用程序是运行在Linux操作系统上的各种软件,如文本编辑器、浏览器、视频播放器、编译器等。Linux操作系统拥有众多的应用程序,涵盖了各种领域,可以满足不同用户的需求

image.png Linux将空间分为用户空间和内核空间,从安全和权限方面来说,用户拥有更少的硬件权限,保障了系统的基本稳定和发展。并且应用了相应的调度策略,完成支援管理

(1)内核是硬件与软件之间的中间层

(2)内核是一个资源管理程序

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

image.png

  • 内核是硬件与软件之间的中间层
  • 内核是一个资源管理程序
  • 内核提供一组面向系统的命令

image.png