Linux基础 | 青训营笔记

76 阅读3分钟

Linux系统是应用程序交付的首选,一般应用部署时使用的服务器都会采用Linux系统。 这里我之前在阿里云白嫖了一台云服务并且安装了CentOS8.5,部署了几个项目,这里正好实践一下Linux的基本操作

一、计算机硬件

计算机由输入设备、输出设备、控制器、运算器和存储器构成,这就是一个标准的冯-诺依曼结构。

二、计算机操作系统

操作系统本身可以理解为是软件和硬件之间的一层中间层。我们使用的应用程序都是运行在操作系统之上,而当程序的运行需要硬件资源(比如磁盘、网卡等),程序并不能直接去调用硬件资源,这个工作是由操作系统完成的。

计算机启动时,会通过主板上固定的BIOS程序启动Bootloader程序,从而启动操作系统。当然,也可以通过UEFI的方式启动,优化计算机的自检流程。

三、Linux概览

Linux分为发行版本和内核版本。发行版本就是内核版本加上常用的软件。

Debian、CentOS、Ubuntu等常见的操作系统的名称都是Linux的发行版本。我在阿里云服务器上装的是CentOS,之前跑深度学习的时候鼓捣过一段时间的Ubuntu。

四、Linux体系结构

Linux由内核、文件系统、Shell、应用程序四部分组成。

Linux分为用户空间和内核空间两部分,应用程序都是运行在用户空间的,应用程序可以通过GUN C Library发起系统调用,然后由内核去调用硬件资源。只有内核才能硬件资源的直接调用。

五、进程管理

进程是一个正常执行的程序或者命令,会占用一定的系统资源。

一个CPU核同一时间内只能运行一个进程!

虽然现代CPU都是多核架构,但是计算机上运行的程序几乎一定都是比CPU的核要多得多的。之所以能够同时运行超过CPU核数量的程序,因为CPU进行调度进程是采用轮询的方式,我的理解是虽然同一时间运行的进行只能有一个,但是交替运行多个进行就能实现众多程序一起运行。

六、文件系统

Linux系统中一切皆文件,采用文件数的方式进行管理。这里打开阿里云的服务器远程连接工具,打开文件数发现确实/目录下有大量的文件,并且类型也有很多。但是我们操作这些文件的方式都是基本一致的。read读取。write写入。

Linux之所以能够能够实现对用户暴露统一的API进行文件操作,是因为虚拟文件系统对于应用层提供了统一的应用接口。

当我们读取文件时,首先会查看用户缓冲区是否有对应文件;无则发起系统调度,到内核缓冲区查看;还是没有的话,内核会调用硬件资源,查看磁盘当中是否有对应的文件。之所以引入缓冲,是因为频繁的文件IO会影响性能。

最后还介绍了一些关于用户权限和包管理器的东西。因为这里我的云服务只有我一个用户,所以就没弄,希望后面进到企业能接触一下这方面的东西。CentOS里面我是用yum进行包管理的,很方便。