Windows 7 process scheduler and Windows Embedded scheduler - windows-7

What are the differences in the Windows 7 scheduler and Windows Embedded scheduler ? I last used Windows CE 5.0 (and XP Embedded). As mentioned here : "Microsoft has announced that the next version, Windows Embedded Standard 2011, will be based on Windows 7". What components are based on Windows 7, because it also mentions that Windows Embedded Standard is the fully componentized version of Windows XP Professional . There a lot of difference in Windows Xp and Windows 7.
I like the the User Mode Scheduler (in Windows 7) ,which provides a new model for high-performance applications to control the execution of threads by allowing applications to schedule, throttle and control the overhead due to blocking system calls.

Windows Embedded Standard 2009 (actual available version) is based on XP Pro binaries.
Windows Embedded Standard 7 (previously known as Windows Embedded Standard 2011, and that will be available real soon) is based on Windows 7 binaries.
Basically, what Windows Embedded Standard is is a componentized version of the Desktop OS with the addition of some features specific to Embedded scenarios to enable fast boot, boot from removable media, shell customization,...
for Windows Embedded Standard 7, the binaries are stricly the same as Windows 7 ones, so when it comes to the scheduler, it is exactly the same as the one of the desktop version of the OS.
-Olivier

Related

Windows 7 compatibility mode in Windows 7

I have an application written in Delphi XE5 that targets mainly Windows 7, but also Windows 8 and 8.1. It does require that the user has administrator rights.
It works fine on nearly all of my user's computers, but on a few it only works when selecting compatibility mode for Windows 7 in Windows 7.
The error presents itself directly when starting up the application as a windows dialog stating that:
[NameOfMyProgram] has stopped working.
Problem Event Name: APPCRASH
Fault Module Name: KERNELBASE.dll
Fault Module Version: 6.1.7601.18839
Exception code: 0eedfade
My question is the following: Why is there a compatibility mode for Windows 7 on Windows 7, and what does it mean to use this mode that could affect my application in the way described above?
I have not been able to find any documentation about this specific compatibility mode.
When you're running Windows 7, the "Windows 7" option appears on the compatibility list when you have Windows 7 SP1 installed. If you don't have SP1 installed, then that option will not appear on the list.
The option makes Windows appear to the program as though it does not have the service pack installed, which may affect the behavior of certain API functions.

Windows Management Instrumentation Command-line (WMIC) support for different windows version

I am developing a few scripts depending upon Windows Management Instrumentation Command-line (WMIC). What is worrying me is support of WMIC for different versions of Windows.
I have found a few pages here and there. For example,
http://ss64.com/nt/wmic.html points "WMIC is available on Vista/Windows 7, Windows XP Professional, but not Windows XP Home". But these links are quite old.
I have already checked WMIC in Windows 7. How to find what are the platforms WMIC support.
Can I assume in the following windows platforms, WMIC is available:
Windows XP
Windows 7 (32bit and 64bit version)
Windows 2007 (32bit and 64bit version)
Windows 2012 (32bit and 64bit version)
WMIC is supported in every SKU of Windows after Windows XP, so, yes, you can assume it will be there.
See http://msdn.microsoft.com/en-us/library/aa394531(v=vs.85).aspx, which states the minimum version of the supported OSes as XP and Server 2003.
You must aware for some changes about WMIC within XP to 7 even higher.
For example, Volume switch there is in Win7 but not WinXP.
I suggest to use and test with minimum state that is WinXP.

Accessing Windows 8 libraries in VS2012 on Windows 7

Running VS2012 Pro on Windows 7 Pro, I need to develop a desktop application for a Windows 8 environment (this is NOT a metro-style interface). What I can't figure out is how to reference the Windows 8-specific libraries (for instance, Windows.Media.Capture). I've downloaded and installed the Windows 8 SDK, but when I try to add a reference to a Windows 8 library, nothing is available in either the Framework or Extensions list.
Any ideas? or am I stuck with having to move to Windows 8 on my development system?
Thanks.
You can develop a .NET 3.x or 4.x app on Windows 7 and run it on Windows 8 in desktop mode just fine. You can also create a C++ app that targets Win32 and run it on the Windows 8 desktop just fine. However, you cannot reference any assemblies on Windows 7 that have runtime dependencies on WinRT APIs. Windows.Media.Capture and the classes contained within (such as CameraCaptureUI) are WinRT APIs and cannot be used on Windows 7. Even if you had Windows 8, very very few WinRT APIs can be called from desktop applications. The Windows.Media.Capture APIs can only be used from a Windows Store (formerly Metro) app.
Dev support, design support and more awesome goodness on the way: http://bit.ly/winappsupport

