【存储】存储器结构|缓存
直接映射
直接映射
组索引位数(set index)表示去cache中的哪个组找
一个组内可以有一行、可以有多行
如果一个组内只有一行,找到了组号,再确定下tag号和有效位valid就能知道:数据是否被缓存在cache中。再根据偏移位数,拿出数据即可【一组一行是直接映射】
如果一组内有多行,找到了组号,还需要顺序逐个对比tag和有效位……逐个对比地址的tag号和某行的tag号是否相同,若相同并且有效,再拿数据【一组有多行是组相联】
可以看到:
一个组(set)中包含:有效位(valid),标志位数(tag),一个数据块(Cache block)
其中如图的Cache block一共有8个格子【0~7号格子】,每一个格子上,可以放一个字节【先不管为啥直接放一个字节】!!!
所以,一个数据块Cache block一共可以放8个字节
又因为,0~7这8个数,只要3位二进制就能表示
所以在内存地址的后三位叫“Block offset”【叫偏移位数】用来表示用Cache block的哪个格子存或取数据
上面标红的三个值,就是将内存地址划分成的三个变量
数据块(Cache bloc ...
【CS-Books】计算机专业书籍下载
组成原理
深入理解计算机系统
中文【全网最高清扫描版本】:「深入理解计算机系统(第三版).pdf」
https://www.aliyundrive.com/s/oj13zay3N3G 提取码: yl37
英文【非扫描版本】:「Computer-Systems-A-Progr…-Perspective-3rd.pdf」
https://www.aliyundrive.com/s/HumKm99wUCn 提取码: yl37
计算机硬件软件接口
英文【非扫描版本】「Computer Organization RISC-V edition.pdf」
https://www.aliyundrive.com/s/9XpduLwcTUj 提取码: yl37
代码大全
中文【高清扫描版本】:「[代码大全2中文版(完整清晰版)].pdf」
https://www.aliyundrive.com/s/EMYbBhmnSjY 提取码: yl37
操作系统
Unix&Linux大学教程
英文【非扫描版本】:「HARLEYHAHN’SGUIDETOUNIXANDLINUX.pdf」
htt ...
【WallHaven】一键下载JS实现
WallHaven一键下载
前言
很早前,写过一个批量下载wallhaven的python程序,但它缺点很明显:无法提前看到要下载的内容,只能一次性全部下载完再筛选。
最近有空,准备想重新写个带预览功能的程序,但默念一想,原网站功能已经很完善,唯一的不足是无法直接下载。
于是,我在油猴上寻找类似脚本,最终,找到一个最后更新于19年的脚本,功能已经无法正常使用了,于是我在此基础上进行了修改,新脚本可以下载网站上全部格式的图片(好像只有jpg和png)
另外,受到最近学习通事件的影响,我删除了原脚本中关于登录信息的代码,只保留并完善了一键下载功能,请放心使用
功能
在缩略图-浏览模式下,无法直接点击右键保存图片,此脚本添加一个下载按钮,点击后即可快速下载对应的图片
语言
javasrcipt
安装方法
油候安装 上搜索“Wallhaven Download Faster”,作者:Lthero Peter
或着直接点击链接下载 https://greasyfork.org/zh-CN/scripts/447172-wallhaven-one-click-download
使用方 ...
【proxifier】配置真全局代理
前言
使用V2ray后,例如ssh命令仍然无法直接使用代理,需要搭配软件“Proxifier”
步骤
添加代理服务器
添加代理服务器
设置地址为127.0.0.1,端口为10808【需要查看实际网络连接的端口】,协议为socks5
添加代理规则
添加规则
我使用termius【一个软件】的ssh连接到服务器,则需要设置为
Name为规则名
Applications为应用名称
Target hosts与Target ports无需指定
Action为上面添加的Poxy Socks5 127.0.0.1【表示termius这个应用需要走代理】
注意
让v2ray软件本身直连,无需代理
像bitcomet连接,理论上来说,不能走代理【因为国外服务器会检测,如果使用p2p会将服务器封禁】
【MakeFile】最最最基础的命令
基本功能
格式:
12目标文件名: 依赖列表 命令
直接上代码解释
1234567891011main:main.o test1.o test2.o gcc main.o test1.o test2.o -o mainmain.o:main.c xxoo.h gcc -c main.c -o main.otest1.o:test1.c test.h gcc -c test1.c -o test1.otest2.o:test2.c test.h gcc -c test2.c -o test2.o
要生成的最终目标叫main【可以是其它名字】;生成main需要main.o test1.o test2.o这三个依赖
则需要写到第一行:main: main.o test1.o test2.o
编译命令写到第二行:gcc main.o test1.o test2.o -o main
其中-o表示输出
因为main.o test1.o test2.o这三个依赖已经编译过了,不需要-c
生成中间文件如main.o,需要main.c xxoo.h 这两个依赖
则需要写到第一行 ...
【Compiler】期末题目
题目
第1题,编译程序的工作情况有三种,分别是解释型、编译型和( )。
A、综合型
B、并列型
C、汇编型
D、不确定型
正确答案: C
第2题,文法中不包含左公共因子是LL(1)文法的( )。
A、充分条件
B、必要条件
C、充要条件
D、即不充分也不必要的条件
正确答案: B
LL(1)方法要求:无左递归、无公共左因子
第3题,在规范归约中用来刻画可归约串的是( )。
A、短语
B、句柄
C、最左素短语
D、素短语
正确答案:B
在"算符优先分析"中,用“最左素短语”来刻画“可归约串”
在“规范归约”分析中,则用“句柄”来刻画“可归约串”。
句柄:直接短语中的最左直接短语为该句型的句柄
素短语:是指一个短语至少包含一个终结符,并且除它自身之外不再包含其他素短语
最左素短语:最左素短语就是句型 定义的素短语
4.中间代码设计原则是( )。
A、简洁,占用内存少
B、接近自然语言
C、可替代编译程序
D、容易生成和翻译为目标代码
正确答案:D
第6题,设有文法G[S]: S→S8|S9|Sa|Sc|a|b|c
下列句子中符合该文法的有( )。①ab9 ②a9c98 ...
【校园网连接】认证|校园网多线
前言
6.19号:想尝试校园网内多DHCP连接,从而实现网速的叠加
6.20号:尝试用虚拟机+openwrt方式实现,但没有测试成功
准备入手k2p后硬件再测试一遍,直觉上多线成功的可能性较低
6.22号晚11点,硬件多DHCP连接成功!
目前方案为:硬件刷openwrt固件、并配合macvwan创建虚拟网卡
但速度上限无法突破100Mbps,初步分析的原因是:
楼层的交换机出口限制为100Mbps
作用
多线连接后的截图
经过检查,发现确实学校设置的100Base接口限制了网速近一步提升,所以100Mbps账号已经不能再快了,但20Mbps或50Mbps的账号可以更快。
50Mbps账号正常测试速度:50Mbps左右
50Mbps账号可以登录两次后速度测速:80Mbps;
反复测试了多次,排除网络波动的可能性~,所以!确实多线连接成功
所需设备及环境
硬件:k2p路由器
环境:windows
教程
我尝试了很多教程的方法,总结下来,下面这种方式最最最最最最简单。
店家发来的k2p是已经刷过breed的openwrt系统,我重新下载了个新的openwrt,里面集 ...
【Frp-Mount-Windows-Share】将Windows下面的磁盘挂载到linux服务器
本地磁盘文件挂载到服务器
大致思路:使用Frp【一个内网穿透工具】来实现本地【windows】和服务器【linux】创建连接,再让本地【windows】的共享目录挂载到服务器。
说人话,先让这两台机器在一个内网,服务器再访问windows开了共享的文件
后面还有实现个人云盘搭建,是借助Frp来完成
挂载储存
实现了frp后,只是说明服务器与本地可以相互连接上,但还没实现挂载功能
本地配置Smb服务
具体配置看这篇文章 https://os.51cto.com/article/658846.html
里面还讲了如何“创建新用户”与“打开共享文件”
本地配置好后,继续执行下面的
安装cifs工具包
ubuntu输入下列命令
1apt-get install cifs-utils
centos输入下列命令
1yum install cifs-utils
安装过程中有提示Y/N的输入y回车
创建要挂载到的目录
先创建一个目录为你要挂载到的目录,例如我要挂载到/mnt/driver目录下
1mkdir /mnt/driver
执行挂载
命令如下
12mount -v - ...
IT-Schedule
项目范围
项目进度管理
项目进度的延迟会导致:【失去开发经费】、【失去甲方】、【失去市场】
1、项目进度管理的
目的
平衡【工期、费用、质量】这三个目标
2、项目进度管理的
主要过程
规划进度管理-> 定义活动 -> 排序活动 -> 估算活动资源 -> 估算活动时间 -> 制定进度管理计划 -> 进度控制
定义活动
一项活动有对应的“时间、成本、资源”
【定义活动】的目标
是找到 为了完成最终产物,而中途必须经历的活动
【定义活动】的结果
项目活动清单【根据原来的WBS进一步细化和分解得到的活动,要比原来的项目工作要更详细】
活动属性:活动标志,编号,名称,紧前活动,紧后活动,资源要求等
更新后的WBS【对原来项目的WBS进行修改】
项目里程碑清单
排序活动
方法:前导图法和箭线图法
估算活动资源
专家判断法、多方案分析法、算下而上估算法
估算活动时间
最好时间Ta,最差时间Tb,正常时间Tc
T=(Ta+Tb+4*Tc)/6
制定进度管理计划
主要流程中的倒数第二个步骤
包含的内容
1、项目综合进度计划
2、项目 ...
【Cryptography】IP安全
1
IPsec
从IP层加密所有流量
加密的层次
结构
AH【Authentication Header】:数据源认证和数据完整性保护和防报文重放功能,它能保护通信免受篡改,但不能防止窃听,适合用于传输非机密数据
ESP【封装安全负载】:提供加密、数据源认证、数据完整性校验和防报文重放功能
IKE【Internet 密钥交换】:IKE为IPsec提供了自动协商交换密钥、建立SA的服务,能够简化IPsec的使用和管理,大大简化IPsec的配置和维护工作。
IPsec可以由AH或ESP这两种方式实现,AH和ESP又都支持传输模式与隧道模式
工作流程
SA(security association):是两个通信实体经协商建立起来地一种协议,它们决定了用来保护数据包安全地IPsec协议,转码方式,密钥,以及密钥地有效存在时间等等
IKE(isakmp)SA:协商对IKE数据流进行加密以及对对等体进行验证地算法(对密钥地加密和peer地认证)对等体之间只能存在一个
第一阶段:建立ISAKMP SA协商的是以下信息
1、对等体之间采用何种方式做认证,是预共享密钥还是数字证书。
2 ...