Microsoft Makes Surprise CE 6 Release
An anonymous reader writes "Unexpectedly, Microsoft has released a beta of Windows CE 6, at its mobile developer's conference (MEDC) this week. CE is the real-time OS that underpins Windows Mobile and Microsoft's other device software stacks for phones, PDAs, set-top boxes, and the like. CE 6 looks to be a major rewrite, featuring the capability to support several orders of magnitude more concurrent processes and virtual memory. Also new is support for MS's .NET IDE. Together, these new capabilities seem calculated to morph CE from a closed-box, off-the-shelf OS into a more customizable OS."
Hooray! More software to patch!
Meanwhile Microsoft's Major new consumer operating system has been pushed back several times, and talked up every chance they get. I think this says a lot about the order of importance of the mobile OS to people. Having worked in retail I can honestly say nobody ever asked me if that palm I was selling them came with a windows based OS or which OS it came with, yet with people who bought desktops I'd always get this question: "Does it come with XP?". This was, of course, years after XP was common, and computers really weren't packaged with anything else.
I don't think this release was so much a secret as it was an unadvertised release. If microsoft thought there would be a huge public reaction to this, they would have talked it up publicly before they even started work on it.
Go ahead and call me unreliable; reliable is just a synonym for predictable.
What was the surprise? Microsoft showed off a new version of its mobile OS to a mobile developer's conference, or that they included .Net? (.Net. You know, that dev platform that Microsoft would port to your bathroom shower head if they could).
"MS's .NET IDE"
.Net was was a VM and not an IDE
Last time I checked
"(.Net. You know, that dev platform that Microsoft would port to your bathroom shower head if they could)."
Clippy: I see you would like to take a shower?
Clippy: Would you like hot water, or cold?
User: Some of both.
User: AHHHEEEE!
User: I said medium you stupid !@#%~.
me no think so
...WinCE just makes me want to wince.
Rhapsody in Numbers
I haven't used Windows CE since my old Hitachi S3 Windows CE palmtop (which I still have today), on that thing it's basically a black and white Windows 95 without dos.
Has it changed much since then?
"Also new is support for MS's .NET IDE. Together, these new capabilities seem calculated to morph CE from a closed-box, off-the-shelf OS into a more customizable OS."
.NET applications can run on the CF 2.0 under CE and can be cable debugged, or remotely accessed using the RDP client.
CE is hardly closed and not really "off the shelf". For starters the source code for the OS is available as part of the platform builder tool. Also, the platform builder tool allows you to create releases of windows CE with different configurations, drivers and applications pre-isntalled. It is the equavlent of being about to build a custom image of windows XP, sans the explorer GUI interface (Desktop), or other system services such as RDP. The only problem is that CE looks about as old as it is, it will be nice to have a UI update. It is also the only OS that MS makes that is a "hard" real time OS and whose kernel does not provide GUI services. CE is also currently suported by VS.NET 2005, though not on the native C++ side. However,
Um do you know what a realtime operation system is? Glad someone modded you insightful, because your post was truly that.
Have you ever been to a turkish prison?
This ties in with Microsoft's renewed partnership with Qualcom:
_ qualcomm_alliance/
.NET will help support a lot of distributed apps and better concurrent apps and memory handling will allow for 'media-rich' phones as phones and PDAs converge.
http://www.theregister.co.uk/2006/05/08/microsoft
Microsoft and Qualcom wish to make common cause against Nokia -Qualcom due to CDMA and Microsoft due to Symbian OS and mobile Linux. Microsoft has had difficulty in getting any major manufacturer to use their platform on phones due to manufacturer's rightful fears of being commoditized as PC makers have been.
-that said, they're both bastards and the success of this venture will lead to more microsoft lockin.
-What's the speed of dark?
*Crickets chirping*
.
.
.
.
*taps microphone*
.
.
.
"Is this thing... on?"
You can't talk about Wikipedia's flaws on Wikipedia
The number of embedded systems dwarfs the number of desktop computers. Microsoft really shouldn't cede this market to Linux.
I love the "An anonymous reader writes...". what's next? "In a related news, an anonymous writer reads..." ? the allways surprising crowd of /...
Otherwise I couldn't care less about the announcement. I swear
I had another sig before, but this one is better
it's pretty clear he doesn't
So, the new Windows Mobile 5 that just came out is already going to be replaced. I know its early, but come on, give us some time to enjoy having the newest OS for our mobile devices.
Click Click Bloody Click PANCAKES!
While I'm certainly no fan of the Windows family of operating systems on desktops or servers (or PDAs, for that matter), I've recently found myself appreciating a Windows Embedded product. When I bought a new Honda in November, I fell in love with the navigation system - so much so that when I sought to purchase another new vehicle last month, the nav system was a requirement.
:) But, if it helps me get a better navigation system, I'll sell my soul to Redmond.
After some research and discussion, I was dishearted to find that the navigation systems I had grown to love so much were actually powered by Windows Automotive Edition - based on Windows Embedded, which is a flavor of Windows CE. While I cannot actually tell (by any means) that the system is Windows-based, it is very stable, responsive, fast, and user friendly - most of which is probably of function of the application and not the operating system.
All that said, I'm still psyched about CE 6 if it provides further media access features, hardware drivers, and other niceitys.
I have real pain saying I'm psyched about a Windows product as a Linux and Mac OS geek!
"Adventure? Excitement? A Jedi craves not these things."
Realtime has absolutely nothing to do with the relative speed of the OS or GUI. What it means is that the OS can *guarantee* a response to an input within a defined period of time. While that time is typically very short, you could still technically be realtime if you could demonstrate guaranteed response within 24 hours (though you wouldn't be particularly useful).
Again, technically that's "hard" realtime. "Soft" realtime system are just pretenders that can't really guarantee anything and just look kinda like a preemptive OS with priority levels and the like.
Linux is not a realtime system (without very specific extensions anyway). You don't really want a general purpose OS as "realtime" anyway - it just doesn't help things at all and tends to complicate the processing model.
CE 5.0 (and probably 6.0) are not hard realtime systems. Even at the OEM level (where you can actually write real ISRs) there's no guaranteed response time, just a bunch of realtime looking stuff. At the Application Developer, or even Device Driver level (ISTs, not ISRs) you are so far from realtime it really doesn't make much sense to talk about it in those terms.
If you read between the lines on this report from Microsoft you can glean most of what I've said.
Fear: When you see B8 00 4C CD 21 and know what it means
"Also new is support for MS's
Windows CE is already supported by VS.NET 2005. And I don't just mean for
Because Microsoft runs the government. Recall the recent security audits???
What a let down. I was praying for Pocket Internet Explorer to get a shot in the arm. This release is great for both embedded developers and ISVs, but I got nothin! Then again, I might get a surprise ... when I find out my new fangled PVR runs windows (ce) outside of a firewall. Surprise!
Any post on Slashdot involving the bashing of Microsoft must be considered insightful.
The Cambridge Advanced Learner's Dictionary defines several as meaning "some... fewer than many" and many as "a large number of".
Given that, I think it's fair to assume that three is not too large a number to be "several"; certainly, about that many is what I generally mean when I say "several". Working on that basis, then, supporting "several orders of magnitude more concurrent processes" means supporting about three orders of magnitude more processes. Three orders of magnitude is 1000 (=10^3). If we up "several" to four or five, we have 10,000 or 100,000.
Perhaps the OS can support that many concurrent processes (although I admit to having my doubts), but I'd be amazed if any hardware it runs on does.
It's official. Most of you are morons.
So, what does a soul go for in Redmond these days? (I'm so resisting the temptation to say something about souls being at a premium there as so many have already been sold.)
wikipedia is completely wrong about Windows CE. No one in the RT arena would ever consider it as a real-time OS.
He's right though. It's not a real-time OS, nor is Linux (out of the box anyway), Symbian OS is.
I have a smart phone (SX66) and even with it's 400Mhz processor it's not what I would call fast.
I'm pretty confused since there isn't that much screen to refresh (320x200 or so) and it's not running a bunch of stuff.
Has anyone ever profiled the OS? I'm really curious if the hardware is just sucky and slow (i.e. really slow bus, etc) or if the OS is just not well structured.
I can remember the old 4.7Mhz days and can't how a 100x increase in clock speed can produce something so unimpressive in performance.
Of course this is all 'seat of the pants' observations since I seen any benchmark apps out there.
Well, you're mostly right. In a hard realtime OS, it's consistency of timing that matters, not its upper bound.
If you have a timing problem in a hard realtime system, merely increasing the processing speed will not solve it. It's more like a dance than a race.
WinCE is Microsoft's stab at a Linux type of OS. With packages, dependencies, and multiple architecture support, I believe it is the future of Microsoft -- eventually to replace Windows altogether... It's the complete rewrite of Windows we've all been waiting for.
Here is my home page.
Wow! I am looking forward to being able to run "several orders of magnitude more concurrent processes." That will be 5, maybe 6 thousand concurrent processes, probably as many as 100 times as many as on my server at home! Cool!
...but does their phone browser support css yet?
i started coding a phone based app and had to learn to style tables w/o css.
i quit that project.
what a nightmare - and it was a small app.
Win CE is a collection of services that can be used to build a custom embedded OS. Windows Mobile is one of these custom OS's. for more info: http://blogs.msdn.com/mikehall/archive/2005/03/15/ 395958.aspx
In what way does an RTOS complicate the "processing model"? On the aplication side you can use pthreads on a posix conforming RTOS and you get better response time to events from the drivers than you would with a posix conforming non-RTOS like Linux.
"This mission is too important to allow you to jeopardize it." -- HAL
No. The definition of hard realtime is all about maximum latency, not consistency. While it is certainly advantageous to be consistent, as long as you are deterministically better than your maximum defined latency then you are hard realtime.
I challenge you to find any definition of hard realtime that talks about consistency and not deterministic maximum response time.
Fear: When you see B8 00 4C CD 21 and know what it means
On a true hard RTOS, you have to worry about all sorts of artifacts like priority inversion, not holding exclusive locks for non-deterministic lengths of time and other stuff like that. With a general purpose operating system, it's discouraged but the system will let you do it.
The fact that you can't wait on stuff for too long adds a whole bunch of complexity to your processing - mainly in the error handling and timeout handling code where you have to decide how to handle errors in what is very likely an unattended environment.
Fear: When you see B8 00 4C CD 21 and know what it means
[blink]>A:[/blink]edlin.exe (wait, wait wait damn those pesky large editors.)
B8 00 4C ( MOV AX,0x4c00 )
CD 21 ( CALL INT 21 )
[blink]>A:[/blink]
WTF, who messed with debug.exe
I recall this from the old MS DOS days as the TERMNINATOR string.
Once wrote a macro called hastalavista pop es, mov ah 49, int 21, mov, ax 3100
Nothing like an early memory release, priceless if the memory segement is not owned by you.
FEAR: M$ invented the virus!
Horror: if you understand any of the above. Because you age combined with the fact that you are reading slashdot equals greybeardedgeek wich is more powerfull than our Precious.
In order to form an immaculate member of a flock of sheep one must, above all, be a sheep.
with Microsoft and major rewrites ("CE 6 looks to be a major rewrite") ??? As if the new one is so much better because it was rewritten? Given that there was hardly ground breaking research in OS design unveiled in the last few years, does that mean that the "old" WinCE code base was shit? I mean multi-millions in development costs in writing WinCE in the past for naught? Does MS not have competent SW architects and coders so that already written code can be used as a basis for new releases? Rewritten code == newly written bugs. How stupid.
Many people have complained about the 32 process limit of Windows CE 5. According to Engadget, Windows CE 6 will support more than 32000 processes, which is indeed an increase of several orders of magnitude.
>> CE is the real-time OS that underpins Windows Mobile...
CE Reatime. LOL.... Whatever. I guess Microsoft must have patented the definition of realtime or something.
I thought Microsoft had forgotten the meaning of the word 'release'. They haven't seemed to have been able to do it for quite awhile now.
Need a Python, C++, Unix, Linux develop
Troll? Come on people. No Windows is anything like an RTOS. You don't go to the trouble and expense of writing a real-time OS so you can run sol.exe and some mobile version of Outlook. You use a real-time OS when you've got time-critical control systems and things absolutely must happen within a certain time. You won't see one on a $300 PDA.
Today's Sesame Street was brought to you by the number e.
So can we call it Vista CE?
What?
How about medical devices? Or manufactoring control systems?
Have you ever been to a turkish prison?
That has absolutely not been my company's experience with doing development in India. Indian staff and offices *are* much cheaper, sometimes orders of magnitude cheaper than US offices, but the productivity out of our Indian offices is nowhere near that of others. Going forward I've been told India will be used mainly for doing QA work. Another common complaint I hear about India is the very high turnover. It's like the old dot-com days in Silicon Valley where everyone only stays at a job for a few months, just long enough to learn what they need to hop to the next better paying job. Ironically, we employ a large number of Indians in our California offices as well, and *their* productivity is typically pretty high. Heck, at this point, the California engineering teams are mostly Indian, with almost 100% of the Engineering management being Indian as well.
Now, Canada, on the other hand, I've been told that our Canadian offices are a much better value. Not as cheap as India, but much cheaper than the US (not only are salaries cheaper, but the company doesn't pay as much if anything for health benefits) and the productivity of the Canadian offices are fairly high.
I'm pretty sure we do some development out of Israel as well, but I honestly haven't heard much from the engineering managers about those offices, so I don't know what the costs and productivity are like there.
The fact that people aren't even aware of their reliance on Windows CE is exactly the reason why it is so important Microsoft keeps on the ball with CE releases.
I think you underestimate the sheer volume of Windows CE users, and almost none of them even know it. Most of your major car manufacurers use CE in their newer vehicles, especially luxury cars. It is in cable boxes, dvrs, exercise equipment, dish washers and point of sale systems... It is everywhere and being used more every day.
And what is so wrong with XP that a new version is needed in a rush? Keep in mind that Vista is designed as a new generation of operating system, taking advantage of it (or even using it) will require pretty advanced and expensive hardware... Microsoft needs to wait until people are ready for it.
Big ones, small ones, some as big as yer 'ead!
Give 'em a twist, a flick o' the wrist...
So let me get this straight. They are getting ready to release a new version when they're just finally getting Windows Mobile 2005 phones to market. They haven't even fixed the bugs.
:P
I swear...they're !@#$% morons.
- Saj
PS - Slashdot is a moron too.
a) a few symbols as alternative to swearing != ascii art
b) 5 symbols != lame.
I don't think the hardware timers on those cheap-o devices aren't good enough to drive RT software anyway. You can't be RT if the underlying hardware can't generate dependable clock ticks.
What makes it not a real-time operating system?
I bet this is as much realtime as Windows XP Embedded is embedded. That is, it probably squeaks by the dictionary definition if you squint hard enough...
Don't blame me, I didn't vote for either of them!
If its based on .NET then it cant be considered fast.I did few scripts for Windows Mobile 5 for Smartphone and it was not a good experience at all.Symbian rocks.
Sorry, still not convinced. The medical devices don't even claim to be real time, and the controllers just say you can buy third party software to make a real-time OS out of Windows. I don't know why you would want to do either. There is time-tested, proven software that handles these tasks quite capably. And that is not just a Microsoft-bashing one-liner. Some of those companies are just as dodgy about licensing and lock-in as Microsoft is. But they know how to do real time. Use the right tool for the job. If you want pretty widgets, go with Microsoft or Apple. If you want rock-solid real time, go with something like VxWorks.
Today's Sesame Street was brought to you by the number e.
On your sig, terminate process? I feel older than I am. And like more of a geek.
Not a sentence!
You can get priority inversion with ANY threading package, including pthreads and Java as both allow you to set priorities. You can get deadlock in ANY multi-threaded program, including pthreads and Java programs. There is nothing magic about an RTOS. Now building real time systems with an RTOS is something that very few people seem to grasp.
"This mission is too important to allow you to jeopardize it." -- HAL
From what I've seen happening inside Wince devices, I don't believe the real time attribute of WinCE that much.
I believe that the only real reasons Microsoft is doing OK in this arena is because (1) They throw in huge amounts of money and don't mind making a huge loss to keep their foot in the door and (2) they have brand recognition (remember the non-slashdotters think Microsoft are miracle workers).
Having worked on both embedded Linux and Windows CE at the kernel level, I far prefer Linux. Not for any hippy-dippy freedom reasons, but because Linux development is far faster. If I change a line of kernel code, it takes me less than 30 seconds to rebuild the kernel and have it booted up and running on a Linux board. WinCE will take many times longer than that, meaning less development gets done in a day.
A new version release every 18 months has been the norm so calling it "surprising" is naive. You won't see a GA user product for a year or more, though. One can only hope these won't be the junk that WM5 (CE5-based) user devices are.
A lot of non-RT systems have protection against priority inversion, doing funky things like boosting priority of threads that haven't been run for a while and other good stuff that goes against the stict priority ordering your typical RTOS will enforce.
I have no idea why you mentioned deadlocks, but I figure it's because you didn't understand my statement on waiting forever on an object. On a typical RTOS you just can't do that. This has nothing to do with deadlocking, this has to do with how long you can wait around for something to happen - especially if you are holding a spinlock. Try it for yourself some day: grab a kernel resource and do a while(i++);. Then do the same thing on a true hard RTOS and see the difference.
There is something "magic" about RTOSes and it's the very definition of them: they are *deterministic* in their response to input. This places all sorts of restrictions all through your code and if you aren't aware of them then you're going to get some crazy buggy software in all sorts of non obvious ways.
Fear: When you see B8 00 4C CD 21 and know what it means
The Pro version is less than $3 per unit, and free in many cases (anyone here can distribute CE-based devices free for non-commercial use). If you want Premium, that'll cost you about $15 per unit. Premium includes all the applications. Prices are subject to change. This is not an endorsement, but a 300 KB kernal is easy to get your little mind around, and yes, it can be hard real-time, as opposed to hard time which my Ex- is doing right now.
Most PDA manufacturers will not even bother releasing an upgrade for pre-existing devices, which means if you want the newest fangled Windows CE, you have to buy a new device. Glad I read this as I will put off buying a new PDA until CE 6 is supplied in the box on the device.
The article really didn't explain this and it doesn't make sense. Isn't virtual memory a segment of hard drive space that is used as RAM? I am guessing they mean something else or it's just a marketing term, probably the latter.
$3/unit seems pretty heavy to me. My bosses were not too happy when a vendor wanted $1/unit for a substantial subsystem and we build medical equipment (it's expensive but the user will pay for it anyway).
Don't expect $15/unit winCE showing up anywhere in less then luxury good items. The economics doesn't make much sense...
Cheers,
Ben
Most RTOSes have optional priority inversion safe semaphores. I can't think of an RTOS that doesn't provide semaphores, as opposed to spin-locks. An RTOS places no restrictions on APPLICATION code. An RTOS does place restrictions on DRIVER code. You are right that the things you decribe cannot be done in driver code. But from an application API and multi-threaded programming point of view, an RTOS looks like any other OS.
"This mission is too important to allow you to jeopardize it." -- HAL
I see your point. My argument there is once you've reached the application level you describe then things are no longer "realtime". The primary reason for using RTOS is the guaranteed interrupt response time, which means driver code. Once you get away from guaranteed times then you're absolutely correct - things look pretty normal.
Fear: When you see B8 00 4C CD 21 and know what it means
yes I know what realtime means and I stand by my comment. Windows CE is not an RTOS as considered by those in the field. No matter what label Microsoft puts on it.
;-)
Microsoft is a MARKETING COMPANY so for them to SAY their OS is realtime capable must be taken with a grain of salt. Just how RT capable is it and how must the hardware be customized to help it get to that point? At best, can it monitor the surf reliably and is this the criteria MSFT used to validate Windows is RT capable?
IMO, this is a marketing trick to try and keep up the marketshare of WinCE as the phone hardware vendors move to consolidate the chipsets of the highend models. Where there used to be a CPU for the UI OS and a CPU for the telecom OS, there's a move to use only one CPU and some shared resources to lower the costs and shrink the size. And my guess is that these RT WinCE phones are going to be dropping calls. But, lucky for Microsoft, the customers will more likely to be blaming the carrier unless Windows BSODs or something indicates it's Windows failing.
Oh, and did you know that Microsoft has lost over $9 billion on Windows CE so far and only had one profitable quarter? The quarter following Microsofts cutting of its R&D budget by ~$3.5 billion. Surprisingly, a couple of other MSFT marketing divisions showed profits for the first time during this quarter too... My gawd, it's been almost 10 years already and they STILL can't make a profit off of, The Little Windows That Couldn't.
When they stop trying to change my MIND with press releases and start providing products which stand on their own in the marketplace, THEN I'll consider not looking at them as a MARKETING COMPANY first and a technology company second or third.
LoB
"Anyone who stands out in the middle of a road looks like roadkill to me." --Linus
linux fanboi: These are not the updates your looking for...
slashdotter: these are not the updates we're looking for
Gadget News at Gizmo.com
...running Windows CE?
oohh i'm feeling very lightheaded now, think i'm going to pass ouqef-\/.bafs,.
The Hacker's Guide To The Kernel: Don't panic()!
Remember one thing, Microsoft is a marketing company first and foremost.
And also know that using Windows where it didn't belong was responsible for this event:
http://socalscanner.com/2004/091604_1.htm
Microsoft can say that their software is this or that, but their EULA and their legal people make sure they are not responsible for how it runs, or doesn't run. Oh, and I don't think most of what they say in court or to the press is really true. It might be true to what the definition of MS-TRUTH is but then again, that is not the same definition others have for truth.
IMO.
LoB
"Anyone who stands out in the middle of a road looks like roadkill to me." --Linus
That would be cool, especially a better way of using card memory. As it is now most PDA's don't combine the memory. A real annoying thing is that many PDA's with extra memory install the memory as a Storage space separate from Program space so you can't use it to boost performance only as storage which can be expanded more economically through a card which can also actually be faster.
actually the lowend phones are commoditized already -they cost ~ 25$ or are given away 'free' when signing up for mobi service.
.NET driven content would bring that could freeze out the non MS phones.
HOWEVER, the service operators use sim cards and the like to 'lock' the phones so that they only work with their service.
the real threat is the walled garden effect that
My comment was based on my personal professional experience, not on looking it up online. If your definition fully describes hard realtime, than there are clearly realtime systems that are significantly "harder" than hard realtime. There are environments in which events need to occur with an accuracy of 1 CPU cycle. You can't be 1 CPU cycle early or 1 CPU cycle late. Anyone who has done bleeding-edge Atari 2600 game programming is familiar with this sort of "harder" realtime requirement.
The predictable response time in an RTOS extends up to the application level. Interrupt to semaphore release time is a figure of merit with regard to RTOSes.
"This mission is too important to allow you to jeopardize it." -- HAL
A real-time os can guarantee scheduling. CE cannot.