OSDev.org

The Place to Start for Operating System Developers
It is currently Thu Mar 28, 2024 7:19 am

All times are UTC - 6 hours




Post new topic Reply to topic  [ 20 posts ]  Go to page 1, 2  Next
Author Message
 Post subject: xOS
PostPosted: Wed Jul 27, 2016 9:51 pm 
Offline
Member
Member
User avatar

Joined: Sat Dec 27, 2014 9:11 am
Posts: 901
Location: Maadi, Cairo, Egypt
Here's the second public release I ever make in my life (the first being ZeroOS 0.1 in late 2014 or early 2015, I think.)
This release boots to graphics mode, and launches two programs at the same time to demonstrate multitasking and userspace (make a register dump at any moment ;)) Each program creates a window, on which the user can use the mouse to draw on the window, to demonstrate window manager events as well.
YouTube video to demonstrate.

New stuff in this release:
  • Window event support.
  • Demo programs to demonstrate multitasking with ring 3 protection.
  • Major bugfix in memory manager.
  • Minor performance tweaks in mouse driver.
  • First release that boots on real hardware without page faulting.

Missing stuff in this release:
  • Unstable release; source code will be distributed with stable releases only.
  • MTRR configuration crashes some HW; so this release does not configure MTRR.
  • The graphics library is heavily optimized for 32-bit video modes, and 24-bit modes will suffer just from moving the mouse.
  • Overall performance may be low.

Disk image download, both raw and VMDK.

I welcome all your feedback, both good and bad.

EDIT: I have released the source code.

_________________
You know your OS is advanced when you stop using the Intel programming guide as a reference.


Last edited by BrightLight on Fri Aug 26, 2016 10:49 pm, edited 2 times in total.

Top
 Profile  
 
 Post subject: Re: xOS 0.04 -- first public release
PostPosted: Thu Jul 28, 2016 9:21 am 
Offline
Member
Member
User avatar

Joined: Mon Mar 05, 2012 11:23 am
Posts: 616
Location: Germany
Hey omar!

Nice work, congrats on the release, will try it out.

Would take a closer look, but why do you not provide the sources? Saying that it's GPLv3 but not providing the source violates GPL :P

Greets

_________________
Ghost OS - GitHub


Top
 Profile  
 
 Post subject: Re: xOS 0.04 -- first public release
PostPosted: Thu Jul 28, 2016 10:05 am 
Offline
Member
Member

Joined: Sat Mar 01, 2014 2:59 pm
Posts: 1146
max wrote:
Hey omar!

Nice work, congrats on the release, will try it out.

Would take a closer look, but why do you not provide the sources? Saying that it's GPLv3 but not providing the source violates GPL :P

Greets
He said he will release the source code soon.

_________________
When you start writing an OS you do the minimum possible to get the x86 processor in a usable state, then you try to get as far away from it as possible.

Syntax checkup:
Wrong: OS's, IRQ's, zero'ing
Right: OSes, IRQs, zeroing


Top
 Profile  
 
 Post subject: Re: xOS 0.04 -- first public release
PostPosted: Thu Jul 28, 2016 11:25 am 
Offline
Member
Member
User avatar

Joined: Mon Mar 05, 2012 11:23 am
Posts: 616
Location: Germany
onlyonemac wrote:
He said he will release the source code soon.
No, he didn't. At least not in this post.

_________________
Ghost OS - GitHub


Top
 Profile  
 
 Post subject: Re: xOS 0.04 -- first public release
PostPosted: Thu Jul 28, 2016 1:37 pm 
Offline
Member
Member
User avatar

Joined: Sat Dec 27, 2014 9:11 am
Posts: 901
Location: Maadi, Cairo, Egypt
max wrote:
onlyonemac wrote:
He said he will release the source code soon.
No, he didn't. At least not in this post.

Yes, I did.
omarrx024 wrote:
Unstable release; source code will be distributed with stable releases only.

_________________
You know your OS is advanced when you stop using the Intel programming guide as a reference.


Top
 Profile  
 
 Post subject: Re: xOS 0.04 -- first public release
PostPosted: Thu Jul 28, 2016 4:08 pm 
Offline
Member
Member
User avatar

Joined: Sat Mar 31, 2012 3:07 am
Posts: 4591
Location: Chichester, UK
I think your logic is faulty.

You are saying that you won't release the source of this (unstable) release. Which is exactly what Max said. And, as he said in an earlier post, that means that you can't claim the GPL for it as people can't "modify the code".

That you are going to release the source of a future release is irrelevant.


