As seen on kerneltrap.org: “In response to a question raised on the dragonfly-kernel mailing-list, Matt Dillon gives an overview of plans to revise the DragonFly userland scheduler, the second of two schedulers that Dragonfly currently utilizes in a layered fashion. Matt explains, ‘There are actually two schedulers.. there’s the LWKT scheduler, which is as close to perfect as its possible to be, and there is the userland scheduler, which is the one that needs work.'”
Very insightful readings to DragonFlyBSD’s 2 Schedualers. It is interesting to note that the 2 schedualrs are:
1) LWKT (kernel)
2) User land schedular
Its a good read, especially the last email on kernel trap with respect to how the schedular works between kernel to user land back to kernel for tasks; in addition to SMP interaction.
There is one comment about FreeBSD’s ULE schedualer:
“FreeBSD5’s abandonment of ULE”.
I am not 100% sure that it was abandoned. I believe that it has a few issues that need to be hammered out but it is not relagated to the scrap heap as some of the emails suggest.
FYI: Several ULE improvments have been back ported to the BSD schedualar. All in all, just trying to be fair.
Happy reading.
I hope he writes a paper on it. His paper on the FreeBSD VM subsystem: http://www.daemonnews.org/200001/freebsd_vm.html was a very good intro to the subject.
People, it’s SCHE-DU-LER! Writing ‘schedualer’ is just gross!
I would like to know how does LWKT compare to Linux scheduler.
Hmm… Just a note: Most Dragonfly BSD documentation, news etc. is still mostly only very technical (yeah, it’s a good old BSD tradition, I know…;-), just like these news here: about schedulers and such stuff that is probably beyond the understanding of non-geek users.
Yet, doesn’t DragonFly really aim to become more than just another very small hobby OS for a faithful few geeks? I know that the project is still quite young, and not as large either as the FreeBSD project, for example, that explains this, but DF is above it’s 1.0 release already.
If DF wants to get more userbase including less technical users, they should start to concentrate on producing more and relatively easy to understand documentation, and generally write a bit more about the benefits of DF in non-geeky lingo too. The GoBSD project might be just what DF needs also in this regard, but the GoBSD website is still mostly lacking that sort of (relatively) easy and newbie friendly information too.
Remember, also a project like Gentoo Linux was and still is very technical and geeky, but it got very populer quite fast. I’m very sure that the Gentoo popularity is largely due to the excellent Gentoo documentation. On the other hand we all know too well that there are many opposite examples as to poor documention of FOSS projects too…
I’ve been thinking of giving DragonFly BSD a try too. But when I’ve tried to find some documention about things that I might need, I’ve often found that there seems to be none, or that I should trust the FreeBSD documention instead. And, no, taking part in some irc and web user forums all the time is out of question for many users. For most users the first and proper solution to OS configuration needs should be having proper documention easily available, not to hang out on some irc channels all days and nights long.
Yet, doesn’t Dragonfly really aim to become more than just another very small hobby OS for a faithful few geeks?
The point of DragonFly is to implement Matt Dillon’s vision of what a scalable multiprocessing kernel should look like. It’s not nearly there yet. They’ve got a 1.0 release, yes, but it’s a work in progress — it’s stable mainly because they started out with an already-working OS. Until all the basic elements of Dragonfly are implemented, there is little reason for them to shift focus onto those things.
Matt Dillon explains it in the mailing list:
“LWKT itself uses a strict fixed priority model and round-robins tasks running at the same priority. This is the best model to use for kernel threads (interrupts, software interrupts, protocol threads, etc. ‘user’ threads usually have the lowest priority).”
So LWKT is not directly comparable to Linux’s scheduler.
i think that DF’s aim is to be a quality OS not a popular Os. probably someone will wrap it up as a nice distro as a seperateproject and that will make it big.
does he work full-time on DF?
Metic:have you looked at the http://leaf.dragonflybsd.org/~justin/handbook/ yet? Although largely based on the FreeBSD handbook it provides lots of information on configurating your DragonFly BSD system.
Because Dragonfly is in a early stage of development I think it’s not yet ready for the average user. We don’t want to overload the developers with too much questions about weird bugs now do we?
DragonFly isn’t trying to be a popular operating system so much as to try a new way of doing SMP. Matt isn’t looking for people to use his as yet unfinished system in production servers or as desktops. He is interested more in getting the coding done, more so than even OpenBSD this system seems to adhere to the mantra of, “shut up and hack.”
Of the noteworthy BSDs, only FreeBSD seems to be looking to be popular for the sake of popularity. I see it as the Linux of the BSD world as it does more reactionary advancing then some projects, they appear to be trying to toe-to-toe the Linuxes.
I’m using it now and then, mostly keeping it up to date with cvs and recompiling everything. I’m tracking the “DragonFly_Stable” cvs tag, and so far it’s been completely stable.
Anyone with a little experience installing other OSs should be able to install it. It’s a full BSD system, but pretty bare-bones compared to what most people are used to, so a little Unix experience is probably better than none. The Handbook is great though:
http://leaf.dragonflybsd.org/~justin/handbook/
Man pages are less fun, IMO, (they’re too much). The Handbook, however, tells you what you need to know to set up X, install applications etc.
Now go get it!
The iso only 70MB or so.
http://www.dragonflybsd.org
Metic:have you looked at the http://leaf.dragonflybsd.org/~justin/handbook/ yet?
No, actually I didn’t know that site. Many thanks for the good hint.
But why the heck cannot I easily find that same link from the official DragonFly BSD homepage too (is it anywhere there?)? Because the team is just too busy yet to add that one simple link there? Gimme a break…
I do understand the points about the still early stage of DF development etc. But would it really be all too much to ask for if, at the very least, nice sites like that were mentioned and linked somewhere on the official DragonFly home pages too? So, there should be, for example, a simple links page somewhere at dragonflybsd.org where one can find all the best external DF links on one page.
Another good DF site that deserves its own link on dragonflybsd.org is DragonFly BSD Digest http://www.shiningsilence.com/dbsdlog/
I happened to find that via Google only, not from the DragonFly BSD.org homepages.
Is there really any reason not to have links to those sites on the DF home site? No. Too early stage of development or lack of dev resources is a stupid excuse.
Besides of purely technical things, also the quality of documention and support available has a lot to do with the success or failure of a software project.
The DragonFly BSD Digest is linked from the FAQ and the Handbook is linked from the “Docs” page.
But yes, the homepage could be improved. It’s hard making good sites though, and the site isn’t that bad, IMO.
I wouldn’t mind seeing the Digest content on the frontpage of the official homepage. The July 1.0 release news piece is starting to feel a little passé. A lot has happened since then. A few links to other BSD sites, like kerneltrap daemonnews and undeadly might be a good idea as well.
Yep, that was what I meant
Also, I’m sure that the DF team wouldn’t mind if they got a few more good developers, or even some more people just finding nasty bugs? Having good documentation, and good web pages in general, is one of the best ways to get wider interest in the project. Also, remember that for most people out there, the web site is the only (and at least the first) thing they may see and know about this kind of an OS project, so it is important what the web content is like for the project future in general.
But yeah, the site isn’t too bad in general. I even like the looks. Might just need a bit more refining and attention.
As the subject says, the GoBSD.com version includes pkg-src!
GG
Pkgsrc is quite good. It has less apps than FreeBSD’s ports but it’s got really everything you usually need. Upgrading is insufficiently documented, IMO. Basically you should install pkg_chk and run it with -g switch to generate a list of installed apps every time you install new stuff. After updating the pkgsrc tree, you can check with “pkg_chk -c” if any apps need upgrading. If so, run “pkg_chk -r”, which removes all apps that need upgrading plus their dependencies that need to be rebuilt. Then run “pkg_chk -a” to add (reinstall) these removed packages with rebuilt dependencies. You end up recompiling packages a lot, but this keeps all the apps well integrated. Installing and removing packages via pkgsrc is pretty similar to FreeBSD’s ports. All in all, pkgsrc is quite reliable and straightforward to use and pkg_chk can also be instructed to use binary packages if that is your desire.
I think it may be time to try the LiveCD and have a look at this new OS. I have been reading about some of the features and it really sounds cool…
might as well rename dragonflyBSD…. FreeBSD 5.x
😀
Are you the same hawkins OS guy again? Shame on you man. Grow up.
BSDer (IP: —.client.mchsi.com) said:
“Are you the same hawkins OS guy again? Shame on you man. Grow up.”
He probably is grown up, physically, the brain however…
He probably is grown up, physically, the brain however…
I hear that he is intelligent just really immature so it’s not just a brain thing.
I can’t belive it wasn’t modded down, as it is stupid, immature, wrong and a flamebait. Wait a minute.. It’s Adam Scheinberg modding, right? Oh well. I guess the two of them tango really good together.
It do admit it was out of line, but it is much worse when I get 4 replies of insults.
I’m the person who converted the handbook ( http://leaf.dragonflybsd.org/~justin/handbook/ )and also the same guy that works the DragonFly BSD Log ( http://www.shiningsilence.com/dbsdlog/ )
Metic – you are absolutely correct. The website could be better and the documentation could be more available and complete. I recently changed jobs and haven’t been able to put in as much work on it as I had been, but my schedule should settle after the holidays.
“It do admit it was out of line, but it is much worse when I get 4 replies of insults.”
Not really…you have a track record.
I’ve been happily running DragonFly as my desktop system since 1.0 came out. I track -current, and usually recompile the world every week or so. Haven’t had any major show-stopping problems yet, and the small problems I’ve encountered have all been rather easy to solve. Usually if a code update breaks something, they have it fixed within a day or two, and other problems are solved by either reading the bugs mailinglist or popping onto the #dragonflybsd channel on efnet and asking. There are several wonderful friendly people working on this project that love to help.
Although I’m currently on a Windows box (ah gaming addiction I’ve used DragonFly exclusively for several months, and for a work in progress, it’s been a fantastic system, and I am very much looking forward to the 1.1 release. I have encountered the odd show-stopper, but as others have posted, they were due to me tracking -CURRENT, and were generally fixed in a day or two. When following -Stable life was good.
As far as the seemingly slow documentation progress is concerned, I presonally think that Justin has been doing a fantastic job, all things considdered, and I’ve been nothing but pleased with what progress has been made. The only areas that I can see as being currently lacking would be API docs, and those are still in flux, and I’m not going to complain personally, as it’s open source, and Matt especially is very meticulous when it comes to commenting in said source code.
A fantastic project, great people, and a wonderful OS all around, and I plan on using it exclusively on any of my boxes that aren’t for gaming.
I’ve been reading about the various BSDs and I’m afraid I have a newbie question. If FreeBSD has the goal of stability, NetBSD has the goal of portability and OpenBSD has the goal of security, what is Dragonfly’s goal? Is there a high concept, one sentence description of it’s purpose? Dragonflybsd.org’s list of goals is rather technical, and GoBSD.com isn’t making things clearer either.
Off topic (a bit) how does Darwin fit in?
DragonFly is a continuation of the FreeBSD 4.x line. Matt Dillon did not agree with the changes made to 5.x and so he decided to branch out and do a BSD the way he thought it should be done, designing a system that scales well and does multiprocessor as well as it does uniprocessor. (Or uniprocessor as well as it does multiprocessor, if you prefer.)
Now, I am not a coder, but what I understand is this: there is something called the BGL (Big Giant Lock, also known as the MP lock) that exists in FreeBSD. It will not let the system go past a certain point because it would become unstable. Some people see this as a hack to keep the system working properly, instead of fixing the problem. DragonFly is taking the BGL out, and are focusing on making a multiprocessor systems stable at a higher performance level.
Basically, it boils down to this: Matt decided that there was a better way to do things than the way FreeBSD 5.x is going, so he created DragonFlyBSD. May we long live in a society were this is possible.
Metic – you are absolutely correct. The website could be better and the documentation could be more available and complete. I recently changed jobs and haven’t been able to put in as much work on it as I had been, but my schedule should settle after the holidays.
Ok, I understand, and take it easy… Dedicated volunteers like you (so also documentators) make the future of open source software look so bright. Good luck with both your new day job and your valuable DragonFly documentation work too.
there is something called the BGL (Big Giant Lock, also known as the MP lock) that exists in FreeBSD.
Actually, BGL was used in FreeBSD 4 to allow SMP to work. Unfortunately using a BGL too much will cause scalability to be poor. The goal of FreeBSD 5 was to improve scalability by removing BGL from as much code as possible making the subsystems multiprocessor safe. FreeBSD 5 uses mutexes to be able to push down BGL in the code and it was this that M. Dillon thought was a bad idea (it was not the only reason DragonFly was created tho). Since DragonFly BSD forked its main code from FreeBSD 4 it also inherited the BGL and work to push down the BGL will be needed in DragonFly BSD to improve scalability beyond FreeBSD 4 (work is underway but have a long way to go).
So FreeBSD 5 vs DragonFly is NOT about having BGL or not but rather which way to go about removing it. There are other differences as well ofc.
I’ve been reading about the various BSDs and I’m afraid I have a newbie question. If FreeBSD has the goal of stability, NetBSD has the goal of portability and OpenBSD has the goal of security, what is Dragonfly’s goal? Is there a high concept, one sentence description of it’s purpose?
To scale as well as Linux, while still being under the BSD liscense.
The current stable release is at 1.1 which was released in November. Check the site and you’ll find a nice ISO available for download that is compressed (thank you DFly!) to about 75mb from about 260 IIRC.
I installed it but need to reinstall it again. From a very quick install it seemed very similar to FreeBSD but I know the differences are significant and that will grow.
@Chreo
A BGL is nice to get SMP working fast, indeed, but if one needs to scale to more than 2 or 4 cpu’s, it needs to go. Since 8-way systems are becoming more and more of a common thing, it’s important that it disappears. But you already mentioned that However, to start with, the BGL approach isn’t wrong. It just doesn’t scale well beyond 4 cpus. If you never plan to support 8-way systems, you can do worse than using the BGL solution
@Anonymous
Linux isn’t _that_ scalable. Don’t believe the hype
@JJ
There is going to be a new release in February, but that date is of course not official and is subject to change
So,
FreeBSD – Stability
Dragonfly – Scalability
OpenBSD – Security
NetBSD – Portability
So no reason to even consider Dragonfly or NetBSD for a single processor, non clustered, x86 machine?