What's your Osdev Power Level?

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.
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 Power Level?

Post by Combuster »

Kevin wrote:So the highest possible score is 90%? Or can you get double points somewhere?
Actually, you get the first 10% free, so you're just lacking one correct answer :wink:

Note that it's original purpose was to crack down newbies who claimed they had all the required knowledge, and many of the questions are actually trick questions to emphasize exactly that. Yes, it's kind of mean. "Cheating", as in anything that doesn't consist of just trying all combinations is allowed as far as I'm concerned. In fact, the printf question was deliberately written to counter the need for "have you tried?" responses back in that day.
"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 ]
Kevin
Member
Member
Posts: 1071
Joined: Sun Feb 01, 2009 6:11 am
Location: Germany
Contact:

Re: What's your Osdev Power Level?

Post by Kevin »

Aha, the first question wants binary for the result, too. Now it's 100% indeed. I thought I had checked whether changing that one makes a difference, but apparently I didn't read the result correctly. As reading is a required skill, I guess losing these 10% was only fair. ;)

To be honest, I was a bit too quick on the first attempt, so my first score without playing around was 60%. Somewhat embarrassing.

By the way, I think strictly speaking the answer for question 9 isn't right. Depending on coding style one of the required changes could be in another line. Actually, thinking more about it, there's a whole bunch of other correct solutions, so in the end I guess no single line remains that really needs to be changed if the other lines are changed accordingly... 8)
Developer of tyndur - community OS of Lowlevel (German)
User avatar
eryjus
Member
Member
Posts: 286
Joined: Fri Oct 21, 2011 9:47 pm
Libera.chat IRC: eryjus
Location: Tustin, CA USA

Re: What's your Osdev Power Level?

Post by eryjus »

SpyderTL wrote:What about you guys?
Honestly, I do not think this is a fair question to the majority of us. I would rate myself a 0. Sure, I have taken a 32-bit kernel (written in C) to include dynamic task creation and termination. But, the result was quite buggy.

I am now working on a 64-bit pure assembly kernel and have been working on buttoning up the memory management suite. It's interesting how assembly is forcing me to think about the exceptions more than C ever did. I have never attempted a user-space program.
SpyderTL wrote:What is the most difficult task that you have actually accomplished (and understand)?
That's easy. Recursive mapping of the paging tables. Combuster solidified that for me =D> (thank's again by the way)!
SpyderTL wrote:what is the least difficult task that you have yet to accomplish (or yet to understand)?
Also easy. Triple faulting.

Brendan wrote:Some people are able to port existing things because their system is so similar to other OSs. These people have often done very little of their own design, very little research, and shown almost no innovation.
This position can be a little harsh, but I have to say that I completely agree. I would not consider my designs to be particularly innovative. In fact, I would real money that people smarter than me have already thought of the things I have dreamed up in my code. As an example, my physical memory manager uses a bitmap to keep track of the frames in the system. To augment this bitmap, I also keep track of the last location in the bitmap where I found a free frame and start my searches from that location since there is no need to search all that allocated space again. I had not seen such a design during my research. However, I also do not think my implementation is innovative at all. The code, however, is all mine.

The problem that I (and most novices here) have to this questions is that, "I don't know what I don't know." I'm quite certain that a design decision I make today will hurt me greatly in the future (who am I kidding, it already has). So, the only reasonable answer to this question for me is 0.


So, I guess I'd like to counter SpyderTL with another question: What do you consider to be included in your Operating system, and in particular, which are you referring to when you ask this question? Is it:
A) The kernel?
B) The kernel with all it's drivers?
C) The kernel, drivers, and all the user-space applications and utilities?, or
D) Something else entirely?
Adam

The name is fitting: Century Hobby OS -- At this rate, it's gonna take me that long!
Read about my mistakes and missteps with this iteration: Journal

"Sometimes things just don't make sense until you figure them out." -- Phil Stahlheber
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 Power Level?

Post by no92 »

This thread gave me a (in my opinion) good idea already:

We have a projects list on the wiki, so why shouldn't we create a ranking? Criteria could be:
- SMP?
- threads?
- GUI?
- Networking?
- number of ported third-party libraries/apps
- etc.

For each criteria you get a score ranging from 0-10, with 10 being the best. At the end, all scores will be added and a ranking will be made.

What do you think about something like this?
Kevin
Member
Member
Posts: 1071
Joined: Sun Feb 01, 2009 6:11 am
Location: Germany
Contact:

Re: What's your Osdev Power Level?

Post by Kevin »