Top
 Profile  
 
 Post subject: Re: xOS 0.04 -- first public release
PostPosted: Fri Jul 29, 2016 4:07 pm 
Offline
Member
Member
User avatar

Joined: Sat Dec 27, 2014 9:11 am
Posts: 901
Location: Maadi, Cairo, Egypt
Oh well. I made some fixes and put the source code on GitHub.

_________________
You know your OS is advanced when you stop using the Intel programming guide as a reference.


Top
 Profile  
 
 Post subject: Re: xOS 0.04 -- first public release
PostPosted: Fri Jul 29, 2016 9:18 pm 
Offline
Member
Member
User avatar

Joined: Wed Jan 06, 2010 7:07 pm
Posts: 792
Technically you only have to provide the source if the source was provided to you under the GPL. That is not the case here, as omarrx024 wrote the source code rather than receive it from someone else. :P

_________________
[www.abubalay.com]


Top
 Profile  
 
 Post subject: Re: xOS 0.04 -- first public release
PostPosted: Sat Jul 30, 2016 1:43 am 
Offline
Member
Member
User avatar

Joined: Sat Mar 31, 2012 3:07 am
Posts: 4591
Location: Chichester, UK
Rusky wrote:
Technically you only have to provide the source if the source was provided to you under the GPL. That is not the case here, as omarrx024 wrote the source code rather than receive it from someone else. :P

I believe that to be incorrect:
Quote:
If you make object code available on a network server, you have to provide the Corresponding Source on a network server as well.


Top
 Profile  
 
 Post subject: Re: xOS 0.04 -- first public release
PostPosted: Sat Jul 30, 2016 2:38 am 
Offline
Member
Member
User avatar

Joined: Sat Dec 27, 2014 9:11 am
Posts: 901
Location: Maadi, Cairo, Egypt
I know that I should provide the sources if my project is GPL, and I did. Just 2 days later after doing some fixes. :P

_________________
You know your OS is advanced when you stop using the Intel programming guide as a reference.


Top
 Profile  
 
 Post subject: Re: xOS 0.04 -- first public release
PostPosted: Sat Jul 30, 2016 10:08 am 
Offline
Member
Member
User avatar

Joined: Wed Jan 06, 2010 7:07 pm
Posts: 792
iansjack wrote:
I believe that to be incorrect:
Quote:
If you make object code available on a network server, you have to provide the Corresponding Source on a network server as well.
That only applies to those who received the project under the GPL. The original author is not bound by the license in that way- that is what makes it possible to dual-license, or to sell license exemptions, for example.

But not to derail this! Nice work getting everything working together at this scale- a few hardware devices and simple userspace working. What are your goals moving forward? Do you have a target audience? Do you plan to support long mode? What pieces do you want to move into userspace, with what sort of syscall API? What design decisions can we already see that we might not have noticed?

_________________
[www.abubalay.com]


Top
 Profile  
 
 Post subject: Re: xOS 0.04 -- first public release
PostPosted: Sat Jul 30, 2016 3:08 pm 
Offline
Member
Member
User avatar

Joined: Sat Dec 27, 2014 9:11 am
Posts: 901
Location: Maadi, Cairo, Egypt
Rusky wrote:
But not to derail this! Nice work getting everything working together at this scale- a few hardware devices and simple userspace working. What are your goals moving forward? Do you have a target audience? Do you plan to support long mode? What pieces do you want to move into userspace, with what sort of syscall API? What design decisions can we already see that we might not have noticed?

Thanks! First, I plan to make this OS self-hosting with an installer (i.e. it can boot from a generic "installer CD" and install itself to a hard disk). I also want to add more hardware support: AHCI, HPET and USB are in my list, although USB is rather far. I really do this just for learning and for passing time; I don't expect an audience to ever use it. I do plan to support long mode, but not any time soon. 3rd party drivers will run in userspace; native graphics drivers, sound drivers and network drivers will all run in ring 3 and not be built-in to the kernel.

_________________
You know your OS is advanced when you stop using the Intel programming guide as a reference.


Top
 Profile  
 
 Post subject: Re: xOS 0.04 -- first public release
PostPosted: Mon Aug 01, 2016 1:14 pm 
Offline
Member
Member
User avatar

Joined: Tue Mar 06, 2007 11:17 am
Posts: 1225
omarrx024 wrote:
Rusky wrote:
But not to derail this! Nice work getting everything working together at this scale- a few hardware devices and simple userspace working. What are your goals moving forward? Do you have a target audience? Do you plan to support long mode? What pieces do you want to move into userspace, with what sort of syscall API? What design decisions can we already see that we might not have noticed?

