这是我在字节第六届前端青训营的第二篇学习笔记
一、计算机硬件
1、组成计算机的五大基本单元
在一个完整的冯诺依曼计算体系当中,计算机主要由五大基本单元组成,分别是控制器、运算器、存储器、以及输入 输出两个单元。
(1)控制器:执行指令,控制各硬件组件工作
(2)运算器:用于数据运算
(3)存储器单元:用于存储程序和数据。
(4)输入单元:用于向计算机输入数据和指令。
(5)输出单元:将计算机处理后的数据和结果输出给用户。
二、操作系统
管理和控制计算机系统中的硬件和软件资源,用于用户与系统硬件之间传递信息。
操作系统的目的是:向上层提供方便易用的服务。
它起到一个承上启下的作用:可以在操作系统之上可以运用我们的计算机应用程序,也可以直接与硬件做出交互。
问题: 程序启动必须有操作系统来执行,那操作系统本身也是一个程序,那是如何在开机时被执行的呢?
操作系统的启动流程,一般有两种模式,BIOS启动和UEFI启动,两者逻辑如下:
在计算机启动时,最先被执行的是计算机 BIOS(Basic Input/Output System)或 UEFI(Unified Extensible Firmware Interface),它们是计算机的固件,也就是硬件上的软件。UEFI一般可以理解为BIOS的优化和升级。BIOS 或 UEFI 将会执行 POST(Power On Self Test,自检程序)以确认硬件设备是否正常。
接着,BIOS 或 UEFI 会寻找启动盘(通常是硬盘或者 USB 设备),读取启动盘中的引导程序。引导程序是一个小程序,它被放置在启动盘的特定位置,用于启动操作系统。
当引导程序被加载后,它会加载操作系统内核和初始化程序,并将控制权转移到操作系统内核中,启动操作系统的运行。操作系统会根据用户或者系统设置,加载相应的服务和应用程序,提供计算机的各种功能。
三、Linux系统概览
Linux发展历史
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操作系统拥有众多的应用程序,涵盖了各种领域,可以满足不同用户的需求
Linux将空间分为用户空间和内核空间,从安全和权限方面来说,用户拥有更少的硬件权限,保障了系统的基本稳定和发展。并且应用了相应的调度策略,完成支援管理
(1)内核是硬件与软件之间的中间层
(2)内核是一个资源管理程序
(3)内核提供一组面向系统的命令
- 内核是硬件与软件之间的中间层
- 内核是一个资源管理程序
- 内核提供一组面向系统的命令