tammela / lunaros Goto Github PK
View Code? Open in Web Editor NEWAn exokernel operating system for fun
License: MIT License
An exokernel operating system for fun
License: MIT License
Some targets don't check for already built files
Implement a style for the C code base
During the memory probing, we shall keep this info in a global structure.
This documentation should include:
Implement a physical page frame allocator
Implement a simple printf
function with no format specifiers but with support to \n
Should be our first driver and set as a foundation to the driver interface for other peripherals.
In a test kernel, we should hook functions on startup that should test the kernel.
There are many ways to interact with user mode, we should implement an initial interface
Moderns processors and kernels user APIC for interrupt handling in SMP processors.
Child issue of #12
From the multiboot headers we can get the memory mapping
In the exokernel papers, the round-robin cooperative scheduler worked pretty well
We should detect the specific features the CPU provides us and show some useful info about the processor on boot.
Should contain at least these fault handlers:
Detect on _start
if the cpu supports 64-bit
We assume the use of a modern processor with SMP support and apic / io apic. We shall check in cpuid if the processor has support for this feature.
Child issue of #12
Multiboot headers provide vital information about the system we are running on. We should leverage this information.
After Issue #1 we can improve the printf()
implementation to have useful modifiers.
We shall probe the CPU topology as this is useful for SMP support.
After Issue #5 we shall improve the allocator to support multiple page sizes.
On x86-64 the page sizes supported by the TLB are 1GiB(*), 2 MiB and 4KiB.
(*) Some x86-64 processors do not support this size. Must check with cpuid
.
Each process/thread in user space shall be a task
We shall add support for one of the FAT variants
Modern compilers can auto generate the stack smash code automatically. We shall be compliant with them.
It's quite unreadable
We shall implement a minimal test infrastructure for a more TDD development style
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.