前言
Linux 作为开源的系统,目前正在各个领域发光发热。不管是前端还是服务端,日常开发都免不了跟 linux 打交道,本门课程整体介绍了 linux 的基础知识点及部分内核结构,旨在帮助大家能够了解及加深对 linux 的认知,方便日常工作的开展。本节课程主要包括计算机体系结构和linux系统介绍。
对于学习linux系统的价值,本次的主讲老师给出的答案是Linux是现代化应用程序交付的首选平台,无论是部署在裸机、虚拟化还是容器化环境;公司内部服务(TCE、 FaaS、 SCM)统一使用Debian Linux系统;熟悉Linux基础指令,熟练运维前端常用服务(Nginx, Node.js);以及加深对操作系统概念和实现的理解,夯实基础知识。
计算机硬件
在一个完整的冯诺依曼计算体系当中,计算机主要由五大基本单元组成,分别是控制器、运算器、存储器、以及输入输出两个单元。
控制器,顾名思义,他的作用就是协调和指挥计算机中各个部件进行按需作业。运算器主要作用就是算术与逻辑运算的处理。存储器主要分为内存跟外存,磁盘光驱等都是属于外存。输入设备比如鼠标、键盘,输出设备比如显示器、音响等。
下面这种图简单的描述了基本单元的原型流程,从输入设备输入指令,经过控制器、运算器、存储器之间的处理,最终输出结果到输出设备展示给用户。
介绍完计算机硬件,接下来我们看下计算机中最大的软件,也就是操作系统。
计算机操作系统
计算机操作系统的概念:操作系统是用于管理和控制计算机系统中的硬件和软件资源,用于在用户与系统硬件之间传递信息。操作系统主要提供了两个方面的能力,一个是管理计算机资源,包括处理器管理、存储管理、设备管理、文件管理等,另外一个能力是提供各种的用户接口,包括命令接口、图形用户接口、程序调用接口,实现外部程序与操作系统内核的交互。目前主流的计算机操作系统包括mac系统、linux 系统、windows、手机端安卓系统以及目前比较火的华为鸿蒙系统。
操作系统的启动流程
操作系统的启动流程分为传统模式,也就是基于bios的启动流程,另一种是当前的主流模式,就是基于UEFI的启动流程。BIOS或者UEFI其实就是一段固化在主板 上的程序,计算机启动时会默认运行这段程序,然后通过这段程序去运行主板引导项,其实大家可以简程序解为UEFI是BIOS流程的升级版本,解决优化了BIOS启ootloader也就是操作系统引导程序,然后通过引导程初始化操作系统。序运行动中的一些问题。比如优化了BIOS自检流程,然后BIOS启动会配合MBR分区,无法引导启动超过2.2T的磁盘。而UEFI-版配合GPT分区,支持引导超过2.2T的磁盘。
Linux系统概览
Linux发展史
-
1969年,Unix诞生于贝尔实验室
-
1984年,贝尔实验室将Unix商业化
-
1984年,Tanenbaum 开发Minix操作系统用于教学并开放源码
-
1984年,Richard M. Stallman发起自由软件(FSF) 与GNU项目,起草GPL (通用公共许可)协议
-
1991年,Linus Torvalds受Minix影响实现初版的Linux内核
-
1992年,Linux 内核以GPL协议发行V1.0
Linux版本
Linux系统包括两种版本,内核版本和发行版本,两者的关系如下图所示:
Linux系统应用领域
-
IT服务器(操作系统、虚拟化和云计算)
-
嵌入式和智能设备
-
个人办公桌面
-
学术研究与软件研发
Linux系统
Linux基本组成
如图所示,Linux系统一般有四个主要部分:内核、shell、文件系统和应用程序。
Linux体系结构
-
内核是硬件与软件之间的中间层
-
内核是-个资源管理程序
-
内核提供一组面向系统的命令
其他
通过本次课程的学习,我了解到了一些计算机体系结构和linux系统的相关知识。感兴趣的同学可以自行去学习字节内部课程。
( ps:本次学习主打的就是快乐!!!)