Hello!
How would you make an Operating System with COSMOS?
Heres what I want:
* A boot screen, showing a progress bar with the current OS loading status
* A desktop with customizable wallpaper
* Mouse
* A taskbar that shows open programs, a start menu, the time, the sound level, and if your connected to internet or not.
* Multitasking support
* USB and sound
* A propper file system, with a System directory, an Apps directory and a Users directory.
* Logon, Logoff and Shutdown screens.
* Programs:
Internet browser
Text editor
Media center (can open pictures, videos and music)
...
I know its a LOT, but if some / all is not possible, i don't mind.
Thank you!

Do this:

MessageBox.Show("... < That is silence!")

Dani AI

Generated

— ambitious and doable as a long-term learning project. Break it into small, testable milestones and iterate. ’s point about building apps to learn and get usable pieces early is solid advice: you can ship useful components while core systems mature.

Start with a clear milestone plan so progress is visible and each step is testable:

  • Boot/kernel skeleton: get COSMOS to boot in a VM and emit meaningful progress updates (serial or framebuffer). Treat this as your “boot screen” prototype.
  • Filesystem & app model: design a minimal virtual filesystem and a simple app launcher API so programs can be added to an Apps area and launched by name.
  • Input + graphics + window manager: implement framebuffer drawing, a compositor, basic windowing primitives, and an event pipeline for mouse/keyboard. Keep windowing simple at first (single-tasking UI, then add overlapping windows).
  • Multitasking & IPC: add a scheduler and a lightweight message/event system so apps can run concurrently and talk to the desktop (taskbar, start menu).
  • Drivers & media: plan driver work (storage, USB, audio) last or use VM-provided devices while iterating — drivers are the most time-consuming pieces.
  • Apps: build a minimal text editor, file manager, and media viewer as reference apps using the same app API.

A tiny COSMOS kernel skeleton to get started:

using System;
using Cosmos.System;

public class Kernel : Cosmos.System.Kernel
{
    protected override void BeforeRun()
    {
        Console.WriteLine("Boot sequence OK");
    }

    protected override void Run()
    {
        // main loop: dispatch events, schedule tasks, etc.
    }
}

Practical tips: develop inside a VM (quick snapshots), use serial/console logging for early debugging, keep each subsystem backwards-compatible so apps continue to run as internals change, and use version control. Expect drivers and multimedia to take the bulk of time — building a good window compositor, scheduler, and a stable filesystem first will give you the platform needed to iterate on the GUI and apps.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.