To develop an operating system from scratch is an invincible problem for most students – but starting at already finished base will never disclose them what the operating systems are about.
MSIM is a light-weight computer simulator based on MIPS R4000 and RISC-V. It is used for education and research purposes, mainly to teach the construction and implementation of operating systems. MSIM is distributed with source code under the GNU GPL license to make possible modifications for users and works on most POSIX-compliance environments (mainly GNU/Linux, Mac OS X, but can be also compiled in Cygwin or MinGW in Windows). The user interface is simple terminal-style.
MSIM provides following features (along others):
- MIPS R4000 CPU
- full memory management (TLB)
- multiprocessor support
- the instruction set is restricted to 32 bits
- CPU cache is not simulated
- RISC-V RV32IMA CPU
- A extension
- M extension
- Supervisor and User modes
- multiprocessor support
- Cache is not simulated
- simple debugging features (including disassembling, register content dump)
- several simple hardware devices
- various hardware-manipulating commands
- widely configurable memory mapping of devices
- script-like start-up configuration file
MSIM does not aim to be a speed-optimized real hardware simulator, but rather a fully deterministic simulator useful for kernel debugging.
More details and documentation can be found at msim.readthedocs.io.
Contributors
- Viliam Holub <viliam.holub@ucd.ie>
- Martin Děcký
- Jan Papesch <janpapuch@seznam.cz>
- Vojtěch Horký