1: 计算机基础和Linux安装

计算机基础

1 计算机系统

1.1 冯.诺依曼体系

1. 计算机硬件由五大部分组成: 主存储器(内存), 辅助存储器(硬盘)
2. 计算机采用二进制, bit位, byte字节, 1byte=8bits
3. 计算机应该按照程序顺序执行
...
image.png

1.2 进制转换

二进制 --> 十进制:
image.png
[12:17:10 root@CentOS-8-1 ~]#bc
bc 1.07.1
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006, 2008, 2012-2017 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'. 
ibase=2 # ibase=2表示输入的格式为2进制
1001 # 输入2进制数
9 # 输出结果默认为10进制
十进制 --> 二进制: 用十进制数除2, 将结果中的整数和余数按照从下到上的顺序排列,就是对应二进制
image.png
[12:17:13 root@CentOS-8-1 ~]#bc
bc 1.07.1
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006, 2008, 2012-2017 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'. 
obase=2  # obase=2表示输出的结果为2进制
128 # 输入十进制数
10000000 # 获取结果
计算机内部                   实际生活
KB = 2^10                    KB= 10^3
MB = 2^20                    MB = 10^6
GB = 2^30                    GB = 10^9
TB = 2^40                    TB  = 10^12

我们买的硬盘,如1T硬盘, 是按照10^12计算的, 所以其容量大小是 10^12=1000000000000 bytes
而在计算机上显示的容量是按照2^40这种2进制计算的 标准的1T=2^40=1099511627776 bytes
所以我们买的1T硬盘, 按照二进制计算的话是不够的1T容量的, 因此, 在计算机上显示的容量就不到1T了

1.3 操作系统位数

  • 32位: 最多支持4G内存
1G=2^30 
32位=2^2*2^30
4*2^30=4G
# 确定操作系统是32位还是64位

[13:16:00 root@CentOS-8-1 ~]#getconf LONG_BIT
64

2 服务器

2.1 服务器分类

  • Tower Server


    image.png
  • Blade Server: 节约空间, 多个服务器挤到一起, 但是贵


    image.png
  • Rack Server: 1U=1.75英寸, 多个服务器, 放到一个机柜里面, 占空间, 相对便宜


    image.png

    image.png

2.2 CPU

CPU由运算器和控制器组成
  • CISC: 复杂指令集(x86), Complex Instruction Set Computer, Intel和AMD一般都是CISC
  • RISC: 精简指令集(非x86), Reduced Instruction Set Computer, ARM CPU
# Linux查看CPU信息

64
[13:16:06 root@CentOS-8-1 ~]#lscpu
Architecture:        x86_64
CPU op-mode(s):      32-bit, 64-bit
Byte Order:          Little Endian
CPU(s):              1
On-line CPU(s) list: 0
Thread(s) per core:  1
Core(s) per socket:  1
Socket(s):           1
NUMA node(s):        1
Vendor ID:           GenuineIntel
CPU family:          6
Model:               165
Model name:          Intel(R) Core(TM) i7-10875H CPU @ 2.30GHz
Stepping:            2
CPU MHz:             2304.003
BogoMIPS:            4608.00
Hypervisor vendor:   VMware
Virtualization type: full
L1d cache:           32K
L1i cache:           32K
L2 cache:            256K
L3 cache:            16384K
NUMA node0 CPU(s):   0
Flags:               fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon nopl xtopology tsc_reliable nonstop_tsc cpuid pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch cpuid_fault invpcid_single ssbd ibrs ibpb stibp ibrs_enhanced fsgsbase tsc_adjust bmi1 avx2 smep bmi2 invpcid rdseed adx smap clflushopt xsaveopt xsavec xsaves arat pku ospke md_clear flush_l1d arch_capabilities

2.3 主板

主板有多个插槽, 负责插cpu, 内存, 硬盘等
主板还包含BIOS芯片, I/O控制芯片, 键盘和面板控制开关接口, 指示灯插接件, 扩展插槽, 直流电源供电插接件等原件

