Forum Request: Advanced Development, Design and Theory
Forum Request: Advanced Development, Design and Theory
I hereby officially request a separate section under the banner of Operating-Systems Development for the discussion of issues related to the design, theory, and later development of operating systems long past the "i want make pmode booterupper!!!1" point. Yes, many question posts in OS Development *do* read like that.
With the introduction of such a forum, users who wish to hold long, involved discussions on the goals of operating systems, possibilities of what an operating system can do and the merits of different approaches to those goals and possibilities can do so without having posts buried by the (extremely legitimate and necessary but high-volume) low-level hardware questions.
Example topics include:
"File-system Design: Inodes or File Allocation Tables?"
"Scheduling for Multi-media Applications"
"GUI Design for Power Users"
"Where Do We Draw the Line Between Processes and Threads?"
"Security Mechanisms and Policies"
"The Lack of an IPC Debate: Message-passing vs. Portals"
And so forth... although I was trolling on that last one.
Example topics do not include:
"I want to write a bootloader, please help!"
"How Do I Program the PIT for Multitasking?"
"compiler choose!! >_<"
I hope Chase will grant this request so we can have a place to discuss things that operating systems research papers usually portray as too complicated for merely mortal minds. They aren't too complicated, and we could all learn some cool stuff if we talk about them.
With the introduction of such a forum, users who wish to hold long, involved discussions on the goals of operating systems, possibilities of what an operating system can do and the merits of different approaches to those goals and possibilities can do so without having posts buried by the (extremely legitimate and necessary but high-volume) low-level hardware questions.
Example topics include:
"File-system Design: Inodes or File Allocation Tables?"
"Scheduling for Multi-media Applications"
"GUI Design for Power Users"
"Where Do We Draw the Line Between Processes and Threads?"
"Security Mechanisms and Policies"
"The Lack of an IPC Debate: Message-passing vs. Portals"
And so forth... although I was trolling on that last one.
Example topics do not include:
"I want to write a bootloader, please help!"
"How Do I Program the PIT for Multitasking?"
"compiler choose!! >_<"
I hope Chase will grant this request so we can have a place to discuss things that operating systems research papers usually portray as too complicated for merely mortal minds. They aren't too complicated, and we could all learn some cool stuff if we talk about them.
- Colonel Kernel
- Member
- Posts: 1437
- Joined: Tue Oct 17, 2006 6:06 pm
- Location: Vancouver, BC, Canada
- Contact:
Actually, having read Mega-Tokyo and now Osdev.org for years, I still remember the days when Mega-Tokyo had 6 forums. It was a split community, and three of those forums where for interactive fiction (as far as I ever understood, I don't know much about that stuff). Then there was OS development, general programming, and offtopic.
I kinda miss those days actually. You'd have the OS development all in one place, and then in general programming you could get to simple stuff, often beginner programming questions, and in offtopic you couldn't even expect people to know what a compiler is... (oh well, maybe not, but you get the point). So each of these forums had somewhat separate set of people, which is usually why you split forums, when you have a lot of people with slightly different interests.
Now, one forum was eventually split from OS development, and it was OS announcements. People felt that having test-requests and announcements in separate place would make it easier to browse them... or something. That was a good decision, as it kept discussion-of-the-day from burying announcements down deep so you couldn't easily browse them..
So now, what is the reason we should split our conversations into two different sets? Is there a split community issue? Is there an urgency difference? Some other issue? If we have essentially one group of people, that read most of the threads most of the time anyway, and the threads themselves are mostly similar, just about differing subjects, I don't see any point in a new forum. Splitting something traditionally rather marginal (design and theory) off as a separate forum is IMHO kinda pointless. Better solution would be to actually create such threads more often, and especially participate in the discussion more actively (no, I'm not angry about nobody ever saying anything when I try to start such discussion).
If you feel like we absolutely must split the development forum, then I'm going to suggest that a better split would be to split the beginner question off from the main discussion. Then those not interested in the beginner stuff could skip it, and still follow not only theoretical design threads, but also help with practical issues. I don't like the idea much, because I feel the beginners should be given attention as well, but at least such a split would be meaningful and there would be enough traffic for the forums to make sense.
I kinda miss those days actually. You'd have the OS development all in one place, and then in general programming you could get to simple stuff, often beginner programming questions, and in offtopic you couldn't even expect people to know what a compiler is... (oh well, maybe not, but you get the point). So each of these forums had somewhat separate set of people, which is usually why you split forums, when you have a lot of people with slightly different interests.
Now, one forum was eventually split from OS development, and it was OS announcements. People felt that having test-requests and announcements in separate place would make it easier to browse them... or something. That was a good decision, as it kept discussion-of-the-day from burying announcements down deep so you couldn't easily browse them..
So now, what is the reason we should split our conversations into two different sets? Is there a split community issue? Is there an urgency difference? Some other issue? If we have essentially one group of people, that read most of the threads most of the time anyway, and the threads themselves are mostly similar, just about differing subjects, I don't see any point in a new forum. Splitting something traditionally rather marginal (design and theory) off as a separate forum is IMHO kinda pointless. Better solution would be to actually create such threads more often, and especially participate in the discussion more actively (no, I'm not angry about nobody ever saying anything when I try to start such discussion).
If you feel like we absolutely must split the development forum, then I'm going to suggest that a better split would be to split the beginner question off from the main discussion. Then those not interested in the beginner stuff could skip it, and still follow not only theoretical design threads, but also help with practical issues. I don't like the idea much, because I feel the beginners should be given attention as well, but at least such a split would be meaningful and there would be enough traffic for the forums to make sense.
The real problem with goto is not with the control transfer, but with environments. Properly tail-recursive closures get both right.
- Kevin McGuire
- Member
- Posts: 843
- Joined: Tue Nov 09, 2004 12:00 am
- Location: United States
- Contact:
It sounds like a idea to try. I want to say that osdever.net or osdev.org a long time ago used to have two separate forums where one was a discussion about "OS Design" and the other was "OS Development".
It should in concept be useful, but in the real word it is not determinable except by trying it or someone pointing out a attempt in previous history where it did not work.
The only major problem I could think about would be people making posts in that forum which should be under the other forum, but the moderators do have a "thread move" ability. *shrug*.
And we did take away a lot of their fun with deleting spam posts so I guess they are really begging us to give them something else to do!
I would like to try it.
It should in concept be useful, but in the real word it is not determinable except by trying it or someone pointing out a attempt in previous history where it did not work.
The only major problem I could think about would be people making posts in that forum which should be under the other forum, but the moderators do have a "thread move" ability. *shrug*.
And we did take away a lot of their fun with deleting spam posts so I guess they are really begging us to give them something else to do!
I would like to try it.
I think the sort of threads that would go in the new forum are slower-paced than most: people will think carefully about what they want to say, so replies might take a few days to appear and a thread might go on for a long time. (I could be completely wrong.) Having the threads in a separate forum will stop them from vanishing before they've really started.mystran wrote:So now, what is the reason we should split our conversations into two different sets? Is there a split community issue? Is there an urgency difference? Some other issue?
As a matter of fact, few reply to my design and theory threads either. Maybe my particular problems are simply too specialized, but with you we have a second data point.Better solution would be to actually create such threads more often, and especially participate in the discussion more actively (no, I'm not angry about nobody ever saying anything when I try to start such discussion).
This really is the crux of the issue. It can take a while to even comprehend what somebody talks about in a theory thread, and then a bit longer to form an intelligent opinion. In that span of time, these threads drop like stones beneath the daily ebb and flow of practical programming questions.I think the sort of threads that would go in the new forum are slower-paced than most: people will think carefully about what they want to say, so replies might take a few days to appear and a thread might go on for a long time. (I could be completely wrong.) Having the threads in a separate forum will stop them from vanishing before they've really started.
Now, I personally favor keeping all Practical and Programming posts in one forum for exactly mystran's reason: it makes the experienced programmers at least *see* the issues newbies have. We need to remain a welcoming community, because a community that stops welcoming new members soon ceases being a community at all.
On the other hand, the unfortunate fact is that this community acquires new permanent members (who post many times and advance enough to understand a theory section) very, very slowly. In the meantime, advanced topics started by the more permanent users appear in a forum mostly perused by new members and those requiring programming help.
In fact, I get the impression that many advanced users may deliberately avoid the OS Programming board right now to avoid reading newbies' questions they don't want to answer, unfortunately also missing the theory and design topics that do appear. If we add a new forum, theory and design topics can sit near the top of the board for a day or two before someone invents a new theory/design topic to preempt them, and those wishing to only help new developers some of the time can catch up on more interesting subjects.
Edit: To test all this, I'm going to go post one of the example design topics. While I'd like to post my troll topic, I think I'll end up with something for a broader audience.
- chase
- Site Admin
- Posts: 710
- Joined: Wed Oct 20, 2004 10:46 pm
- Libera.chat IRC: chase_osdev
- Location: Texas
- Discord: chase/matt.heimer
- Contact:
Even at MT the idea was suggested. Some of the mods here want it, others don't. The main reason some of us didn't want it was because the mods would have to spend a lot of time moving threads. What is "Advanced" is very subjective.
Instead of an advanced forum how about a "Getting Started, Code Problems" forum. I think part of the problem is that we need to learn to stop answering basic questions. Instead we should just edit the related wiki page if someones question wasn't answered in it and just point them to the page. Welcoming new members with lots of helpful answers is good but really, how many was can you write a boot sector?
Instead of an advanced forum how about a "Getting Started, Code Problems" forum. I think part of the problem is that we need to learn to stop answering basic questions. Instead we should just edit the related wiki page if someones question wasn't answered in it and just point them to the page. Welcoming new members with lots of helpful answers is good but really, how many was can you write a boot sector?
We tried that on the MT forum but it didn't work - users simply went to the most generic forum that could apply and posted it anyway. The most common answer on the forum was "Read the OS FAQ" - but you can hardly put that in the FAQ, now can you?chase wrote:Even at MT the idea was suggested. Some of the mods here want it, others don't. The main reason some of us didn't want it was because the mods would have to spend a lot of time moving threads. What is "Advanced" is very subjective.
Instead of an advanced forum how about a "Getting Started, Code Problems" forum. I think part of the problem is that we need to learn to stop answering basic questions. Instead we should just edit the related wiki page if someones question wasn't answered in it and just point them to the page. Welcoming new members with lots of helpful answers is good but really, how many was can you write a boot sector?
The main downside of a separate "advanced" forum is that the other forum will get a lot less attention from intermediate people than it should. The upside is that the beginners don't get scared by code they can't hope to follow.
I would vote for a split in moderators (partially) too - one or two for the high-volume beginner questions and one or two for the low-volume structured stuff in the design forum and other topics.
- 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:
Given the circumstances, a split into development/theory would not be such a bad idea. There is a huge amount of traffic in the os development forum, which is for the larger part beginners topics (if i miss a weekend of it, almost the entire page is filled with new post when I return). A separate forum, if designated correctly, could help sort the topics interesting over longer time from anything good enough to be forgotten after a few days without replies.
Given the earlier posts, IMHO, I think that overall it would be better to split OS Development.
Given the earlier posts, IMHO, I think that overall it would be better to split OS Development.
Hi,
I definately don't want an advanced forum and a beginner forum - it'd take about 1 month before people stopped responding to questions in the beginner forum and most beginners would just post in the advanced forum.
I'm not too sure about having a design forum and an implementation forum. It'd be difficult to avoid confusion about what should be considered design and what should be considered implementation. I'm not even sure if it's possible to design something properly without considering implementation details, or to implement something properly without considering the design.
As an exercise I created a new topic ("OS Support For Transactional Memory"). I carefully worded this post to make it purely design. I challenge everyone here to create a sane and constructive reply to this topic without getting into implementation details. I honestly don't think it's possible.
Cheers,
Brendan
I definately don't want an advanced forum and a beginner forum - it'd take about 1 month before people stopped responding to questions in the beginner forum and most beginners would just post in the advanced forum.
I'm not too sure about having a design forum and an implementation forum. It'd be difficult to avoid confusion about what should be considered design and what should be considered implementation. I'm not even sure if it's possible to design something properly without considering implementation details, or to implement something properly without considering the design.
As an exercise I created a new topic ("OS Support For Transactional Memory"). I carefully worded this post to make it purely design. I challenge everyone here to create a sane and constructive reply to this topic without getting into implementation details. I honestly don't think it's possible.
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.
- Colonel Kernel
- Member
- Posts: 1437
- Joined: Tue Oct 17, 2006 6:06 pm
- Location: Vancouver, BC, Canada
- Contact:
The proposed split was between "advanced" and everything else, not so much between design and implementation. TM is definitely advanced. Problems setting up a GCC cross-compiler, hardware questions, etc. are not IMO.Brendan wrote:As an exercise I created a new topic ("OS Support For Transactional Memory"). I carefully worded this post to make it purely design. I challenge everyone here to create a sane and constructive reply to this topic without getting into implementation details. I honestly don't think it's possible.
Top three reasons why my OS project died:
- Too much overtime at work
- Got married
- My brain got stuck in an infinite loop while trying to design the memory manager