Scope of an older version window app

I have created an app(.exe) using Win32 for window's older versions(xp,7).
But now i am having a silly doubt regarding the running environment of the app. Actually i would like to know whether i can run my app(.exe) in Windows 8 or not, which is going to be the latest version (Licensed version) of windows .
I would also like to know whether Windows 8 desktop apps will run on windows8 Phone/Tablet or not.
There are several flavors of Windows in the market and coming to the market in the fall:
Windows 7 - The 'classic' Windows; in the sense that it is a desktop OS with a Start Menu in the lower left. It runs on x86 and x64 based machines and supports Win32 based applications.
Windows 8 - The next version of Windows. It runs on x86 and x64 based machines and supports BOTH Win32 and Windows Store applications. If your application runs on Windows 7 then it should run without changes or issues on Windows 8. Windows 8 will be available on Desktops, Laptops and Tablets.
Windows RT - A version of Windows 8 targeting ARM based machines. It supports ONLY Windows store application. Windows RT will be available in both Laptop and Tablet form factors.
Windows Phone 7 - This is the current Phone platform and runs a customized version of Silverlight. It will only run applications built for Windows Phone 7.
Windows Phone 8 - This is the next version of the Phone platform. It is based on the same kernel as Windows RT. There is however very little information regarding the development model at this time. It will however run both Windows Phone 7 and Windows Phone 8 applications.
Your app(.exe) may be capable of running on Windows 8 in desktop mode. If it runs on Win7 then it should be fine but you'll need to test it. It won't run on WindowsRT devices (the ones which only run the "what-used-to-be-called-metro-style" apps).
Not that some tablet devices will have the ability to run desktop apps but some won't. It's not cut and dried.
Windows 8 apps of any sort will not run directly on Windows Phone (7 or 8).

What advantages does Windows Embedded Enterprise give you?

My company has built a machine that measures wedge and roundness of lenses by reading and interacting with very precise indicators, motors, and a switch panel. The interface for the machine is a WPF application and it runs on Windows Vista on a normal PC bought from the store.
I've never worked with Windows Embedded, but it sounds to me like it's intended for this type of system. My question is, what does it buy me? If I were to run this on Windows Embedded Enterprise (Vista) what benefits do I get?
Do I get more control of the load, login, and all that? Can I make it more seamless where it doesn't really feel just like a normal application running full screen?
Is it something I should look into more?
From Wikipedia, this statement tells the whole story:
Windows Embedded Enterprise brand of Windows Embedded Operating
Systems consist of Windows XP for Embedded Systems and Windows Vista
for Embedded Systems, which are the same versions of the OSes as are
available in retail but are licensed exclusively for use in embedded
devices. They are available for both x86 as well as x86-64 (x64)
processors.
Further confusing this branding decision, the only versions of Windows Vista available under Windows Embedded Enterprise are Business and Ultimate. In non-terse Microspeak, Windows Vista Business for Embedded Systems and Windows Vista Ultimate for Embedded Systems are both Windows Embedded Enterprise products.
Since you're effectively getting the exact same OS, the only benefits to choosing this product over any other version of Windows Vista are your desired licensing. Here's the comparison matrix of Vista products by edition, and as before, you're looking at the columns labeled Business and Ultimate, not Enterprise.
For versions of Windows that have actual tangible benefits in the form of smaller kernels and increased robustness for embedded systems, consider the remaining editions listed on this page.
For the benefit of current users at the time of this writing, this branding decision extends to Windows 7.
Here's the comparison matrix detailing the benefits of Windows 7 Professional SP1 and Ultimate for Embedded Systems. As before, Microsoft's product marketing is somewhat misleading:
These products are fully functional versions of Microsoft’s desktop
operating system intended for use in an embedded solution consisting
of purpose-built hardware and application software.
Here's the comparison of editions. You're looking at the columns labeled Professional and Ultimate again for the features you'll receive with either product offering.
For embedded solutions in Windows 7 that actually involve a customized version of the OS, consider Windows Embedded Standard or Windows Thin PC for slimming down aspects of the OS. Microsoft's documentation is far better than I can tractably fit in an answer here.
Windows Embedded Enterprise is a different SKU but exactly the same OS. You will not get any better control of the load, login, etc.
If you want to do such things, you need to consider Windows Embedded Standard. The actual available version is Windows Embedded Strandard 2009 and is based on Windows XP Pro (which can still run .Net apps) and next release, Windows Embedded Standard 7, will be based on Windows 7. These OS are componentized versions, meaning you start from scratch and agregate the components of the OS you need and just these ones.
More details can be found at: WindowsEmbedded.com

Resources