Web Serving on My OS
Web Serving on My OS
I just wanted to share this, as it's exciting to me hehe.
When I started OS development I wanted to have something that could host a web page, and be self hosting.
Well although the TCP/IP stack is a little funky and sends packets in the wrong order (this is proving to be a tough nut to crack) it works well enough to send a web page.
Now I just need an editor and to port GCC, binutils and NASM.
When I started OS development I wanted to have something that could host a web page, and be self hosting.
Well although the TCP/IP stack is a little funky and sends packets in the wrong order (this is proving to be a tough nut to crack) it works well enough to send a web page.
Now I just need an editor and to port GCC, binutils and NASM.
Re: Web Serving on My OS
Congrats! I have a screenshot of my first "Hello, World!" web page response from my OS around here somewhere. I know the feeling.
You should post this over on the "AHHH YEAH!!" thread.
http://forum.osdev.org/viewtopic.php?f=11&t=27692
You should post this over on the "AHHH YEAH!!" thread.
http://forum.osdev.org/viewtopic.php?f=11&t=27692
Project: OZone
Source: GitHub
Current Task: LIB/OBJ file support
"The more they overthink the plumbing, the easier it is to stop up the drain." - Montgomery Scott
Source: GitHub
Current Task: LIB/OBJ file support
"The more they overthink the plumbing, the easier it is to stop up the drain." - Montgomery Scott
-
- Member
- Posts: 1146
- Joined: Sat Mar 01, 2014 2:59 pm
Re: Web Serving on My OS
Would anyone care to describe the picture? (If it's worthwhile...)
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
Syntax checkup:
Wrong: OS's, IRQ's, zero'ing
Right: OSes, IRQs, zeroing
Re: Web Serving on My OS
As I understand, the guest system (Quinn) runs a web server, the host system (GNU/Linux with GNOME?) connects to it.onlyonemac wrote:Would anyone care to describe the picture? (If it's worthwhile...)
"If you don't fail at least 90 percent of the time, you're not aiming high enough."
- Alan Kay
- Alan Kay
- Kazinsal
- Member
- Posts: 559
- Joined: Wed Jul 13, 2011 7:38 pm
- Libera.chat IRC: Kazinsal
- Location: Vancouver
- Contact:
Re: Web Serving on My OS
There is a Firefox window open displaying plain text content served from an HTTP server on a LAN. The content is "It works! Yay!". The OP's operating system is running in a VirtualBox instance in the foreground, acting as the web server. The operating system's console is displaying a log from the boot sequence as well as a log of served HTTP requests. In order, they are a 200 for a GET request to the root of the website, a 404 for a GET request to the directory "bob", and another 200 for a GET request to the root. The OS has a graphical interface with monospace and proportional font rendering.onlyonemac wrote:Would anyone care to describe the picture? (If it's worthwhile...)
Re: Web Serving on My OS
This took me a second to figure out what you were asking, and why you were asking it.onlyonemac wrote:Would anyone care to describe the picture? (If it's worthwhile...)
Inside VirtualBox, he has a graphical desktop with a wallpaper showing what appear to be two trains inside of some sort of building or factory, in grayscale, with two applications running. In the bottom right corner is a "Launcher" application with three buttons: Clock, File Manager and Memory Info.
The other application is a console window, with what looks like the default VGA font, but has some color text, and a very large "Q U I N N" title in some other font, so the console application appears to support switching fonts from one character to the next. He also has a large "cartoon"-esque mouse pointer.
Project: OZone
Source: GitHub
Current Task: LIB/OBJ file support
"The more they overthink the plumbing, the easier it is to stop up the drain." - Montgomery Scott
Source: GitHub
Current Task: LIB/OBJ file support
"The more they overthink the plumbing, the easier it is to stop up the drain." - Montgomery Scott
-
- Member
- Posts: 1146
- Joined: Sat Mar 01, 2014 2:59 pm
Re: Web Serving on My OS
Funny how everyone describes something different, and between all of them I can put together an idea of what the picture looks like...
What is the text in the console?
What is the text in the console?
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
Syntax checkup:
Wrong: OS's, IRQ's, zero'ing
Right: OSes, IRQs, zeroing
- BASICFreak
- Member
- Posts: 284
- Joined: Fri Jan 16, 2009 8:34 pm
- Location: Louisiana, USA
Re: Web Serving on My OS
onlyonemac wrote:What is the text in the console?
Code: Select all
Found PCI devices
Found ATA Drive 0GB - VBOX HARDDISK
Found ATAPI Drive 0GB - VBOX CD-ROM
FAT FS: Fat16
VFS: Registered disk0
Found 1 IDE controllers::
ETHER: Found i825xx Ethernet Controller MAC 8:0:27:90:fd:ab IRQ 10
Found ramdisk @ 0x2c7000 size 209(BLOCKED BY CURSUR)
FAT FS: Fat12
VFS: Registered ramdisk
VFS: Registered console
QUINN INIT
Interface UP!
Setting wallpaper...
QUINN User Shell
NoDevice$ disk0:
disk0:/$ wwwserver 192.168.56.2
[17:18][192.168.56.1][200] /
[17:18][192.168.56.1][404] /bob/
[17:19][192.168.56.1][200] /
BOS Source Thanks to GitHub
BOS Expanded Commentary
Both under active development!
BOS Expanded Commentary
Both under active development!
Sortie wrote:
- Don't play the role of an operating systems developer, be one.
- Be truly afraid of undefined [behavior].
- Your operating system should be itself, not fight what it is.
Re: Web Serving on My OS
Sorry, I should have described my image in the first post, didn't even think about it.
Re: Web Serving on My OS
onlyonemac just happens to be (very nearly) blind, so it's really just for him.apamment wrote:Sorry, I should have described my image in the first post, didn't even think about it.
Edit: I just realized that the "What does your OS look like" thread would be completely useless to onlyonemac. Anyone want to go through and "describe" every screenshot in that thread?
Project: OZone
Source: GitHub
Current Task: LIB/OBJ file support
"The more they overthink the plumbing, the easier it is to stop up the drain." - Montgomery Scott
Source: GitHub
Current Task: LIB/OBJ file support
"The more they overthink the plumbing, the easier it is to stop up the drain." - Montgomery Scott
-
- Member
- Posts: 1146
- Joined: Sat Mar 01, 2014 2:59 pm
Re: Web Serving on My OS
Oh right, I get it... So he's running an HTTP server on is OS in a VirtualBox instance with IP address 192.168.56.2, and accessing served pages from a web browser on the host machine, IP address 192.168.56.1? Sounds cool!
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
Syntax checkup:
Wrong: OS's, IRQ's, zero'ing
Right: OSes, IRQs, zeroing
Re: Web Serving on My OS
Printing hello world, the hard way!
Re: Web Serving on My OS
I think you just summed up OS Development.Muazzam wrote:Printing hello world, the hard way!
Project: OZone
Source: GitHub
Current Task: LIB/OBJ file support
"The more they overthink the plumbing, the easier it is to stop up the drain." - Montgomery Scott
Source: GitHub
Current Task: LIB/OBJ file support
"The more they overthink the plumbing, the easier it is to stop up the drain." - Montgomery Scott
Re: Web Serving on My OS
At least for me, network programming is harder than OS development. It (including a server and a browser) is a high-priority for my OS nonetheless.SpyderTL wrote:I think you just summed up OS Development.Muazzam wrote:Printing hello world, the hard way!