计算机基础
分值:3-7
1. 计算机系统概述
2. 计算机组成结构
3. 存储结构
3.1. 层次化存储结构
一般用什么调什么,局部性原理
内存和外存可以统称为虚拟存储器
我们可以操作哪些:操作外存、内存、CPU寄存器。Cache具有透明性。
3.2. Cache
- Cache的功能:提高CPU数据输入输出的速率,突破冯诺伊曼瓶颈,即CPU与存储系统间数据传送带宽限制。
- 在计算机的存储系统体系中,Cache是访问速度最快的层次。
- Cache对程序员来说是透明的。【硬件】
- 使用Cache改善系统性能的依据是程序的局部性原理。
-
- 时间局部性
- 空间局部性
时间局部性:指程序中的某条指令一旦执行,不久以后该指令可能再次执行,典型原因是由于程序中存在着大量的循环操作。
空间局部性:指一旦程序访问了某个存储单元,不久以后,其附近的存储单元也将被访问,即程序在一段时间内所访问的地址可能集中在一定的范围内,其典型情况是程序顺序执行。
工作集理论:工作集是进行运行时被频繁访问的页面集合。
3.3. 磁盘管理
3.3.1. 磁盘基本结构与存取过程
存取时间 = 寻道时间 + 等待时间,寻道时间是指磁头移动道磁道所需的时间,等待时间为等待读写的扇区转到磁头下方所用的时间。
读取磁盘数据的时间应包括以下三个部分:
- 找磁道的时间。
- 找块(扇区)的时间,即旋转延迟时间。
- 传输时间
存取时间越小越好,通常不考虑。
相邻磁道需要10ms,相邻数据块移动10个磁道。每块旋转延迟时间。
3.3.2. 磁盘移臂调度算法
- 先来先服务(FCFS)
- 最短寻到时间优先(SSTF)
- 扫描算法(SCAM)【电梯】
- 循环扫描(CSCAN)算法 单项的,如:从外到到内,到对内部,再由外到内。
离他最近的柱面,只有15,15与51无从判断
4. 操作系统
4.1. 特殊的操作系统
5. 进程管理
5.1. 进程与线程的基本概念
进程是程序在一个数据集合上运行的过程,它是系统级性能资源分配和调度的一个独立单位。它由程序块、进程控制块(PCB)和数据块三部分组成。
PCB是进程存在的唯一标志。内容包含进程标识符、状态、位置信息、控制信息、队列指针(链接同一状态的进程)、优先级、现场保护区等。
进程与程序的区别:进程是程序的一次执行过程,没有程序就没有进程。
程序是一个静态的概念,而进程是一个动态的概念,它由创建而产生,完成任务后因撤销而消亡;进程是系统进行资源分配和调度的独立单位,而程序不是。
进程的2个基本属性:可拥有资源的独立单位;可独立调度和分配资源的基本单位。
5.2. 进程的状态
三态模型和五态模型
5.3. 信号量与PV操作
- 临界资源:诸进程间需要互斥方式对其进行共享的资源,如打印机、磁带机等。
- 临界区:每个进程中访问临界资源的那段代码称为临界区
- 信号量:是一种特殊的变量。。全局
注:P是荷兰语中的Passeren,V是荷兰语的Verhoog。
S<0 时,既能表示资源数,也能表示排队数。
信号量用来计数资源数,
P操作是对资源 -1,即锁定资源,申请占用
S<0 ,检查资源,如果资源不足,则排队领资源,如S=-1 S=-2等等。不需要申请资源则执行后续操作
S = S + 1,释放资源。
S <= 0,如果在S+1后S=0,表示之前有一个进程在排队。则资源释放(V操作)后,通知排队的进程。而该阻塞的进程不会直接执行,而是进入就绪状态。
注意:P操作是<0,V操作是<=0
5.3.1. PV操作与互斥模型
多个进程共享一台打印机问题(互斥模型):
互斥信号量S的初值为1。
5.3.2. PV操作
P操作检查资源是否充足
P(S1)检查的是空间是否充足,P(S2)检查的是产品是否充足
产品被取出,释放缓冲区资源V(S1)。产品送到缓冲区,释放产品资源V(S2)
上述为pv与同步模型的应用。
送产品和取产品不能同步操作,所以要加索。同步与互斥之间的应用。
5.3.3. 习题
互斥模型。用之前加锁,用之后解锁。
5.4. 前趋图
前趋图的表示:
- 1个箭头表示一个前趋关系
- A有箭头指向D,则记录为(A,D)
- 没有前趋进程的节点是起始进程,没有后继进程的结点是终结进程
还有前趋进程、后继进程
有前趋就有P操作(资源检查)
5.5. 前趋图与PV操作例题
相同字母的是间接制约,前面进程制约后面进程。直接制约是先后顺序关系。
流出的是V操作,流入的是P操作。
P1在操作之后有两个后继,所以有两个V操作来通知后继进程。
P2在操作之前有两个P操作。
P2完成有一个V操作
5.6. 死锁
考察概率较低。
进程管理是操作系统的核心,但如果设计不当,就会出现死锁的问题。如果一个进程在等待一件不可能发生的事,则进程就死锁了。而如果一个或多个进程产生死锁,就会造成系统死锁。
5.7. 银行家算法
6. 存储管理
从外存中调用数据到内存中供CPU使用。
6.1. 页式存储
页式存储:将程序与内存均划分为同样大小的块,以页为单位将程序调入内存。
高级程序语言使用逻辑地址;
运行状态,内存中使用物理地址。
逻辑地址 = 页号 + 页内地址
物理地址 = 页帧号 + 页内地址
例如,页式存储系统中,每个页的大小为4KB,4K = 2^11
逻辑地址:
10 1100 1101 1110
对应的物理地址为:
110 1100 1101 1110
页内地址1100 1101 1110与上方保持一致,页号10为二进制数值对应为2,页号2查表可得块号为6,转化为二进制为110
优点:利用率高,碎片小,分配及管理简单
缺点:增加了系统开销;可能产生抖动现象
淘汰原则:在内存中,及状态位为1,之后访问位为0,未访问过的。最后修改位为1,修改开销较大。
5148H 十六进制 12为二进制对应 3位六进制,则可变的只有5。
6.2. 段式存储
段式存储:按用户作业中的自然段来划分逻辑空间,然后调入内存,段的长度可以不一样。
逻辑段地址:(段号(基址),段内偏移量)
优点:多道程序共享内存,各段程序修改互不影响
缺点:内存利用率低,内存碎片浪费大
地址益出
转换的时候才涉及物理地址。
6.3. 段页式存储
考察很少
段页式存储:段式与页式的综合体。先分段,再分页。1个程序有若干个段,每个段中可以有若干页,每个页的大小相同,但每个段段大小不同。
不同的段,段长可以不一样。
优点:空间浪费小、存储共享容易、存储保护容易、能动态连接。
缺点:由于管理软件的增加,复杂性和开销页随之增加,需要的硬件以及占用的内容页有所增加,使得执行速度大大下降。
7. 文件管理
7.1. 索引文件结构
直接索引,
通常题目会说明一个数据块(索引块)的大小,如固定为1KB,而每一个地址项占据4B。则每个地址项有256项
如从10开始 10~x,x-10+1 = 256,
二级间接索引:256 * 256 = 65536 个逻辑页,
直接索引:0、1、2、3、4、5
大小1KB,1KB/4B = 256个索引,一个一级索引节点,所指向的1级索引表可以放256个地址项,从5开始到x结束,x-5+1 = 256,x为260。
7.2. 位示图
位示图考察较多,其它未考察过
位表示比特位,bit
0-空闲,1-占用
1个磁盘1个bit位
300GB 每个物理块1MB 300*2^10 / 32
求 2048 号所占的字号和位号?
2048 + 1 = 2049 2049 / 32 = 64 余 1,则放在第65个字的位置
编号则为64,取的比特位应该为0号位置,如果要分配就将0置为1,回收1置为0
8. 性能指标
名词解释:
- 字长和数据通路宽度
-
- 字长:32位/64位
- 数据通路:数据传输过程中一次性通过的数据比特位
主频与CPU时钟周期
- CPU时钟周期 = 1 / 主频
CPI与IPC
- 平均每条指令的平均时钟周期个数(CPI,clock per instruction) = 总周期 / 总条数
- 每(时钟)周期运行指令条数(IPC,instruction per clock) = 总条数/总周期
- 每条指令完成的总时间 = CPI * 时钟周期 = CPI / 主频
- 百万条指令(MIPS,Million Instructions Per Second)
-
- IPS=总条数/总时间=1/每条指令完成的总时间=1/(CPI/主频)=主频/CPI=主频*IPC
- 【上述表达式注意需要单位转换为百万级别】
1 / 5 * 3us 得到IPS,转换为百万级,再除以 10^6。
主频 / 外频 = 倍频
9. 性能调整
10. 阿姆达尔(Amdahl)解决方案
11. 性能评价方法
识别方法的特点
12. Web服务器的性能评估
- 在Web服务器的测试中,反映其性能的指标主要有:最大的兵法连接数、响应延迟和吞吐量等。
- 常见的Web服务器性能评测方法有基准性能测试、压力测试和可靠性测试。
系统监控
进行系统监视通常有3种方式:一是通过系统本身提供的命令,如UNIX/Linux系统中的W、ps、last,Windows中的netstat等;二是通过系统记录文件查阅系统在特定时间内的运行状态;三是集成命令、文件记录和可视化技术的监控工具,如Windows的Perfmon应用程序。
13. 总结
14. 数据的表示
14.1. 进制转换
14.1.1. 按权展开
14.1.2. 短除法
14.1.3. 减法
14.1.4. 进制转换
三位二进制为一组,不足前面补0
15. 流水线
相关参数计算:流水线执行时间计算、流水线吞吐率、流水线加速比等。
流水线是指在程序执行时多条指令重叠进行操作的一种准并行处理实现技术。各种部件同时处理是针对不同指令而言的,它们可同时为多条指令的不同部分进行工作,以提高各部件的利用率和指令的平均执行速度
15.1. 吞吐率
流水线最大吞吐率:
15.2. 流水线加速比计算
完成同样一批任务,不实用流水线所用的时间与使用流水线所用的时间之比成为流水线的加速比。计算流水线加速比的基本公式如下:
15.3. 练习题
16. 磁盘管理
16.1. 磁盘优化分布存储
16.2. 磁盘单缓冲区与双缓冲区读取
17. CISC与RISC
识别和区分就可以了
复杂指令集计算机(CISC,Complex Instruction Set Computers)
精简指令集计算机(RISC,Reduced Instruction Set Computers)
18. 校验码
18.1. 奇偶校验
- 奇偶校验码的编码方法是:由若干位有效信息(如一个字节),再加上一个二进制位(椒盐味)组成校验码
- 奇校验:整个校验码(有效信息位和校验位)中“1”的个数为奇数。
- 偶校验:整个校验码(有效信息位和校验位)中“1”的个数为偶数。
奇偶校验,可检查1位的错误,不可纠错。
18.2. 循环校验码CRC
考的较多
CRC校验,可检错,不可纠错。循环冗余校验(CRC,Cyclic Redundancy Check)
- CRC的编码方法是:在k位信息码之后拼接r位校验码。应用CRC码的关键是如何从k位信息位简便地得到r位校验位(编码),以及如何从k+r位信息码判断是否出错。
- 循环冗余校验码编码规律如下:
-
- 把待编码的N位有效信息表示位多项式M(X);
- 把M(X)左移K位,得到M(X) X X^k,这样空出了K位,以便拼装K位余数(即校验位)
- 选取一个K+1位的产生多项式G(X),对M(X) X X^K做模2除;
- 把左移K位以后的有效信息与余数R(X)做模2加减,拼接为CRC码,此时的CRC码共有N+K位。
- 把接收到的CRC码用约定的生成多项式G(X)去除,如果正确,则余数为0;如果某一位出错,则余数不为0。不同的位数出错其余数不同,余数和出错位序号之间有唯一的对应关系。
什么是模2除法,它和普通的除法有何区别?
模2除法是指在做除法运算的过程中不计进位的除法。(异或运算)
例如,10111对110进行模2除法为:
18.3. 海明校验
18.4. 总结
19. 树形目录结构
文件属性
- R只读文件属性
- A存档属性
- S系统文件
- H隐藏文件
文件名的组成
- 驱动器号
- 路径
- 主文件名
- 扩展名
绝对路径:是从盘符开始的路径。
相对路径:是从当前目录开始的路径。
若当前目录为:D1,要求F2路径,则:绝对路径:/D1/W2/F2,相对路径:W2/F2
20. 数据传输控制方式
程序控制(查询)方式:分为无条件传送和程序查询方式两种。
方法简单,硬件开销小,但I/O能力不高,严重影响CPU的利用率。
程序中断方式:与程序控制方式相比,中断方式因为CPU无需等待而提高了传输请求的响应速度。
DMA方式:DMA方式是为了在主存与外设之间实现高速、批量数据交换而设置的。DMA方式比程序控制方式与中断方式都高效。
(DMAC向总线裁决逻辑提出总线请求;CPU执行完当前总线周期即可释放总线控制权。此时DMA响应,通过DMAC通知I/O接口开始DMA传输。)
通道方式
I/O处理机
相关文章:

