摘要: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:宏
阅读全文
随笔分类 - 操作系统
摘要: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:宏
阅读全文
摘要:Exercise1 源代码阅读 锁部分:spinlock.h/spinlock.c以及相关其他文件代码 Exercise2 带着问题阅读 1.什么是临界区? 什么是同步和互斥? 什么是竞争状态? 临界区操作时中断是否应该开启? 中断会有什么影响? XV6的锁是如何实现的,有什么操作? xchg 是什
阅读全文
摘要:Exercise1 源代码阅读 1.内存管理部分: kalloc.c vm.c 以及相关其他文件代码 kalloc.c:char kalloc(void)负责在需要的时候为用户空间、内核栈、页表页以及缓冲区分配物理内存,将物理地址转为虚拟地址返回,物理页大小为4k。void kfree(char v
阅读全文
摘要:Exercise1 源代码阅读 1.启动部分: bootasm.S bootmain.c 和xv6初始化模块:main.c bootasm.S 由16位和32位汇编混合编写成的XV6引导加载器。bootasm.S内的汇编代码会调用bootmain.c中的void bootmain(void);mai
阅读全文
摘要: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 利用宏定义了进程最大数量,进程的
阅读全文
摘要:Nachos是什么 Nachos (Not Another Completely Heuristic Operating System),是一个教学用操作系统,提供了操作系统框架: 1. 线程 2. 中断 3. 虚拟内存(位图管理所有物理页,虚拟地址与物理地址之间的转换等) 4. 同步与互斥机制(锁
阅读全文
摘要:源码获取 https://github.com/icoty/nachos 3.4 Lab 内容一:总体概述 本实习希望通过修改Nachos系统平台的底层源代码,达到“扩展调度算法”的目标。本次实验主要是要理解Timer、Scheduler和Interrupt之间的关系,从而理解线程之间是如何进行调度
阅读全文
|