Updated project README.md

This commit is contained in:
François Autin 2023-05-10 17:04:21 +02:00
parent f6af4f838b
commit 393917ae91
No known key found for this signature in database
GPG Key ID: 343F5D382E1DD77C
2 changed files with 70 additions and 0 deletions

View File

@ -6,6 +6,76 @@ BurritOS (BurritOS Using Rust Really Improves The Operating System) is an educat
Based on [NachOS](https://homes.cs.washington.edu/~tom/nachos/) (Copyright (c) 1992-1993 The Regents of the University of California. All rights reserved.)
## Progress overview
![Progress overview](./assets/progress_overview.png)
Currently, the BurritOS project simulator contains a RISC-V processing unit supporting all 47 base instructions plus multiplication and 32bit floating point operations. RAM and the interrupt controller are also integrated. Both the memory management unit and the Disk are written but not tested nor integrated yet.
On the kernel side, synchronization primitives and scheduling logic are all implemented except for Conditions.
## Build instructions
To build in release mode:
```
$ cargo build -r
```
To build in development mode:
```
$ cargo build
```
The generated executable can then be found in the `./target` directory.
## Running BurritOS
*In the following examples, BurritOS is started by directly invoking its executable. However, replacing this direct invocation by `cargo run -- <PARAMETERS>` would garner the same result.*
As it stands, BurritOS does not include a virtual console nor a shell for dynamic user interaction. Thus, programs need to be manually loaded into the system memory. To perform this operation:
```
$ ./burritos --executable <PATH>
```
## Help
BurritOS provides a succinct manual. To display this manual:
```
$ ./burritos --help
```
## Documentation
Documentation for all components of the BurritOS project can be generated using the following command:
```
$ cargo doc
```
The generated web documentation can be found in the `./target/doc` directory.
## Tests
BurritOS is unit tested using the cargo provided testing framework. However, some tests, most notably the Machine tests, require access to a few files **which need to be generated first**.
To generate test files:
```
$ make all
```
Afterwards, tests can be run with:
```
$ cargo test
```
All make artifacts can be found in the `./target` directory.
## Authors
Amaury Brodu, Abdelmajid El Bahri, François Autin, Quentin Legot, Baptiste Meauze, Gabriel Moysan, Rémi Rativel, Samy Solhi

Binary file not shown.

After

Width:  |  Height:  |  Size: 100 KiB