The End of Unix?
Unix may never become big on the desktop, but that battle is still being fought and it probably won't be over for a few years. However we shouldn't forget where the large strength of Unix lies: the network. Unix -runs- the Internet. I don't think any other Operating System can say that. The Internet started on Unix, the Internet was built on Unix and unless something better comes along (and that implies that we don't have "better" yet) the Internet will die running Unix.
Of course Unix, like any other modern OS, must change over time to accommodate new technologies and methodologies, but I see Unix being more able to adapt in todays fast changing Information Technology world than other operating systems based on monolithic kernels.
What do you think? Am I missing something? Is there a Unix killer in the works that I might have missed?
to ask "will unix come to an end" is meaningless. let me explain. if we look at unix in the context of normal operating system space and time, we notice singularities at the "beginning" and at the "end." i have been working on this problem for many years now and am now ready (coincidentally) to offer you my solution to this age-old problem of computer science!
to better describe my concept of unix, i have developed a new mathematics which defines unix in terms of "super-time." our beloved unix is embedded in this supertime, which contains no singularities! thus, unix itself is without bound in time and space... it simply always is.
thank you.
What do you mean by Unix? I can't really think of an all encompassing definiton. I'm not sure about everything here, but in my limited knowledge of Unix heritage and composition, it occured that a lot of things qualify in one way or another as Unix. Posix compliant? Nope - NT is Posix. Based on original Bell Labs code? Not even Linux qualifies. Containing Unix code? Fine, but don't forget to throw in MacOS X and BeOS as well. Command line based? No way - DOS et al aren't Unix. Unix grew from being an operating system at Bell Labs as in "Unix, the descendant of Multics" to standing for a whole slew of operating systems. Much like our DNA is different from primates by only about 3%, there are only a handful of things that separate a Windows machine from a Unix box. For the most part, they're a lot alike. Both have the same fundamental architecture - kernel, processes, etc. To me Unix means a really stable, secure multiuser OS that is remotely manageable and based on Open Standards. But I'm just pulling that out of my ass. It means different things to different people. Novell meets that description too. NT, in some ways, does too. So I guess my answer would be that everything qualifies, in one form or another, as being part Unix. Can anyone more clearly define what, exactly, Unix is?
--
I think there is a world market for maybe five personal web logs.
>NT evolves more
> toward Unix every day.
In the world I live in, it's years between NT Releases; months between service packs.
Not that I wouldn't love to see this daily evolution of course...
-fb Everything not expressly forbidden is now mandatory.
It's like when Apple was having financial troubles: "Don't buy Apple, what if they go out of business?" Who cares if they have $2 billion in cash reserves? Media sensationalism.
And Amiga. Amiga has died so many times, nobody takes the report of Amiga's death seriously anymore. Perhaps nobody defined dying: new products are becoming available, a new AmigaOS came out 5 months ago, and so on. So what is "dead"?
Now slashdot: anyone who has spent any time in the industry knows that Unix is the most dominant force holding the whole computing world together, so why pretend to take a question like this seriously? Media sensationalism. That's all.
Until I see a headline like, "Unix is dead!", followed by "a young man named Unix was gunned down", I'll stick to reality.
Now: a more apt question is: Is Windows dying? I have some compelling ideas about THAT...
Sounds a lot like any university's internal LAN. Which probably runs Unix (Solaris at my university).
Unix was already designed to address many of the issues that come up with network computing. I only see a few things that need to be fine-tuned:
Portability of user accounts across the entire network, checking of permissions/licenses for running applications, etc. This is already pretty much here; you just have to know what you're doing to set it up. The challenge is to make sure that all applications on your system work fine for all users, everyone can do what they're supposed to and have access to what they need to, but to make sure that nobody can do anything they shouldn't be able to.
If you are a validated user at one university, you would ideally be able to log into another university with guest privileges, and have it recognize you as a specific user ("foo at bar university"). Similarly, I'd like a validated user on my personal LAN to be able to access someone else's service while keeping an individual identity. Or through another network access their "home" network's services with their full privileges. The idea being that identities and permissions carry over robustly and securely over heterogeneous and possibly untrusted networks.
This ties into the whole "the network is the computer" idea. If I could just use the collective computing power of all of my hypothetical LAN terminals to distribute tasks, I might not need a central server at all (assuming that my tasks have low communications overhead). Similarly, it would be nice to be able to farm off tasks to another "friendly" network. Protocols and support for this is in development, but would need to be standardized for true "network computing" to come into its own.
Again - by and large, these are capabilities that already exist, or exist at least in part. They continue to be developed - and chances are, that development is happening under Unix.
Programs I wrote for UNIX 10 years ago still work just fine and take full advantage of the larger memory and faster processors. That is not at all true of systems like Windows.
UNIX is also a particular approach to writing kernels, based around a monolithic, fairly simple privileged core. UNIX kernels are also pretty closely tied to the C language. That's very different from microkernels, Windows, or other systems. And UNIX is a set of conventions for where and how to represent system configuration information, command line programs, etc.
That kind of continuity can't last forever, and eventually people will start using systems that can't realistically be called "UNIX" anymore.
Sooner or later, kernels will have to be written differently and in languages other than C, the file system will change into some different kind of database, etc. People will also build new replacements for system configuration information, the init/login sequence, etc.
I suspect, however, that the transition from UNIX to its successors will be fairly gradual, and that any successors will continue to offer reasonable POSIX implementations for a long time to come.
Plan 9 and Mach are both examples of successors to UNIX that really have some good continuity with it, and that's probably what's in store both commercially and in the open source community.
Since a unix core install can be made very small,. suitable for embedded systems, I don't see a reason to throw away a perfectly good model with a well-understood API and many thousands of man-years of refinement.
Unix is being used successfully on systems from mainframes to wearables, from super graphics boxes to the tiniest pinhead sized embedded systems. What design criteria do you envision that would contraindicate the use of Unix?
Montgomery's short "An Introduction to Unix" points at the Unix system family tree.
That 1997 document does not mention Linux, which grew out of the POSIX definition, System V, NetBSD, and GNU tools (developed on many Unix flavors). The Unix History segment of the Unix FAQ does mention Linux briefly.
Well, I was a bit surprised by the 5, but it wasn't meant to be a troll either. Damn it, I want Windows to live up to the hype. I'm in a huge NT shop at a large college where desktop security is important. Most of the pieces to make my life easier are there, but I see no light at the end of the tunnel.
Take applications for Windows. Damn they suck. Not the apps, but the design. Microsoft can readily fix this if they got their heads out of their asses and realized that the world isn't about one person/one computer with full control.
How can they fix it? By taking their already existing label standards for apps and strenghthing them so new apps at least behave properly. Don't follow the rules, then your app is not "compatible with Windows 2000." But then that would break all of THEIR apps too...
Example:
All of my bitching about NT/2000 comes from actual experience trying to make it work as advertised. When Microsoft's own fucking applications don't follow good design standards, how do they expect others to do so.
Do you realize how long I took to get that piece of shit IEAK to work properly? First of all, the IEAK book spends about 250 pages talking about how wonderful it is and all you can do with it, and then when it gets to the point where it talks about how to implement policies, it spends exactly 1.5 pages on what all 200 settings do. During an unattended install, it throws shit loads of stuff into runonce keys but, heaven help you if, before the next reboot you or another program invokes rundll32, because rundll32 triggers all runonce keys to be processed immediately, even if they were installed during THIS boot instance. That one killed me for a long time. Then, during a user logon, you have to ensure loadwc.exe can run and *IT* uses rundll32 to do a lot of the customizations with the policy settings installed. But, get this, rundll32 won't run if it can't for some unknown reason have write access to the runonce key. But allowing users r/w access to that key violates a KB article saying what a huge security risk that key is for users to have r/w access to it. So, I have to give admin rights to users who I want to policy control their computer?! Oh yeah, that makes a lot of sense... :( And none of this is documented in the IEAK docs. No, just hundreds of pages of marketing fluff. I'm a sys admin. I buy an administration kit to get technical details, not marketing hype.
None of this actual implementation stuff ever gets mentioned in the press. All the grand claims of how Microsoft makes administration tasks easier are taken at their word and I wonder if anyone actually tries to use these features. When I hit problems. dejanews and altavista searches for similar things usually turn up nuttin on these issues.
OK, I'm ranting as usual. I really really hate platform bigots, UNIX and NT or whatever. I go forr the best tool for the job. I just really get tired of doing careful research, picking a Microsoft solution as the best tool, then finding out I was an idiot for actually trying to implement the solution and expecting it to actually work.
How many times do I have to be abused before I learn my lesson? :-(
Yes, Linux and UNIX programs have their problems too. I couldn't believe the hassles I had to go through to get Amanda to work with my DG/UX box. sendsize silently kept failing to calc disk sizes cause the fork/exec of runtar was screwed up. But you know, fixing it wasn't a big deal. I had the sources right there, went through the code, found the problem as it relates to my OS. I fixed it and will send the patches back to the authors.
The difference is, when something breaks in an open source OS, I can always fix it myself. When something breaks in a proprietary OS, I'm shit out of luck and can only hope that the next version fixes it and the upgrade costs are not too prohibitive for my installed base of thousands of desktops...
The previous era of computing was hardware-limited. That constraint limited the domain of data that could be worked with and upon. We are no longer hardware-limited. We are overflowing with data, of myriad types and dimensions. The next era in computing will be filtering data and adapting it to the person...not adapting the person and data to the limited hardware.
/associative/ resource database, where resources are categorized not by arbitary position on disk, but by their very attributes and data characteristics. We are reaching a new level of abstraction.
Already we are seeing that the notion of a strictly one-dimensional hierarchical file system becoming archaic. Having a system of files is useless if you are so overrun with data that amongst the plethora of files nothing is meaningful. With the network-as-computer approaching I believe we will shift to the systems of "resources". We are already seeing this with distributed computing. URLs locate abstract "resources", whether they are on a local file system, or over the net, whether they are static data, or an executable service or agent. We have to move to an
That being said, a lot of Unix is based on the good old file system metaphor. At the time, addressing everything as a file was as novel as addressing everything as a resource (think system components as CORBA objects - check out AllianceOS). Because of the above reasons I think we need to graduate to a more abstract, associative model. Also, very simple security structures like ACLs are showing their age...they do not scale up well. We are seeing new security models, like capability-based systems, where each entity in a system, be it user, or program, has a set of "capabilities" which it can use to interact with other pieces. A higher level of abstraction. I think for Unix to stay in places requiring these features (associative data storage/filtering - desktop, new security paradigms - large networks, network OSs), it will have to change.
Where things like this don't matter one bit (like the mainframe), Unix will continue to reign supreme.
It's 10 PM. Do you know if you're un-American?
This theory:
:-)
http://home.xnet.com/~raven/Sysadmin/UNIX.html
says it very well. "People are confusing dying with age," and that brief article has a good idea why Unix will still be around for a long time.
(It was written shortly after Lose95 was released.
You cannot apply a technological solution to a sociological problem. (Edwards' Law)
UNIX was poised to die out in the late 1980s. That OS was floundering on the professional desktop in workstations--back when that meant something other than a PC--from Sun and the now-defunct Apollo. But the general UNIXy environment and Xwindows just felt so clunky next to something lighter weight; it looked like some form of personal computer was a good alternative.
Unfortunately, as personal computers became more complex, they also became more unreliable. If Windows 3.0 crashed and you could just hit a button and be back to work in three seconds, then no one would have cared. But you had to sit through an unbearable two minute boot sequence. Networking was messy. Arcane INI files were just as bad as anything from the seventies. As reliability dropped, UNIX began looking more and more attractive. It was still butt ugly, but at least it worked.
By now, we should have something better. We've had an additional ten years to deal with the problem. We should have something very small and very stable and very easy to take care of. A computer should be able to reboot as fast as a calculator. We shouldn't have to deal with driver issues and such as much as we do. But it didn't happen. PCs got faster and more varied, but nothing improved in the reliability or simplicity department. And now, to our horror, UNIX is looking like the simpler alternative. No one would have believed it.
I don't think it'll 'die' exactly. It may eventually evolve into something that bears little resemblence to what it is today, have a different name, have absolutely no code in common with what we know today, but it'll be evolution.
Licenses that make the source available for reuse make this more likely than ever. The open source movement is giving Unix a lot of strength. I'm fairly confident that people will still be typing "ls" to see their files 30 years from now (assuming the keyboard isn't dead by then
numb
There's no reason to "convert" most of our existing Internet/networking infrastructure to anything else in the forseeable future. I agree with the prediction that things will end up moving more towards centralized computer resources,
and lesser-equipped but ubiquitous terminals to access those resources, but Unix will still be there in some fashion.
I don't see the likelyhood of this. All you really have to do is increase the ability for the client to work properly and increase it's capabalities. For somethings (say perhaps tactical nuclear weapons simulations) you may need mainframes however this is not the norm nor very supportable. Applications are mostly writen for PC type platforms considering how much Microsoft has spent convincing people of this.
Who's to say Unix won't be the OS that drives the appliances?
But appliances are just so.. well boring. What would be nice is to have a large mainframe that you could optionally use and use for massive backups of the target machine (say copy the entire image of the client in case of power failure and such) and allow the client to have responsibilities.
Personally I don't want to have some rather fiendish god controlling my computing resources at one particular point. If someone would write an application API that would work like distributed.net and allow for say a complex process to be broken down into many smaller parts and work on any number of client machines that could be increased and decreased at will would be much better. Add into this a possibility to have "relay points" where the data could be copied for a particular portion of the network in case some machine failed or sent corrupt data.
Slashdot social engineering at it's finest
The trick of UNIX: it has always been availiable and highly adaptable to different environments. While this was changing in the 1980s (the UNIX wars), RMS, Linus and all of those open source programmers have insured that UNIX in some variant will always be in use.
If you look at recent corporate inroads, such as IBM-Intel, Phillips TiVo, etc., the market for UNIX like solutions is actually growing!
In the Epilogue of their book, The UNIX Programming Environment, Brian Kernighan and Rob Pike were not as arrogant to think UNIX would live forever, but did have this to say:
"The principles on which UNIX is based--simplicity of structure, the lack of disproportionate means, building on existing programs rather than recreating, programmability of the command interpreter, a tree-structured file system, and so on--are therefore spreading and displacing the ideas in the monolithic systems that preceded it. The UNIX system can't last forever, but systems that hope to supersede it will have to incorporate many of its fundamental ideas."
So long as this statement holds true, I'll gladly work with any future system which provides this set of core ideas.
Plan 9 is UNIX-like, but it treats all system objects like files. This includes objects that exist across the network. Because of this, it is very easy to distribute the OS across several machines with it being completely transparent to the user. We set Plan 9 up like this in the OS lab at my college a couple years back, it's very odd.
It probably isn't an OS that will pick up by itself, but it's an example of a way in which an OS can be distributed with a reasonable degree of transparency.
Unix will adapt and grow- it always has.
The Unix that we use now has little in common with the Unix of Thompson and Ritchie. It has been in a state of continual evolution and will remain thus until ^we^ stop caring about it.
Unix has transitioned from PDP-machine language to portable C, moved from minicomputers to microcomputers (and even to mainframes and PDAs), acquired thousands of tools and roles never dreamed of by its creators. The Unix user today has a choice of command line shells, a choice of GUIs, a choice of vendors, even a choice of fundamental architecture as the file systems and such have evolved quite differently amongst the different Unices.
I think we'll see changes in the coming years, but no greater change than we've seen in the last 30. Unix will continue to evolve until the Unix of our children is as unrecognisable to us as the Unix of our fathers. New hardware and new markets only create now opportunities for Unix to grow; it does ^not^ ring its death-knell.
~wmaheriv
~wmaheriv
"Shema Yisroel- Adonai Elohenu, Adonai Echad!"
I think I ran into that at work once... and it pissed me off. Let me explain... although most of our HTTP and DB stuff is served from IBM Big Iron, we do have a few Sun E450s and a couple of Sun E1Ks. The Suns are loaded with Solaris 7, as is to be expected, and most of the operators (myself included) use CDE. So I'm helping someone write some tapes the other day, and the machine had CDE, and so dumb old me (thinking I was in Solaris) started pounding out Unix commands. After nothing worked, I looked at the title bar on the Xterm. It wasn't an Xterm, but a "DECTerm". I looked under the table, and sure enough, there was a DEC Alpha box. Ah.
The point of all that ranting is, yes, I agree, DEC still makes money.
I don't usually go over to that side of the server room, so I looked around a bit after finding the DEC machine, and what I found scared me. A bunch of 10-year old DEC daisy-wheel printers and reel-tape machines. I had no idea the company was using such old crap. What's even more scary is that the tape machines are even needed: some of our clients refuse to rewrite their media distribtution software to accept anything besides large tapes. The more "up-to-date" clients get the same information by FTP, but these old fogeys -- and some of these are household names -- are using completely rotted software.
My horror was complete when I discovered something I never thought anyone from my generation would ever see in use: an NEC Astra machine, from the mid-seventies! Complete with a proprietary (read: not PC-compatable in any fashion) OS, loaded from eight-inch floppies. The machine was used right up to when it died, on January 1, 2000. (70s hardware and softare isn't quite as Y2K compliant as today's ;-)
I ran and hid behind the IBM fridge racks and haven't been over to that corner since.
I guess I started ranting again. Let me try and make a point out of all that... uh, VMS still pisses me off, and DEC can go to hell. :-D
Too hot for CPAN!! Get PerlOS now from
The Unix of today is very different from the Unix first produced in the 1970s. All things either evolve or die. Unix will evolve in some way or another. Just like mainframes, Unix popularity might wan (I think it already did) but it will come back (I think it already is, as Linux and FreeBSD).
Look at it this way Be *had* to put a level of Unix compatibility in BeOS. MacOS is now a variant of Unix and NT evolves more toward Unix every day.
On the other hand Unix/Linux must be lost to the user in the sense that Unix/Linux at the command line or Xlib level just isn't for the user.
EROS is hard to describe. It's capability-based and has orthogonal persistence -- and if that doesn't mean anything to you, I'm not going to be able to explain it much better. Check out the EROS project site and read the documentation. One thing this means that I can explain, though, is this: "snapshots" are taken of the current state of the system every five minutes. If the power goes out, the system is later restored to the last good snapshot. So you could have a text editor window open, never save your file, PULL THE PLUG on your computer and then plug it back it. Within 30 seconds (or however long your BIOS POST takes to complete), your text editor window is back on the screen, and you've lost no more than five minutes of work.
EROS is cool. I think it has potential to be the Next Big Thing. Check it out, download it (it's GPL'ed), play with it. Have fun.
-----
The real meaning of the GNU GPL:
The real meaning of the GNU GPL:
"The Source will be with you... Always."
Fire has lived well beyond the era in which it was born (the era of stone) and has survived and thrived in the era of bronze, but now, many people believe that soon we will see the transition from that era into the age of iron. In that case, has the Slashdot community at large ever considered what the future is? Will Fire finally die off, will it adapt as it did before, or will Fire find a way to remain the same trustworthy system it always has been? And if Fire will come to an end, what does the Slashdot community feel will be its succesor?
--
Infuriate left and right
I don't know what will become of Unix, and whoever says they do is not only a fool but a liar as well.
It was only a few years ago that I was mourning the apparent *nix recession; The only game in town was Xenix/AT&T (and a wee bit of Sun, but not in my neck of the woods), and their products were both languishing and confined to minis.. Linux and the *BSDs were infant, not worth a mention outside of academia. Now it has come full circle. People are using *nix [gasp] ON THEIR DESKTOP! I can run *nix on everything from my multi-million dollar IBM to my $100 garage sale throwaway. And it is adapting again. Embedded Unix? I would have laughed my ass off if someone had suggested running Unix on a microcontroller only a few years ago..
I kind of suspect that *nix is just too adaptable to die, but to say whether or not it will be beaten back onto the mainframes by PalmOS run-PDA's in a decade is impossible.
.sig: Now legally binding!
The advent of distributed, collaborative, pure-hype^H^H^H^Hjava, Active System Blaster 2000 will not make Unix obsolete. Even a revolutionary, fully distributed and autonomous network object system still needs to send bytes over the wire, still needs to access system memory, and still needs to accept input and create output. These are the things that Unix provides. This is why Unix will always be around.
I suppose that a newer operating system could supplant Unix. However, I don't seen any in the near future. Be has a bright future, because it has networking and other nice capabilities. But Unix has the trump card over BeOS: the idea of users. In a distributed network environment, the user concept becomes much more important. Information, files, interface configuration, and many other things are associated with a person. Those things must be secured from other people, and the other people must be secured from them. Therefore any OS that wishes to supplant Unix will need to supply the same kind of protection for users' information.
Cheers,
jwb
That's funny, I thought that Unix was based on a monolithic kernel... silly semantics
I would love to see some of the best coders and operating systems people put together a new OS from scratch using the latest techniques. Ideally this would create an ultra stable and very modular system. I would happily give up some extra CPU cycles for increased modularity and the ability to easily swap in and out OS components so that I could customize my OS to the task at hand. I find it rather ridiculous that I run the same OS when I am playing games, running a web server or working with Photoshop (etc). Rather than having a generically-good OS I would prefer a highly optimized OS for the task(s) at hand.
How often do I run run a game, Photoshop, compiler, and web server concurrently on my home box? Give me adaptibility and modularity or give me death!
Complexity Happens
Unix is not a product, it is a set of evolving ideas. As such, it is not going anywhere but up.
It's just as easy to ask: Is this the end of silverware, or the end of fire, or the end of any old thing that's proven to work... Is genetic engineering the end of agriculture? Is organ transplantation the end of death? Is The Bomb the end of War?
Yeah, there's micro-kernel based OSes out there like Qnx and NeXT, and Hurd... But they're still Unix. The NEW OS X from Apple is more Unix than it's predecessor. NT is more Unix than Win95.. There's new approaches like BeOS.
If one defines Unix in a very constrained way then Unix has been dead for a long time. When AT&T first released System V, and allowed it to mutate, Unix died and was reborn in a variety of ways. Umm, that was what? 1976?
If one defines Unix broadly, as a set of concepts, a layered architecture, levels of abstraction, sets of small uni-purpose tools working together, APIs and things 'grep-like' then guess what? Unix will live forever.
It's a pointless question, not because it's bad, but because it's completely subjective.
-- What you do today will cost you a day of your life.
Unix is too broad a family of systems to "die". It's not like AmigaDOS, or VMS, where there's just one Unix and it can "fall behind". Unix will be replaced, but it'll be replaced by more Unix.
My blog: http://www.seebs.net/log/ --- My iPhone/iPad app: http://www.seebs.net/seebsfrac/
I have seen the future. The future is filled with operating systems that demand that their system binary directories be writable to all, else they fail.
I have seen the future. It has an operating system whose applications, even those written by the OS authors, can ignore the TEMP environment variable and scribble temporary files where-ever they want and fail to operate if they can not do as they wish.
I have seen the future. The future is filled with continued support for legacy drive letters and 8.3 file names with rename.ini kludges during installs.
I have seen the future. The future is an operating system where you have to shell out serious dollars to buy third-party utilities to get around security deficiences in the design of the OS. After all, why fix that pesky virus problem when so many anti-virus companies would go under without that revenue stream coming in.
I have seen the future. It has operating systems whose file systems don't support the concept of being able to delete a file yet have it not actually get deleted until the last remaining process that has it open dies first. For doing so would prevent the need to put dynamic link libraries into a temporary space and have them "installed" during a reboot. Reboots are good. They clear up sloppy OS design problems.
I have seen the future. The future is filled with grand marketing schemes like "Administration Kits" that promise all kinds of abilities to deploy corporate policy restrictions to users yet neglect to mention that these policies are applied by a program that has to write to an area of the OS that was previously recommended be R/O due to the security problems it causes if it is R/W, hence making the ability to make the scheme work as advertised impossible for all users who do not have full permissions to their workstation.
The future, my friends, is about image and not function. UNIX is ugly. It's doomed.
Or in other words, resistance is futile. At least that is what they want us to believe... :)
There's no reason to "convert" most of our existing Internet/networking infrastructure to anything else in the forseeable future. I agree with the prediction that things will end up moving more towards centralized computer resources, and lesser-equipped but ubiquitous terminals to access those resources, but Unix will still be there in some fashion.
Who's to say Unix won't be the OS that drives the appliances?