计算机基础知识


计算机组成:
cpu(控制器,运算器)

存储器:

内存:内存条,存取速度都快,断电数据丢失
外存:机械磁盘,存取速度都慢,断电数据不丢失

输入设备:

输出设备:

内核态:操作系统正在控制硬件的状态

用户态:应用程序正在运行的状态

Liunx系统会把内存分为两种区域:
buffer:缓冲区,攒一大波数据,再刷入硬盘

Cache:缓存,把硬盘的数据在内存中缓存好,cpu取的时候可以直接从内存

Ps:

  1. x86-64:复杂指令集,每次读取64位二进制数
  2. 24线程:物理层面2核,假的4核。真4>24线程>2

cpu:

ROM>BIOS(操作系统)

CMOS>存储BIOS配置数据

硬盘本身的分类:

机械磁盘

磁道:

扇区:

硬盘的最小读写单位是一个扇区——512Bytes

操作系统最小读写单位是一个Block块——8个扇区的大小——4k

柱面:

分区指的是从一个柱面开始到另外一个柱面结束,中间所包含的所有盘片所对应的磁盘

I/O时间=平均寻道时间+平均延迟时间

Ps:

buffer缓冲区——大卡车

操作系统block块——收纳箱

硬盘的扇区——单个快递盒子

Linux系统

Buffer——写缓冲区

Cache——读缓存

固态硬盘:依赖电子存取数据

虚拟内存:swap分区(硬盘分出来当作内存来用)

计算机启动过程:

按下电源>开机自检(BIOS)>MBR引导—>GRUN菜单—>加载内核

  1. 计算机加电
  2. 启动BIOS(计算机启动一定会先启动BIOS),读取启动盘的第一个扇区大小为512Bytes(称之为主引导记录MBR)

446 bootloadergrub程序

64分区信息

2 结束标志位

  1. grub程序负责将操作系统内核装载入内存,启动操作系统

读取运行级别

0—关机

1—单用户模式,不需要输入账号密码登录操作系统后就是管理员账户(破解 管理员密码)

2—多用户模式,没有网络

3—多用户模式,有网络

4—系统未使用,保留

5—图形界面模式,有网络

6—重启

Centos7启动的第一个程序systemd(树形结构)pid>0

启动其它服务

系统密码破解和安全加固:

1.进入单用户模式:(GRUM菜单)

提前关闭sexlinux

重新启动>e进入,进入CentOs (Core)系统—>找到ro rhgb quiet 一行更改为 rw init=/sysroot/bin/shctrl+x键进入更改密码—>执行命令

chroot /sysroot/ 回车passwd root 回车更改密码—>重启操作系统

2.grub加密:

终端输入:grub2-setpassword 设置grub密码(123)

修改配置文件:vim /boot/grub2/grub.cfg  找到--unrestricted 删掉,保存 退出。(再次进入单用户模式,需要输入grub密码)

3.光盘修复模式:(绕过本地硬盘的认证环境,再用命令切回本地环境)

进入BIOS界面—>Boot界面下将CD-ROM Drlve顺序调整首位—>重启,

回车进入Troubleshooting界面,接着进入Rescue a CentOs system> 1(Continue),按回车,输入chroot /mnt/sysimage(切到本地环境)>设置 登录密码passwd root (w1234){注:也可在此直接设置grub密码}>重启 计算机进入BOIS,将BootHard Drlve 顺序调整回首位

4.BOIS系统设置密码:(扣主板BIOS电池—>锁住机柜)
进入BIOS界面—>Security界面下将Set Supervisor Password设置密码 (123)

  5.多个连接终端:ctrl+alt +(f2,f3,f4...f6)字符界面登录,最多7个终端

  1. 操作系统会让BIOS去检测驱动程序

网线:

橙白

蓝白

绿白

棕白

千兆网卡——双绞线

万兆网卡——光纤

Day 02

计算机硬盘组成剩余:

硬盘接口类型:

IDE并口

SATA串口

SCSI

SAS(SATASCSI结合体)

光纤通道

硬盘和接口搭配:

SSD+SAS 土豪

SSD+SATA 常规,对速度有特殊要求

机械磁盘+SAS 常规,比较核心业务使用,对速度要求常规

机械磁盘+SATA 普通

高并发场景下:

热数据(核心数据)

冷数据(访问量较少数据)

RAID——’’硬盘的集群’’,多块硬盘要连接到RAID(阵列卡)上制作,防止单点故障,提升性能

