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.
Ummm pthreads aren't actually relevant to the discussion. While FreeBSD does indeed have them, they aren't relevant with green_threads, which is the only threading implementation currently supported with FreeBSD java (neither the Linux or Solaris _green_ threads use pthreads either btw). Native threads are a different kettle of fish.
So you have stable native threads that actually scale on SMP machines? I've never managed to do any native XSL transformations on a JDK1.2/Linux box...
Probably for the same reason as the jump to "Solaris 7" from 5.6. It isn't a fundamental enough upgrade technically to change the major version number, but Marketroids like the whole number increment because it sounds important.
Boss of nothin. Big deal.
Son, go get daddy's hard plastic eyes.
Expanding a vast wasteland since 1996.
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.]
Remember, we still have a GPLed Java implementation in the form of kaffe. It isn't quite Java 2 yet... but if you want Java on a less-than-mainstream platform, it may be you best bet.
Darian
~O~
Thanks for the link, I'll check it out.
Free music from Jack Merlot.
Now go and read the way green threads (the only threading model the current FreeBSD JDK supports) are implemented. Did you find anything about pthreads in that implementation? No.
I believe this is why there was so much delay in getting Java to BSD. Hopefully they have developed a work-around, possibly by caching the name-server calls.
You believe wrong. The main cause of delay has been lack of support from either Sun or a commercial licensee of the JDK and hence access to things such as the Sun JIT, Java3D, the JCK. Also note that the SCSL doesn't allow a binary release of the JDK without it having passed the JCK and you having permission from Sun.
you mean Solaris 2.6 to Solaris 7, AKA Solaris 2.7, AKA SunOS 5.7 and Solaris 2.6 is AKA SunOS 5.6 .... Confusing no?
This whole post is just a joke, right?
"I was trained in Java in '92"
Thats funny, Java just turned 5 a week or 2 ago. You must have gotten a hold of the beta-beta-beta version. But wait a minute, if you have been working/hating java for 8 long years now, i guess that means bsd isn't really "succumbing to the latest fad" does it?
"It's OO code is *horrible* and if anything I think it's actually getting *slower*."
There are a few places where the OO is somewhat odd, but for the most part it is exemplary. Whip out the GoF's "Design Patterns", and then check out java.awt.* -- you'll be pleasantly surprised. The amount of time to invoke a method in java and a comparable function in C++ is about the same, the slowness you experience initially is the VM getting loaded (which is alleviated with more memory), but after that java works fine. This is why java has evolved away from short lived applets to applications and server middleware--where it doesn't matter if it takes 20 seconds to start as long as it works fine after that and can be moved to different platforms, like BSD.
"I wish everyone would wake up to the fact that the only workable way to be portable between two operating systems is to have completely seperate code bases for each operating system"
That is hogwash. Many people i know write java on their dopey win-box at home, then take it to work to run on solaris, win, and mac with not one damn change to any of the code. The only big "gotcha" with cross platform java is running applets in the browsers vm, but most people aren't writing java for applets anymore anyway.
"You save so much time in the long run that way"
Huh? How?! By doing twice as much work you save time--that just doesn't make any damn sense. Irregardless of the language of choice a programmer is going to produce about the same amount of lines of code (based on how fast they can type, and how fast they think) So if i have to write N codebases for N OS's its going to take around N-1 more time to do than just writing it once, and it looks like now if its written in java you can run it in a few more "anywhere"s
FUD! FUD!
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
It allows people to mull over their options and refine their work. It's like fine wine. You can't hurry it along (well you could use anti-freeze but it'd kill you) if you want quality. Look how long it takes pharmaceutical companies to develop their drugs. They take their time and TEST it rather than beta their heart medicine in the public domain and which would lead to remote kernel panics. oops! I mean death.
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.
Now that Sun is making their Java plug-in available, the problems with varying Java support in browsers is going away. For Ganymede, we use a hybrid Java applet/application for the client, and it works great on UNIX, Win32 (under Netscape or IE), MacOS, and OS/2.
Applets work just fine as long as you don't get overly ambitious about it, and as long as you keep in mind what an applet is for, and what the constraints of the Java security model are.
- jon
Ganymede, a GPL'ed metadirectory for UNIX
I know it sounds ridiculous, but will it run on my (um, forthcoming) beowulf cluster by any chance? That would sure make a cluster useful...
-=b
Quality of service contracts are going to be the make-or-break deciding factor for ASP's. OpenBSD can provide the uptime an applications provider will need to meet that contract; it's been through a year and a half security audit (which happened to close many software bugs as a side benefit), and uptimes in the hundreds of days are common.
OpenBSD 2.7 comes out next week, with integrated SSH2 and a large collection of packages and ports!
Free music from Jack Merlot.
-T
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.
Subject: Re: FreeBSD and SMP :
:-)). However, Linux supports SMP only marginally better than FreeBSD in the grand scheme of things.
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!!!
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.
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
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
So, you're saying that coding in C is preferable to an OO language? I beg to differ; the APIs available to Java are much more standardized and consistent than the myriad C and C++ libraries that don't seem to work on every platform. Java's mantra should be write once, compile anywhere. Plus, servlets tend to be way faster than CGI.
"You done taken a wrong turn."
-Bill McKinney, in Deliverance
Very good. Now we'll have FreeBSD starting up along the road Solaris (SVR4MP in some ways too) started on about 7 years ago.
FreeBSD is an excellent system, and usually beats (performance-wise) any other Unix on a uniprocessor x86 in my experience. Scalability over more than 2 CPUs, however, is a question. Commercial Unixes have excellent scalability over dozens of CPUs; are we sure we really need this sort of performance for *BSD?
Multithreading, however, is certainly becoming an important issue, and kernel scheduling of user thread groups (a la multiplexing over LWPs) is becoming something of a need. Are you sure that some sort of workaround cannot be done? Maybe add a signal to trigger rescheduling user threads, or enable the pthreads library to work over several rfork()ed processes? If it were possible to make rfork()ed processes multiplexed signal-wise over one PID, we could have something resembling LWP's.
Not only did Jobs get up on stage during the keynote, he said that OS X will be the best desktop platform for Java. In a conference otherwise dominated by serverside (J2EE) and portables (KVM, etc.), it was nice to see someone acknowledge the importance of vanilla desktop Java.
-Esme
For the past few months a group of FreeBSD/JAVA volunteers have been working on a native FreeBSD java implementation based on the Sun source. It's alpha, you must build it yourself, but the port is stable and you can use it now. Interested in testing/helping? More Info can be found here
What makes you say Be or OS X makes a great workstation? Which of Be's approximately 0 applications would you say help characterize it as a "great" or even usable workstation? Have you every actually used it? Not to mention it isn't exactly the most stable OS around.
OS X isn't even released. It's also in the same boat with very few native gui apps. Admittedly Mac apps do work and Unix stuff builds ok. But if you're looking for Mac apps get a Mac and if you want Unix apps - use Unix!
As far as Win2k, that's a little more realistic but I'll still take Linux or BSD anyday. Also, I love the way you make broad blanket claims with no evidence whatsoever to back them up (i.e "FreeBSD is superior to Linux, Java or no"). And I'm typing this in Linux Netscape running on FreeBSD 4 FYI so I'm in no way biased against FreeBSD.
Just biased against idiots.
Heh, no, I agree that only suX0rs use Java on their desktops, unless they are masochistic or insane or forced to for some reason. =P
Jedit is my main editor.Cedric Balthazar Rotherwood
Sun Certified Programmer for the Java Platform +
System Admin. for Solaris
Not really.
SunOS=The base system.
Solaris=All the stuff on top.
All SunOS 5.x releases are the foundation for Solaris.
So, SunOS 5.6=Solaris 2.6. SunOS=5.7=Solaris 2.7 (aka Solaris 7). SunOS 5.8=Solaris 2.8 (aka Solaris 8).
So Java is finally getting good support. OS/2 had the ability to run applet directly, new browsers are better (it seems) at handling applets and now BSD is in on the Java action. Neat.
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.
Just out of curiosity, how is multithreading handled in BSD?
Will Java performance under BSD be any different than under Linux?
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.
"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.
"Patience is a virtue, afforded those with nothing better to do." - I don't remember
I was under the impression that Java, though initially it failed to live up to the cross-platform promises, was now running fairly well, with (mostly) portable code and a faster compile time, more standardization, etc.
Is it really that bad? Or are you just trying to get over a bad initial experience with Java?
As for seperate code bases maintained by seperate teams, that may indeed be one good way to develop, but I'm not sure if every project requires that much redundancy of effort.
Free music from Jack Merlot.
The existence of a 1.2 JDK for BSD will make it easier to make people accept a BSD system in a company, indeed !
Java being cross platform, it makes the host OS irrelevant, but on the other hand, falicitates the penetration of a greater variety of systems. Once BSD is installed for running existing Java apps, the other benefits for having BSD can be discovered, etc. People will tend to be less reluctant to explore new platforms, since they can still use platform-independent ones.
It's very good for everybody, finally !
-- javaDragon is an instance of JavaDragon.
So, I assume that JServ & JRun will run on BSD/Apache now? Anybody ready to try a port? That's when I'll get excited; give me a stable VM and I can change the world.
Funny...I was just talking to a Sun rep at JavaOne about this today. He mentioned something about it, but he seemed to think it was Blackdown doing the port. No matter; good news is good news.
Now we just need the native compilers (TowerJ, etc) to port, and FreeBSD will be unstoppable.
"You done taken a wrong turn."
-Bill McKinney, in Deliverance
The guy must have had an amazing "initial" experience with Java... "trained in it in 92"...
three years before it was released.
However, a lot of companies are using Java for middleware and server-based applets (servlets).
I agree that the BSD's should think carefully before jumping in to every technology that happens along, but Java is already become entrenched in the enterprise. If a Java port comes out, that doesn't mean you suddenly *have* to install it on your BSD boxen.
I guess I just find it disturbing that the original poster was able to get away with posting such FUD, like "I trained in Java in the war of 1967", and "recent studies indicate that Java != bad coffee". If you don't like Java or BSD, fine. But don't post a bunch of crap just trying make a given technology look bad.
Free music from Jack Merlot.