Introduction In part A we should add multiprocessor support to JOS, implement round-robin scheduling, and add basic environment management system call ...
分类:
其他好文 时间:
2020-07-11 23:16:57
阅读次数:
101
Mit6.828/6.S081 fall 2019的Lab1是Unix utilities,主要内容为利用xv6的系统调用实现sleep、pingpong、primes、find和xargs等工具。本文对各程序的实现思路及xv6的系统调用流程进行详细介绍。 前言 在实验之前,推荐阅读一下官网LEC1 ...
分类:
其他好文 时间:
2020-06-07 14:41:18
阅读次数:
128
本文介绍在MacOS下搭建Mit6.828/6.S081 fall2019实验环境的详细过程,包括riscv工具链、qemu和xv6,对于Linux系统同样可以参考。 介绍 只有了解底层原理才能写好上层应用,曾经几度想要系统地学习OS课程,尝试去看了《计算机操作系统》、《Operating Syst ...
分类:
系统相关 时间:
2020-05-27 10:33:51
阅读次数:
114
---title:【MIT6.828】centos7下使用Qemu搭建xv6运行环境date: "2020-05-05"---# 【MIT6.828】centos7下使用Qemu搭建xv6运行环境###1. 基础依赖```yum install libX11 libX11-devel SDL2 SD... ...
分类:
其他好文 时间:
2020-05-06 19:39:48
阅读次数:
183
Homework 1 "boot xv6" 1. 首先在启动块(bootasm.S)的起始位置0x7c00处设置一个断点。单步执行说明(在gdb提示符下键入si)。在bootasm.S中的哪个地方初始化了堆栈指针? bootasm.S 在 处设置了堆栈指针,将栈顶指向了 。 2. 单步执行对boot ...
分类:
其他好文 时间:
2020-03-27 01:04:11
阅读次数:
71
锁是操作系统中实现进程同步的重要机制。 基本概念 临界区(Critical Section)是指对共享数据进行访问与操作的代码区域。所谓共享数据,就是可能有多个代码执行流并发地执行,并在执行中可能会同时访问的数据。 同步(Synchronization)是指让两个或多个进程/线程能够按照程序员期望的 ...
分类:
其他好文 时间:
2019-04-09 18:46:13
阅读次数:
645
转自:https://blog.csdn.net/yinglang19941010/article/details/49310111 如果想要离线看教程,可以下载该 文档 一、使用工具说明 1. xv6 源代码文件(以下三选一) 1)http://download.csdn.net/detail/y ...
分类:
系统相关 时间:
2019-01-29 11:56:52
阅读次数:
273
系统: 6.828 / Fall 2014 这个,不用我多介绍了吧,xv6 和jos 的代码都值得好好读的。 6.858 / Fall 2014 / Schedule 这是很多人忽视的6.858, computer system security方面的,lab都做完以后真·受益匪浅,还有video和 ...
分类:
其他好文 时间:
2018-12-01 18:37:30
阅读次数:
406
调度 任何操作系统都可能碰到进程数多于处理器数的情况,这样就需要考虑如何分享处理器资源。理想的做法是让分享机制对进程透明。通常我们对进程造成一个自己独占处理器的假象,然后让操作系统的多路复用机制(multiplex)将单独的一个物理处理器模拟为多个虚拟处理器。本章将讲述 xv6 是如何为多个进程模拟 ...
分类:
其他好文 时间:
2018-11-10 23:57:33
阅读次数:
1113
锁 xv6 运行在多处理器上,即计算机上有多个单独执行代码的 CPU。这些 CPU 操作同一片地址空间并分享其中的数据结构;xv6 必须建立一种合作机制防止它们互相干扰。即使是在单个处理器上,xv6 也必须使用某些机制来防止中断处理程序与非中断代码之间互相干扰。xv6 为这两种情况使用了相同的低层概 ...
分类:
其他好文 时间:
2018-11-10 23:53:44
阅读次数:
197