高级系统架构师学习(七)计算机基础和计算机网络
一、计算机系统概述
计算机系统组成
- 硬件
- 软件
- 系统软件
- 应用软件
存储系统
- 时间局部性:指程序中的某条指令一旦执行,不久以后该指令可能再次执行,典型原因是由于程序中存在着大量的循环操作。
- 空间局部性:指一旦程序访问了某个存储单元,不久以后,其附近的存储单元也将被访问,即程序在一段时间内所访问的地址可能集中在一定的范围内,其典型情况是程序顺序执行。
- 工作集理论:工作集是进程运行时被频繁访问的页面集合。
二、操作系统概述【重点!!!!!】
作用:
- 管理系统的硬件、软件、数据资源
- 控制程序运行
- 人机之间的接口
- 应用软件与硬件之间的接口
特殊的操作系统:
- 批处理操作系统:
- 单道批:一次一个作业入内存。PS:作业由程序、数据、作业说明书组成
- 多道批:一次多个作业入内存。
- 分时操作系统:采用时间片轮转的方式为多个用户提供服务,每个用户感觉独占系统。
- 实时操作系统:实时控制系统和实时信息系统。【交互能力要求不高,可靠性要求高 (规定时间内响应并处理)】
- 网络操作系统:方便有效共享网络资源,提供服务软件和有关协议的集合。
- 分布式操作系统:任意两台计算机可以通过通信交换信息,是网络操作系统的更高级形式,具有透明性、可靠性和高性能等特性。
- 微机操作系统:
- Windows:Microsoft 开发的图形用户界面、多任务、多线程操作系统。
- Linux:免费使用和自由传播的类Unix操作系统,多用户、多任务、线程和多 CPU的操作系统。
- 嵌入式操作系统:运行在智能芯片环境中。
进程管理
相关术语
- 互斥:如千军万马过独木桥,同类资源的竞争关系。
- 同步:速度有差异,在一定情况停下等待,进程间的协作关系。
- 临界资源:诸进程间需要互斥方式对其进行共享的资源,如打印机、磁带机等。
- 临界区:每个进程中访问临界资源的那段代码。
- 信号量:是一种特殊的变量。信号量可以表示资源数量,信号量为负数时还可以表示排队进程数。
PV操作
前驱图
前趋活动:完成后通知所有后继活动。
后继活动:开始之前要检查是否前趋活动已经全部完成。
表现形式:
- 1个箭头表示1个前趋关系
- A有箭头指向D,则记录为(A,D)
- 没有前趋进程的结点是起始进程,没有后继进程的结点是终结进程
解题技巧:
- 并发图中某活动有后继就有V操作释放资源并通知后继活动,有前趋就有P操作检查资源是否足够
- 实现并发的信号量初值一般为0。有几个箭头就有几个信号量
死锁和银行家算法
死锁
死锁四大条件(缺一不可):
- 互斥
- 环路等待
- 保持和等待
- 不剥夺
死锁的预防:打破四大条件
死锁的避免:有序资源分配法、银行家算法
银行家算法
核心:分配资源的限制
实现:
- 当一个进程对资源的最大需求量不超过系统中的资源数时可以接纳该进程。
- 进程可以分期请求资源,但请求的总数不能超过最大需求量。
- 当系统现有的资源不能满足进程尚需资源数时,对进程的请求可以推迟分配,但总能使进程在有限的时间里得到资源。
存储管理
页式存储
定义:将程序与内存均划分为同样大小的块,以页为单位将程序调入内存。
优点:利用率高,碎片小,分配及管理简单。
缺点:增加了系统开销;可能产生抖动现象。
段式存储
定义:按用户作业中的自然段来划分逻辑空间,然后调入内存,段的长可以不一样。
优点:多道程序共享内存,各段程序修改互不影响。
缺点:内存利用率低,内存碎片浪费大。
段页式存储
定义:段式与页式的综合体。先分段,再分页。1个程序有若干个段每个段中可以有若干页,每个页的大小相同,但每个段的大小不同。
优点:空间浪费小、存储共享容易、存储保护容易、能动态连接。
缺点:由于管理软件的增加,复杂性和开销也随之增加,需要的硬件以及占用的内容也有所增加,使得执行速度大大下降。
磁盘管理
存取时间 = 寻道时间 + 等待时间
读取磁盘数据时间 = 寻道时间 + 等待时间 + 传输时间
PS:寻道时间是指磁头移动到磁道所需的时间。
PS:等待时间为等待读写的扇区转到磁头下方所用的时间。
磁盘移臂调度算法:
- 先来先服务 FCFS(谁先申请先服务谁)
- 最短寻道时间优先 SSTF(申请时判断与磁头当前位置的距离,谁短先服务谁)
- 扫描算法 SCAN(电梯算法,双向扫描)
- 循环扫描 CSCAN(单向扫描)
三、文件系统
定义:是具有符号名的、在逻辑上具有完整意义的一组相关信息项的集合。
组成:
- 文件体:文件真实的内容
- 文件说明:操作系统为了管理文件所用到的信息。【文件名、文件内部标识、文件类型、文件存储地址、文件长度、访问权限、建立时间和访问时间等】
分类:
- 按文件的性质和用途分:
- 系统文件
- 库文件
- 用户文件
- 按信息保存期限分:
- 临时文件
- 档案文件
- 永久文件
- 按文件的保护方式分:
- 只读文件
- 读/写文件
- 可执行文件
- 不保护文件
索引文件
位示图
1、位示图:每一个bit位可以表示一个磁盘的占用情况,“0”表示空闲,“1”表示占用。
2、字长:与具体机器字长有关,由题目指定,假设机器字长16位,则每个字可以表示16个磁盘块的占用情况
3、指定序号为 n 或第 n+1个磁盘:占用情况需用 m=(n+1)/16(向上取)字表示,字的序号为 m-1。注意其中磁盘序号、字的序号、对应位号都是从0开始,详算过程中会有加1或减1处理。
四、性能
性能评估
- 时钟频率(主频):主频又称为时钟频率,时钟周期是时钟频率的倒数。【主频 = 外频 * 倍频】
- PS:如主频为1GHz,则说明1秒钟有1G个时钟周期,每个时钟周期为1000*1000*1000/1G=1ns。【1GHz = 1000MHz = 1000 000 000Hz;1S(秒)= 1000 000 000ns(纳秒)】
- MIPS(百万条指令/秒):每秒处理的百万级的机器语言指令数,主要用于衡量标量机性能。【MIPS = 指令条数 / 执行时间(换算成秒) = 主频 / CPI = 主频 * IPC】
- CPI:计算机执行一条指令所需的时钟周期数。
- IPC:CPI的倒数,每(时钟)周期运行指令条数
- RT:响应时间
- MFLOPS(百万次浮点运算/秒): 每秒百万个浮点操作,不能反映整体情况,只能反映浮点运算情况,主要用于衡量t向量机性能。【MFLOPS = 浮点操作次数/执行时间(换算成秒)】
- PDR:数据处理速率
五、计算机网络【重点!!!!!】
计算机网络概述
时延:网络延迟 = 处理延迟 + 排队延迟 + 发送延迟 + 传播延迟
PS:如果不考虑网络环境,服务器的延迟的主要因素是队列延迟和磁盘I/O延迟。
分类:
按分布范围分:
- 局域网(LAN)
- 城域网(MAN)
- 广域网(WAN)
- 因特网
按拓扑结构分:
- 总线型
- 星型
- 环型
5G技术
服务化架构:5G核心网中隐去了SBA服务化架构,实现网络功能的灵活定制和按需组合。
网络切片:通过网络切片技术在单个独立的物理网络上切分出多个逻辑网络,从而避免了为每一个服务建设一个专用的物理网络,极大地降低了建网和运维成本。
TCP/IP协议簇
PS:网际层是整个TCP/IP体系结构的关键部分,其功能是使主机可以把数据分组发往任何网络并使分组独立地传向目标。
常见端口:
- POP3:110端口,邮件收取
- SMTP:25端口,邮件发送
- FTP:20数据端口/21控制端口,文件传输协议
- HTTP:80端口,超文本传输协议,网页传输
- DHCP:67端口,IP地址自动分配
- SNMP:161端口,简单网络管理协议
- DNS:53端口,域名解析协议,记录域名与IP的映射关系
- TCP:可靠的传输层协议,TCP 协议可以依据端口号将报文交付给上层的某一进程,可以对应用层进程进行寻址。
- UDP:不可靠的传输层协议
- ICMP:因特网控制协议,PING 命令来自该协议
- IGMP:组播协议
- ARP:地址解析协议,IP 地址转换为 MAC 地址
- RARP:反向地址解析协议,MAC 地址转IP 地址
动态主机配置协议【DHCP】
- 1、客户机/服务器模型
- 2、租约默认为8天
- 3、当租约过半时,客户机需要向DHCP服务器申请续租
- 4、当租约超过87.5%时,如果仍然没有和当初提供IP的DHCP 服务器联系上,则开始联系其他的 DHCP 服务器。
- 5、固定分配、动态分配和自动分配。
- 6、分配失败则IP显示为169.254.X.X(Windows)和0.0.0.0 (Linux)
域名解析协议【DNS】
查询方式
递归查询:服务器必须回答目标IP与域名的映射关系。
迭代查询:服务器收到一次迭代查询回复一次结果,这个结果不一定是目标IP与域名的映射关系,也可以是其它DNS服务器的地址。
查询过程
- 1、本机查询一般先查找本机HOST文件,没有相关映射时,查询域名服务器【递归查询】
- 2、如果主机所询问的本地域名服务器不知道被查询域名的 IP 地址,那么本地域名服务器就以DNS客户的身份,向其他根域名服务器继续发出查询请求报文【迭代查询】
- 3、当根域名服务器收到本地域名服务器的迭代查询请求报文时,要么给出所要查询的 IP 地址,要么告诉本地域名服务器下一步应当向哪一个域名服务器进行查询
- 整体流程:【客户端 -> 本地域名服务器 ->根域名服务器 -> 顶域名服务器 -> 权限域名服务器】
组网技术
交换技术:数据在网络中转发通常离不开交换机。
交换机功能:
- 集线功能
- 中继功能
- 桥接功能
- 隔离冲突域
基本交换原理:交换机是一种基于MAC地址识别,能完成封装转发数据包功能的网络设备。
PS:交换机可以“学习”MAC 地址,并把其存放在内部地址表中,通过在数据的始发者和目标接收者之间建立临时的交换路径,使数据直接由源地址到达目的地址。
能力:
- 1、转发路径学习:根据收到数据中的源MAC地址建立该地址同交换机端口的映射写入MAC地址表中。
- 2、数据转发:如果交换机根据数据中的目的MAC地址在建立好的MAC地址表中查询到了,就向对应端口进行转发。
- 3、数据泛洪:如果数据中的目的MAC地址不在MAC地址表中,则向所有端口转发【泛洪】。PS:广播帧和组播帧向所有端口(不包括源端口)进行转发。
- 4、链路地址更新:MAC地址表会每隔一定时间(如:300s)更新一次。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
2019-09-22 Spring学习(八)AOP详解