Matchbox:一个可以演示 Peterson 算法的玩具竞态条件查找器

时间:2024-07-06 14:27:52
【文件属性】:

文件名称:Matchbox:一个可以演示 Peterson 算法的玩具竞态条件查找器

文件大小:19KB

文件格式:ZIP

更新时间:2024-07-06 14:27:52

toy-language dynamic-analysis race-detection race-conditions JavaScript

火柴盒 Matchbox 是一种查找的工具。 它目前正在进行中。 它不是生产质量的工具; 相反,它更像是一种示范。 出于这个原因,它是用 Javascript 实现的,并在 Web 浏览器中运行。 了解什么是竞态条件,以及发现和防止它们所需的推理类型,可能具有教育意义。 Matchbox 将两个用玩具类汇编语言编写的程序作为输入。 这两个程序每个都有自己的一组寄存器,但是它们写入和读取的主存储器在它们之间共享。 然后它计算这两个程序的所有可能交错,并在每个新清零的寄存器和共享内存上执行它们。 除非所有可能的交错在执行后使内存处于完全相同的状态,否则程序会出现竞争条件。 基本示例 这两个程序没有竞争条件。 原因是Matchbox的INC指令原子更新内存; 两个INC不能同时运行。 PROG 0 INC M0 PROG 1 INC M0 但是以下两个程序确实存在竞争条件: PRO


【文件预览】:
Matchbox-master
----src()
--------matchbox-worker.js(1KB)
--------yoob()
--------matchbox-launcher.js(5KB)
--------matchbox.js(18KB)
----eg()
--------basic-no-race.mbox(175B)
--------basic-race.mbox(240B)
--------trivial-independent.mbox(198B)
--------petersons-no-race.mbox(503B)
----.hgtags(45B)
----start.sh(167B)
----UNLICENSE(1KB)
----README.md(7KB)
----demo()
--------matchbox.html(252B)

网友评论