Slashdot Mirror


Java 2 For BSD

We've covered the movement to get Java 1.2 ported to the BSDs for a while now. After Linux got in on the act a couple of months ago, keepper was the first to write in with a link to this BSDi press release announcing the availability of Java 2 for BSD. Looks like BSD/OS will get it first (they're beta-ing it now). Then FreeBSD gets it, at which point (I assume) it'll be open to the other BSDs to take as they want.

12 of 42 comments (clear)

  1. Re:Unstable Implementation by Anonymous Coward · · Score: 2

    John Dyson who wrote the FreeBSD VM system has recently analysed the situation and concluded that proper threads and SMP will never work on FreeBSD without a complete rewrite of the kernel. John Dyson said that in its current state, all attempts to implement proper threads and proper SMP on FreeBSD will only lead to an unmaintainable mess. John Dyson really knows the FreeBSD kernel. He further went on to say that such a rewrite would be impossible under the current politics which dominate the FreeBSD development process. According to John, it would take a major commitment on the whole FreeBSD developer community to scrap the current problematic base and rewrite it properly. Unlikely to happen in our lifetimes, but who really knows. [I believe he posted his analysis to the FBSD hackers list.]

  2. Re:Closed Source != No Source by Arandir · · Score: 2

    Closed Source licenses do not necessarily mean that the source code is hidden. The source code to Java *IS* available. The only problem is getting Sun's signoff on a port. It may be entirely possible that an official port to BSD/OS can be simply recompiled for the other BSD's with no modifications.

    --
    A Government Is a Body of People, Usually Notably Ungoverned
  3. Re:First BSD with Java 2 by Anonymous Coward · · Score: 2

    Well, I've been running FreeBSD 3.4 for some time, and have enjoyed Java2 (that's JDK 1.2.2) under the binary ports.

    So this really just impacts native thread issues.

    Technically, then BSDi is the SECOND of the BSDs to enjoy Java.

    That explains why the BSDi guys here at JavaOne were so quiet about Java support.

  4. Re:Neat. by macpeep · · Score: 2

    applets? who cares about applets? the important thing is that there's a working virtual machine for the operating system so you can run Java APPLICATIONS.

  5. Re:Unstable Implementation by pvanheus · · Score: 5
    If I'm not mistaken, the John Dyson message referred to was this one, from comp.unix.bsd.freebsd.misc. It isn't quite as apocalyptic as the original AC post made it out to be...

    Subject: Re: FreeBSD and SMP
    From: "John S. Dyson"
    Date: 2000/06/01
    Newsgroups: comp.unix.bsd.freebsd.misc
    Bruce Burden wrote:
    >
    > XuYifeng wrote:
    >
    > : I am newbie of FreeBSD, I heard rumor that Linux 2.2 has better SMP support
    > : than FreeBSD 4.0?
    > :
    > I understand the latest Linux kernels have a multi-threaded
    > SMP kernel, while FreeBSD still uses the big lock model for SMP.
    >
    > From what little I have seen on the
    -current mailing list,
    > this is something the developers are going to have to "bite the
    > bullet" on, it seems, because the change isn't going to be easy
    > or compatible.
    >

    About the time that I left FreeBSD, my biggest TECHNICAL argument was that FreeBSD needed an official project to re-design the kernel so as to support multi-processors correctly. In NO WAY does FreeBSD do multi-processing correctly (and that isn't an insult, but is a result of the monolithic kernel legacy -- FreeBSD is an excellent kernel otherwise!!! :-)). However, Linux supports SMP only marginally better than FreeBSD in the grand scheme of things.

    A significant and well thought out redesign is in order. This is NOT an easy project and would require a serious committment on the part of the kernel developers. Hack solutions shouldn't even be considered for the shortest amount of time (the time involved in looking at expedient work-around type efforts is totally wasted.)

    IMO, the Linux approach so far appears to be an iterative improvement on the same basic design: TRADITIONAL monolithic kernel. Given a traditional monolithic design, once the kernel is fine grained enough, and provides correct internal structure, the kernel maintenance people will have to be MUCH more intelligent than the original developers themselves. The complications in an adequate monolithic design are enormous.

    The reason for my work being aborted on the FreeBSD SMP MONOLITHIC kernel wasn't that I couldn't make a FreeBSD SMP monolithic kernel work very, very well. The resulting kernel design would have been unmaintainable. I decided (when it was my place to decide a LONG time ago) that a monolthic SMP kernel (other than the current stopgap) didn't provide the quality that the FreeBSD name demands.

    I am currently making really good and effective progress on my video compression (data reduction) software, and I might be able to do kernel hacking (actually redesign) in the near future. I have no need for employment anymore to make money, so my time is fully my own.

    The last few years has been frustrating, but at least I worked with some tremendously nice people. I now have a situation that is very close to what it used to be when I first started working on FreeBSD!!! (I doubt that I'll be directly involved in the project because of disagreements that I had about the technical direction of the kernel, and marketing disagreements (with the associated burnt bridges :-(()).

    I am going to be lurking much more than I have in the last 2yrs anyway :-). I just looked that the FreeBSD mailing lists a couple of weeks ago for the first time in a few years!!!

    --
    John | Never try to teach a pig to sing,
    dyson@iquest.net | it makes one look stupid
    | and it irritates the pig.

  6. Re:Unstable Implementation by Asmodai · · Score: 2

    Not to shoot bullets on your parade. But obviously you don't know about FreeBSD 4.0 and higher. The Virtual Memory system has been completely rewritten by Matthew Dillon et al. Please do proper research before you post. Thanks. Enough FUD in the world already.

    --
    Jeroen Ruigrok/Asmodai
  7. Re:Unstable Implementation by Brian+Feldman · · Score: 4

    If you read Dyson's explanation for leaving, you'll see he is quite the pessimist with regard to basically any project he's not working on. He's an extremely intelligent man, but he isn't criticizing a lot of the time on merit.

    It also shows that his viewpoint hasn't changed in the few years since he's left. There are several very key architectural changes that make FreeBSD much less like a traditional monolithic kernel. One of the biggest is the changes, planned for a long time, that are now to be implemented with help from the BSDi people and the BSD/OS SMPng (5.0) kernel. Priority levels (splhigh(), splx(), etc.) are disappearing and will be replaced by very mutexes allowing much better SMP. Along with this, the interrupt model will be changing to interrupt threads, where each interrupt gets its own lightweight kernel thread.

    In addition, pthreads are to be reimplimented using scheduler activations and (probably) a hybrid kernel/user thread model where the ratio of actual "processes" to threads will not be 1:1 like LinuxThreads or 1:many like the current pthreads implementation; the ratio will most likely be many:many which would allow for much nicer scaling than either of the other.

    Don't look at things as short-sightedly as John Dyson likes to. There's a lot going on at a very fundamental level to improve what he thinks wouldn't be improved.


    --

    --
    Brian Fundakowski Feldman
  8. This is a great improvement by 1337d00d · · Score: 3

    Not just that Java2 is coming out for BSD, but that the better stuff is coming out right at the start for BSD. The more recognition that BSD gets, the better. Any Operating System effort that can take hold now will be competing for the market share from the Microsoft breakup, so it's great to see Open Source efforts besides Linux (not to say that Linux isn't great, but most techies have heard of it) getting more media, as opposed to closed source efforts taking over. I see this as representative of the increasing popularity of the *BSDs, and open source in general, as companies begin to turn from the giant Microsoft to the stronger, more reliable Open Source operating systems. Support like this is critical is we want to attract more good developers to the Open Source platforms.

  9. First BSD with Java 2 by quentink · · Score: 3

    Technically isn't the first BSD based OS with Java 2 support Apple's Mac OS X? I believe Sun's Chairman and CEO Scott McNealy brought Steve Jobs up during the keynote at JavaOne to tout OS X's support for Java 2. According to Jobs, Apple has gone even further, mapping the "swing UI stuff" on to the graphics subsystem, Quartz and the new Aqua look and feel.

  10. cancer? no problem! take two & call me tomarrow... by zentex · · Score: 2

    "write once, run anywhere" fine print: except BSD.
    sheesh...but then again...if BSDi has it in beta now, and as long as they take to do things, we might have a cure for cancer before they get done "testing" it.

    ---
    remove SPORK.

    --
    Appended to the end of comments you post. 120 chars.
  11. Re:Thread support in BSD? by hugg · · Score: 2

    BSD has pthreads.

    I don't see why there would be a difference, as long as the JIT is retained... I run Linux JDK 1.2 on FreeBSD at perfectly acceptable speeds.

  12. Re:Thread support in BSD? by Yenya · · Score: 2
    I don't see why there would be a difference [...]

    The kernel-supported threads do matter when you have multiple processors or you want to do stuff like asynchronous I/O. In traditional UNIX, processes cab be blocked inside I/O operations (such as waiting for a page to be read into a mmap-ped region). If you have a kernel-supported thread model, you can run another thread even when the first one is waiting in page fault. And you can take advantage of multiple CPUs as well.

    So there really can be a difference between running JVM with kernel-supported thread model and JVM with user-space threads.

    -Yenya
    --

    --
    -Yenya
    --
    While Linux is larger than Emacs, at least Linux has the excuse that it has to be. --Linus