计算机基础
分值:3-7 1. 计算机系统概述 2. 计算机组成结构 3. 存储结构 3.1. 层次化存储结构 一般用什么调什么,局部性原理 内存和外存可以统称为虚拟存储器 我们可以操作哪些:操作外存、内存、CPU寄存器。Cache具有透明性。 3.2. Cache Cache的功…...

Oracle-ASM实例communication error问题处理
问题背景: Oracle数据库日志出现大量的WARNING: ASM communication error: op 0 state 0x0 (15055)错误 问题分析: 首先检查ASM实例的状态,尝试通过sqlplus / as sysasm连接asm实例,出现Connected to an idle instance连接asm实例失败 检查ASM实例的后台…...

gin路由相关方法
c.Request.URL.Path 拿到请求的路径 package mainimport ( "fmt" "github.com/gin-gonic/gin" "net/http")//路由重定向,请求转发,ANY ,NoRoute,路由组func main() { r : gin.Default() // -------…...
vue项目 Editor.md使用示例
简介 Editor.md 支持“标准” Markdown / CommonMark 和 Github 风格的语法,也可变身为代码编辑器; 支持实时预览、图片(跨域)上传、预格式文本/代码/表格插入、代码折叠、搜索替换、只读模式、自定义样式主题和多语言语法高亮等…...

