Skip to content

Reorganize repository into professional structure with src/, include/, and user_apps/ directories#2

Merged
odeliyach merged 2 commits intomainfrom
claude/organize-repository-structure
Mar 17, 2026
Merged

Reorganize repository into professional structure with src/, include/, and user_apps/ directories#2
odeliyach merged 2 commits intomainfrom
claude/organize-repository-structure

Conversation

@Claude
Copy link
Copy Markdown
Contributor

@Claude Claude AI commented Mar 17, 2026

Restructured the repository into a more maintainable architecture with separate directories for kernel code, headers, and user applications. Added comprehensive System Architecture documentation explaining ioctl/read/write system call interactions with internal data structures.

Changes

Directory Structure

  • Created src/ for kernel module source (message_slot.c)
  • Created include/ for shared headers (message_slot.h)
  • Created user_apps/ for user-space programs (message_sender.c, message_reader.c)
  • Removed Linux_Kernel_Module/ directory
  • Updated all include paths to reference ../include/message_slot.h

Build System

  • New root Makefile builds both kernel module and user applications with single make command
  • Supports individual targets: module, user_programs, clean, help
  • Kernel module builds in src/ subdirectory, copies to root as message_slot.ko
  • User applications build to user_apps/ directory with -Iinclude flag

Documentation

  • Added "System Architecture" section (250+ lines) covering:
    • Component interaction diagram (user-space → system calls → kernel)
    • Deep dive into IOCTL commands (MSG_SLOT_CHANNEL, MSG_SLOT_SET_CEN)
    • Step-by-step WRITE and READ system call flows
    • Data structure hierarchies and lookup process
    • Memory lifecycle from module load through unload
    • Concurrency and safety considerations
  • Updated "Project Structure" section to reflect new organization
  • Updated build instructions and test examples to use new paths

Example Build Usage

# Build everything
make

# Build individual components
make module        # Kernel module only
make user_programs # User applications only
make clean         # Remove artifacts

Example Test Usage

./user_apps/message_sender /dev/slot0 1 0 "Hello, Kernel!"
./user_apps/message_reader /dev/slot0 1

@Claude Claude AI self-assigned this Mar 17, 2026
…irectories

Co-authored-by: odeliyach <171728738+odeliyach@users.noreply.github.com>
@Claude Claude AI changed the title [WIP] Update repository organization and enhance README Reorganize repository into professional structure with src/, include/, and user_apps/ directories Mar 17, 2026
@odeliyach odeliyach marked this pull request as ready for review March 17, 2026 22:41
@Claude Claude AI requested a review from odeliyach March 17, 2026 22:41
@odeliyach odeliyach merged commit 5d41dc3 into main Mar 17, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants