|
| Sun, Sep 07th | home | browse | articles | contact | chat | submit | faq | newsletter | about | stats | scoop | 17:34 UTC |
|
login « register « recover password « |
| [Article] | add comment | [Article] |
The ubiquity of PC hardware has been mirrored in the software market, where a handful of operating systems are firmly entrenched and new systems find it difficult to attract interest to themselves. In today's editorial, Rob Pike of Bell Laboratories gives his reflections on the state of systems software research, drawing on his own experiences working on Plan 9 and Inferno. Copyright notice: All reader-contributed material on freshmeat.net is the property and responsibility of its author; for reprint rights, please contact the author directly. A PolemicThis talk is a polemic that distills the pessimistic side of my feelings about systems research these days. I won't talk much about the optimistic side, since lots of others can do that for me; everyone's excited about the computer industry. I may therefore present a picture somewhat darker than reality. However, I think the situation is genuinely bad and requires action. Definitions
ThesisSystems software research has become a sideline to the excitement in the computing industry. When did you last see an exciting non-commercial demo? Ironically, at a time when computing is almost the definition of innovation, research in both software and hardware at universities and much of industry is becoming insular, ossified, and irrelevant. There are many reasons, some avoidable, some endemic. There may be ways to improve the situation, but they will require a community-wide effort. A Field in Decline
"Who needs new operating systems, anyway?" you ask. Maybe no one, but then that supports my thesis. "But now there are lots of papers in file systems, performance, security, Web caching, etc.," you say. Yes, but is anyone outside the research field paying attention? Systems Research's Contribution to the Boom
Hardware has changed dramatically; software is stagnant. Where is the Innovation?Microsoft, mostly. Exercise: Compare 1990 Microsoft software with 2000. If you claim that's not innovation, but copying, I reply that Java is to C++ as Windows is to the Macintosh: an industrial response to an interesting but technically flawed piece of systems software. If systems research was relevant, we'd see new operating systems and new languages making inroads into the industry, the way we did in the '70s and '80s. Instead, we see a thriving software industry that largely ignores research, and a research community that writes papers rather than software. LinuxInnovation? New? No, it's just another copy of the same old stuff. OLD stuff. Compare program development on Linux with Microsoft Visual Studio or one of the IBM Java/Web toolkits. Linux's success may indeed be the single strongest argument for my thesis: The excitement generated by a clone of a decades-old operating system demonstrates the void that the systems software research community has failed to fill. Besides, Linux's cleverness is not in the software, but in the development model, hardly a triumph of academic CS (especially software engineering) by any measure. What is Systems Research these days?Web caches, Web servers, file systems, network packet delays, all that stuff. Performance, peripherals, and applications, but not kernels or even user-level applications. Mostly, though, it's just a lot of measurement, a misinterpretation and misapplication of the scientific method. Too much phenomenology: invention has been replaced by observation. Today we see papers comparing interrupt latency on Linux vs. Windows. They may be interesting, they may even be relevant, but they aren't research. In a misguided attempt to seem scientific, there's too much measurement: performance minutiae and bad charts. By contrast, a new language or OS can make the machine feel different, give excitement, novelty. But today that's done by a cool Web site or a higher CPU clock rate or some cute little device that should be a computer but isn't. The art is gone. But art is not science, and that's part of the point. Systems research cannot be just science; there must be engineering, design, and art. What Happened?A lot of things: PCHardware became cheap, and cheap hardware became good. Eventually, if it didn't run on a PC, it didn't matter because the average, mean, median, and mode computer was a PC. Even into the 1980s, much systems work revolved around new architectures (RISC, iAPX/432, Lisp Machines). No more. A major source of interesting problems and, perhaps, interesting solutions is gone. Much systems work also revolved around making stuff work across architectures: portability. But when hardware's all the same, it's a non-issue. Plan 9 may be the most portable operating system in the world. We're about to do a new release, for the PC only. (For old time's sake, we'll include source for other architectures, but expect almost no one will use it.) And that's just the PC as hardware; as software, it's the same sort of story. MicrosoftEnough has been said about this topic. (Although people will continue to say lots more.) Microsoft is an easy target, but it's a scapegoat, not the real source of difficulty. Details to follow. WebThe Web happened in the early 1990s and it surprised the computer science community as much as the commercial one. It then came to dominate much of the discussion, but not to much effect. Business controls it. (The Web came from physicists and prospered in industry.) Bruce Lindsay of IBM: HDLC ~= HTTP/HTML; 3270s have been replaced by Web browsers. (Compare with Visicalc and PC.) Research has contributed little, despite a huge flow of papers on caches, proxies, server architectures, etc. StandardsTo be a viable computer system, one must honor a huge list of large, and often changing, standards: TCP/IP, HTTP, HTML, XML, CORBA, Unicode, POSIX, NFS, SMB, MIME, POP, IMAP, X, ... A huge amount of work, but if you don't honor the standards, you're marginalized. I estimate that 90-95% of the work in Plan 9 was directly or indirectly to honor externally imposed standards. At another level, instruction architectures, buses, etc. have the same influence. With so much externally imposed structure, there's little slop left for novelty. Even worse, commercial companies that "own" standards, such as Microsoft and Cisco, deliberately make standards hard to comply with, to frustrate competition. Academia is a casualty. OrthodoxyToday's graduating PhDs use Unix, X, Emacs, and Tex. That's their world. It's often the only computing world they've ever used for technical work. Twenty years ago, a student would have been exposed to a wide variety of operating systems, all with good and bad points. New employees in our lab now bring their world with them, or expect it to be there when they arrive. That's reasonable, but there was a time when joining a new lab was a chance to explore new ways of working. Narrowness of experience leads to narrowness of imagination. The situation with languages is a little better -- many curricula include exposure to functional languages, etc. -- but there is also a language orthodoxy: C++ and Java. In science, we reserve our highest honors for those who prove we were wrong. But in computer science... Change of scaleWith so many external constraints, and so many things already done, much of the interesting work requires effort on a large scale. Many person-years are required to write a modern, realistic system. That is beyond the scope of most university departments. Also, the time scale is long: from design to final version can be five years. Again, that's beyond the scope of most grad students. This means that industry tends to do the big, defining projects -- operating systems, infrastructure, etc. -- and small research groups must find smaller things to work on. Three trends result:
I believe this is the main explanation of the SOSP curve. UnixNew operating systems today tend to be just ways of reimplementing Unix. If they have a novel architecture -- and some do -- the first thing to build is the Unix emulation layer. How can operating systems research be relevant when the resulting operating systems are all indistinguishable? There was a claim in the late 1970s and early 1980s that Unix had killed operating systems research because no one would try anything else. At the time, I didn't believe it. Today, I grudgingly accept that the claim may be true (Microsoft notwithstanding). A victim of its own success: portability led to ubiquity. That meant architecture didn't matter, so now there's only one. Linux is the hot new thing... but it's just another Unix. Linux -- the Academic Microsoft WindowsThe holy trinity: Linux, gcc, and Netscape. Of course, it's just another orthodoxy. These have become icons not because of what they are, but because of what they are not: Microsoft. But technically, they're not that hot. And Microsoft has been working hard, and I claim that on many (not all) dimensions, their corresponding products are superior technically. And they continue to improve. Linux may fall into the Macintosh trap: smug isolation leading to (near) obsolescence. Besides, systems research is doing little to advance the trinity. StartupsStartups are the dominant competition for academia for ideas, funds, personnel, and students. (Others are Microsoft, big corporations, legions of free hackers, and the IETF.) In response, government-funded and especially corporate research is directed at very fast "return on investment". This distorts the priorities:
The metric of merit is wrong. Stanford now encourages students to go to startups because successful CEOs give money to the campus. The new president of Stanford is a successful computer entrepreneur. GrandmaGrandma's online. This means that the industry is designing systems and services for ordinary people. The focus is on applications and devices, not on infrastructure and architecture, the domain of systems research. The cause is largely marketing, the result a proliferation of incompatible devices. You can't make money on software, only hardware, so design a niche gimmick, not a Big New Idea. Programmability -- once the Big Idea in computing -- has fallen by the wayside. Again, systems research loses out. Things to DoStartups are too focused on short time scale and practical results to try new things. Big corporations are too focused on existing priorities to try new things. Startups suck energy from research. But gold rushes leave ghost towns; be prepared to move in. "Why do you use Plan 9?" Go back to thinking about and building systems. Narrowness is irrelevant; breadth is relevant: it's the essence of system. Work on how systems behave and work, not just how they compare. Concentrate on interfaces and architecture, not just engineering. Be courageous. Try different things; experiment. Try to give a cool demo. Funding bodies: fund more courageously, particularly long-term projects. Universities, in turn, should explore ways to let students contribute to long-term projects. Measure success by ideas, not just papers and money. Make the industry want your work.
Things to BuildThere are lots of valid, useful, interesting things to do. I offer a small sample as evidence. If the field is moribund, it's not from a lack of possibilities. Only one GUI has ever been seriously tried, and its best ideas date from the 1970s. (In some ways, it's been getting worse; today the screen is covered with confusing little pictures.) Surely there are other possibilities. (Linux's interface isn't even as good as Windows!) There has been much talk about component architectures but only one true success: Unix pipes. It should be possible to build interactive and distributed applications from piece parts. The future is distributed computation, but the language community has done very little to address that possibility. The Web has dominated how systems present and use information: the model is forced interaction; the user must go get it. Let's go back to having the data come to the user instead. System administration remains a deeply difficult problem. Unglamorous, sure, but there's plenty of room to make a huge, even commercial, contribution. ConclusionsThe world has decided how it wants computers to be. The systems software research community influenced that decision somewhat, but very little, and now it is shut out of the discussion. It has reached the point where I doubt that a brilliant systems project would even be funded, and if funded, wouldn't find the bodies to do the work. The odds of success were always low; now they're essentially zero. The community -- universities, students, industry, funding bodies -- must change its priorities. The community must accept and explore unorthodox ideas. The community must separate research from market capitalization. Copyright © 2000 Lucent Technologies Inc. All rights reserved. Rob Pike (rob@plan9.bell-labs.com), well known for his appearances on "Late Night with David Letterman", is also a Distinguished Member of Technical Staff at Bell Laboratories in Murray Hill, New Jersey, where he has been since 1980, the same year he won the Olympic silver medal in Archery. In 1981 he wrote the first bitmap window system for Unix systems, and has since written ten more. He was a principal designer and implementor of the Plan 9 and Inferno operating systems. With Bart Locanthi he designed the Blit terminal; with Brian Kernighan he wrote The Unix Programming Environment and The Practice of Programming. A shuttle mission nearly launched a gamma-ray telescope he designed. He is a Canadian citizen and has never written a program that uses cursor addressing.
T-Shirts and Fame!We're eager to find people interested in writing editorials on software-related topics. We're flexible on length, style, and topic, so long as you know what you're talking about and back up your opinions with facts. Anyone who writes an editorial gets a freshmeat t-shirt from ThinkGeek in addition to 15 minutes of fame. If you think you'd like to try your hand at it, let jeff.covey@freshmeat.net know what you'd like to write about. [Comments are disabled]
[»]
I agree I think most people do not understand what Mr. Pike really intended to
say.
[»]
Maybe it's time than to move on to other fields. I can be short about this, the industry is maturing...
[»]
So what? My car still runs an internal combustion engine, developed long before I was born. It's continually tweaked and gets better gas mileage etc. over time. Eventually it'll be replaced by something less polluting, but until it becomes a problem, there isn't much incentive to replace it. I'd like to see truly revolutionary stuff coming out of research, but much of the funding is going to solve current "problems", or what "we" think are current problems. The point is, we want fast access to the web NOW. So research goes into web caching etc. to provide for those needs because the market demands it. What are you driving these days? I'll bet whatever it is has an internal combustion engine...
[»]
Rob Pike on Innovation -- Right On As a former Forth programmer (Forth having become more or less roadkill under the onslaught of the vastly-less-suitable-for-embedding C, C++ and Java), I find the illustrious Rob Pike's article right on. Of course, there still exist heterodox systems to play with. IBM VM/ESA and IBM AS/400 come to mind.
[»]
"Research" vs. "Pure Research on Operating Systems" Rob is always interesting to read, listen to, or talk to. And often
controversial.
[»]
No vacuum of ideas; we just need to get to work Let's face it - computers suck. They're useful, but very hard to use. There's a lot of work to be done in almost every facet of CS - operating systems, networking, file systems, programming environments, etc. That doesn't mean that there's no room for hot new ideas, but right now implementing them requires putting up with all the other problems. Looking for a hot new idea? Try either of these papers:
And if you're rather fix some existing problems that chase after some kind of bleeding edge technology, I'd be happy to discuss this document, too :-)
[»]
because of what they are not ... Without having to become a pro-Microsoft advocate, I think that most people would agree that Linux's main appeal comes from the fact that it developed on the fringe without any commercial help. It attracts users/ developers who are willing to get it to work. Linux's future success and survival will depend on its widespread adoption by end-users. It's important to note, that for them to adopt Linux, the novelty of something non-microsoft that requires larval time to set up and get working just won't be enough.
[»]
The Language Defines the OS I have also been struck by how similar many OS's are. The Mach kernel, for instance, is said to be completely different from UNIX because of its microkernel approach. And heated discussions, like the famous one between Linus Torvalds and Andy Tanenbaum, have been made about whether microkernels are better than monolithic kernels like Linux. But when you look at it, much of the Mach research and applications have been dealing with making UNIX servers. And the messaging system is based on procedure calls just like other UNIX system calls. And threads in Mach follow the same process model as UNIX with a kernel and a user space stack. My perception is that all OS's written in C will be more or less similar to UNIX. Because C and UNIX are made for each other. And this is not necessarily bad, as long as we like *NIX systems! But I believe that if one really wants to make a radically new system, one must also design a language to match it. My "little" pet project is therefore to first write a compiler for my new language and then use it to create a working system. I expect to release alpha about 2030!! The new language is object based. That means no stack. If we need an activation record it must be allocated in the object. New processors have 32-64 registers and most of the time everything can fit in here. This solves the problems with kernel and user space stacks, stack detachment / attachment, memory use in massively multithreaded systems etc. Moreover I want to make a distributed system with global shared virtual memory. A pointer to an object is thus usable from the entire system. If a thread takes a segment fault, the kernel checks if the object at the faulting virtual address contains a capability to enter a new protection domain. If it does, the thread is transferred to that domain and execution continued. The receiving object must then perform authentication. This makes remote messaging completely transparent. And objects can be reached in other user-spaces or in the kernel-space. This will be a system which is built on object-oriented programming from the ground and up. As opposed to e.g. MacOS X where objects are a high level abstraction. That's my humble proposal for something new!
[»]
True, but there is reason for optimism. First off, whether one agrees with Rob Pike or not, do not dismiss him. His work on Unix/Plan9/Inferno/... speaks for itself. The Bell Labs research group consistently produces powerful, compact solutions, and Rob Pike's contributions are legion. Compare Limbo/Dis/Inferno to Java/JVM/JavaOS. I have an enormous amount of respect for Rob Pike. I mostly agree with the points made. But the gloom and doom is overstated. Research is no longer the exclusive province of MIT, CMU, Stanford, Bell Labs, Xerox PARC, and IBM. The world had changed. Pike says:
"There was a claim in the late 1970s and early 1980s that Unix had killed operating systems research because no one would try anything else. At the time, I didn't believe it. Today, I grudgingly accept that the claim may be true (Microsoft notwithstanding)." This, I say without reservation as a Unix user since 1978, is entirely the fault of AT&T and the subsequent Unix license holders. (The lawyers, not Pike!) It did not have to be this way. The commercialization and fracture of Unix in the 1980's killed operating systems research. Mainstream Unix has not improved since the days of BSD Unix. Sure, Ritchie created Streams, and it was good, but SysV inherited bastardized, all-things-to-all-people STREAMS. Then the SysV people ignored the whole Unix philosophy and created SysV IPC. Yuck! Other than that, there have been few significant changes in Unix. Until GNU/Linux mindshare exploded, the trend was for *any* academic research in computer science to be routed through the university intellectual property lawyers so that they could try to make a buck off of it. And a lot of it was being done on NT, under non-disclosure. One can't have it both ways: either one treats OS research as an academic discipline, share results, and build on the work of others, or one patents and commercializes everything. The same is true of most other scientific and artistic inquiry. Lawyers are a friction that retard innovation. "With so many external constraints, and so many things already done, much of the interesting work requires effort on a large scale. Many person-years are required to write a modern, realistic system. That is beyond the scope of most university departments." This is true. But today, in addition to operating systems, we have hosted operating environments: Java, Inferno, Mozilla, ActiveX, ... These *can* be handled by one person. (Hell, look at the Java VM -- one could do something better as a class project. :-) One thing that would enormously aid kernel work is the completion of the Plex86 project, and its extension to all common architectures (PowerPC, SPARC, Alpha, MIPS, StrongARM.) Want to lend your considerable talents to a worthwile project, Mr. Pike? Jump in and help bring the Plex86 (www.plex86.org) team up to speed building a free VM system. People will be much more inclined to work on Plan 9, or GNU Hurd, EROS, TUNES, etc., if they can run them in a window on Linux, crash them at will, move files back and forth, etc. Linux developers have another solution at the moment -- a user-mode port of Linux to its own API. The port will probably get merged into the source tree some time in 2.5.x. "Linux's success may indeed be the single strongest argument for my thesis: The excitement generated by a clone of a decades-old operating system demonstrates the void that the systems software research community has failed to fill." I remember in college how I was eager to do *real* physics research. I took Quantum Field Theory early in my undergraduate career, then marched into the office of one of the bright lights of that decade and asked for something to work on. What did he say? "Well kid, can you do QCD calculations yet? No? Well come back when you can and we can talk." What's the point of this example? Well, one has to crawl before one can walk. Students re-implemented Unix because it was well-understood. Don't denigrate them for doing the exercises at the back of the book. Linux has proven to be maintainable and extensible, which is more than can be said for IRIX, say. Collaborative, evolutionary development is still in its infancy. Sustaining it requires that stakeholders use what they develop. (Yes, eat their own dog food. :-) That means the system must be usable for everyday, real-world tasks. People contribute what they can, when they can -- few individuals (unlike you) can design and write an operating system from scratch. For most, that means reusing existing freely available POSIX software. Again, the free software movement had to build its own infrastructure. GNU Hurd had an ambitious design, and ran into significant problems. Linux took a very conservative design, and produced something usable. The Linux kernel is evolving in interesting directions (towards Plan 9!): pseudo filesystems are proliferating, like procfs, devfs, shmfs, usbfs, ...; Al Viro has implemented multi-mount, union mount, and has laid the groundwork for mount traps. If he gets his way in 2.5.x, Linux will allow per-process namespaces. Linux already has a threading model built on a Plan 9-like clone(). POSIX-thread brain-damage lives out is userland, as a library. Increasingly, POSIX compatibility is done in glibc (as it was supposed to be done in HURD). Perhaps some day we can get rid of those unsafe system calls. This is being done in an *evolutionary* way -- e.g., the Unix security model (esp. suid) and per-process namespaces interact in difficult ways. To implement secure applets, one wants to turn off the system calls that manipulate other namespaces, such as socket(). All of this is being worked on -- Linux is adopting the best practices of other systems. Even so, Linux is not the be-all-and-end-all of OS's, and it is not intended to be. "But technically, they're not that hot. And Microsoft has been working hard, and I claim that on many (not all) dimensions, their corresponding products are superior technically. And they continue to improve." One thing that Microsoft can be credited with is an attempt to build components. Unfortunately, they tied it to Microsoft-compiler virtual tables, and forget security. It is also butt-ugly, as are may of their API's. These are difficult things to fix later. What makes the pipe model work is the common currency: files and strams of bytes, newline-terminated text. We have yet to provide a "currency" at a higher level that provides the facilities of pipes and command lines (namely pluggability and configurability). This is partly a language problem -- as long as programs are linear streams of text in multiple languages that are difficult to parse and compose, it is difficult to move above this low-level currency. My best guess is that the answer lies in more reflective, introspective systems, ala TUNES. Today we have scripting (in Scheme, Python, and other languages). Microsoft is making an effort in this area with Intentional Programming. An explicit goal is to be able to import existing (C, Fortran, ...) code and make good use of it. I have no idea whether their work is worthwhile. But the need to capture intention, no syntactic artifact is clearly one of the things holding back the development of better tools. Direct manipulation GUI's tend to convey even less intention than CLI: at least CLI's can be parameterized with variables and scripted. "To be a viable computer system, one must honor a huge list of large, and often changing, standards: TCP/IP, HTTP, HTML, XML, CORBA, Unicode, POSIX, NFS, SMB, MIME, POP, IMAP, X, ..." As you and your colleagues so elegantly wrote in "The Hideous Name" and "The Use of Name Spaces in Plan 9", the proliferation of namespaces in Unix and other operating systems and tools has been one of their greatest failings. And yet committees everywhere are proliferating new namespaces and rotten protocols and APIs. There is only one solution to this, and it is to reuse the work of others. As you know, this is not as great an issue with Plan 9, say, as it can use the resources of another system (say Linux or NT) as if they were local. Again, if something like Plex86 were available, it could reuse them *in the same box*. I hope that the team at Bell Labs will become more engaged with open projects. Lead, and others will follow. Linus has shown how -- make people stakeholders. Read linux-kernel and you see that despite strong disagreement and nasty flamewars the same people continue to participate. Why? Because they are stakeholders in Linux. You folks are expert architects and engineers -- create a framework in which others can develop an expanding economy of tools. Allow people to become stakeholders. Help people see your vision. You can design much more than you can build alone. Bell Labs did this in the seventies. It can do it again. Without the lawyers this time. What happened to Inferno is a disaster. Don't repeat that mistake.
Regards,
[»]
Operating Systems Research I find it interesting that so many of the commenters fail to understand
what Mr. Pike is saying.
[»]
New operating Systems I think the point has been missed about the embedded OS market, very often
in application of a new processor a new OS will be evolved to handle it and
be taylored to the end product. I have been involved with this a number of
times and know of many more instances.
[»]
Hey, a system is a system... System research is irrelevant? Ok.I think you should understand that at this point, innovations in a field such as Operating Systems cannot be driven by research alone, their is a cultural path to follow, and the origin of a mutation will probably be UNIX.But what is a system ?A system, should it be biological or electrical needs to fill some defined functions. UNIX has the advantage of providing a well known interface for things very important such as process intercommunications and memory allocations. Some modules are still needed to control peripherals... Theese concept might dissappear in the future, but computer hardware uses memory devices and CPUs and this is not about to change. Some new approaches ( taken from distributed systems architecture ) like I20 are being implemented now : that's a way to make improvements. slowly but surely. By the way, clustering and such technics are now common and I think the real improvement in systems will probably rely more on inter-system relations than on single system rework, that's how nature reached current complexity levels!A word on interfaceBut still, a system must remain useable. That's why some primitive interface like the console terminal, shall remain or be replaced let s say by a voice recognition/syntesis system. A nice way to remain useable and to facilitate the user's life, might be to present him a well known interface, that's why we'll see user's shell for many years to come. Don't you tell anyone : Linux interface is not as good as Windows's. Linux interface is what you want it to be, don't confuse a poorly written or badly configured window manager or shell with Linux.
[»]
Irrelevance is only the first requirement! This article has triggered many thoughts in my mind. By the way of
background: I have a Ph. D. in theoretical Physics, but after a few years
in the field I decided that I (1) LOVED Physics as a passion and an
obsession, but (2) HATED research as a practical career path. So I
committed research-suicide by choosing perishment over publication and was
(more or less) happy ever after.
[»]
All rhetoric, no substance. This is certainly an interesting subject that needs to be addressed.
However, I don't think this author is the one to do it. He merely recycles
a lot of tired pro-Microsoft rhetoric.
[»]
Well, I'm for hire :) "There has been much talk about component architectures but only one
true success: Unix pipes. It should be possible to build interactive and
distributed applications from piece parts. "
[»]
I disagree with a twist I disagree with the author strongly.
[»]
Stagnation and ivory tower computing Hah! The idea ivory tower computing useless outside of acadamia is absurd.
Where do you think all the core ideas that your practical computing is
based on are from? The most well-known of these such as the mouse, the
GUI, and ethernet from Xerox PARC were never sold commercially initially.
When was the last major software innovation? The computer industry is
horribly stagnated due to the deathgrip of wintel.
[»]
Agree; go larger I've had thoughts in the same vein for many years, but I think Pike underestimates the issue by narrowing to systems research. I would level coincident argument against most fields of computer science, where something less than research is occuring. I suppose the factors cited (principly money) have made lazy what work gets published and venued. But I suspect the problem far larger and reasons more insidious -- that is, complex; it's why I left academia. Here's hoping we're at the end of this (20-year?) cycle.
[»]
Computing for its own sake. Ivory tower trash. Computing for its own sake, pure and simple. My
personal favorite piece being the whining about startups doing
"practical" things instead of "new" things. LOL!
[»]
I strongly disagree. I own a tool box. In that tool box is a hammer. Much like any other
hammer, probably like one in your toolbox. Funny how no-one does any
research into new hammer designs anymore.
[»]
What's new and what's limiting One of the first things I belive that limits people writing new and better
OSes is the mass ammount of hardware out there. If I want to write a brand
new innovative(tm) OS and I want it to gain widespread acceptance, then I
will have to have printer drivers, video drivers, soundcard drivers, dvd
drivers, scsi drivers, etc. That's a lot of work that most people can't go
through themselves. Even corporations have a hard time with this. If I
heard correctly, Microsoft keeps a giant room full of old and abandoned
hardware just so their latest OS can be sure to run the 2400 baud modem I
have sitting in a bag by my 386.
[»]
Correct and Incorrect I beg to differ too. All have to agree that the way research is taking
place is different. In the 70s since there was no standard OS and people
experimented with various OSs just to see explore the possibilities. Now, I
think we are much more clearer as to what we want. Hence, in order to
continue from where we are, people are adopting the *nix model to start
off.
[»]
Is Systems Software Irrelevant? Yes, but only temporarily Rob Pike's points are valid, but I would like to point at a combination of
contributing factors to explain why:
[»]
Really like Plan-9, Opened me up to Rob Pikes points presented here I recently tried Plan-9, I have been using Linux since 1995 and have tried about every operating system I could. Plan-9 was proof to me of what this article is trying to point out, that not much change has occured to OS's at all since UNIX. I have also come to similar conclusions about the reasons behind this although I must say that Linux is much more viable to me as the current tool to get the job done. I think that this is complicated by the business environment today being stuck with Windows, so alot of talented people are sucked into the 'I only work with Microsoft Products' syndrome. I don't think Linux is the only answer, I really think Linux should adopt the Networking ability Plan-9 has demonstrated. I also think Window managers like 81/2 (too bad Plan-9 is not here to display that properly:) and rio/acme are very amazing in their goals compared to any others out there. But I feel there is a need to tie anything new into the current or else no one will dare adopt it early on. From reading many of the Plan-9 documents I think it is really an amazing thing at Bell Labs to be using Plan-9 in production already which really shows the true talent of people like Rob Pike there. I think more people should look into Plan-9, even if Richard Stallman says the license is evil, since some mind expansion needs to occur in this field. I still emphasize the importance of Linux still in it's performance and functionality which without I don't know if I would be here writing this today.
[»]
Operating Systems? I beg to differ. I think it is not that there is no more
"Systems" research, but that Systems have changed. We have
created something, in Linux, and maybe Microsoft have an analog, which
represents an Operating System that Works. Its not brilliant, I'm sure
Linus and Bill Gates would happily admit that, but it works. The magic is
that so much that was formerly "Operating System" territory, such
as his example of BSD pipes, video APIs and GUIs, has become application
territory, witness Corba, OpenGL, and that beautiful madness that is X
windows.
[»]
Author is correct and incorrect He is correct that he has a dark vision.
[»]
I would be impressed ... I would be impressed, and surprised, if anyone started a research project on the design of a completely new operating system, potentially dependant on a new type of interface device system, that broke all the current rules. PCs broke the client-server rules. Windows with direct-x, etc. has broken more rules. Why not start over again and break them all? Keyboards basically suck as an I/O device for computing outside typing letters. I understand that many people in many offices do type letters for a living ... but the mouse is their only 'assistant' to making their computer work. Call it something new. Do it differently. If its too expensive to implement, think of IBM's "I can see the need for a few computers in the world" comments and realise that by the time its ready for market, it'll be cheap.
[»]
When I was your age, we used to do fundamental OS research. Oh come one! This guy's arguments don't make any sense whatsoever. It is
laughable to say that there is no reaseach going on because people have
standardized on unix/linux. I am amazed that this guy has given MS a clean
bill of health in this regard. At the risk seeming to protest too much let
me draw your attention, gentle reader, to the following points:
[»]
Sounds about right This is really an interesting point - and I'll add a little bit of my own opinion to it. Seems to me that there's two kinds of software packages which get put together:
Now it seems that we get a lot of expansion and not much innovation, and GNU, Linux and many others are the great expanders right now. GNU's stated aims (AFAIK) is to replace UNIX. It's doing it bigger, better and smarter and it's giving people freedom, but it's not innovating, it's just expanding. I love GNU, but it's not gonna be a bright new world if that's all there is. (Ditto MS if you want a balanced argument) The problem as I see it is that many people want one platform, one standard, one programming language, one interface and one system for everything. Now, before anyone raves about all the choice out there (remember, I've seen it too :)), take a step back and ask "How many are really different?". Think about it. Much of the software being made for the Linux market is just expansions of windows and UNIX software. Now would be a good time for some people to get together, take a step back, and walk off at a right angle to the way we're all facing. Get your blinkers off.
[»]
OS is not hot. Actually writing new OS is not hot. The market look full. You can't push new OS and have some sucess. Nowdays interesting code whas written in the apps layers, and in the docs layer (web docs). OS is not more the hot stuff!.. and, of course, Hardware is not hot. Live with it, or die. Of course, some people still design new ideas, and advanced features, cool features, byzarre features. But not all people want to drive a experimental flying car, but a normal combustion car. Actually OS need to interface with toons of not-geek people that have not skills to swich is OS, and dont want to re-learn how to use a computer. My english is crap.
|