???GUI support???

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
Post Reply
bilbo

???GUI support???

Post by bilbo »

Hey, "I am wondering if what I think I know is right" ...ok here it goes.
and I if am wrong please corect me and point me in the right direction because you see, I am very new to OS development and am unsure where to start.

As far as I know, once you have a bootloader and a kernel written in order to get some sort of GUI running you might have to write some sort of graphics drivers and some sort of mouse support, but I am not really sure... I know this is a very broad question but any input would be very helpful, thx
Robert Lee

RE:???GUI support???

Post by Robert Lee »

Minimum Reasonable Requirements:

* Real Mode Memory Manager
* VGA Video Driver
* Mouse Driver (any one of PS/2, Serial, etc...)
* Kernel (may rely on Bios)
  * LBA-based floppy disk support
  * Buffered keyboard input
  * Basic IPC mechanics (message passing)
  * Co-opertive multitasking
  * Monolithic Architecture
  * Shell built into kernel
    * Basic WIMP (Windows, Icons, Menus, Pointer)
    * No built in widgets for apps except WIMP

More Reasonable Requirements:
* Protected Mode Memory Manager
* SVGA/VESA Video Driver(s)
  * Drivers for individual chipsets
* Mouse driver (PS/2 AND Serial; support 5 buttons and wheel)
* 32-bit kernel
  * FDC and IDE Hard Disk Drivers
  * Fat12, FAT16 and Fat32 Drivers
  * Keyboard Driver
  * Preemtive Multitasking
  * IPC (Message-passing, signaling, streams, etc...)
  * Dynamic Linking
  * Microkernel
* Seperate Shell Shared Library/Executable
  * Enhanced WIMP (Windows, Icons, Menus, Pointers, Sharable 3rd Party Components)
  * Full Library of common controls (toolbars, scroll bars, buttons, etc...)
  * Built in MACRO language (Batch, REXX, BASH, JScript, whatever)
  * Extensible with Components, Libraries, etc...
  * User Customizable
  * PDF/HTML Rendering or other high level markup for scripting

Just my $0.02.

-Robert
Post Reply