Bona Fide OS Developer
View unanswered posts | View active topics It is currently Mon Mar 18, 2024 11:50 pm



Post new topic Reply to topic  [ 5 posts ] 
 WolfOS native/dynamic x86/x64 OS 
Author Message

Joined: Thu Jan 27, 2011 6:28 pm
Posts: 8
Post WolfOS native/dynamic x86/x64 OS
Hi my name is Jamie for short, I am new to these forums, and I am currently at college studying Games Design.

My goals are fairly simple, yet some would say ambitious:-
Build my own OS that supports x86 and x64 architecture, supporting emulation and direct execution of 16bit, 32bit and 64bit code on any architecture mentioned.

The OS will somehow detect the CPU architecture, whether it is x86 or x64, if the CPU is x86, it will detect if it supports 32bit protected mode.
The OS will dynamically default to the newest architecture and CPU mode, once the OS execution is dynamically chosen, it executes the version of the OS specifically built for that architecture.
The code for each architecture is simply a loader designed to parse and compile the kernel and load it, once compiled it loads it automatically on future boot sessions.
The OS will also support macro style scripting to automate common tasks, this will make the OS quite useful for design based apps, or even programming tasks.
The OS is aimed at being extremely stable and compact, and is coded entirely in x86 and x64 assembly code and is aimed at being as fast as possible.
I aim for the OS to also support advanced graphics operations at real-time speed.
An example would be the GUI, it would have access to many various functions that allow for fast and practical screen rendering solutions.
This is also taking into account peoples various preferences with common GUI, while providing a simple, stable, fast and compact user friendly API to the function library.

Some examples:-
window transparency, including some additional options,
window blurring
window refraction
window reflection

All of these GUI options will operate as fast as possible with as little overhead as possible.
They will also be specialized to prevent screen clutter when having multiple transparent windows overlapped.
There are also options for solid windows, as well as control over how see through a particular window is.
Also, all screen renders are DirectX inspired, they are done behind the scenes in a back-buffer and when ready to display, they flip to the screen, this prevents screen "scan-lines" being visible.

To top all of this and to finish my idea, the OS will be dedicated to many possible features such as:-
multithreaded processing
hyperthreaded processing
hybrid applications of the above processing styles
16bit, 32bit, 64bit, emulation as well as direct execution on all CPU architectures, including INTEL and AMD, x86 and x64 models.
multitasking
scheduled tasks
paging backed memory management, however memory management is mostly handled by apps keeping track of their data usage, using standard OS allocmem and freemem API functions. The page file will be used as a bitmask to say what the application has access to, and is identified by a PUID (program UID).

Any ideas for improvements or feature requests/ideas would be appreciated,
any tips, hints, links that might help me in my goals would also be appreciated,
thanks in advance.

Jamie


Thu Jan 27, 2011 9:43 pm
Profile

Joined: Fri Aug 20, 2010 10:04 pm
Posts: 41
Post Re: WolfOS native/dynamic x86/x64 OS
What are you going to do about drivers? You have three choices -- make it work for one hardware set-up; attempt to use Windows or Linux drivers, doomed to making an exact copy of Windows or Linux; or do what I did with http://www.losethos.com and support only least common denominator hardware--640x480x16 color screen. I challenge you to find an OS which has succeeded better than LoseThos.


Apple picked one hardware set-up. It's a sane strategy.


Google search "64-bit operating System". You'll see LoseThos, Menuet OS, and BareMetal OS.


MikeOS and others decide to market assembly-language-only systems. That's their distinguishing feature. My distinguishing feature is ring-0 only and no paging and other stuff.

I'm trying for a commercial OS for programmers having fun. Others decide their's are teaching OS's.


Bare Metal has lots that distinguishes it. It's a sane strategy. Everybody else is wasting their time or just having fun.


Decide if you want GPL right now. I decided I did not want GPL, but public domain, so I don't look at Linux. If you make yours GPL, you have no chance of money. I made my public domain, so I have almost no chance, unless it went viral and I could advertise or something. It hasn't gone viral -- 640x480, obviously the problem.


I have a user's group on Facebook with 34 people. http://www.facebook.com/group.php?gid=139584862753417


Last edited by losethos on Sat Jan 29, 2011 2:01 am, edited 1 time in total.



Fri Jan 28, 2011 1:18 am
Profile

Joined: Thu Jan 27, 2011 6:28 pm
Posts: 8
Post Re: WolfOS native/dynamic x86/x64 OS
Hi losethos, thank you for your reply, my os is an inhouse hobby os, meaning it's specialized for my machines, except I have 3 different hardware configurations to build for so I will be studying the architecture manuals for each computer. If you can help here's my basic specs for each machine:

PC1:-
. AMD Athlon(tm) x2 245 Processor 2.9GHz (x64)
. 4GB Ram DDR 2
. nVidea GeForce GT220
PC2:-
. AMD Sempron(tm) Processor 2800+ 1.6GHz (x86)
. 1GB Ram DDR 1
. nVidea GeForce 6200
LAPTOP:-
. AMD V140 Processor 2.3GHz (x64)
. 2GB Ram DDR 3
. ATI Mobility Radeon HD 4250

My machines are varied CPU architectures and RAM architectures, which is why my OS must support multiple CPU modes, my memory management model will account for the RAM architectures.
I have plenty of information about x86 but am quite limited about x64 so any help with that would be greatly appreciated, I am familiar with x64 assembly so that's not a problem, thanks in advance.

A feature that will single my OS out especially is a custom feature I invented called "linked desktops", it simply works over a LAN connection to other computers, or just one other computer, it's up to the end user if I make it public eventually but for now it's inhouse only. Anyway, the feature is where multiple computers can be running WolfOS, linked over LAN, and even if other computers are off it can access their HDDs and programs over the network, this is achieved by hardware sleeping (hard to explain, you might be able to find a good explanation on Google). It also supports network logins, so you can have all your user accounts on one machine, and all accounts will be available on the other machines too. I know this is complicated and will take time to develop but it's my plan and I don't expect to fly through it. :)

Jamie

P.S. Nice OS losethos
P.P.S PC2 is my primary development machine before making additional drivers for the other PC architectures, and I don't need tech guides for that comp except the graphics card


Fri Jan 28, 2011 12:04 pm
Profile

Joined: Sat Jan 16, 2010 7:53 pm
Posts: 18
Location: Melbourne, Australia
Post Re: WolfOS native/dynamic x86/x64 OS
All I have to say: you are way, waaay over your head. Just judging by the way you're talking about this stuff, you seem to have very little clue, and you need to find one, fast.

Half of the features you've described do not belong in the OS, and you don't seem to have a strategy for how it would make sense for them to be, anyway.

Quote:
Also, all screen renders are DirectX inspired, they are done behind the scenes in a back-buffer and when ready to display, they flip to the screen, this prevents screen "scan-lines" being visible.


The fact that you think this is a "DirectX" feature, or that this is new, or that people don't do this in almost all cases, makes me feel reeaaal bad.

Quote:
To top all of this and to finish my idea, the OS will be dedicated to many possible features such as:-


So, where are you up to? Do you realistically know how long this will take you? Hint: it's counted in years. More than 4 or 5, probably. I'd like to know for how many weeks you plan to work on it before giving up.


Fri Feb 04, 2011 12:15 am
Profile WWW

Joined: Thu Jan 27, 2011 6:28 pm
Posts: 8
Post Re: WolfOS native/dynamic x86/x64 OS
Sorry my reply is delayed but I've been very busy in ALOT of projects OTHER than my OS, at the same time I never said I thought it would be easy or would be done quickly, i've only managed to get a working fat12 boot-loader going and successfully loading a basic OS kernel loader, I have yet to write the kernel and even then the features I described I know aren't apart of the OS, they will be a feature powered by the kernel.

Also since when did I say DirectX backbuffers are new, I never said that, all I said was it was inspired by DirectX, a mere reference to the technology concept.

I honestly never thought I would be met with such rude remarks, I wouldn't be here if I hadn't a clue what I was diving into. I came here for some help, and to participate in helping others in any way I can.

As I've said before I am an extremely ambitious person, off topic did you know that I am also a Games Developer but not just that but I am currently making a game, not just any game, a game that simulates a whole universe, and not like the ones already out there that approximate a universe, I am creating a universe identical to our own, but I am not going to reveal how I will accomplish this since it's project secrets. All I'm saying is I aim high and I don't settle for the lowest end until I reach my goal, no matter how "LONG" it takes.

Unlike most people I am extremely patient, that's what drives me to succeed, and I've not failed yet! To finish off my rant, I don't plan to fail either, but IF I do, I will get back up and try again until I succeed, it's that plain and simple, now stop assuming bs.

Now as a side note I have a website for my OS project now if you genuinely want to watch closely how long it takes me to do each part which is listed as TODOs on the project page of my website.

http://proggods.webs.com/wolfos.htm

[edit]
As an additional side note you requested an idea of how long I think it will take me, I cannot answer this as my project is a lifetime continuous endeavor which will only end when I can no longer continue the project, whether physically, intellectually, or mentally.
[/edit]


Sun Feb 13, 2011 9:33 am
Profile
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 5 posts ] 


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by Vjacheslav Trushkin and tweaked by the BF Team.