This will be a highly subjective ranking and of no real use, but if you like such rankings, it could be fun. We'll never agree on criteria, though, so I guess you'd just have to go ahead with your own set.
Developer of tyndur - community OS of Lowlevel (German)
User avatar
SpyderTL
Member
Member
Posts: 1074
Joined: Sun Sep 19, 2010 10:05 pm

Re: What's your Osdev Power Level?

Post by SpyderTL »

So, I guess I'd like to counter SpyderTL with another question: What do you consider to be included in your Operating system, and in particular, which are you referring to when you ask this question? Is it:
A) The kernel?
B) The kernel with all it's drivers?
C) The kernel, drivers, and all the user-space applications and utilities?, or
D) Something else entirely?
Again, I was looking for what you, personally, thought about your own OS development skills. Not necessarily how advanced your OS currently is. (although, I imagine they would be the same, in most cases.)

In other words, how close are you to being able to write an entire OS, on your own?

If you can write a working boot loader, you are not a 1... :)

EDIT: I posted some details in an earlier post, as well. The implementation details aren't important, but your OS would need to be able to at least browse web pages, play MP3 audio, and render video at a respectable frame rate using at least one video card, one sound card, and one USB interface version.
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
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 Power Level?

Post by no92 »

SpyderTL wrote:play MP3 audio, and render video at a respectable frame rate using at least one video card, one sound card, and one USB interface version.
I don't think any hobbyist OSdever has ever created an OS that can do all of that. Sure, we have OSes that support graphic cards, sure, we quite a few with USB support. But I have never seen one that supports sound cards (I'm not even talking about MP3 audio here!). Combining all these things into one OS is something impossible to do for a hobbyist OSdever. I'd say a ten is someone knowing _a lot_ about some architecture.

Combuster and Brendan are 10's, so that's a level of knowledge you have to aim for, even if it will take years, to get there.
User avatar
SpyderTL
Member
Member
Posts: 1074
Joined: Sun Sep 19, 2010 10:05 pm

Re: What's your Osdev Power Level?

Post by SpyderTL »

no92 wrote:I don't think any hobbyist OSdever has ever created an OS that can do all of that. Sure, we have OSes that support graphic cards, sure, we quite a few with USB support. But I have never seen one that supports sound cards (I'm not even talking about MP3 audio here!). Combining all these things into one OS is something impossible to do for a hobbyist OSdever. I'd say a ten is someone knowing _a lot_ about some architecture.
I think time is probably the biggest hurdle to creating a fully-functional OS, for one developer. Even if you were a 10, and had an intimate understanding of CPUs, controllers, busses, peripherals, protocols, file formats, and encodings, writing code to handle all of this would probably take 10 years or longer, depending on whether you could devote 100% of your non-sleep time to the task.

That's why I was focusing on personal level of understanding, versus actual working code.
no92 wrote:Combuster and Brendan are 10's, so that's a level of knowledge you have to aim for, even if it will take years, to get there.
I would agree with that. Judging from the posts on this forum, I'd have to say that if anyone on this site was a 10, it would be one of these two.

But I am curious what "level" they would give themselves, honestly. I mentioned earlier that I consider myself to be a 5, but it's entirely possible that these two may consider themselves to be a 5, and consider me to be a 2. :)
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
Muazzam
Member
Member
Posts: 543
Joined: Mon Jun 16, 2014 5:59 am
Location: Shahpur, Layyah, Pakistan

Re: What's your Osdev Power Level?

Post by Muazzam »

no92 wrote: Combuster and Brendan are 10's, so that's a level of knowledge you have to aim for, even if it will take years, to get there.
They are not today's Dennis Ritchie or Ken Thompson, Combuster and Brendan have not created next Windows or Linux. Their power should be less than 9.
User avatar
Brendan
Member
Member
Posts: 8561
Joined: Sat Jan 15, 2005 12:00 am
Location: At his keyboard!
Contact:

Re: What's your Osdev Power Level?

Post by Brendan »

