Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LainKernel

Language Architecture License Status

A secure, educational operating system kernel written in C for x86 architecture.

🎯 Educational Project: This kernel is designed for learning OS development concepts, security features, and low-level programming.

📁 Project Structure

project/
├── src/                    # Source code
│   ├── kernel/            # Core kernel
│   ├── mm/                # Memory management
│   ├── arch/x86/          # Architecture-specific code
│   ├── interrupts/        # Interrupt handling
│   ├── drivers/           # Hardware drivers
│   ├── security/          # Security features
│   ├── process/           # Process management
│   ├── lib/               # Standard library
│   └── shell/             # Shell interface
├── include/kernel/        # Public headers
├── build/                 # Build artifacts
├── iso/boot/grub/         # Bootloader configuration
├── docs/                  # Documentation
└── scripts/               # Build and utility scripts

🚀 Quick Start

Prerequisites

  • GCC cross-compiler (i686-elf-gcc)
  • NASM assembler
  • GRUB bootloader
  • QEMU emulator (for testing)

Build

make clean
make

Run

make run

📚 Documentation

🔒 Security Features

  • Ring-based protection (Ring 0/3)
  • Memory isolation with paging
  • Cryptographically secure random number generator (CSPRNG)
  • Stack canaries
  • Input validation
  • Audit logging
  • Rate limiting

🛠️ Components

Core (src/kernel/)

  • Kernel initialization
  • GDT/IDT setup
  • System panic handler

Memory Management (src/mm/)

  • Physical memory manager
  • Virtual memory (paging)
  • Kernel heap allocator

Drivers (src/drivers/)

  • VGA text mode driver
  • PS/2 keyboard driver

Security (src/security/)

  • Security validation
  • CSPRNG (Xorshift128+)
  • Audit logging system

Process Management (src/process/)

  • Process control blocks
  • Round-robin scheduler
  • System call interface

📝 License

Educational project - feel free to learn from and modify.

👤 Author

Enreal

🙏 Acknowledgments

  • OSDev Wiki
  • Intel Software Developer Manuals
  • Linux kernel source code

About

No description, website, or topics provided.

Resources

Stars

5 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages