Slashdot is powered by your submissions, so send in your scoop

 



Forgot your password?
typodupeerror
×
Operating Systems BSD

Feature-Rich FreeBSD 10 Alpha Released 143

An anonymous reader writes "The first alpha release of FreeBSD 10.0 is now available for download. FreeBSD 10 features include replacing GCC with LLVM/Clang, VPS support, an AMD Radeon KMS support, Raspberry Pi support, Bhyve for HVN virtualization, and ARM EABI support."
This discussion has been archived. No new comments can be posted.

Feature-Rich FreeBSD 10 Alpha Released

Comments Filter:
  • Hurrah? (Score:4, Funny)

    by DavidClarkeHR ( 2769805 ) <david.clarke@hr g e n e r a l i s t .ca> on Saturday September 14, 2013 @11:22PM (#44853515)
    Year of the BSD desktop.... FINALLY!
    • Re: (Score:3, Insightful)

      by geek ( 5680 )

      OSX = BSD, so yeah, its been year of BSD on the desktop for about a decade.

      • Not really. OSX contains much of BSD, but it also contains lots and lots of proprietary code.

        • by Anonymous Coward

          Most of the proprietary code is interface. There is plenty proprietry code that isn't interface, but not even much of that is OS material. OS X is layered. Interface layer, application layers... and system layers. Contrary to what most believe, an interface is not an operatng system... its window dressing. As far as the guts of the OS X is concerned, i.e. the operating system itself... it is sooooo BSD that it's what makes OS X UNIX. (I know, "BSD's not UNIX!" , and then, one day it was).

          • by Osgeld ( 1900440 )

            aka all the proprietary stuff is the stuff people give a shit about

            • by Bengie ( 1121981 )
              By "people", you mean "Mac users", not Unix users. Who cares about the fluff. Apple contributes back most of the important stuff.
              • By "people" he means consumers. If OS X has no consumers then it doesn't exist so I'd say they are a tad bit more important (to Apple) than the *nix heads who dig around in the CL. Sure Carbon and Cocoa need Darwin to run but the people buying OS X by and large wouldn't if Carbon and Cocoa weren't there.
          • > Most of the proprietary code is interface.

            But that is what makes the desktop. You say that essentially in the rest of your post

          • Are you honestly trying to argue that the application interface is not part of the operating system? Pfbbbt!

        • by smash ( 1351 )
          But Android is Linux, right?
      • OSX = BSD, so yeah, its been year of BSD on the desktop for about a decade.

        It includes part of the FreeBSD userland. I don't know if I agree that it makes it BSD. The FSF would probably agree though since they insist that Linux + the GNU userland should be called GNU/Linux, so they would probably argue that it should be called BSD/OS X if they were interested.

        • by Anonymous Coward

          Not just userland. Much of the OS X kernel is derived from FreeBSD and NetBSD, too.

          The problem, though, is that Apple has slowly stopped developing the Unix parts. They've literally deprecated fork, because they can't be bothered to make it work reliably with Core Framework. Neither are they tracking POSIX or BSD developments anymore, having stopped several years ago. OS X's POSIX support is a full release behind. They're compliant to the 2001 specification, but the latest is 2008, plus fixes. In a few year

          • Re:Hurrah? (Score:5, Informative)

            by tlambert ( 566799 ) on Sunday September 15, 2013 @04:18AM (#44854645)

            Not just userland. Much of the OS X kernel is derived from FreeBSD and NetBSD, too.

            Almost all of the BSD in the kernel is based on BSD 4.4-Lite2 and NetBSD; there are a couple of small sections, which ironically I wrote, that were pulled in from FreeBSD, like the BSD parts of the init code, and parts that generally everyone wrote, like chunks of the networking stack. I really wanted to change some of the VM APIs to be more like FreeBSD, i.e. in band errors in value returns should have been converted to value returned into variables passed by address with out of band error returns, but this would have required work on the part of the Intel guys prior to the Intel code integration.

            The problem, though, is that Apple has slowly stopped developing the Unix parts.

            This is BS.

            They've literally deprecated fork, because they can't be bothered to make it work reliably with Core Framework.

            No, that's a combination of several factors, some of them being Apple having poor representation on the UNIX steering committee. Specifically regarding the committee, there's no such thing as a pthread_atexec() and several other APIs which would be necessary in order to make fork() deterministically useful in already multithreaded programs.

            The CoreFoundation factor is a combination of GCD, which starts and stops threads behind the programs back (and can't register exec handlers), and directory services, which for non-root processes starts another thread as a means of security partitioning to support everything DNS and network address related. It doesn't actually need to do this, and neither does GCD, but between that and the missing process lifecycle management functions in POSIX for threads, it's not supportable.

            Basically, CoreFoundation is a piece of shit. It's now showing its initial lack of threads support in the design, and binary backward compatibility prevents it being redesigned. Catch-22.

            The positive side of this is that people effectively have to use posix_spawn[p]() instead, which means they don't have to copy a massive fricking address space from one process to the other, which is expensive as hell in Mach, since they haven't adopted the red/black tree acceleration for ptov[] translations, mostly because there's too much code that relies on address aliases. In CS terms, the p:v has a cardinality of 1:N instead of 1:!, which breaks code relying on ptov(). There wasn't a lot of it, but there was absolutely no hope of getting rid of the aliases without the VM API changes I mentioned previously.

            So boo fricking hoo: use LaunchServices like you were supposed to be doing when using CoreFoundation, and quit using fork() directly, and your problems will go away.

            Neither are they tracking POSIX or BSD developments anymore, having stopped several years ago.

            The only "tracking" of BSD kernel code that happened since 2003 that I'm aware of (but I left Apple in 2011) was in the networking code, and there was precious little of that, since Apple and BSD selected different concurrency models. BSDs is arguably more scalable, if you have unlimited memory to burn, other wise you want XNUs. You probably want XNUs anyway, particularly if you want to take cores on and offline out from under the CPU for power management or thermal budgetary reasons, and the scalability issues can be addressed.

            OS X's POSIX support is a full release behind. They're compliant to the 2001 specification, but the latest is 2008, plus fixes. In a few years, their POSIX support will be about as useful as Windows', in terms of interoperability with modern FOSS.

            That just asinine.

            First off, the next jump to standards conformance, if any, will be unlikely to be 2008, since it's not going to be widely adopted by industry until IBM and Oracle can get their shit together, which takes more than 5 years, since it includes a migration strategy for mai

            • Re: (Score:2, Informative)

              by Anonymous Coward

              The UNIX side of OS X has been just fine in the recent releases. The problems with OS X are:

              1. It doesn't have a real package management system.
              2. Long turnaround time for security patches. They should stop this insane "we have to wait until 10.x.y until we ship this patch even though it's ready." A proper package management system would certainly help there.

              • Re:Hurrah? (Score:4, Interesting)

                by tlambert ( 566799 ) on Sunday September 15, 2013 @06:54AM (#44855005)

                The UNIX side of OS X has been just fine in the recent releases. The problems with OS X are:

                1. It doesn't have a real package management system.

                It's called "drag and drop"; properly written applications are self-contained in directories represented by the application icon. If you follow the Mac model, and don't try to install your files all over from hell to breakfast, there's no issue. This is why a lot of demo machines in stores now have epoxy in their USB ports (e.g. the ones at Fry's), since people were stealing already activated copies of Microsoft Office by plugging in their iPod shuffle or other thumb-drive and just dragging it over.

                If you want to install all over from hell to breakfast, there's always http://www.macports.org/ [macports.org] or you can make a 5 line change to the FreeBSD ports management system to use "${MAKE}" instead of "make", and deal with two "echo" compatibility issues which are fixed by using "printf" instead, and almost all of the FreeBSD ports system "just works". I gave those patches back to FreeBSD (via Jordan Hubbard); not sure if they made them in.

                Note that another benefit of the Mac model is that you can have different applications requiring different versions of libraries, and nobody cares except people already short on disk space. Duplicate block coalescing can fix that, but only works for ZFS, which is an add-on.

                2. Long turnaround time for security patches. They should stop this insane "we have to wait until 10.x.y until we ship this patch even though it's ready." A proper package management system would certainly help there.

                This is an issue for security problems in the kernel; otherwise, Apple ships regular security patches for all user space components; leave Software Update turned on, and it's automatic, and will pop up and bug you to install updates, since they usually mean an application or system restart (depending on what layer the installs happen).

                For the kernel, this is really a management/resources/security-guys-do-not-push-hard-enough problem; the current development model for the Mac OS X kernel is "Scrum", which is good if you want to keep an organ bank of coders around to throw at the next iPhone/iPod Touch/iPad problem, and less good if you actually want to make substantive changes or progress in kernel technology, so it's mostly on managements back. I agree this is a problem.

                • by Anonymous Coward

                  It's called "drag and drop"; properly written applications are self-contained in directories represented by the application icon.

                  That's all fine-and-dandy until you need to keep track of the different version of library packages and make sure they're all up-to-date and not conflicting. Do you want your system handling patches and updates or do you want to manually go through an infinite number of directories and waste your time?

                  • I think the idea is that you don't do that. Each application is supposed to use the system software as far as possible, and if an application vendor ships a third party library as part of their application bundle then that vendor is supposed to maintain it when needed. Won't be perfect from a storage efficiency point-of-view but each application will be more or less independent.

                  • It's called "drag and drop"; properly written applications are self-contained in directories represented by the application icon.

                    That's all fine-and-dandy until you need to keep track of the different version of library packages and make sure they're all up-to-date and not conflicting.

                    You don't need to worry about different versions because there is only one version of the library associated with the app: the one in the app bundle.

                    The way to make sure your app is up to date is to ensure it's up to date by dragging a new version, or having the app insert itself into the Software Update process, or to have it maintain its own update checks and cycle. The method to do this is documented.

                    By definition, since all libraries are private to the app, they are non-conflicting. That's the reason

                    • Self-contained applications is a nice idea, but it makes sense primarily with non-free binary only applications which the user or the OS distribution can't build from source code. If you use a system like Debian stable then you will rarely have any problems with the package manager, and as long as you're using software which is distributed as part of Debian you can be assured that a maintainer has looked at it, that it is licensed under a DFSG compatible license and will most likely not harm you.

                      You don't h

                    • by smash ( 1351 )

                      Self-contained applications is a nice idea, but it makes sense primarily with non-free binary only applications which the user or the OS distribution can't build from source code

                      Uh... no. It makes sense for any OS if you want to get away from dependency hell.

                      I can take an OS X application and simply drag/drop to any other OS X install (so long as it is of a supported version of the OS). There is one dependency - the OS version.

                      I can also run apps from anywhere (hell, even the disk image I downloaded

            • by epine ( 68316 )

              Dude! 1998 called. They want your guru stick back.

              Someone mod that up to +15, just for old times' sake. Thanks for the voyage. You made my day.

              • It is a refreshing change from people posting pop culture references just for a laugh. I doubt it will last. All those moments will be lost in time, tike tears in rain.

            • it drives me insane when I get linux zealots (the uninformed type...) banging on about Mach...

              however I have 1 question...

              why is the most deployed Mach version unable to implement IPv6 ?
              (the most deployed linux versions being part of the android stack vs Mach being most deployed in Apple iOS)

              having a TCP stack and then hobbling it seems weird and to me very annoying !

              regards

              John Jones

              • by smash ( 1351 )
                Uh... iOS has supported ipv6 for some time now. I have native IPv6 at home and my iPhone/iPad pick up an ipv6 address and work dual-stack just fine?
            • Just for reference to those who aren't aware of who the post above is from

              tlambert is:

              http://people.freebsd.org/~terry/ [freebsd.org]
              http://www.linkedin.com/pub/terry-lambert/2/70a/770 [linkedin.com]

              I.E. He knows his shit and has the references to back it up. His resume is pretty much a list of industry leading companies for the last 25 years.

            • Like their initial select() implementation, which decremented the remaining time in the timeval structure to account for elapsed time, having an API is not the same thing as having a conformant API.

              The current SUS [opengroup.org] allows that ("Upon successful completion, the select() function may modify the object pointed to by the timeout argument."), and that dates back at least as far as SUSv2 [opengroup.org].

              It's still a rude surprise to people used to the BSD-style behavior in most other UN*Xes, and writing code that only sets the timeout before entering a select loop, though (that one bit me ages ago).

          • They've literally deprecated fork, because they can't be bothered to make it work reliably with Core Framework

            fork() deserves to be deprecated. The API originates with old machines that could have a single process in-core at a time. When you wanted to switch processes, you wrote the current process out and read the new one in. In this context, fork was the cheapest possible way of creating a new process, because you just wrote out the current process, tweaked the process control block, and continued executing. On a modern machine, it requires lots of TLB churn as you mark the entire process as copy-on-write (in

          • Instead, their system engineers have been busy reinventing the wheel by replacing core C code with C++ and Objective-C, for no apparent reason.

            Like Terry (and speaking as an engineer who replaced Objective-C code with C code in Leopard [nfsv4bat.org] :-)), I'd like to know to what you're referring here.

    • Year of the BSD desktop.... FINALLY!

      Meh. My preferred slogan is:

      "FreeBSD. Still dying after all these years..."

      Netcraft confirms it, in the library, with the lead pipe.

    • FreeBSD is the server OS. Once PC-BSD is out, this sarcastic rant can be even remotely relevant
    • They are still running 5+ year old linux_base-f10. You would have thought by now they would have updated it. Check out their base system installations. Virtually all of them are old versions. You would have thought for a new release, they would have updated their application.

  • by celle ( 906675 ) on Saturday September 14, 2013 @11:22PM (#44853521)

    Woman screams and waves arms.

    FreeBSD!!

    Oh, geek screams and waves arms.

  • by bcreane ( 667034 ) on Saturday September 14, 2013 @11:24PM (#44853529) Homepage
    FreeBSD hosts interesting work with respect to TCP congestion control. An earlier version (I think FreeBSD 8.0) introduced modular congestion control algorithms, and this version introduces CAIA Delay-Gradient (CDG) congestion control algorithm. The check in is here: http://svnweb.freebsd.org/base?view=revision&revision=252504 [freebsd.org], and an interesting (if slightly esoteric) slide deck is here: http://www.ietf.org/proceedings/84/slides/slides-84-iccrg-2.pdf [ietf.org].
  • by Anonymous Coward

    Entrenched market share leaders get comfortable and a bit arrogant, particularly in technology. Things are done a certain way because that's the way they've always been done, and anyone who thinks differently is a clueless moron.

    I don't think Linux kernel and GCC are exceptions to this rule, which has been proved over and over and over again.

  • ...does it run Docker? *ducks*

    • by gmuslera ( 3436 )
      Docker is based in LXC [sourceforge.net] (linux containers), so not available in freebsd. But can be done a port or a similar project based on FreeBSD Jails [freebsd.org]. It also uses aufs and cgrups, but i think freebsd have similar tools too.
  • security (Score:2, Insightful)

    by santax ( 1541065 )
    As much as I love freebsd I have stopped using it after their servers got 'served' with the use of 'legitimate' ssh keys. http://www.paritynews.com/2012/11/19/487/two-freebsd-project-servers-hacked/ [paritynews.com] Given that Freebsd never released a good audit report after that hack I can only be worried more. Add to that, we now that we know the NSA had access to the certs from diginotar and might had done or paid for the diginotar hack I think one might as well use windows. I hate to say it, but the complete codebase
    • Re:security (Score:5, Informative)

      by Anonymous Coward on Sunday September 15, 2013 @02:43AM (#44854329)

      As much as I love freebsd I have stopped using it after their servers got 'served' with the use of 'legitimate' ssh keys. http://www.paritynews.com/2012/11/19/487/two-freebsd-project-servers-hacked/ [paritynews.com]

      Given that Freebsd never released a good audit report after that hack I can only be worried more.

      Add to that, we now that we know the NSA had access to the certs from diginotar and might had done or paid for the diginotar hack I think one might as well use windows. I hate to say it, but the complete codebase from freebsd needs to be checked. Again and again. Preferable with the help from openbsd.

      Maybe you should read over the report from freebsd.org: http://www.freebsd.org/news/2012-compromise.html

      1) It was a single ssh-key that was leaked.
      2) The accompanying user rights allowed access to two build server nodes which they took offline and they compared the data to a known good offline copy.
      3) They pulled the 9.1-RELEASE packages they couldnt verify.
      4) The compromised user only had access to the build system for binary packages. The BUILD system (and third party at that). NO access to the source repositories (except checking out, like you and me).
      5) If you didn't use the 3rd party binary packages you weren't affected at all. (and who uses binary packages with freebsd anyway?)

      I don't know how the infrastructure is organized in your company, but usually there is a user management on a server if you hand out ssh-keys and only a few if any are allowed to sudo su. IF there is sudo at all. That isn't a desktop box where every user added gets an entry in sudoers to su.

    • Someone else has already pointed you at the report on the compromise. One of our developers has a VM that turned out not to be as secure as he though, and which had his ssh keys (with no passphrase) that gave access to the FreeBSD cluster machines. As soon as the attack was noticed (very quickly, owing to one particularly paranoid developer), the affected machines were taken offline. Bringing things back online took a long time, for several reasons:
      • All of the code that we're running on FreeBSD.org mach
  • by allo ( 1728082 )

    What's the problem with jails?

    • by laffer1 ( 701823 )

      I was wondering this too, but upon further research, VPS adds things Jails can't do like migrating from one physical machine to another without restarting programs and possibly even keeping sockets open. It has a mechanism to transfer an image of the disk state too.

      Apparently, VPS also allows for sharing of several different types of resources to lower memory usage and they support distinct pids (init is pid 1 in each one for instance).

      It looks like the new plan is if you want to virtualize freebsd instanc

  • Comment removed based on user account deletion
  • 1. No mention of VPS (virtualization containers) is made in the features list, furthermore vpsctl doesn't appear to be present on my test install. Are you sure it's part of FreeBSD 10? I really hope it is, the documentation implies that you can have nested containers with no performance penalty. How is networking handled inside these containers?

    2. I'm assuming jails still exist in FreeBSD, how do they relate, or fit in, with VPS and Bhyve?

    3. Can Bhyve be used with processors that don't support Extended Page

    • 2.1: For Jails, VPS, and Bhyve, what is the footprint (i.e. memory overhead) for each implementation?

Get hold of portable property. -- Charles Dickens, "Great Expectations"

Working...