操作系统导论笔记 虚拟化
写在前面
这部分内容可以成为资源虚拟化, 主要包括 CPU 虚拟化(CPU 调度策略) 和 内存虚拟化(虚拟内存, 分段分页技术, 缓存策略等), 从一些很容易思考的点引入, 一点一点来分析不同策略的优劣和权衡, 十分引人入胜.
引入
正在运行的程序
执行指令: 处理器从内存中获取一条指令, 对其进行解码(decode), 然后执行(execute), 完成这条指令之后, 处理器继续执行下一条指令, 直到程序完成.
操作系统
一类让程序在计算机上运行变得容易的程序, 例如允许程序共享内存, 让程序与设备交互等.
虚拟化资源
操作系统通过虚拟化的方法使得计算机更加易用.
操作系统将物理资源(处理器, 内存, 磁盘等) 转换为更加通用, 强大, 易用的虚拟化形式. 为用户...
C++容器存放引用的小坑与分析
问题
最近做图论题发现一个bug, 在这里记录一下:
vector<pair<int, int>> vp{ {1, 2}, {2, 3} };
for (size_t i{}; i < 4; ++i) {
if (i < vp.size()) {
auto& [a, b] = vp[i];
vp.emplace_back(a, b);
cout << a << " : " << b << endl;
}
}
在 address-sanitizer 直接报:
==1705==ERROR: AddressSanitize...
背包问题力扣题目总结
写在前面
背包问题, 采用动态规划的思想.
0-1背包
物品只能用一次
有N件物品和一个最多能被重量为W 的背包。第i件物品的重量是weight[i],得到的价值是value[i] 。每 件物品只能用一次,求解将哪些物品装入背包里物品价值总和最大。
定义状态数组
dp[i][j] 表示从下标为[0-i]的物品里任意取,放进容量 为j的背包,价值总和最大是多少。
原始问题
class Solution {
public:
int BagMaxValue(vector<int>& value, vector<int>& weight, int maxWeight) {
// 滚动数组优化
...
编程中常用的英文缩写与单词的含义
写在前面
数学
算符
名词
缩写
含义
Greatest Common Divisor
GCD
最大公因数
Highest Common Factor
HCF
最大公因子
Least Common Multiplier
LCM
最小公倍数
计量
名词
缩写
含义
b...
基于排序算法(分治)的一些力扣题目
写在前面
快速排序(快速选择)
应用 partition 的快速选择算法
原理
k 的值小于等于左区间的长度-1(即 m-l), 说明不能确定满足条件的值, 继续划分(选择), 否则可以先选出 l 到 m 区间的值, 这段区间的值一定满足条件, 在这种情况下, 如果此时 k 要比 m 到 l 区间的长度+2(即m-l+1) 还大(因为前面记录结果时候记录的数目为 m-l+1), 那就可以划分这个区间了…
题目
215. 数组中的第K个最大元素;(仅取第 k 个)
class Solution {
public:
int findKthLargest(vector<int>& nums, int k) {
srand(time(0...
Sublime的一些配置snippets
基本配置
字体
"font_size": 20,
"font_face": "JetBrainsMono Nerd Font Mono",
自动保存
"save_on_focus_lost": true,
光标显示样式
"caret_style": "smooth",
Vintage
"ignored_packages":
[
"Vintage",
],
"vintage_use_clipboard": true,
"vintage_ctrl_keys": true,
"relative_line_numbers": true,
空格和缩进(制表位)
"t...
Jekyll博客中添加全文本搜索的最佳方案与踩坑记录
写在前面
最近一直想折腾一下博客的全文本搜索, 但是找了很多博客都比较老旧了, 尤其是使用 Luna.js 以及使用 simple-Jekyll-Search 等插件的, 基本上最近的都在 3 年前了… 并且 simple 这个库不更新了, 看知乎(为Jekyll+GitHub Pages添加全文搜索功能)还有一些特殊字符提取的bug.
后来看到了这篇文章:
个人博客网站添加文章搜索功能;
感觉可行! 于是就一点一点配置了.
后来不知道为什么, (一开始猜测可能是我的博客内容比较多) 总是显示匹配数量为 0, 但是后来我精简了一下用例, 还是不行.
百思不得解的时候我联系了作者,他提供了一个办法: 浏览器控制台调试, 不得不说, 真的有用!
最后的问题竟然是...
C++机试输入的字符流(stringstream)读取方案总结
写在前面
最近做一个华为机试的模拟题, 发现看起来一样的输出就是不给过, 后来发现可能是字符串末尾的空格导致, 一开始没想到别的好办法, 直接存数组做了. 后来发现, 用字符串流 (stringstream) 非常方便, 于是就顺便总结下.
这个题是这样的:
Tom从小就对英文字母非常感兴趣,尤其是元音字母(a,e,i,o,u,A,E,I,O,U),他在写作文的时候都会把元音字母写成大写的,辅音字母则都写成小写, 你试试把一个句子翻译成他写作文的习惯吧。
###### 输入
输入一个字符串S(长度不超过100,只包含大小写的英文字母和空格)。
###### 输出
按照习惯输出翻译后的字符串S。
###### 样例1
复制输入:
...
共计 465 篇文章,59 页。
您是Zorch的第 个小伙伴
Hits