2.4 内存

内存是介于cpu和外部存储之间, 是cpu对外部存储中程序和数据进行高速运算时存放程序指令, 数据和中间结果的临时场所.
内存是cpu能直接寻址的存储空间
计算机中所有程序都是在内存进行的
DDR: Double Data Rate
4: 四代

内存带宽计算: 内存总线频率*数据总线位数/8
数据总线位数: 如今都是64位bit, 数据总线位数/8得到字节byte

单通道DDR4内存带宽计算:
DDR4-4000: 4000MHz*64bit/8=32000MB/S
DDR4-3600: 3600MHz*64bit/8=28800MB/S

双通道: 两条内存条, 错位插在主板上, 如果一个主板有4个内存插槽, 那么两条内存条就可以分别插在插槽1和插槽3, 或者插槽2和插槽4, 构成双通道
而当总内存大小相等时, 双通道的内存带宽会比单通道的速度快
比如两个16G内存构成双通道, 会比一个32G的单通道更快, 当然32G也可以购买两个组成双通道, 具体就看需求和预算
DDR4-4000: 4000MHz*64bit*2/8=64000MB/S

硬盘进行数据拷贝一般就是几百兆, 而内存可以达到几十G的速度

2.5 硬盘

  • 硬盘接口分类
早期: 一般都是并行接口

IDE: 电子集成, 早期家用电脑常用, 如果已经没有IDE接口了, 需要专门的IDE线才能读取
SCSI: 早期服务器常用接口

如今: 都是串行serial接口

SATA: 家用电脑如今常用接口
SAS: 目前服务器主流接口
SATA和SAS接口兼容

光纤通道: Fiber Channel, 高性能服务器上采用的接口
M.2: 固态硬盘接口, 性能更强, 一般用在家用电脑
  • 硬盘结构分类
机械硬盘: Hard Disk Drive, 靠机械结构读取数据
固态硬盘: Solid Disk Drive, 靠芯片读写数据

2.6 网卡

服务器大多标配4个网卡, 集成在主板上, 一般是千兆网卡, 1Gbps
如需高速网络, 需要配置光纤网卡, Infiniband网卡等, 传输速率能达到10Gbps, 20Gbps, 即万兆网卡

2.7 其他硬件

  • 电源
服务器一般提供两路电源, 防止电源故障
  • 显卡
服务器都在主板上集成了显卡, 但是显存容量不高, 一般为16M或者32M
GPU: 图形处理器
  • 热插拔技术
Hot Swap: 允许服务器在不关机的状态下, 更换故障热插拔设备
常见热插拔设备: 硬盘, 电源, PCI设备, 风扇等
热插拔技术与RAID技术配合起来, 可以使服务器在不关机的状态下恢复故障硬盘上的数据, 同时不影响网络用户对数据的使用

家用电脑一般不支持热插拔
  • 机柜
机架式服务器 - 服务器放置于机柜中

通常使用的机柜是42U, 约2米高, 1U = 44.45mm(1.75英寸)

在一个机架上, 累计设备一般不超过26U, 全1U设备一般不超过16台, 全2U设备一般不超过12台, 全4U设备一般4-7台
  • PDU: Power Distribution Unit
机架统一的电源管理供给
  • KVM
一个机架的所有服务器可以通过一个KVM进行统一管理
KVM连接到机架后, 显示器可以切换屏幕, 来切换到每个不同的服务器上
  • 阵列卡
RAID卡用来实现RAID的建立和重建, 检测和修复多位错误, 错误磁盘自动检测等功能
阵列卡把多个磁盘驱动器按照一定要求, 组成一个整体并且由阵列控制器管理的系统
阵列卡用来提高磁盘子系统的性能及可靠性
支持多个RAID级别: RAID0, 1, 5, 6
  • 服务器性能优化
1. 充分利用性能好的硬件, 把程序和数据放在高速存储, 如cpu, 内存, 缓存
2. 动态使用cpu, 让应用程序运行在空闲的服务器cpu上, 典型的技术就是容器k8s

