抱歉,您的浏览器无法访问本站

本页面需要浏览器支持(启用)JavaScript


了解详情 >

MIT6.S081 utils lab

lab1sleep编写一个sleep用户程序,可以参考grep(grep.c)。 目标: 熟悉lab架构:如何向xv6中插入自己编写的程序 熟悉一个用户程序的编写流程 熟悉编译系统之UPROGS 熟悉xv6提供的库函数ulib.c solution: user/sleep.c pingpong编写一个pingpong用户程序:创建一对父子进程, 一个进程使用一读一写两个管道传递数据。...

浅学WASM栈虚拟机

WASM栈虚拟机WASM简介 wat是比较可读的汇编文件 wasm的wat编译得到的结果 顾名思义, 它是某种汇编语法: 即人类不友好, 但机器友好。对人类比较友好的格式就称为WAT(WebAssembly Text Format)形如: 1234567(module (func $main i32.const 3 unreachable ) ...

MapReduce论文笔记

Abstract分布式数据处理的设计存在很多挑战,如:大数据如何分割、如何设计并行计算、如何处理故障、负载均衡等。MapReduce是一种变成模型,使用MR来隐藏这些繁琐的细节,用户端使用MR的库,只需要考虑Map函数和Reduce函数的设计,就可以方便高效得做一些分布式的数据处理。 MapReduce的本质上也是一种分治(Divide and Conquer)思想。 Preface基本模型...

GiantVM论文笔记

Abstract传统的:租用多台云主机,每台云主机安装OS,在使用一些分布式框架实现在这些OS的相互配合。这么做存在诸多问题,一方面分布式框架的使用和设计会增加开发者的门槛,另一方面,在超大规模的分布式环境下分布式的复杂性、操作难度都会进一步增加。 于是为了克服分布式系统带来的问题,隐藏分布式系统的复杂性,人们首先提出了SSI(Single System Image),意图实现操作多个分布式...

Sigma求和的思考

Abstract 改写求和,实际上是在改写程序。提出Sigma外 相当于 提出loop外 数学作为抽象工具,替代不可靠的直觉 PrefaceSigma求和有些常用的技巧:常量可以提出,如: $$\sum_{i=1}^m \sum_{j=1}^n ij$$ 对于内层循环$\sum_j ij$,i相对内存循环是”常量”,因此可以写成: $$\sum_{i=1}^m i \sum_{j=1}^n...

qemu中pci对中断的支持

Preface PCI Local Bus Specification: 2.2.6. Interrupt Pins (Optional) pci总线规范为pci设备准备了4个中断引脚(INTx#)用于传递中断。设备所使用的中断引脚信息保存在configuration space的Interrupt Pin Register中。这4个中断引脚在设备间的共享的,引脚的分配pci spec推荐...

qemu中对pcie的模拟

Overviewpcie对pci的功能进行了扩展,同步保留的对pci总线规范的兼容。这里仅对以下几点进行说明: root complex root complex是个抽象的概念,并不是某个具体的器件,表示一组pcie系统元素(桥、交换机、端口等)。简单的讲RC就是cpu与pcie拓扑结构的连接点(root),而这个连接点可以包含很多组件(所以叫complex)。主要功能(与pcie设备通信...

QEMU中GPA到HVA变换过程

GPA 到 HVA的过程QEMU通过GPA找到MemoryRegion从而完成到HVA的转换,而QEMU总是先从tlb中找tlbentry,再利用tlbentry找mr。GPA到HVA的问题就变为了,GPA找tlbentry的问题。 不是完整的状态机 指令经过qemu动态翻译后得到GPA地址字面值addr,qemu需要根据该地址找到对应的MR然后执行相应的读写操作 GPA地址字面值在XXX...

外核架构Exokernel和Unikernel

Abstract看到云服务这种”单一”功能的属性,unikernel应运而生。不同于传统虚拟机,unikernel为这样云环境做性能、运营、安全、开销等方面的优化。其核心思想就是既然云服务器的使用者仅需要单一的功能,那我们就提供一个功能比较单一的、编译时功能确定的、更轻量更安全的操作系统和配套设施(library)。lib就相当于现在(2021)我们说的”系统生态/软件”,用户可以根据lib...

QEMU总线模拟

Abstract设备之间通过总线互联通信,如果将所有设备都挂在到sysbus(即所谓的内部总线:连接cpu、内存、pic总线控制器等设备的总线)将会增加主板的布线难度,而且cpu并不需要实时与外围设备通信。因此没必要每个设备都直接与cpu连接。 现代cpu通过sysbus直接连接一个控制芯片,这个控制芯片再管理外围设备。控制芯片将数据汇总后再与cpu通信。 这个过程对应到QEMU中的就是: ...