Raid0:至少1块硬盘

容量:N块盘合在一起的总容量

性能:理论上N块盘合在一起读写速度,实际上要低一些

冗余性:不容许坏任一块盘

场合:追求读写性能,对数据安全性没啥要求。例如集群服务器

Raid1:只能2块硬盘

场合:追求安全,对读写性能要求不高。例如:服务器的系统盘

容量:一块盘容量

性能:一块盘的读写速度

冗余:可以坏一块盘,另一块盘有完整数据

Raid5:至少3块硬盘,俩俩之间做奇偶异或运算,相同为0,不同为1

容量:废掉1块盘容量,等量盘情况下,容量低于raid0

性能:读写速度低于raido,高于raid1

冗余性:可以坏任一块盘,其余两块盘可以通过奇偶校验推导出坏盘的数据

场合:一般场合都可以使用

Raid10:至少4块硬盘,raidoraid1的整合的产物,兼顾了raid1的安全性和raido的读写性能。通常用于数据库服务器

优化基本原则:

  1. 针对读操作,数据能从内存取就不要从硬盘
  2. 针对写操作,在内存中攒一波再写入硬盘

 

 

二.操作系统(协调,控制,管理计算机硬件资源以及上层的应用程序)

操作系统最核心的概念就是进程(进程指的就是一个程序的运行过程,具体是操作系统控制硬件来运行程序的过程)

 

第二代计算机:

批处理系统

一次只把一个/道程序读入内存,运行完毕后,才能运行下一个程序,称之 为串行

优点:

  1. 充分利用计算机资源

缺点:

  1. 需要人参与程序运行的过程
  2. 对程序员不友好,明显感觉到等待
  3. 整个计算机程序的运行是串行

 

第三代计算机:

多道技术——并发(多个任务看起来是同时运行的)

  1. 空间上的复用:多道程序运行前必须先加载到内存中(前提)
  2. 时间上的复用:多个任务复用cpu的时间,通俗地说就是cpu在多个程 序之间来回切换
    1. 当一个任务遇到I/O,肯定要切换——提升效率
    2. 一个任务没有遇到I/O但是占用cpu时间过程,也要切换——降 低效率

 

Ps:多个进程的内存空间是相互隔离的,而且是物理隔离

 

并行:真正意义上的同时运行,只有多个CPU才能实现并行。

 

 

分时操作系统CTTS:多用户多任务

应用多道技术来实现多个任务的并发的运行

 

 

3.进程和线程:

进程:操作系统控制硬件运行程序的过程(资源单位)

线程:流水线运行代码的过程(执行单位)

操作系统(工厂)——进程(车间)——线程(流水线)

 

4.一个任务运行的三种状态

运行态:拿到cpu,正在运行

就绪态:等待分配cpu,一旦拿到cpu就可以立即运行

阻塞态:拿到cpu也无法立即运行,需要转到就绪态,然后....

 

运行态(r)——>就绪态(操作系统认为占用CPU的时间过长或者有更高优先级的 任务抢走了CPU)

就绪态——>运行态(操作系统重新分配给该任务CPU权限)

运行态——>阻塞态(任务遇到I/O操作)

阻塞态(s)——>就绪态(I/O操作执行完毕)

非阻塞态(运行态,就绪态)

网络:

  1. 什么是网络

网络=物理连接介质+互联网通信协议(计算机界的英语)

  1. 为什么要有网络

为了方便数据的传输/通信,信息高速公路

OSI七层协议

应用层 http协议,ftp协议,可以自定义协议

表示层

会话层

传输层:tcp/udp协议

  1. 数据段
  2. Head+data:head存放的是源端口 目标端口
  3. 端口在本机唯一即可

网络层:ip协议(0.0.0.0-255.255.255.255)

1.数据包

2.head+datahead放源ip地址  目标ip地址

3.ip地址的协议——路由协议

数据连接层:以太网协议:

  1. 数据帧
  2. Head+datahead里放:源mac地址  目标mac地址
  3. 基于mac地址的广播的通信方式——通信基本靠吼

物理层:电信号/比特位(转换成电信号,然后发送)

以太网协议:

  1. 以太网数据称为数据帧,分为head(mac地址,目标mac地址)+data部分,其中head长度固定
  2. 规定凡是接入互联网的主机必须有一块网卡,网卡上有一个MAC地址,全球唯一
  3. 以太网协议的通信采用的是广播的通信方式,计算机通信基本靠喊