3 操作系统

3.1 操作系统功能

  • OS: 实现通用目的的软件程序
用户
||
应用软件
||
操作系统
||
硬件
  • 主要功能:
硬件驱动
进程管理
内存管理
网络管理
安全管理
文件管理

3.2 操作系统相关概念

  • 接口: 插座和插头的连接口

  • ABI: 应用程序二进制接口, Binary

ABI描述了应用程序与OS之间的底层接口, 允许编译好的目标代码在使用兼容ABI的系统中无需改动就能运行
  • 运行程序格式
Windows: PE格式
Linux: ELF格式

[20:33:45 root@CentOS-8-1 ~]#file /usr/bin/lscpu
/usr/bin/lscpu: ELF 64-bit LSB shared object, x86-64
  • API: 应用程序开发接口, Programming
API定义了源代码和库之间的接口, 因此, 同样的源代码可以在支持这个API的任何系统中编译
程序员可以在代码中, 调用其他人开发的功能, 这就是通过其他功能库的API接口来实现
  • POSIX: Portable OS Interface 可移植的操作系统接口
POSIX是IEEE在操作系统上定义的一系列API标准
POSIX兼容的程序可在其他POSIX操作系统编译执行
  • 用户态和内核态
计算机的硬件资源统一由操作系统内核进行管理, 应用程序访问操作系统资源, 硬件资源时需要向内核发起系统调用, 由内核去读取数据

应用程序和内核之间的接口就是系统调用, 系统调用提供了多种访问硬件的功能

函数库: 程序员直接使用系统调用去和内核通信是很繁琐的, 因此, 就会使用函数库. 函数库会负责和内核进行交互

函数库会由其他人员进行开发

大致过程: 应用程序 --> 函数库 -->(system call) 内核
  • 用户空间和内核空间和硬件
用户空间: 应用程序(程序代码)和函数库
| 系统调用
内核空间: 操作系统, 可以运行任何指令, 调用一切系统的资源
| 硬件控制
硬件
str = "hello world"  # 变量赋值在用户空间
x = x + 100
file.write(str) # 写磁盘涉及到硬件操作, 需要发起系统调用, 运行在内核空间
y = x + 200  
  • CPU上下文切换: cpu在用户空间和内核空间进行切换
应用程序的代码会分别运行在用户空间和内核空间, 因此, CPU就会在两个空间进行来回切换, 这就是CPU上下文切换

3.3 各种操作系统

Unix
Windows
Linux

3.4 UNIX

Unix: 
Ken Thompson, 汇编和B语言 Bell 实验室
|
Dennis Ritchie 用C语言重写UNIX, 汇编语言与硬件绑定, 无法跨平台, C语言是高级语言, 可以跨平台
|
BSD UNIX, 开始收费
|
Minix, 教育用的UNIX        

3.5 GNU

GNU is Not Unix, 项目目标是编写大量兼容于UNIX系统的自由软件, 允许用户任意复制, 传递, 修改及再发布
GPL: GNU General Public License, GNU通用许可, GNU法律约定
Free Software Foundation: 自由软件基金会, 管理运营GNU项目

虽然GNU项目的很多软件是开源的, 但是仍需要在UNIX上运行

3.6 Linux

1991年, 基于GPL发布, 基于GNU项目
完整的类UNIX系统, 基于Linux内核+GNU工具

官网: The Linux Kernel Archives

# CentOS8 - 4.18版本
[22:06:10 root@CentOS-8-1 ~]#uname -r
4.18.0-193.el8.x86_64

# CentOS7 - 3.10版本
image.png

3.7 开源Open Source

  • Open Source
软件和源代码提供给所有人, 自由分发软件和源代码, free是自由, 不是免费的意思
能够修改和创建衍生作品
  • 软件分类
商业: 收费, 源码不公开, 比如,Pycharm
共享: 免费使用, 但是源代码不公开, 比如,360
自由: 源代码公开
  • 开源协议