12.3 实现模拟鼠标录制回放
本节将向读者介绍如何使用键盘鼠标操控模拟技术,键盘鼠标操控模拟技术是一种非常实用的技术,可以自动化执行一些重复性的任务,提高工作效率,在Windows系统下,通过使用各种键盘鼠标控制函数实现动态捕捉和模拟特定功能的…...

【计算机网络-自顶向下方法】应用层(SMTP、POP3、DNS)
目录 1. Electronic Mail电子邮件应用画像1.1 电子邮件系统1.2 邮件报文格式1.3 邮件访问 2. DNS(Domain Name System)2.1 DNS提供的服务2.2 DNS工作机理2.3 DNS资源记录2.4 DNS协议,报文2.5 小结 1. Electronic Mail 电子邮件应用画像 应用…...

【Pm4py第八讲】关于Statistics
本节用于介绍pm4py中的统计函数,包括统计轨迹变体、案例持续时间、案例到达时间等。 1.函数概述 本次主要介绍Pm4py中一些常见的统计函数,总览如下表: 函数名说明pm4py.stats.get_start_activities()从事件日志中获取开始活动。pm4py.stats.…...

【Azure 架构师学习笔记】-Azure Data Factory (5) --Data Flow
本文属于【Azure 架构师学习笔记】系列。 本文属于【Azure Data Factory】系列。 接上文【Azure 架构师学习笔记】-Azure Data Factory (4)-触发器详解-事件触发器 前言 Azure Data Factory, ADF 是微软Azure 的ETL 首选服务之一, 是Azure data platfor…...
uniapp之ios开发及支付整体流程爬坑记录
前言 在写这篇记录的时候,关于ios的支付已经对接的差不多了,下一步就是测试好了直接发版,总共花了好几周的时间,从0到1对于首次做ios支付来说,确实很多坑。 其实业务层面很简单,甚至比安卓支付还简单&…...

