All Projects → phil-opp → Blog_os

phil-opp / Blog_os

Licence: other
Writing an OS in Rust

Programming Languages

HTML
75241 projects
SCSS
7915 projects
CSS
56736 projects
javascript
184084 projects - #8 most used programming language
python
139335 projects - #7 most used programming language
shell
77523 projects
Dockerfile
14818 projects

Projects that are alternatives of or similar to Blog os

Wingos
a little 64bit operating system written in c++ with smp support
Stars: ✭ 361 (-95.55%)
Mutual labels:  x86-64, kernel, operating-system
Dgos
Operating System
Stars: ✭ 90 (-98.89%)
Mutual labels:  x86-64, kernel, operating-system
Cuteos
A 64-bit SMP-safe kernel for the PC architecture.
Stars: ✭ 51 (-99.37%)
Mutual labels:  x86-64, kernel, operating-system
Toaruos
A completely-from-scratch hobby operating system: bootloader, kernel, drivers, C library, and userspace including a composited graphical UI, dynamic linker, syntax-highlighting text editor, network stack, etc.
Stars: ✭ 4,687 (-42.28%)
Mutual labels:  kernel, operating-system, x86-64
pranaOS
A unix operating system written from scratch in c that gives support for arm, x86
Stars: ✭ 138 (-98.3%)
Mutual labels:  kernel, x86-64, operating-system
Willos
💾 A minimal kernel (just a hobby, won't be big and professional). // Work In Progress
Stars: ✭ 163 (-97.99%)
Mutual labels:  x86-64, kernel, operating-system
Dennix
Dennix is a unix-like hobbyist operating system written from scratch.
Stars: ✭ 53 (-99.35%)
Mutual labels:  x86-64, kernel, operating-system
KnutOS
An x86_64 hobbyist OS written in C and Assembly
Stars: ✭ 16 (-99.8%)
Mutual labels:  kernel, x86-64, operating-system
biefircate
Running x86-16 or x86-32 code from x86-64 UEFI; _very experimental_ • mirror of https://gitlab.com/tkchia/biefircate • developer notes at https://gitlab.com/tkchia/biefircate/-/blob/main/doc/NOTES.asciidoc
Stars: ✭ 47 (-99.42%)
Mutual labels:  kernel, x86-64, operating-system
Cyjon
A simple, clean code, multi-tasking operating system written in pure assembly language for 64-bit processors from the AMD64 family.
Stars: ✭ 184 (-97.73%)
Mutual labels:  x86-64, kernel, operating-system
SynnixOS
Hobbyist Operating System targeting x86_64 systems. Includes userspace, Virtual File System, An InitFS (tarfs), Lua port, easy porting, a decent LibC and LibM, and a shell that supports: piping, file redirection, and more.
Stars: ✭ 40 (-99.51%)
Mutual labels:  kernel, x86-64, operating-system
ByteOS
A simple hobby operating system for the x86-64 architecture, written in C.
Stars: ✭ 47 (-99.42%)
Mutual labels:  kernel, x86-64, operating-system
Harmonyos
A curated list of awesome things related to HarmonyOS. 华为鸿蒙操作系统。
Stars: ✭ 18,385 (+126.42%)
Mutual labels:  kernel, operating-system
Rust Os Comparison
A comparison of operating systems written in Rust
Stars: ✭ 292 (-96.4%)
Mutual labels:  kernel, operating-system
Lemonos
The Lemon Operating System https://lemonos.org
Stars: ✭ 260 (-96.8%)
Mutual labels:  kernel, operating-system
Rust Raspberrypi Os Tutorials
📚 Learn to write an embedded OS in Rust 🦀
Stars: ✭ 7,275 (-10.41%)
Mutual labels:  kernel, operating-system
Qword
Operating system for x86_64 based around a "keep it simple and make it work" philosophy.
Stars: ✭ 367 (-95.48%)
Mutual labels:  kernel, operating-system
Phantomuserland
Phantom: Persistent Operating System
Stars: ✭ 412 (-94.93%)
Mutual labels:  kernel, operating-system
Gramado
Gramado OS - 32bit operating system
Stars: ✭ 420 (-94.83%)
Mutual labels:  kernel, operating-system
Tock
A secure embedded operating system for microcontrollers
Stars: ✭ 3,258 (-59.88%)
Mutual labels:  kernel, operating-system

Blog OS

This repository contains the source code for the Writing an OS in Rust series at os.phil-opp.com.

If you have questions, open an issue or chat with us on Gitter.

Where is the code?

The code for each post lives in a separate git branch. This makes it possible to see the intermediate state after each post.

The code for the latest post is available here.

You can find the branch for each post by following the (source code) link in the post list below. The branches are named post-XX where XX is the post number, for example post-03 for the VGA Text Mode post or post-07 for the Hardware Interrupts post. For build instructions, see the Readme of the respective branch.

You can check out a branch in a subdirectory using git worktree:

git worktree add code post-10

The above command creates a subdirectory named code that contains the code for the 10th post ("Heap Allocation").

Posts

The goal of this project is to provide step-by-step tutorials in individual blog posts. We currently have the following set of posts:

Bare Bones:

Interrupts:

Memory Management:

Multitasking:

First Edition Posts

The current version of the blog is already the second edition. The first edition is outdated and no longer maintained, but might still be useful. The posts of the first edition are:

Click to expand

Bare Bones:

Memory Management:

Exceptions:

Additional Resources:

License

This project, with exception of the blog/content folder, is licensed under either of

at your option.

For licensing of the blog/content folder, see the blog/content/README.md.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].