
操作系统
荒野之萍
个人主页: https://icoty.github.io
Github: https://github.com/icoty
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Nachos-Lab1-完善线程机制
文章目录Nachos是什么目录结构环境源码获取内容一:总体概述内容二:任务完成情况任务完成列表(Y/N)具体Exercise的完成情况Exercise1 调研Exercise2 源代码阅读Exercise3 扩展线程的数据结构Exercise4 增加全局线程管理机制内容三:遇到的困难以及解决方法困难1困难2内容四:收获及感想内容五:对课程的意见和建议内容六:参考文献 Nachos是什么 Nach...原创 2019-05-14 20:13:18 · 1518 阅读 · 0 评论 -
Nachos-Lab2-线程调度模块实现
文章目录源码获取内容一:总体概述内容二:任务完成情况任务完成列表(Y/N)具体Exercise的完成情况Exercise1 调研Exercise2 源代码阅读Exercise3 **线程调度算法扩展**Challenge **线程调度算法扩展**(至少实现一种算法)内容三:遇到的困难以及解决方法困难1内容四:收获及感想内容五:对课程的意见和建议内容六:参考文献 源码获取 https://gith...原创 2019-05-14 20:23:09 · 1198 阅读 · 0 评论 -
XV6源代码阅读-进程线程
文章目录Exercise1 源代码阅读Exercise2 带着问题阅读参考文献 Exercise1 源代码阅读 基本头文件:types.h param.h memlayout.h defs.h x86.h asm.h mmu.h elf.h types.h:仅仅是定义uint, ushort, uchar pde_t别名; typedef unsigned int uint; type...原创 2019-06-09 16:39:11 · 3506 阅读 · 0 评论 -
XV6源代码阅读-中断与系统调用
文章目录Exercise1 源代码阅读Exercise2 带着问题阅读参考文献 Exercise1 源代码阅读 启动部分: bootasm.S bootmain.c 和xv6初始化模块:main.c bootasm.S 由16位和32位汇编混合编写成的XV6引导加载器。bootasm.S内的汇编代码会调用bootmain.c中的void bootmain(void);main.c主函数内部初...原创 2019-06-09 16:43:07 · 1503 阅读 · 0 评论 -
XV6源代码阅读-虚拟内存管理
Exercise1 源代码阅读 内存管理部分: kalloc.c vm.c 以及相关其他文件代码 kalloc.c:char * kalloc(void)负责在需要的时候为用户空间、内核栈、页表页以及缓冲区分配物理内存,将物理地址转为虚拟地址返回,物理页大小为4k。void kfree(char * v)接收一个虚拟地址,找对对应的物理地址进行释放。xv6使用空闲内存的前部分作为指针域来指向...原创 2019-06-09 16:47:53 · 2729 阅读 · 0 评论 -
XV6源代码阅读-同步机制
Exercise1 源代码阅读 锁部分:spinlock.h/spinlock.c以及相关其他文件代码 // Mutual exclusion lock. struct spinlock { uint locked; // 0未被占用, 1已被占用 // For debugging: char *name; // Name of lock. struct cpu...原创 2019-06-09 16:50:02 · 1568 阅读 · 0 评论 -
XV6源代码阅读-文件系统
Exercise1 源代码阅读 文件系统部分 buf.h fcntl.h stat.h fs.h file.h ide.c bio.c log.c fs.c file.c sysfile.c exec.c buf.h:对xv6中磁盘块数据结构进行定义,块大小为512字节。 // xv6中磁盘块数据结构,块大小512字节 struct buf { int flags; // DIRTY, V...原创 2019-06-09 16:52:02 · 1500 阅读 · 0 评论