OSTEP:分页的原理第十八章:分页介绍 在虚拟地址中,vpn=address space size/page size. 所以在分页大小不变的情况下增加址空间大小会增加分页数量,在地址空间大小不变的情况下增加分页大小会减少分页数量。 如果使用了很大的分页,当程序只需要很小一部分内存的时候依旧会申请过大的内存,造成不必要的内存浪费 每次当某个分页被地址空间使用后,PTE中对应的Vaild Bit就会置为1。当 2022-05-08 知识记录 #OS
OSTEP:内存碎片的管理第十七章:空闲空间管理 执行题目给出的参数可以得到以下内容 answer 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647seed 0size 100baseAddr 1000headerSize 0alignment -1policy BESTlistOrd 2022-05-07 知识记录 #OS
qBittorrent与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
WSL配置Proxy代理引导前言 在三番五次被wsl的proxy问题折腾的心态爆炸,并重装了好几次系统以后,总算理清楚了WSL如果想要搭配windowns上的clash for windows的正确使用方法。把之前无论是需要脚本还是各种复杂操作的博客都删了,在这里记录一个完全不需要任何脚本,也不需要额外配置防火墙的合理方案。 工具环境 WSL 2 ArchLinux(理论上来说其他发行版应该相同) Windows 11 2022-05-01 小技巧 #zsh #WSL #Clash
OSTEP:通过分段管理内存第十六章:分段 这里记录一个样例作为例子,其他的答案则跳过重复的计算步骤 运行第一个seed可以得到以下输出 123456789101112131415161718ARG seed 0ARG address space size 128ARG phys mem size 512Segment register information:Segment 0 base (grows posit 2022-04-20 知识记录 #OS
OSTEP:虚拟内存和物理内存地址转换第十五章:机制:地址转换 该章节主要引出了基址寄存器和界限寄存器的概念,表述了在操作系统内程序执行的时候虚拟内存的分布和物理内存的地址转换关系 判断是否越界只需要将访问内存地址大小和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
使用Github Actions自动部署Hexo前言 之前博客一直用的都是Jekyll框架,在使用Github Pages进行部署的时候并不需要自己手动配置,不过在换了Hexo主题之后,每次写完了博客除了要push一次commit到博客的内容分支上,还需要自己手动deploy一次。虽然也不会很麻烦,不过用Github Actions来完成这个过程也要更顺畅一些。原本觉得这个需求应该很简单,直接在Actions上执行一次hexo g -d的指令 2022-04-15 小技巧 #hexo
解决Windows未使用端口被占用问题参考文章 Hortonworks Docker Sandbox environment cannot start default-dynamic-port-range-tcpip-chang 问题产生 在无脑跟着网上教材开启Windows的SandBox的时候开启了Hyper-V的功能,结果尝试在6800端口运行和往常一样的Aria2的Docker容器的时候出现了端口报错的情况,通过net 2022-04-14 小技巧 #Windows
OSTEP:系统API的调用第十四章:插叙:内存操作API 执行null文件后并没有提示或报错,代码如下 123456int main(){ int *pt = NULL; free(pt); // 释放空指针 return 0;} 在执行完gdb null后的run后,提示了以下信息 log 123(gdb) runStarting program: /home/h 2022-04-10 知识记录 #OS