Linux基础|青训营笔记

106 阅读5分钟
Linux作为一个全球公用的操作系统,方便快捷。所以,作为学习前端的人必然要对Linux有个学习和认识。
那么先来说说Linux的Logo-是南极企鹅。Linux为什么选用企鹅作为Logo呢?企鹅是南极洲的标志性动物,根据国际公约,南极洲为全人类共同所有,不属于当今世界上任何国家。Linux选择企鹅图案作为标志,其含义也是表明,开源的Linux,为全人类共同所有,任何公司无权将其私有。

计算机硬件

首先我们要先对计算机的硬件有个认识。计算机主要由五大基本元素组成,分别是控制器,运算器,存储器以及输入输出两个单元。控制器,是计算机的指挥中心,负责决定执行程序的顺序,给出执行指令时机器各部件所需要的操作控制命令。运算器主要作用就是算数与逻辑运算的处理。存储器主要分为内存和外存,磁盘光驱等都是属于外存,输入设备比如鼠标,键盘,输出设备比如显示器,音响等。

计算机操作系统

接下来是计算机中最大的软件-操作系统。操作系统是用于管理和控制计算机系统中的硬件和软件资源,用于在用户和与系统硬件之间传递信息。操作系统主要提供了两个方面的能力,一个是管理计算机资源,包括处理器管理,存储管理,设备管理,文件管理等,另一个能力是提供各种的用户接口,包括命令接口,图形用户接口,程序调用接口,实现外部程序与操作系统内核的交互。目前主流的计算机操作系统包括mac系统,linux系统,windows系统,手机安卓系统以及目前比较火的华为鸿蒙系统。
然后提出了一个问题,程序启动必须有操作系统来执行,那操作系统本身也是一个程序,那是如何在开机时被执行的呢?操作系统的启动流程分为传统模式,也就是基于bios的启动流程,另一种是当前的主流模式,就是基于UEFI的启动流程。BIOS或者UEFI其实就是一段固化在主板上的程序,计算机启动时会默认运行这段程序,然后通过这段程序去运行主板引导项。

Linux系统概览

先来讲讲Linux的发展简史,1969年,Unix诞生于贝尔实验室。1984年贝尔实验室将unix商业化。1984年Tanenbaum开发Minix操作系统,用于教学并开放源码。1991年,Linus torvaldsonix影响实现出版的Linux内核。这也就是最初版的我们所讲的Linux系统。Linux版本呢分为内核版本和发行版本。Linux内核加上常用软件就是Linux发行版本,也就是我们现在目前能用到的。
如何查询Linux的内核版本呢?方法一:`uname -a`方法二:`cat/proc/version``cat/etc/os-release`可以查看Linux的系统版本。

Linux的系统结构

Linux系统一般有四个主要部分,分别是内核,shell,文件系统和应用程序。内核是硬件与软件之间的中间层,内核是一个资源管理程序,内核提供一组面向系统的命令。然后有一个Linux系统的内核漫画,这个漫画很好的表现了Linux系统的结构框架和运作。然后讲讲进程管理,进程是正在执行的一个程序或命令。进程有自己的地址空间,占用一定的系统资源,一个CPU和同一时间只能运行一个进程。进程由它的ID和它的父进程的进程ID唯一识别。

一些代码:

ps -ef|grep nginx
#查看某个进程
top-p 93824
#关闭指定的进程
kill 93824
#全部进程动态实时视图
top
然后是一个问题,系统中运行的程序远远大于CPU的核数,那Linux系统是如何实现同时运行这么多程序的?就引进了一个新的名词,进程调度,进程调度是指操作系统按某种策略或规则选择进程,占用CPU进行运行的过程。Rsdtzx六个字母,分别代表着不同的状态。R是可执行状态,s是可中断的睡眠状态d不可中断的睡眠状态t暂停状态或跟踪状态z退出状态进程成为僵尸进程x退出状态进程即将被销毁。进程调度原则:一个CPU和同一时间只能运行一个进程,每个进程有近乎相等的执行时间,对于逻辑CPU而言,进程调度使用轮询的方式执行,当轮巡完成则回到第一个进程反复。进程执行消耗时间和进程量成正比。进程的系统调用,分为内核空间和用户空间,内核空间及系统内核运行的空间,用户空间及应用程序运行的空间。当进程运行在内核空间时,就处于内核态,而进程运行在用户空间时则处于用户态。
接下来是文件系统。有这么一句话,Linux中一切皆文件。这样做最明显的好处是开发者仅需要使用一套API和开发工具即可调取Linux系统中的绝大部分资源。Linux文件系统是采用树状的目录结构,最上层是根目录。那么Linux有这么多不同的文件系统,如何实现对用户提供统一调用接口?就需要虚拟文件系统vfs,文件系统作为中间层,用户直接控制vfs,vfs再去控制各个文件系统。
这就是大部分内容了。