References
This page contain a list of references for Rust programming, OS development, ideas, porting and computer science to help developers.
Rust
- Rust Book - The most important source of information on the Rust programming language.
- Rust By Example - Learn Rust with examples.
- Rustlings - Learn Rust with exercises.
- Awesome Rust - Curated list of Rust programs, libraries and resources.
- No Boilerplate - Rust playlist - Amazing short documentaries about special things on Rust.
- Developer Roadmaps - Rust - A guide to learn Rust.
- rust-learning - A list with articles and videos to learn Rust.
- Rust Playground - Test your Rust code on the web browser.
- This Week in Rust - Weekly updates on the Rust ecosystem, it covers language improvements, organization updates, community updates and articles.
- The Coded Message - Rust articles
- fasterthanlime - Rust articles
- Learn Rust With Entirely Too Many Linked Lists - How to implement a linked list in Rust.
- Rust Design Patterns - About idioms, design patterns, and anti-pattern in Rust.
- Rust Reference Book - References for people with background familiarity with Rust.
- Rustonomicon - To learn about unsafe Rust.
- Rust 101 - Exercises - A Rust university course (but lacking answers for exercises).
- teach-rs - An university course to learn Rust.
Porting
If you don't know how to port some program or library, you can see the build system documentation or software ports of other operating systems.
- Cargo - The project and dependency manager of the Rust programming language.
- GNU Autotools - The GNU build system, used by most old POSIX programs.
- Meson - A build system used by many Linux/POSIX programs.
- GNU Make - The GNU's command runner, used to build projects with many source code files.
- FreeBSD - Software Ports (cgit) - The official web interface for the software ports of FreeBSD.
- FreeBSD - Software Ports (GitHub mirror) - GitHub mirror for the software ports of FreeBSD.
- NetBSD - Software Ports (GitHub mirror) - GitHub mirror for the software ports of NetBSD.
- Gentoo Packages - It contain advanced information about the port configuration.
- Nix Packages
- Guix Packages
OS development
- OSDev wiki - The best wiki about OS development of the world.
- Writing an OS in Rust - Blog series to write an operating system in Rust.
- Rust OSDev - Monthly reports with updates on the Rust low-level ecosystem libraries and operating systems.
Ideas
- Linux - The Linux kernel contain lots of ideas that improved the Unix design (POSIX) and system engineering.
- Android - Android created many ideas to improve the system security and power efficiency.
- FreeBSD - Ideas - The future ideas of FreeBSD.
- FreeBSD - Documentation
- Fedora - Change Proposals - For years the Fedora Linux distribution tested and implemented new technologies for the Linux ecosystem.
Manual Pages
- FreeBSD Manual Pages - Powerful source for Unix/BSD documentation.
- Linux Manual Pages (man7) - Very popular source for Linux documentation.
- Linux Manual Pages (die.net) - Another popular source for Linux documentation.
- OpenGroup Specification (POSIX and C Library) - This is important to improve the support with Linux/BSD programs written in C/C++.
Source Code
If you want to implement something (drivers, hardware interfaces, fix bugs, etc) but the documentation is not good or not available, you can verify the implementation of other operating systems.
- Linux - cgit - Official web interface for the Linux kernel source code.
- Linux - GitHub mirror - GitHub mirror for the Linux kernel source code, it contain more features to read the files.
- FreeBSD - cgit - Official web interface for the FreeBSD source code.
- FreeBSD - GitHub mirror - GitHub mirror for the FreeBSD source code.
- NetBSD - CVSWeb - Official web interface for the NetBSD source code.
- NetBSD - GitHub mirror - GitHub mirror for the NetBSD source code.
- OpenBSD - CVSWeb - Official web interface for the OpenBSD source code.
- OpenBSD - GitHub mirror - GitHub mirror for the OpenBSD source code.
- Minix - Official web interface for the Minix source code.
Computer Science
- Putting the "You" in CPU - This website explains how a program works, from the system call to the CPU.
- GeeksforGeeks - A computer science portal with many articles for several areas and tasks.
- computer-science - A list for computer science education.
- Developer Roadmaps - Computer Science - A guide to learn computer science.
- Minix - On the Minix website you can find great papers and articles about the microkernel architecture and reliable systems.
- Plan 9 - On the Plan 9 website you can find papers and documentation about distributed systems.
- seL4 - On the seL4 website you can find papers and documentation about a secure and fast microkernel design.
- The Coded Message - Computing/Programming articles