Linux基础 | 青训营笔记

48 阅读4分钟

前言

Linux 作为开源的系统,目前正在各个领域发光发热。不管是前端还是服务端,日常开发都免不了跟 linux 打交道,本门课程整体介绍了 linux 的基础知识点及部分内核结构,旨在帮助大家能够了解及加深对 linux 的认知,方便日常工作的开展。本节课程主要包括计算机体系结构和linux系统介绍。

对于学习linux系统的价值,本次的主讲老师给出的答案是Linux是现代化应用程序交付的首选平台,无论是部署在裸机、虚拟化还是容器化环境;公司内部服务(TCE、 FaaS、 SCM)统一使用Debian Linux系统;熟悉Linux基础指令,熟练运维前端常用服务(Nginx, Node.js);以及加深对操作系统概念和实现的理解,夯实基础知识。

计算机硬件

在一个完整的冯诺依曼计算体系当中,计算机主要由五大基本单元组成,分别是控制器、运算器、存储器、以及输入输出两个单元。

控制器,顾名思义,他的作用就是协调和指挥计算机中各个部件进行按需作业。运算器主要作用就是算术与逻辑运算的处理。存储器主要分为内存跟外存,磁盘光驱等都是属于外存。输入设备比如鼠标、键盘,输出设备比如显示器、音响等。

下面这种图简单的描述了基本单元的原型流程,从输入设备输入指令,经过控制器、运算器、存储器之间的处理,最终输出结果到输出设备展示给用户。

介绍完计算机硬件,接下来我们看下计算机中最大的软件,也就是操作系统。

image.png

计算机操作系统

计算机操作系统的概念:操作系统是用于管理和控制计算机系统中的硬件和软件资源,用于在用户与系统硬件之间传递信息。操作系统主要提供了两个方面的能力,一个是管理计算机资源,包括处理器管理、存储管理、设备管理、文件管理等,另外一个能力是提供各种的用户接口,包括命令接口、图形用户接口、程序调用接口,实现外部程序与操作系统内核的交互。目前主流的计算机操作系统包括mac系统、linux 系统、windows、手机端安卓系统以及目前比较火的华为鸿蒙系统。

image.png

image.png

操作系统的启动流程

image.png

操作系统的启动流程分为传统模式,也就是基于bios的启动流程,另一种是当前的主流模式,就是基于UEFI的启动流程。BIOS或者UEFI其实就是一段固化在主板 上的程序,计算机启动时会默认运行这段程序,然后通过这段程序去运行主板引导项,其实大家可以简程序解为UEFI是BIOS流程的升级版本,解决优化了BIOS启ootloader也就是操作系统引导程序,然后通过引导程初始化操作系统。序运行动中的一些问题。比如优化了BIOS自检流程,然后BIOS启动会配合MBR分区,无法引导启动超过2.2T的磁盘。而UEFI-版配合GPT分区,支持引导超过2.2T的磁盘。

Linux系统概览

Linux发展史

  1. 1969年,Unix诞生于贝尔实验室

  2. 1984年,贝尔实验室将Unix商业化

  3. 1984年,Tanenbaum 开发Minix操作系统用于教学并开放源码

  4. 1984年,Richard M. Stallman发起自由软件(FSF) 与GNU项目,起草GPL (通用公共许可)协议

  5. 1991年,Linus Torvalds受Minix影响实现初版的Linux内核

  6. 1992年,Linux 内核以GPL协议发行V1.0

Linux版本

Linux系统包括两种版本,内核版本和发行版本,两者的关系如下图所示:

image.png

Linux系统应用领域

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

  • 嵌入式和智能设备

  • 个人办公桌面

  • 学术研究与软件研发

Linux系统

Linux基本组成

如图所示,Linux系统一般有四个主要部分:内核、shell、文件系统和应用程序。

image.png

Linux体系结构

image.png

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

  2. 内核是-个资源管理程序

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

其他

通过本次课程的学习,我了解到了一些计算机体系结构和linux系统的相关知识。感兴趣的同学可以自行去学习字节内部课程。

( ps:本次学习主打的就是快乐!!!)