ARP协议——获取目标mac地址

前提:在一个局域网内,靠的是目标mac地址找到对方在哪里,即只要目标mac地址是谁,数据包就送给谁

  1. 先判断两台计算机的子网地址是否一样,如果一样,应该尝试获取计算机2mac地址
  2. 如果不一样,网关将内的mac地址更改为对外的mac地址,与目标mac地址联系

ARP协议会将ip地址转换成mac 地址(要么是局域网内一台计算机的mac地址,要么是网关的mac地址,不会是公网上的mac地址)

  1. mac地址学习功能,两个机器通过广播的方式找到对方后就可以形成mac地址通信(只能在局域网用)

ip协议:

mac地址+ip地址标识了全世界范围内唯一一台计算机

Ipv4地址的范围32位二进制数(网络号,主机号):

00000000.00000000.00000000.00000000——0.0.0.0

11111111.11111111.11111111.11111111——255.255.255.255

子网掩码:

11111111.11111111.11111111.00000000——255.255.255.0

例子:
ip

10101100.00010000.00001010.00000010>ip地址:172.16.10.2/24

10101100.00010000.00001010 >网络号:172.16.10

 00000010>主机号:2

子网掩码,用来标识一个ip地址的网络号个数,从左到右,只要属于网络号,子网掩码标志为1

11111111.11111111.11111111.00000000255.255.255.0

子网地址:ip地址跟子网掩码转换成二进制,然后按位与运算

例如:

10101100.00010000.00001010.00000010>ip地址:172.16.10.2/16

11111111.11111111.00000000.00000000>子网掩码:255.255.0.0

10101100.00010000.00001010.11111110>ip地址:172.16.10.254/24

11111111.11111111.11111111.00000000>子网掩码:255.255.255.0

10101100.00010000.00001010.00000000>子网地址:172.16.10.0

10101100.00010000.00001010.11111110>ip地址:172.16.10.254/25

11111111.11111111.11111111.10000000>子网掩码:255.255.255.128

10101100.00010000.00001010.10000000>子网地址:172.16.10.128

0.标识网段地址

127.0.0.1>本地回环地址

255.标识广播

子网划分:
借主机位子网掩码换成网络位子网掩码,通过ip地址与子网掩码来计算子网地址,2的次方数划分。

例如:172.16.10.0/24  172.16.10.0/25 子网划分2

vlan介绍:

引入:

1.两台计算机相互通信,计算机1必须要拿到计算机2ip地址

2.通信分为局域网内和跨局域网

如果在同一个局域网内如何通信?要拿到目标的mac地址是计算机的mac地址

如果不在同一个局域网内如何通信?要拿到的目标mac是网关的mac地址

Ip+端口标识唯一一个基于网络通讯的软件

Tcp/udp协议

tcp通信之间必须建立双向通路(必须先启动服务端,客户端主动连接服务端)

建立通信:

Syn_sent:客<——>backlog半连接池

Listen:服

(Syn_rcvd:服

Established:客

Established:服

断开连接:

客:Fin_wait_1

服:Close wait

客:Fin_wait_2

服:Last_ack

客:Time_wait

tcp协议——>可靠性:数据完成后,客户段需要向服务端(彼此)回复ack文件确认后,才删除数据

Udp协议——>不可靠性,数据传输完成后,无需对方回复ack即可删除数据

4.Socket(套接字软件):对传输层及以下进行封装

  1. Dhcp

想实现网络通信,每台主机需要具备四要素

  1. 本机的ip地址
  2. 子网掩码
  3. 网关的ip地址
  4. dnsip地址

获取以上地址:

手动配置——>静态配置

动态获取——>dhcp

Dhcpclinet(68号端口)——>dhcpserver(67号端口)

5.dns(ip——>域名——>hao123)

什么是dnsdomain name server 域名解析服务,负责把域名解析成ip地址

dns的查询方式

1.递归查询

2.迭代查询

dns查询顺序:

浏览器dns缓存——本地系统dns缓存——本地计算机hosts文件——isp dns缓存——递归or迭代搜索

/etc/hosts

C:\windows\system32\drivers\etc

6.cmd命令

查看本机ip地址信息:ipconfig /all

查看本机解析缓存:ipconfig /displaydns

清除本机解析缓存:ipconfig /flushdns

相关