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
OSTEP:比例份额的调度策略第八章:调度:比例份额 在CPU资源进行调度的时候,有的时候我们很难让每个程序都尽量公平的分配到资源。“彩票调度(lottery scheduling)”通过给不同的任务分配不同的彩票数,再通过随机数和期望分布来对资源进行调度,实现一个类似于平均分配的调度方法 本章中文译本内缺少对Linux系统的CFS调度的说明,不过不影响课后练习 完成随机种子1、2和3对应的习题计算 该题目的主要思路即 2022-04-09 知识记录 #OS
总结:2022年3月做了的事情 学习方面 这个月直接写出的可以用的贡献不是很多,主要成就感应该就是来自Python的抓包和发包写一些打卡脚本的目标完成了,实现了学校的打卡自由和机场的签到流量自由。 Rust的学习和CS144的学习在这个月成功被我换成了C++的学习和OSTEP的学习,写lab完成之后带来的快感感觉完全不亚于玩老头环成功挑战Boss后的成就感,OSTEP的学习笔记和答案也有一直在博客里面更新,希望自 2022-04-06 个人总结 #总结
OSTEP:进程的调度策略第七章:进程调度/介绍 参数介绍: Response:响应时间,即任务第一次运行的时间 Turnaround: 完成时刻(周转时间),即任务完成那一刻对应的时间 Wait: 等待中时间,即任务处于Ready状态,但当前CPU在执行其他任务的等待时间 执行结果如下 FIFO: 123456789101112131415161718192021ARG policy FIFOARG jlist 2022-03-28 知识记录 #OS
OSTEP:程序上下文切换的开销第六章:受限制直接执行/上下文切换 实验环境 由于该实验要求在单个CPU上运行两个进程并在他们两个UNIX管道,而书中介绍的sche_affinity()函数的具体调用不是很清楚,所以这里通过Docker的参数限制,创建了一个只使用宿主机一个CPU资源的容器进行实验。 单核Docker容器的创建 1docker run -it -d --cpuset-cpus="0" -- 2022-03-25 知识记录 #OS
OSTEP:进程的简单使用第五章:进程API 子进程和父进程的变量x的值内容相互独立。 1234567891011121314151617181920212223242526272829303132333435363738#include <stdio.h>#include <stdlib.h>#include <unistd.h>#include <string.h> 2022-03-23 知识记录 #OS