AutoDL百川大模型体验
文章目录 镜像克隆模型下载测试效果AutoDL自定义服务 感谢AutoDL和CodeWithGPU这两个平台,让我们能低成本,低门槛地部署体验这些大模型 镜像克隆 我是在CodeWithGPU上克隆的这个镜像 模型下载 codewithgpu有介绍 注意这三个文件都需要下载 把那个&quo…...

蓝桥杯每日一题2023.10.8
题目描述 七段码 - 蓝桥云课 (lanqiao.cn) 题目分析 所有的情况我们可以分析出来一共有2的7次方-1种,因为每一个二极管都有选择和不选择两种情况,有7个二极管,但是还有一种都不选的情况需要排除,故-1 枚举每个方案看是否符合要…...

jmeter,性能测试,Locust
一。性能测试的概念 1.性能:就是软件质量属性中的 “ 效率 ” 特性 2.效率特性: 时间特性:指系统处理用户请求的响应时间 资源特性:指系统在运行过程中,系统资源的消耗情况 CPU 内存 磁盘IO(磁盘的写…...

opencv图像的直方图,二维直方图,直方图均衡化
文章目录 opencv图像的直方图,二维直方图,直方图均衡化一、图像的直方图1、什么是图像的直方图:2、直方图的作用:3、如何绘制图像的直方图:(1)cv::calcHist()函数原型:英文单词 calc…...

c++中的map和set
文章目录 1. 关联式容器2. 键值对3. 树形结构的关联式容器3.1 set3.1.1 set的介绍3.1.2 set的使用 3.2 map3.2.1 map的介绍3.2.2 map的使用 3.3 multiset3.3.1 multiset的介绍3.3.2 multiset的使用 3.4 multimap3.4.1 multimap的介绍3.4.2 multimap的使用 1. 关联式容器 在初阶…...

Swagger使用详解
目录 一、简介 二、SwaggerTest项目搭建 1. pom.xml 2. entity类 3. controller层 三、基本使用 1. 导入相关依赖 2. 编写配置文件 2.1 配置基本信息 2.2 配置接口信息 2.3 配置分组信息 2.3.1 分组名修改 2.3.2 设置多个分组 四、常用注解使用 1. ApiModel 2.A…...

ToBeWritten之车联网安全中常见的TOP 10漏洞
也许每个人出生的时候都以为这世界都是为他一个人而存在的,当他发现自己错的时候,他便开始长大 少走了弯路,也就错过了风景,无论如何,感谢经历 转移发布平台通知:将不再在CSDN博客发布新文章,敬…...
软考-密码学概述
本文为作者学习文章,按作者习惯写成,如有错误或需要追加内容请留言(不喜勿喷) 本文为追加文章,后期慢慢追加 by 2023年10月 密码学基本概念 密码学的主要目的是保持明文的秘密以防止攻击者获知,而密码分…...

windows 2003、2008远程直接关闭远程后设置自动注销会话
1、2003系统: 按开始—运行—输入“tscc.msc”,打开“终端服务配置”。 单击左边窗口的“连接”项,右边窗口中右击“RDP-TCP”,选择“属性”。 单击“会话”项,勾选“替代用户设置”,在“结束已断开的会话”…...
iOS BUG UIView转UIImage模糊失真
iOS BUG UIView转UIImage模糊失真 ##UIView转成Image - (UIImage *)capture {UIGraphicsBeginImageContextWithOptions(self.bounds.size, YES, 0.0);[self.layer renderInContext:UIGraphicsGetCurrentContext()];UIImage *img UIGraphicsGetImageFromCurrentImageContext(…...

如何在10分钟内让Android应用大小减少 60%?
一个APP的包之所以大,主要包括一下文件 代码libso本地库资源文件(图片,音频,字体等) 瘦身就主要瘦这些。 一、打包的時候刪除不用的代码 buildTypes {debug {...shrinkResources true // 是否去除无效的资源文件(如…...
设计模式和设计原则回顾
设计模式和设计原则回顾 23种设计模式是设计原则的完美体现,设计原则设计原则是设计模式的理论基石, 设计模式 在经典的设计模式分类中(如《设计模式:可复用面向对象软件的基础》一书中),总共有23种设计模式,分为三大类: 一、创建型模式(5种) 1. 单例模式(Sing…...

【kafka】Golang实现分布式Masscan任务调度系统
要求: 输出两个程序,一个命令行程序(命令行参数用flag)和一个服务端程序。 命令行程序支持通过命令行参数配置下发IP或IP段、端口、扫描带宽,然后将消息推送到kafka里面。 服务端程序: 从kafka消费者接收…...

云启出海,智联未来|阿里云网络「企业出海」系列客户沙龙上海站圆满落地
借阿里云中企出海大会的东风,以**「云启出海,智联未来|打造安全可靠的出海云网络引擎」为主题的阿里云企业出海客户沙龙云网络&安全专场于5.28日下午在上海顺利举办,现场吸引了来自携程、小红书、米哈游、哔哩哔哩、波克城市、…...

YSYX学习记录(八)
C语言,练习0: 先创建一个文件夹,我用的是物理机: 安装build-essential 练习1: 我注释掉了 #include <stdio.h> 出现下面错误 在你的文本编辑器中打开ex1文件,随机修改或删除一部分,之后…...
电脑插入多块移动硬盘后经常出现卡顿和蓝屏
当电脑在插入多块移动硬盘后频繁出现卡顿和蓝屏问题时,可能涉及硬件资源冲突、驱动兼容性、供电不足或系统设置等多方面原因。以下是逐步排查和解决方案: 1. 检查电源供电问题 问题原因:多块移动硬盘同时运行可能导致USB接口供电不足&#x…...
质量体系的重要
质量体系是为确保产品、服务或过程质量满足规定要求,由相互关联的要素构成的有机整体。其核心内容可归纳为以下五个方面: 🏛️ 一、组织架构与职责 质量体系明确组织内各部门、岗位的职责与权限,形成层级清晰的管理网络…...

【 java 虚拟机知识 第一篇 】
目录 1.内存模型 1.1.JVM内存模型的介绍 1.2.堆和栈的区别 1.3.栈的存储细节 1.4.堆的部分 1.5.程序计数器的作用 1.6.方法区的内容 1.7.字符串池 1.8.引用类型 1.9.内存泄漏与内存溢出 1.10.会出现内存溢出的结构 1.内存模型 1.1.JVM内存模型的介绍 内存模型主要分…...
Spring Security 认证流程——补充
一、认证流程概述 Spring Security 的认证流程基于 过滤器链(Filter Chain),核心组件包括 UsernamePasswordAuthenticationFilter、AuthenticationManager、UserDetailsService 等。整个流程可分为以下步骤: 用户提交登录请求拦…...
二维FDTD算法仿真
二维FDTD算法仿真,并带完全匹配层,输入波形为高斯波、平面波 FDTD_二维/FDTD.zip , 6075 FDTD_二维/FDTD_31.m , 1029 FDTD_二维/FDTD_32.m , 2806 FDTD_二维/FDTD_33.m , 3782 FDTD_二维/FDTD_34.m , 4182 FDTD_二维/FDTD_35.m , 4793...

Copilot for Xcode (iOS的 AI辅助编程)
Copilot for Xcode 简介Copilot下载与安装 体验环境要求下载最新的安装包安装登录系统权限设置 AI辅助编程生成注释代码补全简单需求代码生成辅助编程行间代码生成注释联想 代码生成 总结 简介 尝试使用了Copilot,它能根据上下文补全代码,快速生成常用…...