荒野之萍

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

随笔分类 -  操作系统

摘要: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 1.buf.h:对xv6中磁盘块数据结构进行定义,块大小为512字节。 2.fcntl.h:宏 阅读全文
posted @ 2019-06-09 16:33 荒野之萍 阅读(3359) 评论(0) 推荐(0)

摘要:Exercise1 源代码阅读 锁部分:spinlock.h/spinlock.c以及相关其他文件代码 Exercise2 带着问题阅读 1.什么是临界区? 什么是同步和互斥? 什么是竞争状态? 临界区操作时中断是否应该开启? 中断会有什么影响? XV6的锁是如何实现的,有什么操作? xchg 是什 阅读全文
posted @ 2019-06-09 16:30 荒野之萍 阅读(626) 评论(0) 推荐(0)

摘要:Exercise1 源代码阅读 1.内存管理部分: kalloc.c vm.c 以及相关其他文件代码 kalloc.c:char kalloc(void)负责在需要的时候为用户空间、内核栈、页表页以及缓冲区分配物理内存,将物理地址转为虚拟地址返回,物理页大小为4k。void kfree(char v 阅读全文
posted @ 2019-06-09 16:26 荒野之萍 阅读(2664) 评论(0) 推荐(0)

摘要:Exercise1 源代码阅读 1.启动部分: bootasm.S bootmain.c 和xv6初始化模块:main.c bootasm.S 由16位和32位汇编混合编写成的XV6引导加载器。bootasm.S内的汇编代码会调用bootmain.c中的void bootmain(void);mai 阅读全文
posted @ 2019-06-09 16:17 荒野之萍 阅读(1403) 评论(0) 推荐(0)

摘要:Exercise1 源代码阅读 1.基本头文件:types.h param.h memlayout.h defs.h x86.h asm.h mmu.h elf.h types.h:仅仅是定义uint, ushort, uchar pde_t别名; parame.h 利用宏定义了进程最大数量,进程的 阅读全文
posted @ 2019-06-09 16:11 荒野之萍 阅读(1268) 评论(0) 推荐(0)

摘要:Nachos是什么 Nachos (Not Another Completely Heuristic Operating System),是一个教学用操作系统,提供了操作系统框架: 1. 线程 2. 中断 3. 虚拟内存(位图管理所有物理页,虚拟地址与物理地址之间的转换等) 4. 同步与互斥机制(锁 阅读全文
posted @ 2019-05-15 16:57 荒野之萍 阅读(2084) 评论(0) 推荐(0)

摘要:源码获取 https://github.com/icoty/nachos 3.4 Lab 内容一:总体概述 本实习希望通过修改Nachos系统平台的底层源代码,达到“扩展调度算法”的目标。本次实验主要是要理解Timer、Scheduler和Interrupt之间的关系,从而理解线程之间是如何进行调度 阅读全文
posted @ 2019-05-15 16:55 荒野之萍 阅读(1755) 评论(0) 推荐(0)