What's your OSDev AWWWW YEAH! moment?

All off topic discussions go here. Everything from the funny thing your cat did to your favorite tv shows. Non-programming computer questions are ok too.
Post Reply
onlyonemac
Member
Member
Posts: 1146
Joined: Sat Mar 01, 2014 2:59 pm

Re: What's your OSDev AWWWW YEAH! moment?

Post by onlyonemac »

kutkloon7 wrote:although I doubt it works as well as for a cafe, as OSes are complicated and the different parts have to work together
Umm... The different parts of cafe's have to work together as well, otherwise the waitress will take the order, the people will be sitting in the bowling line, but the coffee won't be ready in time.
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
User avatar
AndrewAPrice
Member
Member
Posts: 2299
Joined: Mon Jun 05, 2006 11:00 pm
Location: USA (and Australia)

Re: What's your OSDev AWWWW YEAH! moment?

Post by AndrewAPrice »

We should parody this thread with "What's your OSDev AW HELL NAW! moment?"
My OS is Perception.
Peterbjornx
Member
Member
Posts: 116
Joined: Thu May 06, 2010 4:34 am
Libera.chat IRC: peterbjornx
Location: Leiden, The Netherlands
Contact:

Re: What's your OSDev AWWWW YEAH! moment?

Post by Peterbjornx »

compositor adapted to use cairo for rendering: (bars are leftovers of switch to vt2, screen is only updated where changes are made and there is no event for vt change yet)
Image
User avatar
Primis
Member
Member
Posts: 62
Joined: Fri May 14, 2010 3:46 pm
Libera.chat IRC: Primis
Location: New York, NY
Contact:

Re: What's your OSDev AWWWW YEAH! moment?

Post by Primis »

Combuster wrote:
640x480x8
Are you sure it wasn't 640x480x4 or 320x240x8?
Nope, it was 640x480x8. I wasn't using a "mode" I manually set the regsiters. It worked on emulators, but only on older hardware. Newer cards didn't understand the resolution/color combination.
"On two occasions I have been asked, 'Pray, Mr. Babbage, if you put into the machine wrong figures, will the right answers come out?' I am not able rightly to apprehend the kind of confusion of ideas that could provoke such a question."
Image
User avatar
Combuster
Member
Member
Posts: 9301
Joined: Wed Oct 18, 2006 3:45 am
Libera.chat IRC: [com]buster
Location: On the balcony, where I can actually keep 1½m distance
Contact:

Re: What's your OSDev AWWWW YEAH! moment?

Post by Combuster »

I'd expect the screen to be the one that rejects such a mode.
"Certainly avoid yourself. He is a newbie and might not realize it. You'll hate his code deeply a few years down the road." - Sortie
[ My OS ] [ VDisk/SFS ]
onlyonemac
Member
Member
Posts: 1146
Joined: Sat Mar 01, 2014 2:59 pm

Re: What's your OSDev AWWWW YEAH! moment?

Post by onlyonemac »

Combuster wrote:I'd expect the screen to be the one that rejects such a mode.
Or blows up. WATCH OUT!!! And READ THE WARNINGS in the Wiki!
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
User avatar
Roman
Member
Member
Posts: 568
Joined: Thu Mar 27, 2014 3:57 am
Location: Moscow, Russia
Contact:

Re: What's your OSDev AWWWW YEAH! moment?

Post by Roman »

1. Realized, that I can take user name "Roman".
2. Made my boot loader load second stage by parsing my own filesystem.
3. Fixed ATA driver.
"If you don't fail at least 90 percent of the time, you're not aiming high enough."
- Alan Kay
User avatar
max
Member
Member
Posts: 616
Joined: Mon Mar 05, 2012 11:23 am
Libera.chat IRC: maxdev
Location: Germany
Contact:

Re: What's your OSDev AWWWW YEAH! moment?

Post by max »

Roman wrote:1. Realized, that I can take user name "Roman".
Haha, I know that feel :D
User avatar
SpyderTL
Member
Member
Posts: 1074
Joined: Sun Sep 19, 2010 10:05 pm

Re: What's your OSDev AWWWW YEAH! moment?

Post by SpyderTL »

I just had another AAAAWW YEEEAAH moment. I got 2 threads running on 1 CPU.

AAAAWW YEEEAAH!
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
User avatar
AndrewAPrice
Member
Member
Posts: 2299
Joined: Mon Jun 05, 2006 11:00 pm
Location: USA (and Australia)

Re: What's your OSDev AWWWW YEAH! moment?

Post by AndrewAPrice »

I was tracking down a bug - I would get a triple fault when I terminated a thread.

My system call handler runs using my thread's stack, and I was unmapping the live stack from virtual memory. Instead, I invented a thread cleaning thread (fun to say!), and when I destroy threads I move it into a limbo queue and wake up my thread cleaning thread. This involved working on many things, including some interesting atomics like sleep_if_not_set - which I'm going to reuse in lots of places around the kernel.

Here's my thread cleaning thread - thread.c - line 102.

My aww yeah moment was when I made a huge test of lots of threads that destroyed at random moments, and watched it collect them all!
My OS is Perception.
User avatar
Jezze
Member
Member
Posts: 395
Joined: Thu Jul 26, 2007 1:53 am
Libera.chat IRC: jfu
Contact:

Re: What's your OSDev AWWWW YEAH! moment?

Post by Jezze »

What is the benefit in keeping a stack of a closed thread around if you are not using it anymore instead of just removing it directly when it stops executing?
Fudge - Simplicity, clarity and speed.
http://github.com/Jezze/fudge/
User avatar
sortie
Member
Member
Posts: 931
Joined: Wed Mar 21, 2012 3:01 pm
Libera.chat IRC: sortie

Re: What's your OSDev AWWWW YEAH! moment?

Post by sortie »

Pointers to variables on the stack might still be alive until the thread is joined. Depends on the design whether this is handled.
User avatar
SpyderTL
Member
Member
Posts: 1074
Joined: Sun Sep 19, 2010 10:05 pm

Re: What's your OSDev AWWWW YEAH! moment?

Post by SpyderTL »

Just had two back-to-back AAAAWW yeahhh moments.

The first was adding support for parsing complex, nested statements in my CLI/shell.

The second was using it to perform trigonometry!

Code: Select all

>Float.Sine(Float.Pi)
0.00000
>Float.Cosine(Float.Pi)
1.00000
AAAAWWE YYEEEAAAHHH!

That feels good!

Next up... 3D transforms!!
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
User avatar
AndrewAPrice
Member
Member
Posts: 2299
Joined: Mon Jun 05, 2006 11:00 pm
Location: USA (and Australia)

Re: What's your OSDev AWWWW YEAH! moment?

Post by AndrewAPrice »

My 64-bit kernel is iterating over the PCI bus, detecting my IDE controller, detecting and reading sectors from my ATAPI drive (which it's doing from another thread after the kernel has initialized!), scans it for a known file system (asynchronously and multithreaded - currently only detects ISO 9660) - and then mounts it. Aww yeah.
ml1.png
ml1.png (8.37 KiB) Viewed 7564 times
Now to finish fleshing out my file system driver to iterate through directories and read files, which is going to be fully asynchronous (I am inspired by node.js).
My OS is Perception.
no92
Member
Member
Posts: 307
Joined: Wed Oct 30, 2013 1:57 pm
Libera.chat IRC: no92
Location: Germany
Contact:

Re: What's your OSDev AWWWW YEAH! moment?

Post by no92 »

Seeing that my compiler can compile a simple OS that prints something!
Post Reply