Introduction
This document is less of a technical document and more of a philosophical one. Basically this document is all about what I think should and/or shouldn't be in this operating system, and why. Nothing in this document is written in stone, I will take in and process any and all input I can get from people and consider all points of view. If you have any questions, ideas, wants, comments or criticizims pertaining to DynatOS, feel free to e-mail them to me. -Keith Kanios, Core Designer and Project Founder
History
Without getting too deep into it, I started learning how to program a long time ago. Around 1993/1994 I gained an interest in game programming. A few years later I came to an impass in my programming efforts since I was trying to make a universal-type game engine and at almost every turn there were inconsistancies in how graphics programming was done (at least back then). It quickly became obvious that my efforts were ultimately futile.
Frustrated with those inconsistancies, I started digging deeper and deeper into how the computer works internally in order to understand why they existed. Considering my programming roots as GW-BASIC, I moved down the high-level language path to C, and ultimately x86 assembly. While I was learning low-level C and basic x86 assembly, I started to learn the hardware on up and met at a firm understanding of not only how but also why things work. As I kept learning, I found that the current operating system implementations of such things were generally poor in either design or overhead.
I knew that I could do better myself with acutal effort along with care in how things are designed and implemented. Thus my interest in operating system programming was born. My goal was plain and simple, to do what others could not or would not do with the least amount of overhead needed. I was not going to let myself use high-level languages as a programming crutch, I stuck to straight assembly language programming. Assembly language programming isn't without its set-backs, mostly being the time consumption in writing simple things like conditional structures.
I intended on using strict Assembly language for the Core, and then maybe move back upto low-level C with inline assembly for efficiency purposes when developing things other than the Core. Every project has fundamental philosophy driving it, for DynatOS it is "Make things work, then make them work better.". The key behind that statement being "make", as opposed to slapping code in just to get things working and leaving it there because it "works now"... and there came the fun part... making things work.
The Basics
The initial objective of the DynatOS Project is to create a stand-alone Core for IA-32 compatible processors utilizing a Command Line Interface with enough built-in commands to allow basic management of a computer system. Simple file I/O with support for the most popular file systems along with memory management will be available as development progresses. Mostly I want the DynatOS Core to be able to setup and install everything needed to run the overall operating system while providing the said basic environment as a backup just in case the something doesn't load right.
There will be support for the Standard C Library as per ANSI, but DynatOS will not be another Unix/POSIX clone. I can not emphasize this enough since I see a new clone almost every day. This does not mean that POSIX compliance will not be supported, it just means that DynatOS will not be designed under POSIX influence or control. Parts of DynatOS may be open-source, but DynatOS does not officially affiliate itself with open source or free software movements. DynatOS will be released under the DynatOS Software License Agreement.
More information to come...
This document is less of a technical document and more of a philosophical one. Basically this document is all about what I think should and/or shouldn't be in this operating system, and why. Nothing in this document is written in stone, I will take in and process any and all input I can get from people and consider all points of view. If you have any questions, ideas, wants, comments or criticizims pertaining to DynatOS, feel free to e-mail them to me. -Keith Kanios, Core Designer and Project Founder
History
Without getting too deep into it, I started learning how to program a long time ago. Around 1993/1994 I gained an interest in game programming. A few years later I came to an impass in my programming efforts since I was trying to make a universal-type game engine and at almost every turn there were inconsistancies in how graphics programming was done (at least back then). It quickly became obvious that my efforts were ultimately futile.
Frustrated with those inconsistancies, I started digging deeper and deeper into how the computer works internally in order to understand why they existed. Considering my programming roots as GW-BASIC, I moved down the high-level language path to C, and ultimately x86 assembly. While I was learning low-level C and basic x86 assembly, I started to learn the hardware on up and met at a firm understanding of not only how but also why things work. As I kept learning, I found that the current operating system implementations of such things were generally poor in either design or overhead.
I knew that I could do better myself with acutal effort along with care in how things are designed and implemented. Thus my interest in operating system programming was born. My goal was plain and simple, to do what others could not or would not do with the least amount of overhead needed. I was not going to let myself use high-level languages as a programming crutch, I stuck to straight assembly language programming. Assembly language programming isn't without its set-backs, mostly being the time consumption in writing simple things like conditional structures.
I intended on using strict Assembly language for the Core, and then maybe move back upto low-level C with inline assembly for efficiency purposes when developing things other than the Core. Every project has fundamental philosophy driving it, for DynatOS it is "Make things work, then make them work better.". The key behind that statement being "make", as opposed to slapping code in just to get things working and leaving it there because it "works now"... and there came the fun part... making things work.
The Basics
The initial objective of the DynatOS Project is to create a stand-alone Core for IA-32 compatible processors utilizing a Command Line Interface with enough built-in commands to allow basic management of a computer system. Simple file I/O with support for the most popular file systems along with memory management will be available as development progresses. Mostly I want the DynatOS Core to be able to setup and install everything needed to run the overall operating system while providing the said basic environment as a backup just in case the something doesn't load right.
There will be support for the Standard C Library as per ANSI, but DynatOS will not be another Unix/POSIX clone. I can not emphasize this enough since I see a new clone almost every day. This does not mean that POSIX compliance will not be supported, it just means that DynatOS will not be designed under POSIX influence or control. Parts of DynatOS may be open-source, but DynatOS does not officially affiliate itself with open source or free software movements. DynatOS will be released under the DynatOS Software License Agreement.
More information to come...
