Skip to content

derekdeming/OS-Stuff

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

this repository is a fun project to learn about the basics of operating systems. I also want to learn more about zig and how it compares to c so we will be converting a C based tinyOS to a zig based tinyOS.

It will cover the basics of operating systems and how they work. I will try to put as much details in the code as possible.

I will be using the book created by Seiya Nuta called Operating System in 1000 Lines as a guide for the C based tinyOS and then I will convert this over to Zig help learn the language. As part of the table of contents, it will cover the following topics:

  • 00. Introduction
  • 01. Hello, World!
  • 02. C Standard Library
  • 03. Kernel Panic
  • 04. Exceptions
  • 05. Memory Management
  • 06. Process Management
  • 07. Page Tables
  • 08. Application
  • 09. User Mode and System Calls
  • 10. Disk I/O
  • 11. File System
  • 12. Networking
  • 13. Conclusion

However, I will also like to add some additional topics to the table of contents but we shall see how it goes. As of now, I have the following topics in mind but these are subject to change. I am interested in security and do security research so I am trying to add some security related topics to the table of contents.

  • 14. Network Security
  • 15. Access Control and Authentication
  • 16. Process Isolation and Sandboxing
  • 17. Secure Boot and Trusted Execution

I am not sure if I will do the entire table of contents for the zig based tinyOS but we shall see how it goes.

We will be writing an OS for 32-bit RISC-V as the architecture for the tinyOS. It will also support QEMU virtual machine

About

building OS related projects

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors