Loading

摘要: 南京大学OS笔记(1)-应用眼中的操作系统 早就想刷一刷南大JYY老师的os课。之前稍微看过几节,果然讲的风趣幽默,而且现场写代码展示水平确实很高,这次准备认真刷一刷然后好好记一下笔记。当然lab就不做了,因为已经做过mit的lab了。刷课主要是为了复习基础知识和学的更深入一点。第一节操作系统历史就 阅读全文
posted @ 2021-11-12 23:32 周小伦 阅读(1254) 评论(0) 推荐(2) 编辑
摘要: xv6学习笔记(5) : 锁与管道与多cpu 1. xv6锁结构 1. xv6操作系统要求在内核临界区操作时中断必须关闭。 如果此时中断开启,那么可能会出现以下死锁情况: 进程A在内核态运行并拿下了p锁时,触发中断进入中断处理程序。 中断处理程序也在内核态中请求p锁,由于锁在A进程手里,且只有A进程 阅读全文
posted @ 2021-08-29 20:22 周小伦 阅读(1134) 评论(2) 推荐(1) 编辑
摘要: xv6学习笔记(4) : 进程 xv6所有程序都是单进程、单线程程序。要明白这个概念才好继续往下看 1. XV6中进程相关的数据结构 在XV6中,与进程有关的数据结构如下 // Per-process state struct proc { uint sz; // Size of process m 阅读全文
posted @ 2021-08-23 22:36 周小伦 阅读(1394) 评论(1) 推荐(1) 编辑
摘要: xv6学习笔记(3):中断处理和系统调用 1. tvinit函数 这个函数位于main函数内 表明了就是设置idt表 void tvinit(void) { int i; for(i = 0; i < 256; i++) SETGATE(idt[i], 0, SEG_KCODE<<3, vector 阅读全文
posted @ 2021-08-22 15:16 周小伦 阅读(1395) 评论(0) 推荐(2) 编辑
摘要: XV6学习笔记(2) :内存管理 在学习笔记1中,完成了对于pc启动和加载的过程。目前已经可以开始在c语言代码中运行了,而当前已经开启了分页模式,不过是两个4mb的大的内存页,而没有开启小的内存页。接下来就可以从main.c的init函数开始 这里会和JOS做一个对比 首先看一下在执行main.c之 阅读全文
posted @ 2021-08-18 20:58 周小伦 阅读(795) 评论(0) 推荐(1) 编辑
摘要: XV6学习笔记(1) 1. 启动与加载 首先我们先来分析pc的启动。其实这个都是老生常谈了,但是还是很重要的(也不知道面试官考不考这玩意), 1. 启动的第一件事-bios 首先启动的第一件事就是运行bios,这个时候我们的机器位于实模式,也就是16位地址。这个时候能访问的空间只有1mb 就是设置c 阅读全文
posted @ 2021-08-16 21:43 周小伦 阅读(1482) 评论(5) 推荐(1) 编辑
摘要: Lab 5: File system, Spawn and Shell 1. File system preliminaries 在lab中我们要使用的文件系统比大多数“真实”文件系统更简单,包括XV6 UNIX的文件系统,但它足以提供基本功能:创建,读取,写入和删除在分层目录结构中组织的文件。 我 阅读全文
posted @ 2021-08-14 22:05 周小伦 阅读(1056) 评论(0) 推荐(1) 编辑
摘要: 1. 263. 丑数 给你一个整数 n ,请你判断 n 是否为 丑数 。如果是,返回 true ;否则,返回 false 。 丑数 就是只包含质因数 2、3 或 5 的正整数。 示例 1: 输入:n = 6 输出:true 解释:6 = 2 × 3 示例 3: 输入:n = 14 输出:false 阅读全文
posted @ 2021-08-09 20:41 周小伦 阅读(328) 评论(0) 推荐(0) 编辑
摘要: LevelDB学习笔记 (3): 长文解析memtable、跳表和内存池Arena 1. MemTable的基本信息 我们前面说过leveldb的所有数据都会先写入memtable中,在leveldb中每个 LevelDB 实例最多会维护两个 MemTable: mem_ 和 imm_。mem_ 可 阅读全文
posted @ 2021-07-18 10:00 周小伦 阅读(1015) 评论(0) 推荐(0) 编辑
摘要: Lab4 Preemptive Multitasking(下) lab4的第二部分要求我们实现fork的cow。在整个lab的第一部分我们实现了对多cpu的支持和再多系统环境中的切换,但是最后分析的时候没有分析环境创建的系统调用,这里先补一下对环境创建的系统调用的分析 recall A续 这里的分析 阅读全文
posted @ 2021-07-17 20:05 周小伦 阅读(730) 评论(3) 推荐(2) 编辑