Thanks! First, I plan to make this OS self-hosting with an installer (i.e. it can boot from a generic "installer CD" and install itself to a hard disk). I also want to add more hardware support: AHCI, HPET and USB are in my list, although USB is rather far. I really do this just for learning and for passing time; I don't expect an audience to ever use it. I do plan to support long mode, but not any time soon. 3rd party drivers will run in userspace; native graphics drivers, sound drivers and network drivers will all run in ring 3 and not be built-in to the kernel.

A smaller OS would be much more usable if it could be simply installed into a subfolder of the root directory (like "OS_Name_Folder") inside an already-existing partition (FAT, NTFS, Ext...) and if all installs of that OS could be searched and selected from a bootloader in all existing partitions from external media (avoiding installing or altering the most used booting configuration of the machine).

It all would be much easier if the bootloader was on a removable media like USB, floppy or CD/DVD, and if it just passed control to the OS on an existing formatted internal hard disk.

In this way the OS could be installed like any other regular application and then booted with, say, a configured USB stick to boot into it. Then nothing would need to be altered from the existing user OS and it would avoid keeping an exclusive hold on the machine against the rest of OSes and bootable system executive code applications/tests/demos.

It could well be a matter of creating a simple bootloader program based on FreeDOS installed into an external device or into the hard drive if we really need to make it our native OS.

_________________
Live PC 1: Image Live PC 2: Image

YouTube:
http://youtube.com/@AltComp126/streams
http://youtube.com/@proyectos/streams

http://master.dl.sourceforge.net/projec ... 7z?viasf=1


Last edited by ~ on Mon Aug 01, 2016 2:20 pm, edited 2 times in total.

Top
 Profile  
 
 Post subject: Re: xOS 0.04 -- first public release
PostPosted: Mon Aug 01, 2016 2:08 pm 
Offline
Member
Member
User avatar

Joined: Sat Dec 27, 2014 9:11 am
Posts: 901
Location: Maadi, Cairo, Egypt
~ wrote:
A smaller OS would be much more usable if it could be simply installed into a subfolder of the root directory (like "OS_Name_Folder") inside an already-existing partition (FAT, NTFS, Ext...) and if all installs of that OS could be searched and selected from a bootloader in all existing partitions from external media (avoiding installing or altering the most used booting configuration of the machine).

It all would be much easier if the bootloader was on a removable media like USB, floppy or CD/DVD, and if it just passed control to the OS on an existing formatted internal hard disk.

In this way the OS could be installed like any other regular application and then booted with, say, a configured USB stick to boot into it. Then nothing would need to be altered from the existing user OS and it would avoid keeping an exclusive hold on the machine against the rest of OSes and bootable system executive code applications/tests/demos.

This is planned! I do plan to support ISO9660 and FAT32. NTFS and Ext2/3/4 are too complex and a waste of time for the early stages I'm in. I also will add support for running the entire OS from a ramdisk (e.g. you could boot the OS with MEMDISK, etc...) and wouldn't require any changes in the host system except changes in the GRUB configuration file. I've done this before.

_________________
You know your OS is advanced when you stop using the Intel programming guide as a reference.


Top
 Profile  
 
 Post subject: xOS 0.06 alpha release
PostPosted: Mon Aug 22, 2016 3:34 pm 
Offline
Member
Member
User avatar

Joined: Sat Dec 27, 2014 9:11 am
Posts: 901
Location: Maadi, Cairo, Egypt
Hello.
I'm happy to announce the third public release of xOS, version 0.06. New things in this release include:
  • AHCI SATA read-only access; now boots from a SATA hard disk.
  • ATA improvements.
  • PCI improvements.
  • Major memory manager bugfix.
  • New default window theme.
  • SSE memcpy and some other performance improvements.

Known issues:
  • On VirtualBox, the AHCI controller doesn't respond to commands.

Things to expect in the next release:
  • File system driver.
  • Loading programs from disk.
  • Using a picture file as the background.
  • (Hopefully) fix the AHCI driver on VirtualBox.

For testing purposes, this release has a script called qemu.sh, which runs QEMU using SATA instead of ATA, just for demonstration.
Download Link
GitHub Release

I look forward to hearing all feedback, both good and bad.
Cheers.

_________________
You know your OS is advanced when you stop using the Intel programming guide as a reference.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 20 posts ]  Go to page 1, 2  Next

All times are UTC - 6 hours


Who is online

Users browsing this forum: No registered users and 33 guests


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:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group