OSDev.org

The Place to Start for Operating System Developers
It is currently Sun May 28, 2017 8:29 pm

All times are UTC - 6 hours




Post new topic Reply to topic  [ 177 posts ]  Go to page Previous  1 ... 7, 8, 9, 10, 11, 12  Next
Author Message
 Post subject: Re: What's your OSDev AWWWW YEAH! moment?
PostPosted: Tue Jul 12, 2016 10:44 pm 
Offline
Member
Member

Joined: Thu May 06, 2010 4:34 am
Posts: 100
Location: Leiden, The Netherlands
Finally finding the memory thrashing bug that has been eluding me for over a year:
https://github.com/posnk/posnk/commit/0 ... e14f8fca14

To do this I built my VFS + File stream + FS driver + block device + drivermgr code as userland binary for linux and wrapped the file syscalls in a FUSE driver :)

_________________
posnk ( a simple unix clone ) homepage & source doc (WIP)


Top
 Profile  
 
 Post subject: Re: What's your OSDev AWWWW YEAH! moment?
PostPosted: Tue Aug 16, 2016 8:14 pm 
Offline
Member
Member
User avatar

Joined: Fri Apr 08, 2016 5:03 am
Posts: 111
Location: in ur ass ( ͡° ͜ʖ ͡°)
1) When I had grub running for the first time
2) When I ploted a pixel in vesa for the first time (1024x768x32)
3) When I drew a 64x64x24 bitmap of doge on real hardware
4) When I drew text in Graphics mode

_________________
My github page: https://github.com/AlexandreRouma
Meme-deving since 420 Bc (before cocain) !
YouTube: https://www.youtube.com/channel/UCyJnOD ... C8Y7pccc6A
Twitter: https://twitter.com/WhatsTheGeekYT


Top
 Profile  
 
 Post subject: Re: What's your OSDev AWWWW YEAH! moment?
PostPosted: Wed Aug 17, 2016 12:33 pm 
Offline
Member
Member
User avatar

Joined: Fri Aug 07, 2015 6:13 am
Posts: 684
When I started understanding interrupts.
When I figured out how to deal with the mouse.

_________________
OS: Basic OS, "Combined" Kernel, C++
Current Task: Virtual Memory


Last edited by Octacone on Sun May 21, 2017 6:19 am, edited 1 time in total.

Top
 Profile  
 
 Post subject: Re: What's your OSDev AWWWW YEAH! moment?
PostPosted: Fri Aug 19, 2016 12:02 am 
Offline
Member
Member
User avatar

Joined: Sat Dec 27, 2014 9:11 am
Posts: 783
Location: Maadi, Cairo, Egypt
Haven't posted in this thread since I was a newbie, so there's definitely some new interesting stuff:
1. When I set VESA mode 1366x768 on real HW for the first time.
2. When I performed my first ACPI shutdown.
3. When I studied the disassembly of my physical DSDT and read the percentage and status of my laptop's battery without an AML interpreter.
4. When I read from my SATA hard disk (in IDE mode) on real HW and a real ATA drive with my PCI IDE driver.

_________________
Byte me; OS site, source code.
Progress: File system, networking.


Top
 Profile  
 
 Post subject: Re: What's your OSDev AWWWW YEAH! moment?
PostPosted: Fri Aug 19, 2016 12:44 am 
Offline
Member
Member
User avatar

Joined: Mon Mar 05, 2012 11:23 am
Posts: 547
Location: Germany
Finally got my canvas implementation to run.

It's now possible for an application to create a canvas component, which creates a shared memory region between the program and the window server. Canvas buffers are automatically resized when the component changes it's size.

I had a terrible bug where the client would free the same buffer that it was currently using, that was because the window server may send multiple "wait-for-acknowledge" events for the same buffer - what the client did not consider.

With this easy sample code it's possible to create a user interface application as seen below:
http://pastebin.com/PVAcjWdJ

Image

_________________
-maxdev
Ghost OS / https://github.com/maxdev1/ghost


Top
 Profile  
 
 Post subject: Re: What's your OSDev AWWWW YEAH! moment?
PostPosted: Fri Aug 19, 2016 4:48 am 
Offline
Member
Member
User avatar

Joined: Fri Aug 07, 2015 6:13 am
Posts: 684
max wrote:
Finally got my canvas implementation to run.

It's now possible for an application to create a canvas component, which creates a shared memory region between the program and the window server. Canvas buffers are automatically resized when the component changes it's size.

I had a terrible bug where the client would free the same buffer that it was currently using, that was because the window server may send multiple "wait-for-acknowledge" events for the same buffer - what the client did not consider.

With this easy sample code it's possible to create a user interface application as seen below:
http://pastebin.com/PVAcjWdJ

That is just awesome. Really like the look of your GUI.

_________________
OS: Basic OS, "Combined" Kernel, C++
Current Task: Virtual Memory


Top
 Profile  
 
 Post subject: Re: What's your OSDev AWWWW YEAH! moment?
PostPosted: Fri Aug 19, 2016 2:10 pm 
Offline
Member
Member

Joined: Sun Jun 16, 2013 4:09 am
Posts: 314
octacone wrote:
max wrote:
Finally got my canvas implementation to run.

It's now possible for an application to create a canvas component, which creates a shared memory region between the program and the window server. Canvas buffers are automatically resized when the component changes it's size.

I had a terrible bug where the client would free the same buffer that it was currently using, that was because the window server may send multiple "wait-for-acknowledge" events for the same buffer - what the client did not consider.

With this easy sample code it's possible to create a user interface application as seen below:
http://pastebin.com/PVAcjWdJ

That is just awesome. Really like the look of your GUI.

Agree, looks great.


Top
 Profile  
 
 Post subject: Re: What's your OSDev AWWWW YEAH! moment?
PostPosted: Mon Aug 22, 2016 2:27 am 
Offline
Member
Member
User avatar

Joined: Sat Dec 27, 2014 9:11 am
Posts: 783
Location: Maadi, Cairo, Egypt
Just now, when I "identified" a SATA device using AHCI, after a long 12 hours of frustration. The screenshot is my kernel's log via QEMU's serial port.
Still need to implement reading a SATA device, and then I can natively boot from SATA. :)


Attachments:
qemu ahci.png
qemu ahci.png [ 30.09 KiB | Viewed 1532 times ]

_________________
Byte me; OS site, source code.
Progress: File system, networking.
Top
 Profile  
 
 Post subject: Re: What's your OSDev AWWWW YEAH! moment?
PostPosted: Tue Aug 23, 2016 1:43 pm 
Offline
Member
Member
User avatar

Joined: Mon Dec 28, 2015 11:11 am
Posts: 365
Location: Serbia
MessiahAndrw wrote:
We should parody this thread with "What's your OSDev AW HELL NAW! moment?"

+1 Haha.

_________________
Nutoak
People are like paintings. It may be difficult for them to change any painting after they already drawn that painting.It means that it may be difficult to everybody to change their own opinion about other people after they already made an opinion.
Image


Top
 Profile  
 
 Post subject: Re: What's your OSDev AWWWW YEAH! moment?
PostPosted: Tue Aug 23, 2016 1:56 pm 
Offline
Member
Member
User avatar

Joined: Tue Aug 02, 2016 1:52 pm
Posts: 272
Location: East Riding of Yorkshire, UK
Lukand wrote:
MessiahAndrw wrote:
We should parody this thread with "What's your OSDev AW HELL NAW! moment?"

+1 Haha.


That could be the When your OS goes crazy thread.

_________________
com.sun.java.swing.plaf.nimbus.InternalFrameInternalFrameTitlePaneInternalFrameTitlePaneMaximizeButtonWindowNotFocusedState
Compiler Development Forum


Top
 Profile  
 
 Post subject: Re: What's your OSDev AWWWW YEAH! moment?
PostPosted: Thu Aug 25, 2016 8:27 am 
Offline
Member
Member

Joined: Wed Aug 17, 2016 4:55 am
Posts: 134
That only works when you can take a screenshot of it, which usually means it's not that broken.

For a serious mix of "awww yeah" and "awww naw": once I was working on some dumb project and I had put it on a floppy drive (running it on real hardware, yo). Then at some point for some unrelated reason (used PKZIP at the wrong place x_x) the whole Windows install broke up and I was pretty much forced to use that floppy to boot the system. Even had to complete a school assignment using the software in it (・×・)

No, I don't have that floppy around anymore.

_________________
https://github.com/sikthehedgehog/indigo


Top
 Profile  
 
 Post subject: Re: What's your OSDev AWWWW YEAH! moment?
PostPosted: Fri Aug 26, 2016 5:18 am 
Offline
Member
Member

Joined: Sat Mar 01, 2014 2:59 pm
Posts: 1081
Sik wrote:
That only works when you can take a screenshot of it, which usually means it's not that broken.
I think they're usually running the OS in a virtual machine/emulator, or take a picture of the monitor with their phone/camera.

_________________
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: What's your OSDev AWWWW YEAH! moment?
PostPosted: Fri Aug 26, 2016 8:28 pm 
Offline
Member
Member

Joined: Wed Aug 17, 2016 4:55 am
Posts: 134
Well yeah, but when the OS is so utterly broken that you start yelling like that it won't even show anything on screen usually. Although I suppose an alternative case may be something like wiping your main hard disk and the back-up drives or accidentally bricking the firmware...

_________________
https://github.com/sikthehedgehog/indigo


Top
 Profile  
 
 Post subject: Re: What's your OSDev AWWWW YEAH! moment?
PostPosted: Sun Aug 28, 2016 8:09 am 
Offline
Member
Member
User avatar

Joined: Mon Jul 21, 2014 7:23 pm
Posts: 82
Hi,

My "AWW YEAH!" was when I booted my "Hello world" kernel on real hardware. That was really quite impressive to me hahaha

Now back to my VMM...

Cheers,
Walt


Top
 Profile  
 
 Post subject: Re: What's your OSDev AWWWW YEAH! moment?
PostPosted: Fri Sep 09, 2016 5:17 am 
Offline
Member
Member
User avatar

Joined: Tue Oct 17, 2006 11:33 pm
Posts: 3860
Location: Eindhoven
zenzizenzicube wrote:
Lukand wrote:
MessiahAndrw wrote:
We should parody this thread with "What's your OSDev AW HELL NAW! moment?"

+1 Haha.


That could be the When your OS goes crazy thread.


I had a nice one for that. I started up my brand new task switching, with a lot of new things and two bugs. It looked fine. I suspected it was too slow though, because it took a couple million instructions in Bochs to get to the idle thread, and I had no idea it would do that - a couple thousand was what I expected.

So I turned on tracing and traced *every* instruction. For a few million. And then figured out what happened.

It finishes the boot procedure and enters the task switch logic. It switches to task 1. Task 1 executes, says "hello world" and suspends execution, marking itself as blocked (temp fix). Task switcher finds next task in list and oops - bug 1 - it's uninitialized. So it goes to task X (where X is a random 32-bit number). Luckily it happens to match the range for tasks (which I preallocated to 256MB of address space). No memory mapped there, so it demand-pages in an empty page. That's bug 2 though, it forgets to zero the new page before releasing it. So then it reads another uninitialized block of data for the next task, which is not runnable, and it goes to the next task (uninitialized), to find a not-runnable task demand-paged in, to go to the next ..... and eventually it hit a 0 pointer. Which was the ID of the idle task, so it switches to the idle task and stops.

So two bugs in perfect harmony creating the desired behavior.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 177 posts ]  Go to page Previous  1 ... 7, 8, 9, 10, 11, 12  Next

All times are UTC - 6 hours


Who is online

Users browsing this forum: Bing [Bot], Google [Bot] and 3 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