世界上的开源许可证大概有上百种
GPL是最严格的开源许可, 而MIT是最宽松的开源许可
  • 如何在Windows上打开最小化安装的Linux的浏览器
使用MobaSSH工具

# 在Linux上安装以下软件

yum install xorg-x11-xauth xorg-x11-fonts-* xorg-x11-font-utils xorg-x11-fonts-Type1 firefox libglvnd-glx-1:1.3.2-1.el8.x86_64 

# 退出当前连接后重新登录

exit
image.png
# 执行firefox命令
image.png

image.png

Linux安装

VMvare配置

  • 进入虚拟网络编辑器


  • 修改VMnet8, NAT模式


    image.png
  • 修改VMnet1, 仅主机模式


    image.png

CentOS8

  • 打开VMware


    image.png

    image.png

    image.png

    image.png

    image.png

    image.png

    image.png

    image.png

    image.png

    image.png

    image.png

    image.png

    image.png

    image.png

    image.png

    image.png

    image.png

    image.png

    image.png

    image.png

    image.png

    image.png

    image.png

    image.png

    image.png

    image.png

    image.png

    image.png

    image.png

    image.png

    image.png

    image.png

    image.png

    image.png

    image.png

    image.png

    image.png

    image.png

    image.png

    image.png

    image.png

    image.png

    image.png

    image.png

    image.png

    image.png

    image.png

    image.png

    image.png

    image.png

    image.png

    image.png

    image.png
  • 配置静态ip地址

[root@demo-c8 ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:0c:29:97:37:c8 brd ff:ff:ff:ff:ff:ff
[root@demo-c8 ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens160
BOOTPROTO=static
DEVICE=ens160
NAME=ens160
ONBOOT=yes
IPADDR=10.0.0.108
NETMASK=255.255.255.0
DNS1=223.5.5.5
DNS2=223.5.5.6
GATEWAY=10.0.0.2

[root@demo-c8 ~]# nmcli conn reload
[root@demo-c8 ~]# nmcli conn up ens160
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/4)
[root@demo-c8 ~]# 
[root@demo-c8 ~]# 
[root@demo-c8 ~]# 
[root@demo-c8 ~]# 
[root@demo-c8 ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:0c:29:97:37:c8 brd ff:ff:ff:ff:ff:ff
    inet 10.0.0.108/24 brd 10.0.0.255 scope global noprefixroute ens160
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fe97:37c8/64 scope link 
       valid_lft forever preferred_lft forever
image.png

Ubuntu1804-Server

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png
  • 配置Ubuntu允许root账号SSH登录
david@u18:~$ sudo -i
[sudo] password for david:
root@u18:~# passwd root
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
root@u18:~# vi /etc/ssh/sshd_config
PermitRootLogin yes
root@u18:~# systemctl restart sshd
image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,277评论 6 503
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,689评论 3 393
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,624评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,356评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,402评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,292评论 1 301
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,135评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,992评论 0 275
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,429评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,636评论 3 334
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,785评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,492评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,092评论 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,723评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,858评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,891评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,713评论 2 354

推荐阅读更多精彩内容

  • 计算机的发展 计算机的发展史 战争催生了第一台电子计算机 埃尼阿克ENIAC:第一台电子计算机1946年产于美国宾...
    arima阅读 702评论 0 17
  • 近日复习计算机基础,看到老汤说_计算机基础,深入浅出,很有借鉴意义。做如下笔记,以捋清思路,以便后续回忆。 一、计...
    ADO_AI阅读 407评论 0 0
  • image.png ROM:只读性,断电不丢失RAM:内存中,断电丢失 硬件发展时代 第一代:电子管时代,1946...
    皮皮大阅读 3,085评论 0 2
  • 转 原创地址 https://juejin.im/post/5e1e8ca2f265da3e11359d2a CP...
    crossme阅读 903评论 0 1
  • 开始看鸟哥的linux私房菜,特作此笔记。 计算机基础 CPU架构 精简指令集(Reduced Instructi...
    alonwang阅读 449评论 3 7