Skip to content

Commit ddf9ae0

Browse files
authored
5/2/2025 Readme Updates (#89)
* updates to readme with current progress as of 5/2/2025 * added run commands and link to PincerOS blog
1 parent 9cf72b7 commit ddf9ae0

1 file changed

Lines changed: 40 additions & 14 deletions

File tree

README.md

Lines changed: 40 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<br>PincerOS
77
</h1>
88
<p align="center">
9-
Bare metal microkernel-based multi-core operating system written in Rust for the Raspberry Pi 4b.
9+
Bare metal monolithic kernel multi-core operating system written in Rust for the Raspberry Pi 4B.
1010
<br />
1111
</p>
1212
</p>
@@ -30,11 +30,13 @@
3030
-->
3131
# About The Project 🦀
3232

33-
PincerOS is a bare-metal microkernel-based multi-core operating system written from the ground up in Rust targeting the Raspberry Pi 4b. The project aims to be a distributed, scalable, and secure operating system for general-purpose use. We aim to support a wide range of applications such as networked video games, distributed computing, and more.
33+
PincerOS is a bare-metal monolithic kernel multi-core operating system written from the ground up in Rust targeting the Raspberry Pi 4B. The project aims to be a distributed, scalable, and secure operating system for general-purpose use. We aim to support a wide range of applications such as networked video games, distributed computing, and more.
34+
35+
For more information about our kernel, its features, and its development, please visit the [PincerOS Blog](https://pinceros.github.io/)!
3436

3537
## Targeted Features ✨
3638

37-
- Microkernel Architecture
39+
- Monolithic Kernel Architecture
3840
- Multi-core Support
3941
- Memory Management
4042
- Process Scheduling
@@ -44,14 +46,21 @@ PincerOS is a bare-metal microkernel-based multi-core operating system written f
4446
- Networking
4547
- Security
4648

47-
## Architecture 📐
48-
PincerOS follows a microkernel architecture with the following key components:
49+
## Kernel Architecture 📐
50+
PincerOS has the following key kernel components:
4951

5052
- Kernel Core: Handles basic system operations, syscalls, scheduling, and IPC
5153
- Memory Management: Implements virtual memory and memory protection
5254
- Device Drivers: Manages hardware interfaces
5355
- Network Stack: Provides networking capabilities
54-
- Security Module: Handles access control and system security
56+
- Security: Handles access control and system security
57+
58+
## Userspace Features
59+
PincerOS makes the following features and applications availabile in its userspace
60+
61+
- ulib - a userspace library which provides user level applications with an API to use system calls
62+
- Display Server - Allows for multiple processes to have graphical windows which simultaneously display content on a monitor. Please view the demo on the PincerOS blog to see the display sever in action for applications such as Doom, a drawing application, and more!
63+
- Shell - a userspace shell with common utilities
5564

5665
# Installation 📦
5766
Currently, the project can be tested on QEMU version 9.0 or higher. If your package manager doesn't have it, you will have to build QEMU from source.
@@ -68,9 +77,26 @@ Currently, the project can be tested on QEMU version 9.0 or higher. If your pack
6877
1. Clone the repository:
6978
```git clone https://github.com/pincerOS/kernel.git```
7079

71-
2. Build the kernel and run:
72-
```cd crates/kernel```
73-
```just build-and-run``` to build and run the `main` example.
80+
2. Build and run the kernel
81+
82+
This can be accomplished by navigating to the cloned kernel directory and then running the following series of shell commands:
83+
84+
```bash
85+
./crates/kernel/scripts/compile-init.sh
86+
./crates/kernel/scripts/build.sh user
87+
./crates/kernel/scripts/run-usb.sh
88+
```
89+
90+
Alternativley, you can also use Just
91+
92+
To build and run the main example:
93+
94+
```bash
95+
cd crates/kernel
96+
just build-and-run
97+
98+
```
99+
74100

75101
We also provide scripts for debugging and running with ui:
76102
```bash
@@ -92,11 +118,11 @@ Available recipes:
92118

93119
- [x] Basic kernel functionality
94120
- [x] Multi-core support
95-
- [ ] Network stack
96-
- [ ] Application support
97-
- [ ] File system
98-
- [ ] Device drivers
99-
- [ ] Security module
121+
- [x] Network stack
122+
- [x] Application support
123+
- [x] File system
124+
- [x] Device drivers
125+
- [ ] Security
100126
- [ ] Distributed computing support
101127

102128

0 commit comments

Comments
 (0)