Hi,
SpyderTL wrote:But I am curious what "level" they would give themselves, honestly. I mentioned earlier that I consider myself to be a 5, but it's entirely possible that these two may consider themselves to be a 5, and consider me to be a 2. :)
On a scale from 0 (newborn infant) to infinity (knowing everything related to OS's, including things needed for any device driver, and user-space tools including the tool-chains used to implement everything); I'd get a score of 100; but so would Combuster, and Ken Thompson, and so would my 7-year-old niece. The important thing to understand is that each person has different goals and different challenges, so there is no universal scale - each person's score is on their own unique scale.
muazzam wrote:
no92 wrote:Combuster and Brendan are 10's, so that's a level of knowledge you have to aim for, even if it will take years, to get there.
They are not today's Dennis Ritchie or Ken Thompson, Combuster and Brendan have not created next Windows or Linux. Their power should be less than 9.
Back in the late 1960s and early 1970s; hardware was far simpler (very small range of hardware, tiny amount of RAM, user input/output done via. serial port, etc). Software was also far simpler (no internationalisation, no need to worry about malicious hackers, no 2D graphics, no internet, etc).

If Dennis Ritchie or Ken Thompson tried writing an OS today that supports all the things people expect from modern systems (including support for modern hardware), and if they had to work alone (and not in a group); how far do you think they'd get?

My guess is that they'd take one look at the Intel manual, cry, and decide to become goat farmers instead. ;)


Cheers,

Brendan
For all things; perfection is, and will always remain, impossible to achieve in practice. However; by striving for perfection we create things that are as perfect as practically possible. Let the pursuit of perfection be our guide.
Kevin
Member
Member
Posts: 1071
Joined: Sun Feb 01, 2009 6:11 am
Location: Germany
Contact:

Re: What's your Osdev Power Level?

Post by Kevin »

no92 wrote:
SpyderTL wrote:play MP3 audio, and render video at a respectable frame rate using at least one video card, one sound card, and one USB interface version.
I don't think any hobbyist OSdever has ever created an OS that can do all of that. Sure, we have OSes that support graphic cards, sure, we quite a few with USB support. But I have never seen one that supports sound cards (I'm not even talking about MP3 audio here!). Combining all these things into one OS is something impossible to do for a hobbyist OSdever.
I would strongly disagree with this. Yes, you need to invest some time into this, but it's definitely doable.

In fact, tyndur does almost all of this (yes, playing mp3, too), even though most of it more on a proof-of-concept level than in a polished "product". What I've never tried from this list is "video at a respectable frame rate", and I doubt that it would work with the current code (or with a VESA framebuffer in general...)

If you want to see something polished, you're welcome to join us. ;)

(But to be honest, we're probably not the only ones with some hackish support for this stuff....)
Developer of tyndur - community OS of Lowlevel (German)
User avatar
iansjack
Member
Member
Posts: 4703
Joined: Sat Mar 31, 2012 3:07 am
Location: Chichester, UK

Re: What's your Osdev Power Level?

Post by iansjack »

My guess is that they'd take one look at the Intel manual, cry, and decide to become goat farmers instead. ;)
They certainly have (or had) the beards for that sort of work.

I'm sure that both of them would have a good chuckle if they could read this thread.
Those who can, do. Those who can't, criticize.
User avatar
Muazzam
Member
Member
Posts: 543
Joined: Mon Jun 16, 2014 5:59 am
Location: Shahpur, Layyah, Pakistan

Re: What's your Osdev Power Level?

Post by Muazzam »

Brendan wrote: If Dennis Ritchie or Ken Thompson tried writing an OS today that supports all the things people expect from modern systems (including support for modern hardware), and if they had to work alone (and not in a group); how far do you think they'd get?
Dennis Ritchie and Ken Thompson were more practical. They actually wrote operating systems. They designed new standards that are still in use.
User avatar
Kazinsal
Member
Member
Posts: 559
Joined: Wed Jul 13, 2011 7:38 pm
Libera.chat IRC: Kazinsal
Location: Vancouver
Contact:

Re: What's your Osdev Power Level?

Post by Kazinsal »

dmr and ken wrote a research operating system for a relatively inexpensive minicomputer in the late 60s/early 70s that had a few dozen kilobytes of memory, paper tape, and a teletype. Their innovations were based around that platform. The design was simple, but worked well enough to be cloned ad nauseam. Unix wasn't intended to be a standard from the get-go.

Modern unix workalikes are not the same unix they wrote for the PDP-11. They shouldn't be. That would be a true stagnation in design.
embryo

Re: What's your Osdev Power Level?

Post by embryo »

SpyderTL wrote:Just out of curiosity, how good are you at OS development? On a scale from 1 to 10?
I think we can assess the time required to build an OS like Windows or Linux. Such measurement can show our level on a very habitual scale.

I think I can write some sort of Windows/Linux on Raspberry Pi in 5 years. No office stuff, no games, but there will be windows, notepad, browser and some utilities/entertainers (and of course - some means to develop an OS). 5 years here means full involvement without any other spending of time (except some short vacations, may be). I suppose in a year or two after the mentioned five it is possible to make a good server OS for specific area like cloud computing or something alike.

But still the question of OS quality remains unanswered. I hope the quality will not be much worse than Windows/Linux have.
Post Reply