jose parinas writes ""Microsoft Research has published the first details of a wholly new operating system under development called Singularity, designed new from the ground up, built on a new language and designed with emphasis on dependability instead of performance.""
- at most OS jobs like threading/process creation, Singularity is at least twice as fast as linux, Linux is very fast at process creation, while XP is good at threads
- in File Operations FreeBSD and Linux beat XP and Singularity at random reads
- in File Operations XP beats Linux and Singularity at sequential reads, with the exception of FreeBSD being fastest if blocksize is high(and very bad for small blocksize)
- linux executable size are larger than these of the other OSes, (whatever that means, more good coding, or less bad code SCNR)
Please bear in mind that a benchmark does not it tell whether the "slower" OS actually invested more time in doing some smart stuff that pays off in some other way.
I'll admit that I don't know much about kernels, but I'll try to summarize. The chart compares performance between the new OS Singularity, FreeBSD 5.3, Redhat Fedora Core 4 (kernel version 2.6.11-1.1369_FC4), and Windows XP (SP2). The goal of the chart, stated in the paragraphs above, is to show that the new Singularity architecture does not suffer any performance hits in order to make a more secure system.
The table shows the CPU cost of six different types of operations: "Read Cycle Counter", "ABI Call", "Thread yield", "2 thread wait-set ping pong", "2 message ping pong" and "Create and start process". For the first one, Windows seems to kick the butt of all others handily with Singularity being the worst of the bunch. For "ABI Call", each OS used different system calls that "operate on a readily available data structure in the respective kernels." The system calls seem to be completely different so I don't know if this test is valid, but the results show Singularity an order of magnitude more efficient than the others, with Linux beating Windows by a considerable margin and Windows beating FreeBSD by an equally considerable margin.
For the "thread yield" tests, FreeBSD & Linux are equal, Windows beats them by a reasonable percentage and Singularity is more than twice as fast as the Unixes. For the "2 wait-set ping pong", which measures "the cost of switching between two threads in the same process through a synchronization object", the chart shows that Singularity is somewhat more efficient than Windows and Windows is more than twice as fast as the Unixes. For the "2 message ping pong", which shows the cost of sending a 1-byte message back and forth between two processes, Singularity is 4 times more efficient than Linux, which is somewhat better than Windows, which kicks FreeBSDs butt decisively.
Lastly, for "Create and start process", Singularity is twice as fast as Linux, which is about 50% faster than FreeBSD. Windows comes out 7 times slower than Linux on this test. I don't know how much that matters in the real world since creating and starting a process is not something that is done hundreds of times a second.
All that said, it should probably be pointed out that there are many ways to measure an OS. The M$ guys may have simply picked the ones that support their "see we don't suck" position. And given that Singularity is not a complete OS, I would expect that more overhead will be added later that will bring down these numbers. I guess we'll see.
> We're sorry -- you have reached this page because a web server error occurred. There are many possible causes for this type of error, so we can't be more specific.
Current setup was slashdotted within six comments.
Future setup will place an "emphasis on dependability instead of performance".
I'd say it sucks galactic black holes through buckytube, but that still wouldn't approach the Singular suckitude we're looking for.
Premature optimization is the root of all blah blah blah. The web server isn't be running on Singularity anyway. OpenBSD shares a similar (albeit more human than mechanical) focus on correctness over performance, but nobody seems to think it is doomed to failure because of that. I think "Singularity" is not worth a hill of beans, but mostly because its novel ideas have already been tried and made little headway. Java systems have applied similar approaches to securing multiple processes within an address s
I saw and worked on this a bit while interning at Microsoft. Although what I say is my own and doesn't reflect Microsoft in any way, it's important to remember that this is a research operating system, so its not challenging or replacing Windows. They have some very good, solid ideas. I hope that, someday, it will be released.
As far as I can see, the language in question is not exactly "new" anymore, being C#. In other words, this is sort of a demo OS written in a managed-code environment as a way to test various OS principles (which in this case sound a lot like the virtualization stuff that so many other vendors are also doing). Singularity seems like the equivalent of writing an operating system in Java for a school project.
As far as I can see, the language in question is not exactly "new" anymore, being C#.
Actually its an extended version of Spec# which is in turn an extension of C#. It might help to acquaint yourself with what that actually means. The first significant different is that Spec# allows for explicit pre and post conditions and other formal specificiation syntax, and hence allows for model checking, extended static checking, and formal proof if required.
It's more like someone writing an OS in BitC [coyotos.org] because it can be formally verified and hence be more secure. It does make sense, and there is good logic behind it. Comparing it to an OS in Java is just silly. Comparing it to an OS written in Java using JML [iastate.edu] and associated theorem provers [key-project.org] is getting a little closer. Of course that doesn't address the issue of designing the OS to be more secure and reliable from the outset, and not just relying on formal verification.
If you actually bothered to read some of the material on Singularity you would see that it is an ambitious, but remarkably interesting and promising project. It is also, I would expect, something that will permanently remain buried in MS research like so many other projects. I would be interested in seeing a good open source equivalent though - such a project might have some hope of surviving.
Check out EROS [eros-os.org] for an implementation that exists now. Granted, EROS itself is no longer being developed, it was definitely around before this OS, and EROS has spawned some new projects (look on the link for links).
EROS uses C and relies on memory management hardware for isolation. EROS also can't analyze or verify code it loads.
Singularity uses C# and does not use memory management hardware for protection; it guarantees isolation via runtime checks, and it can perform extensive code analysis on load.
I don't know whether Singularity is going to make it, but I have used and developed on systems like it (the idea isn't new), and it is a lot nicer than either UNIX kernels or EROS-like kernels.
Singularity is built on a microkernel. EROS is built on a microkernel.
You completely misunderstood the point of Singularity. The point of Singularity is that all code (except OS code) is subject to verification, and any code that isn't verifiable is runtime bounds-checked. Furthermore, in Singularity, inter-process communication is structured, such that the OS can verify IPC traffic. Furthermore, the languages for Singularity are strongly typed at the object code level, and garbage collection is performed by the OS--explicit deallocation is impossible for any application. These facilities make it impossible for any application to have buffer overruns, segfaults, or overruns of other apps' data--as a result, all applications can run in ring 0 and virtual memory is not required.
All that has nothing whatsoever to do with Eros. The two projects are not even similar.
Of course a verifier could be written as an application for Eros (or for DOS, for that matter). That statement is like saying that C++ is no different from assembly, because they're both built atop similar hardware and can be used to implement the same things.
Not that you know what developing on an EROS-like system is like, considering it's a completely revolutionary architecture comparable only to KeyKOS from which it's derived.
The Coyotos OS is based on Eros and is quite similar. Additionally, Eros is not completely revolutionary. From the eros web page, What's new about Eros?: "Each of these faclities is...essential to providing scalable reliability, and all of them have appeared in prior systems. No prior system, however, has... this particular combination... in quite the same way.".
Not that you know what developing on an EROS-like system is like
1. Be nice to have some real competition versus Linux/OS X in terms of architecture. XP/2003 just aren't there. Vista won't be, most likely. 2. Where such a beast (research OS) ever to become a product, would it demonstrate a high level of backwards compatibility? If not, would it actually have to compete on merits, rather than vendor lock-in? 3. It's taken ~10 years to write Wine to the point where it is in _beta_. Now, I'm sure MS can do it faster, because they have the documentation; after all, they designed it. But how long will it take? Or will they use a virtual machine architecture?
In any case, if MS switches to an entirely different OS architecture, I forsee the end of the MS monopoly. Release of a non-Win32 based OS, one that runs older applications (either desktop OR server) in emulation validates Linux/OS with QEMU/Virtual PC/VMware/Xen/Whatever.
4. I doubt this will ever leave the lab. Singularity will be a test bed for MS researchers who want to play with various concepts. These things will be ported over to Vista, or whatever comes into the future. I cannot imagine a world in which MS actually started from scratch; having to market such a product against mainline-Windows, Mac OS X, Linux, Solaris, AIX, and FreeBSD would be pure madness. It's already extremely difficult for MS to push Office against older versions of Office; this has generated substantial pressure towards alternative Office packages.
It'll be significantly harder for MS to push towards a non-Windows MS operating system. Every single CIO willing to consider moving from Windows will be willing to consider moving to Linux/OS X/whatever instead.
We are hiring! If you are interested in a full-time Researcher position, please email a C.V. or resume, a research statement, and the email addresses of three reference letter writers to Galen Hunt [microsoft.com]. You may also email copies of two publications you feel represent your best work. Minimum education requirement for a Researcher is a Ph.D. in Computer Science or equivalent.
To facilitate our hiring process, we strongly encourage interested fulltime researcher candidates to submit their application materials as soon as possible and preferably by February 15, 2006.
In evaluating candidates, we pay particular attention to demonstrated qualities of research taste, innovation, and first-hand system building. We value highly a proven research track record as demonstrated by strong publications in top venues.
If you are an exceptional Ph.D. candidate interested in a research internship, please use the MSR Internship Application [microsoft.com].
Microsoft is an equal opportunity employer and supports workforce diversity.
Have they ever heard of "Non-Stop"? You know, the Tandem kernel? These machines have 99.99% up-time. They don't perform great always but they are bullet proof....and essentially non-hacked because....well, they don't really make root-kits for these things.
In case you never heard of them, they are a mainframe based computing system that is used heavily in stock markets, banks and ATM devices. Basically in places where up-time and reliability is rather important. I personally don't like programming on them too much (COBOL anyone!..language with no stack...just wrong) but it can be a fun learning experience. At least there is a program called "OSH" that emulates the bash shell, rather poorly I'll admit...but nice for a guy like me anyways.
I guess a neat thing about Tandem, that also makes them awkward to use initially, is that they don't have a typical file structure. Everything is "Volumes" and you write all these "Servers"....just different. In the end, there is a one-to-one mapping of their file system to something most of us find traditional.
I already wrote about this four days ago [pl.atyp.us] so I won't repeat the whole thing here. Short version:
Microkernel design, single-address-space implementation: good
Extensive compile-time checking of code that eventually runs native (not interpreted/JIT): good
Checking protocol behavior as well as lower-level function contracts: great
No deadlock/livelock checking: ok for now (it's a hard problem)
No checking of responses to component failure: oops
Not even a mention of making it distributed: weird
Even shorter version: lots of great ideas, lots of work still to be done. Anybody with a clue about operating systems should be following this with interest.
Come to think of it - has MS EVER written their own OS from scratch?
Better question: when's the last time anybody wrote an OS from scratch?
As far as I can see, the answer to that is really "never". Before there were OSes, there were collections of macros to act like device drivers and such. The first OSes were based on those, and added slightly more uniform interfaces and such.
Pretty much everything since can be traced back to something previous.
DOS - Borrowed from Tim Patterson's QDOS.
Windows - Shell extention to DOS
Xenix - AT&T/Berkley clone
OS/2 - Co-built with IBM
NT / XP / Vista - Built off of OS/2
DOS 1.0 was based on QDOS, but DOS 2.0 was essentially a complete rewrite that was really based much more closely on UNIX than on QDOS.
In fairness it should also be added that QDOS was based on (according to some, just a re-compile of) CP/M. Lest any CP/Mers get all holier-than-thou about it, in his original announcement letter about it to "Doctor Dobb's Journal of Computer Calisthenics and Orthodontia", Gary Kildall openly stated that CP/M was derived from DEC RT/11. I'll assume there aren't enough DECies left to bother debunking the notion that RT/11 was entirely original.
I'd say the others are much the same way: on one hand, MS contributed more originality than you imply, and on the other hand, others contributed less than you imply.
--
The universe is a figment of its own imagination.
You mean the way the FOSS community has managed to reinvent Unix from 30 to 40 years earlier? Yay for progress!
Seriously, ALL operating systems borrow concepts from earlier versions and the existing state of the art. Trying to determine the degree (or not) of "innovation" is akin to arguing about the number of angels that can dance on the head of a pin, with no prior agreement as to the size of an angel...
Windows NT and VMS isn't a conspiracy theory or a myth. It's not dirty.
Recently I heard a talk about the Windows kernel given by a guy from Microsoft. At the beginning of a talk, he said, "There are only two operating systems that matter." After the audience buzzed for a while, saying to eachother, "That jerk, Linux matters too!" or "That jerk, OS X matters too!" or "That jerk, BSD matters too!" He said something like, "You guys don't seem to like that, so what's the third?" One guy shouted out, "Windows!" The MS guy said, "Well, if you mean 'evil Windows', that is, Win95/98/ME, then it probably isn't even third. There are two operating systems that matter and they are Unix and VMS." He explained that for the most part ideas from VMS, rather than from Unix, shaped the design of the NT kernel. Looking at the Russinovich article, many of the things he lists as similarities are also similarities with Unix and many are similarities with any modern OS. Some, like the Object Manager, are specific to VMS and Windows. But overall, as long as DEC and MS came to some kind of agreement over any shared concepts or code, it's no knock on Microsoft, just as it's no knock on Linus for implementing a Unix-like OS. Better to borrow some things from a proven design and get a good product than to forge off on your own and make wierd mistakes.
No, it's written in Sing# which is an extension of Spec# which is an extension of C#. People really ought to pay more attention to Spec# - it's a nice extension of C# that allows for more formality if and when you require it. It's in the same class of language as SPARK [praxis-his.com] which is an extension of Ada, JML [iastate.edu] which extends Java with specification semantics, BitC [coyotos.org], Extended ML [ed.ac.uk], HasCASL [uni-bremen.de], and I guess to a lesser extent things like Eiffel [eiffel.com] and D [digitalmars.com].
Think of it this way: static types and type signatures for functions allow you to specify things about the software that the compiler can statically check and make sure there aren't any silly errors. The languages listed above (to varying degrees) allow for more exacting specification about the software, and hence you can (with the right tools) do far more comprehensive static checking and ensure various properties of the software. The difference is that, with most of these languages, the amount of specification is optional - you can be as exacting as you want where you need it, and not bother where you don't. It's like a dynamically typed language that lets you declare and use static types (and check them)just for those areas of code where it matters (except you start with static types and can provide more exacting specification where it matters). It's well worth checking out.
by Anonymous Coward
on Thursday November 03 2005, @01:49PM (#13943084)
For what it's worth, HotOS is an actual respected academic workshop. It was sponsored by Microsoft, but then again, Microsoft sponsors lots of real, respected academic conferences.
The Singularity project is run by top-notch researchers with very good reputations in the academic community. This is the real deal.
I think Slashdot has an acronym for things like the parent post... FUD, was it?
Also it's worth noting that, first, HotOS isn't "invite only." That's why there is a call for papers on the web site referenced by the grandparent. Second, the review is double blind, so there's no chance of papers submitted by Microsoft Research getting special treatment by the reviewers. So I'm not really sure what the grandparent is alluding to.
MSR isn't the first research group to think of using new language constructs to enforce security. Check out this paper on Asbestos [mit.edu], appearing at SOSP, for something similar. But one thing is certain: MSR has a large pool of talent and the money to push this research endeavor farther than any other company or academic institution could, and that is something exciting.
by Anonymous Coward
on Thursday November 03 2005, @01:51PM (#13943100)
Have you actually read any of the papers?
I am an OS academic, and we take Microsoft Research seriously, because they're fucking good.
HotOS is a pretty serious workshop for Operating Systems research. Microsoft Research, among others, pays for the conference room. Singularity isn't far enough long yet to get into a bigger conference like SOSP or OSDI, but you can be sure it will in a year or two.
I don't understand your complaint. They wrote some papers about their research project, why wouldn't they put them on their site? Before you dismiss the quality of the papers, you want to actually read them.
Please keep in mind that MS Research is quite a different beast than the production departments of MS. MS Research does a lot of respected work. They also employ some of the most reputable researchers in software and OS development, including:
Tony Hoare [microsoft.com] (quicksort, CSP, Hoare logic, among other things)
Leslie Lamport [microsoft.com] (TLA+, the bakery algorithm, the byzantine generals problem, LaTeX, among other things)
I dislike MS production software and business practices as much as the next guy. But don't make the mistake of underestimating MS Research just because you dislike MS.
The relentless bashing of Microsoft in this manner is tiring. Have they made flawed products? Absolutely, but to generalize their contribution to modern computing as nothing more than theft and good marketing is pure garbage. However such posts are good at karma whoring...
Security means your safe. Dependability could mean that or that you can depend on being shafted on a regular basis. This is MS, so I'm guessing they mean the later.
If you read the paper, the idea is that, yes, it'll be slower, but the reliability will be built in from the beginning, rather than other systems which take something fast and bolt reliability on. They make a good point that they will be able to use optimising compilers for CLR languages in this context, too.
A quote from Galen Hunt (apparently someone working on it) from the Channel9 video page (I have to say I've not watched the video, at least yet, it's just interesting wherever developers actually reply to queries), says something about this:
In Singularity, you can add new code to your application. However, instead of loading it into your own process, you load it into a child process. The OS facilitiates setting up channels between the child and its parent.
While this is still very much a work in progress, the results so far look promising. For example, we have a dynamic web server that uses child processes. Also all of our device drivers run in child processes.
I don't know if that directly answers your question, but I think it kinda explains how they're dealing with this sort of thing.
Just goes to show what IIS and SQL Server will do for you....
Wow, and the last time I saw a/.'ed site spewing MySQL and Apache errors I thought it was just me. Because, well, I've heard that using open source will automagically upgrade your DSL to a T3. Free!
Oh, let me be the first to say it! (Score:4, Funny)
(Go ahead, mod me down... I deserve it.)
IMPORTANT (Score:4, Informative)
Look at page 31 of this PDF. Microsoft publish benchmark statistics showing Linux (and FreeBSD) to be better than Windows.
ftp://ftp.research.microsoft.com/pub/tr/TR-2005-1
Parent
Partial Summary and Comment (Score:4, Informative)
According to the benchmarks published there
- at most OS jobs like threading/process creation, Singularity is at least twice as fast as linux, Linux is very fast at process creation, while XP is good at threads
- in File Operations FreeBSD and Linux beat XP and Singularity at random reads
- in File Operations XP beats Linux and Singularity at sequential reads, with the exception of FreeBSD being fastest if blocksize is high(and very bad for small blocksize)
- linux executable size are larger than these of the other OSes, (whatever that means, more good coding, or less bad code SCNR)
Please bear in mind that a benchmark does not it tell whether the "slower" OS actually invested more time in doing some smart stuff that pays off in some other way.
Parent
Re:IMPORTANT (Score:5, Interesting)
The table shows the CPU cost of six different types of operations: "Read Cycle Counter", "ABI Call", "Thread yield", "2 thread wait-set ping pong", "2 message ping pong" and "Create and start process". For the first one, Windows seems to kick the butt of all others handily with Singularity being the worst of the bunch. For "ABI Call", each OS used different system calls that "operate on a readily available data structure in the respective kernels." The system calls seem to be completely different so I don't know if this test is valid, but the results show Singularity an order of magnitude more efficient than the others, with Linux beating Windows by a considerable margin and Windows beating FreeBSD by an equally considerable margin.
For the "thread yield" tests, FreeBSD & Linux are equal, Windows beats them by a reasonable percentage and Singularity is more than twice as fast as the Unixes. For the "2 wait-set ping pong", which measures "the cost of switching between two threads in the same process through a synchronization object", the chart shows that Singularity is somewhat more efficient than Windows and Windows is more than twice as fast as the Unixes. For the "2 message ping pong", which shows the cost of sending a 1-byte message back and forth between two processes, Singularity is 4 times more efficient than Linux, which is somewhat better than Windows, which kicks FreeBSDs butt decisively.
Lastly, for "Create and start process", Singularity is twice as fast as Linux, which is about 50% faster than FreeBSD. Windows comes out 7 times slower than Linux on this test. I don't know how much that matters in the real world since creating and starting a process is not something that is done hundreds of times a second.
All that said, it should probably be pointed out that there are many ways to measure an OS. The M$ guys may have simply picked the ones that support their "see we don't suck" position. And given that Singularity is not a complete OS, I would expect that more overhead will be added later that will bring down these numbers. I guess we'll see.
Parent
Re:Oh, let me be the first to say it! (Score:4, Funny)
Parent
singularity (Score:3, Funny)
MS-DOS 7.0 (Score:3, Funny)
Re:MS-DOS 7.0 (Score:3, Informative)
Sorry, try again.
Like a Black hole? (Score:4, Funny)
So much more advanced than a BSOD.
/.'ed (Score:5, Funny)
Server Error in '/' (Score:3, Funny)
Wow, that page came up pretty fast. I guess their web server is built for performance instead of dependability.
Except that (Score:3, Interesting)
Slashdotted in six comments. (Score:5, Funny)
Current setup was slashdotted within six comments.
Future setup will place an "emphasis on dependability instead of performance".
I'd say it sucks galactic black holes through buckytube, but that still wouldn't approach the Singular suckitude we're looking for.
Bite my dimly red-shifted neutronium ass.
Re:Slashdotted in six comments. (Score:3, Insightful)
I think "Singularity" is not worth a hill of beans, but mostly because its novel ideas have already been tried and made little headway. Java systems have applied similar approaches to securing multiple processes within an address s
New UI? (Score:5, Funny)
At last, an honest ship date! (Score:3, Funny)
In other news... (Score:5, Funny)
singularity on MS' channel 9 vlog (Score:5, Informative)
I hacked on this... (Score:5, Interesting)
It was designed for performance? (Score:3, Funny)
Built on a new language? (Score:5, Insightful)
Re:Built on a new language? (Score:5, Insightful)
Actually its an extended version of Spec# which is in turn an extension of C#. It might help to acquaint yourself with what that actually means. The first significant different is that Spec# allows for explicit pre and post conditions and other formal specificiation syntax, and hence allows for model checking, extended static checking, and formal proof if required.
It's more like someone writing an OS in BitC [coyotos.org] because it can be formally verified and hence be more secure. It does make sense, and there is good logic behind it. Comparing it to an OS in Java is just silly. Comparing it to an OS written in Java using JML [iastate.edu] and associated theorem provers [key-project.org] is getting a little closer. Of course that doesn't address the issue of designing the OS to be more secure and reliable from the outset, and not just relying on formal verification.
If you actually bothered to read some of the material on Singularity you would see that it is an ambitious, but remarkably interesting and promising project. It is also, I would expect, something that will permanently remain buried in MS research like so many other projects. I would be interested in seeing a good open source equivalent though - such a project might have some hope of surviving.
Jedidiah.
Parent
They aren't the first (Score:5, Informative)
apples and oranges (Score:5, Interesting)
EROS uses C and relies on memory management hardware for isolation. EROS also can't analyze or verify code it loads.
Singularity uses C# and does not use memory management hardware for protection; it guarantees isolation via runtime checks, and it can perform extensive code analysis on load.
I don't know whether Singularity is going to make it, but I have used and developed on systems like it (the idea isn't new), and it is a lot nicer than either UNIX kernels or EROS-like kernels.
Parent
Re:apples and oranges (Score:4, Insightful)
All that has nothing whatsoever to do with Eros. The two projects are not even similar.
Of course a verifier could be written as an application for Eros (or for DOS, for that matter). That statement is like saying that C++ is no different from assembly, because they're both built atop similar hardware and can be used to implement the same things.
The Coyotos OS is based on Eros and is quite similar. Additionally, Eros is not completely revolutionary. From the eros web page, What's new about Eros?: "Each of these faclities is...essential to providing scalable reliability, and all of them have appeared in prior systems. No prior system, however, hasParent
I hope they market this SOB (Score:4, Insightful)
1. Be nice to have some real competition versus Linux/OS X in terms of architecture. XP/2003 just aren't there. Vista won't be, most likely.
2. Where such a beast (research OS) ever to become a product, would it demonstrate a high level of backwards compatibility? If not, would it actually have to compete on merits, rather than vendor lock-in?
3. It's taken ~10 years to write Wine to the point where it is in _beta_. Now, I'm sure MS can do it faster, because they have the documentation; after all, they designed it. But how long will it take? Or will they use a virtual machine architecture?
In any case, if MS switches to an entirely different OS architecture, I forsee the end of the MS monopoly. Release of a non-Win32 based OS, one that runs older applications (either desktop OR server) in emulation validates Linux/OS with QEMU/Virtual PC/VMware/Xen/Whatever.
4. I doubt this will ever leave the lab. Singularity will be a test bed for MS researchers who want to play with various concepts. These things will be ported over to Vista, or whatever comes into the future. I cannot imagine a world in which MS actually started from scratch; having to market such a product against mainline-Windows, Mac OS X, Linux, Solaris, AIX, and FreeBSD would be pure madness. It's already extremely difficult for MS to push Office against older versions of Office; this has generated substantial pressure towards alternative Office packages.
It'll be significantly harder for MS to push towards a non-Windows MS operating system. Every single CIO willing to consider moving from Windows will be willing to consider moving to Linux/OS X/whatever instead.
And they are hiring ... (Score:4, Informative)
We are hiring! If you are interested in a full-time Researcher position, please email a C.V. or resume, a research statement, and the email addresses of three reference letter writers to Galen Hunt [microsoft.com]. You may also email copies of two publications you feel represent your best work. Minimum education requirement for a Researcher is a Ph.D. in Computer Science or equivalent.
To facilitate our hiring process, we strongly encourage interested fulltime researcher candidates to submit their application materials as soon as possible and preferably by February 15, 2006.
In evaluating candidates, we pay particular attention to demonstrated qualities of research taste, innovation, and first-hand system building. We value highly a proven research track record as demonstrated by strong publications in top venues.
If you are an exceptional Ph.D. candidate interested in a research internship, please use the MSR Internship Application [microsoft.com].
Microsoft is an equal opportunity employer and supports workforce diversity.
Direct Link to Microsoft PDF (Score:5, Informative)
Yay, 1979 Again! (Score:4, Informative)
In case you never heard of them, they are a mainframe based computing system that is used heavily in stock markets, banks and ATM devices. Basically in places where up-time and reliability is rather important. I personally don't like programming on them too much (COBOL anyone!..language with no stack...just wrong) but it can be a fun learning experience. At least there is a program called "OSH" that emulates the bash shell, rather poorly I'll admit...but nice for a guy like me anyways.
I guess a neat thing about Tandem, that also makes them awkward to use initially, is that they don't have a typical file structure. Everything is "Volumes" and you write all these "Servers"....just different. In the end, there is a one-to-one mapping of their file system to something most of us find traditional.
Yawn (Score:5, Informative)
I already wrote about this four days ago [pl.atyp.us] so I won't repeat the whole thing here. Short version:
Even shorter version: lots of great ideas, lots of work still to be done. Anybody with a clue about operating systems should be following this with interest.
Re:Singularity... (Score:5, Funny)
Tee hee giggle snort. That was funny! I'd say more, but Full House is on! Cya!
Parent
Re:another longhorn? (Score:4, Informative)
Come to think of it - has MS EVER written their own OS from scratch?
Go figure.
Parent
Re:another longhorn? (Score:5, Insightful)
Better question: when's the last time anybody wrote an OS from scratch?
As far as I can see, the answer to that is really "never". Before there were OSes, there were collections of macros to act like device drivers and such. The first OSes were based on those, and added slightly more uniform interfaces and such.
Pretty much everything since can be traced back to something previous.
DOS 1.0 was based on QDOS, but DOS 2.0 was essentially a complete rewrite that was really based much more closely on UNIX than on QDOS.
In fairness it should also be added that QDOS was based on (according to some, just a re-compile of) CP/M. Lest any CP/Mers get all holier-than-thou about it, in his original announcement letter about it to "Doctor Dobb's Journal of Computer Calisthenics and Orthodontia", Gary Kildall openly stated that CP/M was derived from DEC RT/11. I'll assume there aren't enough DECies left to bother debunking the notion that RT/11 was entirely original.
I'd say the others are much the same way: on one hand, MS contributed more originality than you imply, and on the other hand, others contributed less than you imply.
--
The universe is a figment of its own imagination.
Parent
Re:another longhorn? (Score:4, Insightful)
How many OSes have ever been written from scratch?
I can think of only 3, none of which has even 0.1% market share. In fact, Plan9 is the only one of them alive.
What is the big deal with bashing microsoft for copying ideas from people?
Isn't that what OSS is built around, copying good ideas?
Parent
Re:another longhorn? (Score:5, Insightful)
Seriously, ALL operating systems borrow concepts from earlier versions and the existing state of the art. Trying to determine the degree (or not) of "innovation" is akin to arguing about the number of angels that can dance on the head of a pin, with no prior agreement as to the size of an angel...
Parent
Re:another longhorn? (Score:5, Informative)
Recently I heard a talk about the Windows kernel given by a guy from Microsoft. At the beginning of a talk, he said, "There are only two operating systems that matter." After the audience buzzed for a while, saying to eachother, "That jerk, Linux matters too!" or "That jerk, OS X matters too!" or "That jerk, BSD matters too!" He said something like, "You guys don't seem to like that, so what's the third?" One guy shouted out, "Windows!" The MS guy said, "Well, if you mean 'evil Windows', that is, Win95/98/ME, then it probably isn't even third. There are two operating systems that matter and they are Unix and VMS." He explained that for the most part ideas from VMS, rather than from Unix, shaped the design of the NT kernel. Looking at the Russinovich article, many of the things he lists as similarities are also similarities with Unix and many are similarities with any modern OS. Some, like the Object Manager, are specific to VMS and Windows. But overall, as long as DEC and MS came to some kind of agreement over any shared concepts or code, it's no knock on Microsoft, just as it's no knock on Linus for implementing a Unix-like OS. Better to borrow some things from a proven design and get a good product than to forge off on your own and make wierd mistakes.
Parent
Re:another longhorn? (Score:5, Interesting)
Microsoft Research is always making things Microsoft never uses. Remember all the 3D navigator stuff they were crowing about years ago?
I think Microsoft Research is a place to keep eggheads working and happy so they don't go working somewhere else.
Parent
Re:another longhorn? (Score:5, Informative)
No, it's written in Sing# which is an extension of Spec# which is an extension of C#. People really ought to pay more attention to Spec# - it's a nice extension of C# that allows for more formality if and when you require it. It's in the same class of language as SPARK [praxis-his.com] which is an extension of Ada, JML [iastate.edu] which extends Java with specification semantics, BitC [coyotos.org], Extended ML [ed.ac.uk], HasCASL [uni-bremen.de], and I guess to a lesser extent things like Eiffel [eiffel.com] and D [digitalmars.com].
Think of it this way: static types and type signatures for functions allow you to specify things about the software that the compiler can statically check and make sure there aren't any silly errors. The languages listed above (to varying degrees) allow for more exacting specification about the software, and hence you can (with the right tools) do far more comprehensive static checking and ensure various properties of the software. The difference is that, with most of these languages, the amount of specification is optional - you can be as exacting as you want where you need it, and not bother where you don't. It's like a dynamically typed language that lets you declare and use static types (and check them)just for those areas of code where it matters (except you start with static types and can provide more exacting specification where it matters). It's well worth checking out.
Jedidiah.
Parent
Re:Papers? (Score:5, Informative)
The Singularity project is run by top-notch researchers with very good reputations in the academic community. This is the real deal.
I think Slashdot has an acronym for things like the parent post... FUD, was it?
Parent
Re:Papers? (Score:5, Informative)
MSR isn't the first research group to think of using new language constructs to enforce security. Check out this paper on Asbestos [mit.edu], appearing at SOSP, for something similar. But one thing is certain: MSR has a large pool of talent and the money to push this research endeavor farther than any other company or academic institution could, and that is something exciting.
- shadowmatter
Parent
pseudo-academics should be careful what they bash (Score:5, Insightful)
I am an OS academic, and we take Microsoft Research seriously, because they're fucking good.
HotOS is a pretty serious workshop for Operating Systems research. Microsoft Research, among others, pays for the conference room. Singularity isn't far enough long yet to get into a bigger conference like SOSP or OSDI, but you can be sure it will in a year or two.
I wouldn't call Singularity pseudo-academic.
Parent
Re:Papers? (Score:5, Insightful)
Parent
Re:Papers? (Score:5, Insightful)
I dislike MS production software and business practices as much as the next guy. But don't make the mistake of underestimating MS Research just because you dislike MS.
Parent
Re:Define "innovation" in that context. (Score:5, Insightful)
Try checking out the Microsoft Research page, and their past systems stemming from there. You might be surprised.
Parent
Re:Define "innovation" in that context. (Score:4, Insightful)
Parent
Heres one: (Score:5, Insightful)
Parent
that's different (Score:3, Interesting)
Re:My guess: (Score:5, Interesting)
If you read the paper, the idea is that, yes, it'll be slower, but the reliability will be built in from the beginning, rather than other systems which take something fast and bolt reliability on. They make a good point that they will be able to use optimising compilers for CLR languages in this context, too.
Parent
Re:Lack of Dynamic Loading (Score:5, Informative)
A quote from Galen Hunt (apparently someone working on it) from the Channel9 video page (I have to say I've not watched the video, at least yet, it's just interesting wherever developers actually reply to queries), says something about this:
I don't know if that directly answers your question, but I think it kinda explains how they're dealing with this sort of thing.
Parent
Re:This just in MS sucks...already Slash Dotted (Score:4, Insightful)
Wow, and the last time I saw a /.'ed site spewing MySQL and Apache errors I thought it was just me. Because, well, I've heard that using open source will automagically upgrade your DSL to a T3. Free!
Moron.
Parent