This year's WWDC, apple announced that macOS 11 would migrate to ARM platforms, causing a stir.
Apple said it will replace Intel's X86 platform with its self-developed arm platform on MAC computers, and migrate the ecology including operating system and software, which means arm has taken a step to challenge x86 in the field of personal PC.
People have high expectations for Apple's move.
macOS is not the first time
Apple's announcement comes as many people think of MicrosoftMicrosoft has been groping for many years in the field of arm, and has launched a special system such as windows RT.
Recently, windows 10 is running on arm, and compatible with a large number of previous software.
However, win10 arm strategy seems to have failed to achieve too much response, and windows RT even died suddenly.
Mac migration platform is coming fiercely, people generally expect that the wind will be smooth, but win10 has encountered many difficulties.
Win10 on the road of arm, in the end, what is wrong? Let's talk about it today.
X86 transfer arm: what kind of pit will there be?
As we all know, the biggest difference between arm and X86 platform is the difference of micro architecture.
ARM belong to RISC simple instruction set, while X86 is CISC complex instruction set, the program to these two different platforms to run, need to compile different versions.
Of course, with the help of the middle layer, you can also achieve compatibility between two different platforms.
Yet either way, migration of previously X86-compatible operating systems to ARM, costs.
If we give up the compatibility of the old software on X86 platform and only let the new software be compatible with arm platform, it means that the ecosystem needs to start from scratch, and it will be very difficult for the new system to start.
During the transition period, The newly developed software needs to be compatible with both X86 and ARM platforms, meaning that either developers devote more effort to compiling their own versions,Either the development suite of the operating system provides the function of compiling at the same time. In any case, more work is needed.
And if you want ecological seamless connection and make the new arm platform start more smoothly, it is better to let the old software of X86 platform run directly on the new arm platform, then you need to work on the middle layer.
For example, Android is a good example. Through Hal to blur the hardware interface, Java, which is good at cross platform, is used as the application upper layer. Whether Android running on X86 or Android on arm, it can be compatible with most apps at the same time.
but the drawback of this approach is that the middle layer may become a bottleneck for efficiency. Android middle layer is very thick, the efficiency is moving criticism for a long time.
In addition, since arm is mostly used for mobile platforms, if the desktop operating system wants to migrate to arm, it will also pay attention to the existing ecological hematopoiesis through the mobile platform, that is, make the desktop operating system migrated to arm compatible with the app of mobile platform.
And, of course, there's a big hole in it, like UI adaptation is a problem
What did apple do to move arm?
The above mentioned x86 migration arm may encounter problems, but we have confidence in Apple's move. To understand this, let's first take a look at what Apple has prepared for the migration of the arm platform.
New ecological development in full advance
Apple plans to move Mac to arm platform, in fact, can be seen from a long time ago.
For a smooth transition to the ARM platform, Apple has been prepared to do a lot of work on the development suite to integrate ideas and begin to transform its application ecology.
Many of the things apple has done over the past two years is to solve the problem of ARM migration to X86 platforms.
Apple launched swiftui and MAC catalyst at the WWDC conference in 2019.
The two suites serve as a bridge between ARM and X86, as well as between mobile and desktop platforms
Let's start with MAC catalyst, a development suite that spans arm and x86 platforms.
Through MAC catalyst, developers can build an iPad app, which can also become a native application of Mac OS.
From a certain point of view, MAC catalyst will be the new development benchmark for ipados and MacOS, and ipados will be deeply integrated with the application ecology of MacOS.
Since then, even if the Mac OS is migrated to the arm platform, the software applications developed based on MAC catalyst can be seamlessly compatible.
SwiftUI, its role is to provide a cross-platform UI adaptation for mobile and desktop platforms.
SwiftUI, developers can use simpler code to develop software UI. that fit multiple platforms at a time
When developers want to make software applications for macOS and iOS、iPadOS, for example, they can easily make UI. that fit these platforms
It can be said that swiftui greatly reduces the threshold of developing software applications for different apple platforms, which is of great significance.
Both MAC catalyst and swiftui have been put into practice. With the new version of Xcode and high-quality development documents, every apple developer can produce high-quality software applications based on new technologies.
To a large extent, Apple has solved the problem of developing new software compatible with X86 / arm and mobile / desktop platforms.
Please note that this is the work done before the release of the ARM version of the macOS. Today, apple hasn't released ARM version of Mac computer, but its development components are complete.
When macOS really migrate to ARM platform, the software application based on Mac Catalyst and SwiftUI has already been flourishing, and the software ecology will not be ARM by the migration
Ecological migration step by step
Mac catalyst solves the problem of compiling code on X86 and arm platforms, while swiftui solves the UI adaptation problem between mobile platform and desktop platform, but this is for newly developed software applications. For the Mac OS old software, Apple also offered a trick.
At this year's WWDC conference, Apple announced that it would introduce Rosetta 2 intermediate conversion layer for smooth transition from MacOS to arm platform.
If you are old fruit powder, you must be familiar with the word Rosetta.
The function of Rosetta 2 is that it can make the Mac OS of arm platform run the vast majority of X86 software directly through instruction translation.
Moreover, the performance of Rosetta 2 is quite good. It does not translate instructions when the software is running, but completes the conversion when the software is installed.
Of course, this is not to say that Rosetta 2 can achieve performance completely lossless, it is not good for AVX instruction compatibility, if X86 software depends on AVX or even AVX2,, there is no corresponding high performance instructions on the platform, there will be a significant decline in operational efficiency.
Not all software will use AVX instruction set. Generally speaking, Rosetta 2's performance is acceptable.
Like Rosetta of the year, Rosetta 2 is only a temporary move, which is meant to provide a smooth transition to the arm platform.
According to Rosetta's history, MacOS will be transferred to arm, and the old x86 software will also go through a transitional compatibility period of several years.
In the next few years, we may also see that the new Mac OS 11 will no longer support the old x86 Mac, and in a future version it will not support nodes like Rosetta 2.
At the end of the day, only new software developed for arm was left on Mac OS 11, and the application of arm software was already in full swing.
Apple is quite aware that the change of the old and new platforms is not something that can be accomplished overnight.
Apple, on the one hand, slowly creates a new ecology for the MAC on the arm platform through swiftui and MAC catalyst, on the other hand, it keeps the original ecology from losing through Rosetta 2, and the degree of completion of both aspects is very high, which can be described as a typical example that both hands should be grasped and both hands should be hard.
In addition to the previous successful experience of changing platforms from PowerPC to x86, people have great expectations for Mac to switch to arm architecture, which is natural.
Where does win10 arm fail?
In many people's cognition, Microsoft Windows system to arm's pace is earlier than Apple's MacOS.
Indeed, Microsoft released the windows RT system for arm platform in 2012 and installed it on the first generation surface tablet.
Recently, Microsoft has moved the entire windows 10 desktop system to arm. At present, windows 10 tablet based on snapdragon processor has appeared on the market, and Microsoft has also launched surface Pro x based on snapdragon arm platform.
Microsoft is no doubt far ahead of Apple in terms of its progress towards the market
However, these products have not set off too much waves in the market, and window RT has announced the end, while the windows 10 arm products such as surface Pro X have fallen into bad reputation of low performance and have not achieved any good market performance.
Why is it like this? Let's look back and forth at the journey of Microsoft Windows on the arm platform.
In 2012, in order to compete with the iPad, Microsoft launched the surface tablet product line. However, the windows RT system, which is used for the surface tablet of arm platform, has many limitations.
On the outside, windows RT is no different from the serious Windows 8 desktop operating system.
However, windows RT is not compatible with all traditional windows programs based on X86. Windows RT can only get apps from the app store, which makes it almost impossible for windows RT to use third-party software.
In fact, this is because Microsoft has restricted the third-party applications through digital signature. After breaking Microsoft's restrictions, the traditional x86 software can run on Windows RT by recompiling into arm applications.
Why is Microsoft doing this?
In Microsoft's idea, windows RT and Windows Phone share an app store, and the two sides have an ecological connection. While developers develop apps for Windows Phone, they can also consider windows RT. However, this is just a beautiful fantasy, windows RT these defects, sent it to the grave.
The interaction foundation between mobile phone and tablet is too different
Both Windows Phone and windows RT push Metro (Modern) design, but there is an insurmountable gap between small and large screens.
In addition, windows RT still has a large number of desktop UI, so it is not appropriate to use the app on Windows Phone to give ecological blood transfusion to windows RT.
Windows phone doesn't build a strong ecosystem
Microsoft has changed the development route of Windows Phone for many times, and the development tools have changed again and again.
Windows Phone development environment is very unstable, the system itself from the beginning of the CE kernel to the NT kernel, and the application from the beginning of the XAP to the APPX, to the development of the application requires developers to develop the application
Developers can't even keep up with the dramatic changes in the development environment of Windows Phone, and finally watch the death of WP / win10m, not to mention the edge product windows RT?
In this situation, it is impractical to transfuse windows RT through WP.
The performance of arm platform is too weak
The surface uses Tegra 3 chip. The performance of the chip is not even as good as atom of the same era, and the office of the system is extremely stuck.
Looking to the ARM chip at that time to support the desktop experience? Not at all.
Developers have found that by breaking the restriction of digital signature in Windows RT system, the Win32 program on X86 platform can be recompiled and installed on Windows RT and run smoothly.
However, Microsoft blocked the related loopholes and further weakened the scalability of windows RT.
In short, although Microsoft has made windows RT run on ARM platform, it has not provided an ideal development environment for it, nor has it made it directly compatible with traditional x86 software applications. At the same time, windows RT also has some problems such as UI splitting and weak platform performance, so it is reasonable to fail.
By the latest version of windows 10 arm, many problems seem to have been solved.
The performance of ARM chip is greatly improved, even close to the desktop low-voltage x86 processor; the uwp application development environment which can support arm and x86 across platforms is relatively stable compared with the previous;
At the same time, Microsoft also allows Windows 10 arm to run x86 software directly. However,Windows 10 arm still has the following defects.
Microsoft's middle compatibility layer for windows 10 arm is not compatible with all x86 software, only 32-bit software can be compatible.
In fact, the thumb2 instruction set used by windows 10 arm is the same as that of windows RT, but this time it is open for compatibility with Win32 programs.
However, this instruction set is not compatible with x86-64 (ARM processor has not entered 64 bit in the era of windows RT), so it needs to be changed to be compatible with 64 bit software in the future.
X86 software running on Windows 10 arm is transcoding at the same time. Unlike Apple Rosetta 2, it does not need to transcode again when it is installed. This results in the unsatisfactory performance of windows 10 arm running x86 software.
The future of uwp is in doubt
At present, there are still many limitations in the application of uwp, such as limited functions, poor stability, and less mature development environment than the traditional WPF.
You should know that developing applications with MAC catalyst can at least have a mature iPad ecology, and compatibility with Mac OS is a bonus. What can be gained by developing applications with uwp?
Facing the strong competition of traditional Win32 software, it is self-evident what choice developers will make between uwp and Win32 software development.
Microsoft has no control over arm hardware
Windows 10 arm runs on the platform of snapdragon. Microsoft doesn't design ARM chip by itself like apple, so the combination of software and hardware is naturally deficient.
Apple can ensure that MacOS will run on ARM chips of what performance level in the future, while Microsoft can only rely on Qualcomm.
In the current situation that arm performance is still catching up with X86, this is an element of concealed mines.
Windows has a heavier legacy of compatibility issues
If Mac OS is replaced by arm, apple still needs to focus on building new MAC computers; when Windows switches to arm, Microsoft must take into account many hardware manufacturers and many old software, and the transformation speed is doomed to be lower than apple.
At this point, we can sum up why Apple Mac OS switch to arm can attract great attention, while Microsoft Windows transfers arm is not satisfactory.
Microsoft is uncertain about the high-quality development that Apple offers to compile applications that are compatible with X86、ARM platforms (SwiftUI Mac Catalyst).
Apple provides a compatible solution of X86 software on ARM platform (Rosetta 2), which is efficient.
However, windows RT is not compatible with X86 software, while windows 10 arm is inefficient in running x86 software and does not support 64 bit;
Apple can design its own high-performance ARM chip, but Microsoft has no such ability. When the ARM chip performance is not enough to support the desktop environment, windows RT will be launched. Now, the performance of windows 10 arm tablet cannot be compared with other x86 tablets at the same price;
Apple arranged the transfer of arm ecology in advance, and set up enough transition period, and the corresponding products maintained a high degree of completion from the beginning to the end, while Microsoft rushed to market the immature products without being ready for supporting;
Apple has more control over ecology, which can encourage developers to update and iterate to adapt to the new platform, while Microsoft is burdened with a heavy burden of compatibility.
At present, x86 is still the absolute mainstream of desktop platform. However, the arm platform has shown its advantages in energy efficiency. If Microsoft is determined to take into account the arm platform, it must solve all kinds of problems at present in order to bring a good experience. It is expected that Microsoft can do better in the future.
>> of Preferential Commodity Informationiqiyi VIP jingdong PLUS 40% discount: only 118 yuan to pack Get a coupon of 99-20 yuan for Xiaomi Youpin new employee Netease selects crayfish 2 boxes, 6 Jin, 99 yuan package RMB 75 after two-way fast charging 18W 2W Ma coupon for green mobile power supply Yinong mailisu barrel packed with 520g sandwiched dark chocolate chocolate chocolate chocolate chocolate