操作系统导论-较小的表第二十章:分页:较小的表 对于线性页表,只要知道第一个Page的地址,存于寄存器当中,就可以通过这个地址依次陆续推算下一个或后面任意一个有效的地址范围。对于多级页表,通过多次搜索,依旧可以在只有最初的页表的地址的情况下,通过多次的偏移查询来定位到最后需要的特定地址。 这里取例子说明算法,具体答案通过-c参数可直接输出 这里以seed为0的时候为例 首先,在README.md中可以得到以下 2022-05-12 知识记录 os
操作系统导论-实际操作系统的TLB表项第十九章:实际操作系统的TLB表项 本章为测量实验,主要要求为写一份tlb.c来测试在TLB miss和TLB hit的情况下性能开销的变化,以感受TLB的重要性 对于题中问题的回答 由于gettimeofday()的函数只能精确到微秒,不足以测试较为精确的时间,因此使用CLOCK_PROCESS_CPUTIME_ID和clock_gettime();搭配即可获得纳秒级的时间测量,具体代码实 2022-05-09 知识记录 os
操作系统导论-分页介绍第十八章:分页介绍 在虚拟地址中,vpn=address space size/page size. 所以在分页大小不变的情况下增加址空间大小会增加分页数量,在地址空间大小不变的情况下增加分页大小会减少分页数量。 如果使用了很大的分页,当程序只需要很小一部分内存的时候依旧会申请过大的内存,造成不必要的内存浪费 每次当某个分页被地址空间使用后,PTE中对应的Vaild Bit就会置为1。当 2022-05-08 知识记录 os
操作系统导论-空闲空间管理第十七章:空闲空间管理 执行题目给出的参数可以得到以下内容 answer 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647seed 0size 100baseAddr 1000headerSize 0alignment -1policy BESTlistOrd 2022-05-07 知识记录 os
qbit与jellyfin搭建自动追番引导环境 Docker Engine: 20.10.15 Ubuntu: 20.04.4 LTS X86平台 部署教程 部署使用的是老电脑上的Ubuntu 20.04.4 LTS,为了便于备份配置以及轻量上手,采用了Docker-Compose的一件式部署方式,该方案主要倾向解决追番问题,目前基本解决刮削问题。 Docker安装 请在百度等搜索引擎直接搜索对应自己平台的"Docke 2022-05-07 安装引导 qbittorrent jellyfin docker
总结:迷惘杂乱,漫无目的上个月刚说步入正轨,这个礼拜就寄了 做了的事情 学习方面 在上个月感觉有了点成就感之后,这个月学习效率又开始直线下降了,电脑也遇到防火墙问题而重装了四五次。在写参加比赛的Rust比赛的时候几乎自己没有commit多少代码…之前代码写少了让自己上限太低,限制遇到瓶颈期总感觉很难突破。按博客进度来看也只完成了四篇ostep的lab,效率比最开始的预想要低很多。 反思总结一下还是自己自制力不太行,总 2022-05-06 个人总结 总结
WSL配置Proxy代理引导前言 在三番五次被wsl的proxy问题折腾的心态爆炸,并重装了好几次系统以后,总算理清楚了WSL如果想要搭配windowns上的clash for windows的正确使用方法。把之前无论是需要脚本还是各种复杂操作的博客都删了,在这里记录一个完全不需要任何脚本,也不需要额外配置防火墙的合理方案。 工具环境 WSL 2 ArchLinux(理论上来说其他发行版应该相同) Windows 11 2022-05-01 小技巧 zsh WSL Clash
操作系统导论-分段第十六章:分段 这里记录一个样例作为例子,其他的答案则跳过重复的计算步骤 运行第一个seed可以得到以下输出 123456789101112131415161718ARG seed 0ARG address space size 128ARG phys mem size 512Segment register information:Segment 0 base (grows posit 2022-04-20 知识记录 os
操作系统导论-地址转换第十五章:机制:地址转换 该章节主要引出了基址寄存器和界限寄存器的概念,表述了在操作系统内程序执行的时候虚拟内存的分布和物理内存的地址转换关系 判断是否越界只需要将访问内存地址大小和Limit进行比较,在小于Limit的情况下直接做加法即可 获取到所有访问的数据后,可以发现访问的地址中最大的为 1VA 9: 0x000003a1 (decimal: 929) 因此只需要将-l设置为9 2022-04-19 知识记录 os
修复WSL中env:'bash\r'的冲突问题前言 由于之前C/C++环境配置出问题,近期把WSL重装了一次,结果在配置zsh-proxy的时候出现了报错 1/usr/bin/env: ‘bash\r’: No such file or directory 直接搜索的方案要么是直接屏蔽掉Windows的Path继承,要么是说重启下wsl就好,但都比较模棱两可 问题原因 后面在查看了proxy相关的报错后,发现只有配置git的proxy时会 2022-04-18 小技巧 WSL