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.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
What's your OSDev AWWWW YEAH! moment?
-
- Member
- Posts: 1146
- Joined: Sat Mar 01, 2014 2:59 pm
Re: What's your OSDev AWWWW YEAH! moment?
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
- AndrewAPrice
- Member
- Posts: 2300
- Joined: Mon Jun 05, 2006 11:00 pm
- Location: USA (and Australia)
Re: What's your OSDev AWWWW YEAH! moment?
We should parody this thread with "What's your OSDev AW HELL NAW! moment?"
My OS is Perception.
-
- 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?
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)
- Primis
- 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?
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.Combuster wrote:Are you sure it wasn't 640x480x4 or 320x240x8?640x480x8
- Combuster
- 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?
I'd expect the screen to be the one that rejects such a mode.
-
- Member
- Posts: 1146
- Joined: Sat Mar 01, 2014 2:59 pm
Re: What's your OSDev AWWWW YEAH! moment?
Or blows up. WATCH OUT!!! And READ THE WARNINGS in the Wiki!Combuster wrote:I'd expect the screen to be the one that rejects such a mode.
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: What's your OSDev AWWWW YEAH! moment?
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.
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
- Alan Kay
- max
- 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?
Haha, I know that feelRoman wrote:1. Realized, that I can take user name "Roman".
Re: What's your OSDev AWWWW YEAH! moment?
I just had another AAAAWW YEEEAAH moment. I got 2 threads running on 1 CPU.
AAAAWW YEEEAAH!
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
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
- AndrewAPrice
- Member
- Posts: 2300
- Joined: Mon Jun 05, 2006 11:00 pm
- Location: USA (and Australia)
Re: What's your OSDev AWWWW YEAH! moment?
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 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.
Re: What's your OSDev AWWWW YEAH! moment?
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/
http://github.com/Jezze/fudge/
Re: What's your OSDev AWWWW YEAH! moment?
Pointers to variables on the stack might still be alive until the thread is joined. Depends on the design whether this is handled.
Re: What's your OSDev AWWWW YEAH! moment?
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!
AAAAWWE YYEEEAAAHHH!
That feels good!
Next up... 3D transforms!!
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
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
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
- AndrewAPrice
- Member
- Posts: 2300
- Joined: Mon Jun 05, 2006 11:00 pm
- Location: USA (and Australia)
Re: What's your OSDev AWWWW YEAH! moment?
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.
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).
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.
-
- 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?
Seeing that my compiler can compile a simple OS that prints something!