Your OS functions
Your OS functions
Hi,
maybe this needs to move to other forum, but:
What version and functions does have your OS?
My PortixOS 0.4 has:
- Real mode
- Can run on ANY 8086 processor (and better) - but must have EGA (and better)
- Slovak language (sorry guys)
- Selection of processors (80286 and below / 80386 or better)
- very simple HW detection (CMOS,memory,graphics adapter,CPU)
- very simple command line (case sensitive); it can recognize a command and a parameter to that command
- ability to draw colored text windows (but still, UI is not written yet)
- APM 1.2 support (ATX boards)
- Slovak characters (ľ,š,č,ť,ž,ý,á,í,é,ď,ä,ô,ň)
- Real mode memory managment up to 4 GB for 80386 and later
- some basic "sound" trough the speaker (really crappy)
- IRQ handling, but can't use it - must study it first
- fits on a single floppy (kernel has 25 KB, UPX'ed 14 KB)
- has a web page (unfinished): http://www.portixos.tk
- Altough, it is a stable system (!) but less functions.
What must be fixed or added in next release(s):
- in this version 0.4: at least simple file managment (running EXEs)
- in version 0.5: PS/2 and comm handling (modems)
- in other versions: 800x600x16 GUI
And, what specifications have/will have your OS?
inflater
maybe this needs to move to other forum, but:
What version and functions does have your OS?
My PortixOS 0.4 has:
- Real mode
- Can run on ANY 8086 processor (and better) - but must have EGA (and better)
- Slovak language (sorry guys)
- Selection of processors (80286 and below / 80386 or better)
- very simple HW detection (CMOS,memory,graphics adapter,CPU)
- very simple command line (case sensitive); it can recognize a command and a parameter to that command
- ability to draw colored text windows (but still, UI is not written yet)
- APM 1.2 support (ATX boards)
- Slovak characters (ľ,š,č,ť,ž,ý,á,í,é,ď,ä,ô,ň)
- Real mode memory managment up to 4 GB for 80386 and later
- some basic "sound" trough the speaker (really crappy)
- IRQ handling, but can't use it - must study it first
- fits on a single floppy (kernel has 25 KB, UPX'ed 14 KB)
- has a web page (unfinished): http://www.portixos.tk
- Altough, it is a stable system (!) but less functions.
What must be fixed or added in next release(s):
- in this version 0.4: at least simple file managment (running EXEs)
- in version 0.5: PS/2 and comm handling (modems)
- in other versions: 800x600x16 GUI
And, what specifications have/will have your OS?
inflater
Last edited by inflater on Sat Oct 28, 2006 10:51 am, edited 6 times in total.
name: JouleOS
it's 32bit and only relys on 486 cpu optimizations
kernel is about 240kb(big cause I still dont have a linker script so I don't have bss)
very very basic multitasking and the OS and Console and such are not yet "thread-safe"
some very buggy fdd code that works about 1 out of every 3 times(lots of race conditions)
complete working console with backspace and caps and such(you can type help or list or test;tblah or whatever)
Com1 port support mostly working(works most of the time)
terminal to communicate via Com1
malloc and free and such
a few nifty working thigns in idt such as InstallInterruptHook()
some basic pc speaker stuff
it's event driven though the EventDrive thing is being completely rewritten
has multiple console support(their not hooked into threads and stuff yet though so not different keyboard stacks or anything..)
able to change standard VGA video modes without v8086(infact don't have v8086!)
have cpuid code(thanks to bryan_brynet)
and last but not least.. have the framework for application interrupts laid down
will eventually have...
Fat12 support
bug free fdd driver
bug free ps/2 mouse driver
my OS thread-safe
and a few other things...
meh probably overly drawn out but hey you said post OS function
oops.. have a website to http://JouleOS.galekus.com ... wonder why my website is no longer on my sig
edit2: now fixed...
it's 32bit and only relys on 486 cpu optimizations
kernel is about 240kb(big cause I still dont have a linker script so I don't have bss)
very very basic multitasking and the OS and Console and such are not yet "thread-safe"
some very buggy fdd code that works about 1 out of every 3 times(lots of race conditions)
complete working console with backspace and caps and such(you can type help or list or test;tblah or whatever)
Com1 port support mostly working(works most of the time)
terminal to communicate via Com1
malloc and free and such
a few nifty working thigns in idt such as InstallInterruptHook()
some basic pc speaker stuff
it's event driven though the EventDrive thing is being completely rewritten
has multiple console support(their not hooked into threads and stuff yet though so not different keyboard stacks or anything..)
able to change standard VGA video modes without v8086(infact don't have v8086!)
have cpuid code(thanks to bryan_brynet)
and last but not least.. have the framework for application interrupts laid down
will eventually have...
Fat12 support
bug free fdd driver
bug free ps/2 mouse driver
my OS thread-safe
and a few other things...
meh probably overly drawn out but hey you said post OS function
oops.. have a website to http://JouleOS.galekus.com ... wonder why my website is no longer on my sig
edit2: now fixed...
Last edited by earlz on Sat Oct 28, 2006 8:57 am, edited 2 times in total.
Re: Your OS functions
Hi,
For my OS there's a "current version", and previous versions. The current version doesn't do much - I'm currently porting code from older versions.
Current Version
General design is a "modular micro-kernel", which is like a normal micro-kernel except the kernel itself (and the boot code) consists of seperate replaceable modules.
Minimum Requirements
Current features:
Features:
Cheers,
Brendan
For my OS there's a "current version", and previous versions. The current version doesn't do much - I'm currently porting code from older versions.
Current Version
General design is a "modular micro-kernel", which is like a normal micro-kernel except the kernel itself (and the boot code) consists of seperate replaceable modules.
Minimum Requirements
- - 80486 with FPU or better (single-CPU)
- Pentium or better (multi-CPU)
- 4 MB of RAM (allow a little more for NUMA, depending on how many domains)
- a keyboard and VGA, or a serial port (headless, see note)
- a floppy driver, or network card (diskless boot)
Current features:
- - floppy boot
- network boot (PXE)
- supports headless systems
- supports boot scripts
- does memory detection
- incomplete CPU detection code (I'm working on it)
Features:
- - multi-CPU support (including different CPUs in the same computer)
- hyper-threading support
- NUMA support
- 32-bit plain paging, "36-bit" (PAE) paging and 64 bit/long mode
- compressed boot image support
- PCI bus scan, ISA Plug & Play scan, generic ISA device detection
- floppy driver, serial port driver
- PS/2 keyboard driver (including "dual keyboard" setups)
- incomplete serial and PS/2 mouse support
- CLI
- text mode GUI
- scripting language (similar to BASIC)
- an Othello port (one I can't beat on it's highest level)
- generic video support (a boot menu to choose which video mode to use after boot, including SVGA via. VESA)
- (partially incomplete) internationisation, including time & date, daylight savings, international phone dialing prefixes, currency, simple strings (yes, no, OK, cancel, etc), number formats, etc.
- misc. stuff and things I forgot I did..
Cheers,
Brendan
For all things; perfection is, and will always remain, impossible to achieve in practice. However; by striving for perfection we create things that are as perfect as practically possible. Let the pursuit of perfection be our guide.
-
- Member
- Posts: 134
- Joined: Thu Aug 18, 2005 11:00 pm
- Location: Sol. Earth. Europe. Romania. Bucuresti
- Contact:
Solar OS
http://www.oby.ro/os/index.html
You can find the API reference here:
http://www.oby.ro/os/refer_api/os_refer_api.htm
The OS is:
-protected mode only
-realtime
-Advanced GUI with controls: buttons, checkbox,editbox,listbox, tree,listview, etc, multiple desktops
-advanced hardware drivers for network
-Ethernet, IP, DNS, ICMP, UDP protocolls
-applications, viewers: BMP, Text, PE, Hex
-file browse and API (Fat32)
-lately it can Load, Map, resolve imports and RUN PE files!
It might become capable or running simple Win32 and Linux applications ..soon
http://www.oby.ro/os/index.html
You can find the API reference here:
http://www.oby.ro/os/refer_api/os_refer_api.htm
The OS is:
-protected mode only
-realtime
-Advanced GUI with controls: buttons, checkbox,editbox,listbox, tree,listview, etc, multiple desktops
-advanced hardware drivers for network
-Ethernet, IP, DNS, ICMP, UDP protocolls
-applications, viewers: BMP, Text, PE, Hex
-file browse and API (Fat32)
-lately it can Load, Map, resolve imports and RUN PE files!
It might become capable or running simple Win32 and Linux applications ..soon
- smiddy
- Member
- Posts: 127
- Joined: Sun Oct 24, 2004 11:00 pm
- Location: In my cube, like a good leming. ;-)
Here's a look at what is happening (from my ToDo.TxT):
Code: Select all
-------------------------------------------------------------------------------
ToDo For 1.0
-------------------------------------------------------------------------------
X DONE X Need to catch tabs and display spaces...txtdrvr.asm (placed 3 spaces in for tab, )
- Add the ability to check for multiple CPUs and check them for type.
X DONE X - Review DetectCPU for logical sequence and CPUType Identification (1 - 8)
X DONE X -- Remove false types in code (there for testing)
X DONE X -- If the processor supports CPUID then we can use it, for now.
-- Need to determine differences in Pentium and 486 opcodes.
-- Need to finish known CPUs into code
X DONE X - Write C application:
-- Opens Version.ASM to update build number with an increment per call
X DONE X -- Need to update C application for new directory structure
X DONE X - Write Batch file:
-- Run C Application
-- Archive the build with unique zip file
-- Build OS
-- Copy OS to floppy
X DONE X - Incorperate Memory Probing from PMode (done for UnReal Mode)
This stays in flat-real mode, no need to change.
X DONE X - Fix individual types for return to DOS or REBOOT
X DONE X - Check to see if we're in DOS or Windows or something else
X DONE X - Update realmode text driver to update BIOS cursor locations (not needed, using BIOS)
X DONE X - Implement Time Stamp at boot time and calculate boot processing time (CMOS).
X DONE X - Default text screen size 80 x 50
(Working on LoadFont; Loadfont seems to work, but screen looks weird)
X DONE X Save location of 8 by 16, 8 by 14, and 8 by 8 fonts
X DONE X Have to be able to return to 80 x 25
-- Need to copy existing video screen and replace the updated screen with the information;
if the screen is less rows, then scroll up to the last row and proceed
X DONE X Found another way through VESA 132 x 60 screen shots...nice.
-- Fix bugs with VESA text modes
X DONE X - Memory mapping scheme using mapped document (Read document and incorperate)
-- Remove 1MB DEBUG boundary to BIOS and CMOS memory routines
-- Memory allocation and deallocation scheme
-- Fix CMOS to Probing Not Needed
-- Fix E801 recognition error (only sees 1MB and says it is ok)
-- Analyze required variables for Protected Mode
X DONE X Fix EXE files with a new OSDA if within DOS...DOS uses what we want.
-- Fix Memory Layout to work with E820
-- Fix Memory Layout to check for ROMs
-- Fix Memory Layout to check for EBDA
X DONE X - Fix A20 Error so that processor doesn't try to probe memory...BIOS is ok.
X DONE X -- Need to rewrite A20 file (cleanup)
X DONE X - Update Protected Mode text screen driver (may make seperate from kernel)
X DONE X - Memory Manager (Bitmap is there, but went with data-record notation)
X DONE X - PCI Enumeration (in real mode) Not needed found PM edition works
X DONE X - If error before protected mode, get ready to reboot...
X DONE X - Go To Protected Mode
- PM PCI Enumeration (Shows on startup, need to be able to call from CLI)
X DONE X PreLoad VENDORS.TXT from www.pcidatabase.org
X DONE X Make into useable database
X DONE X Enumaerate and discard unused devices (space saver; have an option for redo)
X DONE X Get specific information for each installed device and make it a part of database
-- Make an option for REDO of VENDOR.TXT
- PnP Enumeration (Started)
- Determine motherboard information, ie. Serial Port Chip
- Begin reading IDT stuff (INW)
X DONE X Start up IDT
X DONE X Loadup internal timer IRQ 0
X DONE X Setup PIC for one at a time startup and use
-- Add OS Call for IDT Adds and Subtracts (Adds done; need subtract)
- Create Driver Interface to OS (INW)
-- Device Manager (INW; Needs and Devices)
--- Ability to use installed drivers like DOS ie. NUL, CON, LPT1, PRN, etc.
-- Load when needed; Release when done.
- Clock Driver (INW)
-- Update for date time information
X WORKING X Keyboard Driver (Like DOS CON driver, includes keyboard and console;)
-- Include ALT+decimal number to 255 translation for input.
X DONE X regular characters
X DONE X Shift characters
X DONE X CAPS lock characters (shifted and not)
-- Ctrl characters
-- Alt characters
X DONE X Basic Command Line shell
- Text Windowing from OS calls (create OS calls)
-- Rudementary windowing for IDT exceptions (Started)
- Read up on TSS and implement (INW)
-- Write two simple tasks to thread with (with text windowing)
X WORKING X ATA(IDE) Driver
X WORKING X Floppy Driver
- Partition Manager; Logical Drive assignment
-- Identifies all drive from partitions, assigns logical drive letters of (useful) drives (FAT 12/16)
- File System Manager
- FAT Driver (12 & 16)
- RealTek 8139 NIC Driver
-- Ethernet Driver
--- TCP/IP Driver
- OS Utilities:
-- FORMAT Utility (smiddyOS Format [Likely XDF], and regular DOS on 3.5 2MB drive)
-- CHKDSK Utility (for known drives above)
-- MEMory Utility (Display Memory as the OS know's it).
X DONE X Rudementary display of listed memory items.
- Internal Commands:
-- DIRectory
--- Need to make a 2MB buffer for a directory size (limit) so that operation fast
-- CD - Change directory
-- MD - Make directory
-- RD - Remove a directory
X DONE X -- VERsion
X DONE X -- EXIT (option to REBOOT; Powerdown; Return to DOS)
X DONE X -- PCI - Shows attached PCI devices
-- PnP - Shows PnP devices (INW)
-- SMBios - Shows the SMBIOS table information (INW)
X DONE X -- HELP - shows all the commands available
X DONE X -- TIME - shows current time
X DONE X -- BOOTTIME - shows the boot time of current system
X DONE X -- BOOTDATE - shows the boot date of current system
X DONE X -- DATE - shows the current date
X DONE X -- UPTIME - shows the current systems up time
-- A: - to change logical drive letter, if available
X DONE X -- CLS - clears the screen
X DONE X -- MODE - Change the current text screen mode
X DONE X -- DRIVES - shows hardware attached drives (Floppy and IDE type, SCSI later)
- Applications:
-- Network Analyzer (may make as its own boot tool)
-- Calculator (very basic)
- Game
-- Testris type game; developing first for Dex4u
-------------------------------------------------------------------------------
For 2.0
-------------------------------------------------------------------------------
- Text mode windowing scheme taking advantage of video modes available/written
- Update Partition Manager to identify all encountered file system drive types
- FAT Driver (12/16/32 and Longfile Names)
- Mouse driver (COM, USB, and PS/2)
- HPFS Driver (may use as smiddyOS defualt)
- CDFS Driver
- NTFS Driver
- COM Driver
- LPT Driver
- USB Driver
- Extensive Memory Command/Utility
- CPUID Utility
- OS Utilities:
-- Update FORMAT to all known formats and floppy drives (may need to narrow list)
-- Update CHKDSK
- Internal Commands:
-- Extend the list (along with Utilities)
- Applications:
-- Update existing ones to 2.0
-- Calculator to be more scientific
-- Network Analyzer; Add realtime analysis
-- Editor
-- Port FASM
-- Port GRDB and make it PMode
-- IDE for FASM and GRDB integration
-------------------------------------------------------------------------------
For 3.0
-------------------------------------------------------------------------------
- Printer Drivers (Text ASCII only)
- Bus speed determination
- Games
-------------------------------------------------------------------------------
For 4.0
-------------------------------------------------------------------------------
- Graphics drivers and modes
-
- Member
- Posts: 1600
- Joined: Wed Oct 18, 2006 11:59 am
- Location: Vienna/Austria
- Contact:
BlueIllusionOS:
Microkernel on iX86.
has: paging, virtual memory management, process/thread model, messaging/event interface ...
services: process manager, file system (ext2 read/write, iso9660), gui, network (ethernet, arp,ip,tcp,udp & some nic drivers), dhcpcd (service), user manager service, logger service ...
gui offers following features via library: button,checkbox,radiobutton,listbox,multiline text box,multiline text edit, single line edit, label, image, icon,scrollbar, menue, tabpages ... well and transparent windows. Transparent drawing will be implemented in the client library too, so the drawing operations can be given some alpha channel parameter.
There are some applications present - look here: www.distantvoices.org
stay safe.
Microkernel on iX86.
has: paging, virtual memory management, process/thread model, messaging/event interface ...
services: process manager, file system (ext2 read/write, iso9660), gui, network (ethernet, arp,ip,tcp,udp & some nic drivers), dhcpcd (service), user manager service, logger service ...
gui offers following features via library: button,checkbox,radiobutton,listbox,multiline text box,multiline text edit, single line edit, label, image, icon,scrollbar, menue, tabpages ... well and transparent windows. Transparent drawing will be implemented in the client library too, so the drawing operations can be given some alpha channel parameter.
There are some applications present - look here: www.distantvoices.org
stay safe.
... the osdever formerly known as beyond infinity ...
BlueillusionOS iso image
BlueillusionOS iso image
Well first, since my OS is based on Borealis by Chris Giese, I'll list his features first:
- 32-Bit Protected mode OS
- Can be booted from GRUB or Chris' own boot loader from dos
- Multiple consoles (1 for each process)
- User mode applications with their own libc (uses interrupts for some functions)
- Kernel mode applications which have their libc symbols altered at load time to match the kernel's libc functions
- Serial port IO
- Task states (running, waiting, zombied)
- A few games (tetris, 'ansi invaders')
- Better kernel symbol lookups
- Non-blocking InterProcess Communication (Asynchronous IPC)
- PS2 mouse driver
- VGA graphics (320x200x8bit) driver
- Daemon mode applications (all run on 1st console)
- Different wait states, and a task priority/nice system
- Console application (which talks to the VGA daemon to switch into vga mode)
- System topography application (show processes, name, cpu usage, cpu time, overall cpu balance and usage)