1 计算机基础
1.1 计算机系统
1.1.1 计算机简介
计算机俗称电脑,是一种能接受和存储信息,并按照存储在其内部的程序对海量数据进行自动、高速地处理,然后把处理结果输出到现代化智能电子设备。计算机的目标是代替人类去高效且高质量地完成工作。
常见的计算机:家用电脑,笔记本,智能手机,平板电脑等。
一个完整的计算机系统由硬件系统(hardware)和软件系统(software)组成。
1.1.2 冯·诺依曼理论体系
1946年美籍匈牙利数学家冯·诺依曼于提出存储程序原理,把程序本身当作数据来对待,程序和该程序处理的数据用同样的方式存储。
冯·诺依曼理论体系的要点是:
- 计算机的数制采用二进制
- 计算机应该按照程序顺序执行
- 计算机由运算器、控制器、存储器、输入设备和输出设备五大部分组成
1.1.3 计算机分类
按角色划分:
- 服务器:通常是网络中为客户端计算机提供各种服务的高性能的计算机
- 客户机:需要服务器为之提供相应服务的计算机
按功能划分:
- web服务器
- 数据库服务器
- 日志服务器
- 文件服务器
- 等等
1.1.4 服务器种类
服务器从外形划分:
- 塔式服务器
- 刀片式服务器
- 机架式服务器
目前主流的服务器类型是机架式服务器,通常机架式服务器尺寸采用U为单位,一般有1-7U(1U=44.45毫米)几个标准。机架式服务器都是存放在机房的机架上,机架的高度一般为42U,一个机架上一般可以放9到10个服务器。
1.2 服务器硬件
1.2.1 CPU
CPU:即中央处理器,由控制器和运算器构成,是整个计算机系统中最重要的部分。
CPU指令集:
- CISC:复杂指令集,一个指令对应处理一个任务,不管任务是否简单或复杂,指令庞大。
- SISC:精简指令集,复杂的任务由多个指令共同处理。
CPU架构:
- X86
- ARM
服务器CPU公司:
- Inter
- AMD
- IBM
CPU高速缓存:CPU中一共有三级缓存,即L1、L2、L3,用于提高cpu的工作效率。
CPU的速度超级快,不能老是让它闲着,要充分压榨它。这里有两个理由:
- 需要将多个程序同时运行,我们可以把cpu的时间进行分片,让各个程序在cpu上快速轮转,造成一种多个程序同时在运行的假象,这就是并发的概念。
- 一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。
1.2.2 内存
内存是介于CPU和外部存储之间,是CPU对外部存储中程序与数据进行高速运算时存放程序指令,数据和中间结果的临时场所。
内存的特点:数据断电即丢失
1.2.3 硬盘
要想数据断电不丢失,那么需要将数据放到硬盘中。
常见的磁盘接口种类:
- SCSI:小型计算机系统接口,早期的服务器常用接口
- SATA:家用电脑常用接口
- SAS:是目前服务器上主流的接口
- 光纤通道:高性能服务器上采用的接口
- M.2:固态硬盘接口,性能更强
结构分类:
- 机械硬盘HDD
- 固态硬盘SSD
1.2.4 阵列卡
磁盘阵列卡主要是将多个磁盘组合成一个磁盘,以提高磁盘子系统的性能及可靠性。
这种基于阵列卡的技术成为RAID,常见的RAID级别有RAID1,2,5,6,10等。
1.3 操作系统和Linux
1.3.1 操作系统功能
操作系统是管理计算机硬件与软件资源的计算机程序,操作系统需要处理如管理与配置内存、决定系统资源供需的优先次序、控制输入设备与输出设备,操作网络与管理文件系统等基本事务,操作系统也提供一个让用户与系统交互的操作页面。
操作系统的分类:
- windows
- Linux
- IOS
- Andriod
1.3.2 操作系统相关概念
接口:操作系统通过接口的方式,建立用户与计算机硬件的沟通方式,用户通过调用操作系统的接口来使用计算机的各种计算服务。
操作系统一般会提供两个重要的接口,来满足用户的一些一般性的使用需求:
- 命令行:实际上是一个叫shell的终端程序提供的功能,该程序底层的实质还是调用一些操作系统提供的函数
- 窗口界面:通过图形化窗口程序接受来自操作系统的消息,比如:鼠标、键盘动作,进而做出一些响应
API:应用程序编程接口,API定义了源代码和库之间的接口,因此同样的源代码可以在支持这个API的任何系统中编译。
POSIX:
- 可移值的操作系统接口
- POSIX兼容的程序可在其他POSIX操作系统编译执行
系统调用:就是调用操作系统所提供的API来实现某些功能的行为,硬件资源都是由操作系统统一管理,当程序需要调用硬件某些功能的时候,只能通过调用操作系统提供的API来实现,这就是系统调用。
库函数:将提供一些特定功能的代码进行封装,只暴露出一些函数,比如说JSON库、网络库,提供给第三方调用,那这些函数,就称为库函数。
用户空间与内核空间:用户空间与内核空间是相互隔离的,用户空间只能执行简单的运算,不能直接调用系统资源,必须通过系统接口才能向内核发出指令;而内核空间可以执行任意命令,调用系统一切资源。
1.3.3 开源
开源的概念:
- 软件和源代码提供给所有人,自由分发软件和源代码,但并不一定免费
- 能够修改和创建衍生作品
开源协议(许可证):
世界上的开源协议大概有上百种,而Linux采用的是GPL开源协议。
GPL协议:
- 只要在一个软件中使用GPL协议的产品,则该软件产品必须也采用GPL协议,即必须也是开源和免费,不能用作商业用途
- 具有传染性,比较严格
GNU项目:
- 目标是编写大量兼容于Unix系统的自由软件
- 由于太过追求完美导致自己的内核还没有开发出来
2 Linux的安装
环境准备:
- 安装虚拟机VMware Workstation
- 打开虚拟机编辑网络设置
2.1 安装Ubuntu24.04-server
然后一直下一步
然后一直下一步
然后一直下一步
然后一直下一步
然后一直回车
然后一直回车
按照上面两个图依次对/boot,/swap,/data进行分区
然后一直回车
2.2 安装Rocky9.4-server
按如下操作修改网卡名称为eth0,键盘上下键移动指向Install Rocky Linux 9.4,然后按Tab键,按两个空格输入:net.ifnames=0 biosdevname=0,最后回车即可。
如下:选择最小化安装
如下配置网络
最后点击两下这个按钮
设置root用户和普通用户
开始安装rocky Linux