• 6

Windows 8 (Phone, Slate), ARM, x86 大統一

之前看到的消息
Windows Phone 8 (Windows 8)


看來 ARM 平台是同時在進行, 不會 x86 版出來很久才出...

IE10 and Windows running on ARM

ARM 1.0GHz, Ram 1GB, 沒筆/沒觸控.
CPU... "NVIDIA just tweeted that it's actually a Tegra 2 SOC."

系統以 Windows NT/200/XP/Vista/7 為核心,
不像現在, Pad 的 Embeded Compact7, 跟 Mobile/Phone 都是以 WinCE 為核心.

一開始的 NT 設計就不限在 x86, 有 mips, powerpc, alpha 等等,
只是後來不符經濟效益, 都停掉了, 再把 ARM 加回來應該不是難事.


不過, 現在的 ARM 的機子, 可以跑 Windows 8 嗎?
我是抱懷疑態度...
並不是 cpu 可以 ok 就沒問題, 整個平台, bios 都是相關的...
像 intel 的 Moorestown(Z6xx) cpu, 雖然是 x86, 也不能跑 windows..
http://news.softpedia.com/news/Intel-Moorestown-Will-Never-Support-Windows-143898.shtml
Intel Moorestown Will Never Support Windows

另一個關鍵是 AP,
目前 Windows 的重量級 AP, 都是 native code,
也就它的執行檔直接是 x86 的 machine code,
不管是 ms office, open office, photoshop 等, 都是如此,
這種軟體, 是不能直接拿到不同 cpu 上執行的.
(Windows Mobile 6 之前的大部份軟體也是如此,
像 Papago 之類的, 所以在更早的 PocketPC 這些軟體還要分不同 cpu 版本)

但, 現在 Andorid/WindowsPhone7 則不是如此,
AP 都是 build 在 VM 的機械碼上,
Andorid 用 Java, WindowsPhone7 用 .net(SilverLight)
在這些 vm 上跑小 AP ok, 要跑完整 office 那種大東西... 不確定,
當初也有在 java 上發展 office 的 計畫, 最後也不了了之?
本來有點期望 openoffice 能在 java 上, 也沒有...
而且現在的趨勢是把軟體做在雲端...

2011-04-13 11:14 發佈
ec wrote:
之前看到的消息Win...(恕刪)


ec大 只要是純.net的程式 應該都沒問題

小弟之前有在PS3上面搞過MONO 發現MONO作得真是好 把GTK/GTK+都巧妙的轉成了Windows Form, 所以可以不經重編譯就直接跑純.net的程式!!

看到Windows程式直接在PS3上執行 那種感覺真妙

所以說 .net = M$版JAVA...(M$自己說的)
如果該影片為真的話,那x86真的是不妙
看起來1Ghz的Tegra2速度還ok,或許執行其他的app能力還是未知數
但是就低階產品而言這個順暢度夠了...
耗電量如果沒有增加,作成平板電腦蠻有趣的...

真的做起來的話,Intel/AMD你們要好好加油了

LeonHong wrote:
ec大 只要是純.n...(恕刪)


嗯...
我知道純 .net (或是是純 managed code) 的東東沒問題,
問題是, 這種 ap 能寫多大的..?

java 已經出來很多年了,
為什麼會沒有一套用 java 寫的 office 呢?
是不是有什麼 peformance 的問題...?

(
不過, java 問題相對的比 .net 多,
.net 的出發點是能盡量發揮平台上的優勢,
而 java 是希望維持各平台上的相容性,
從 swing(java 上 ui 的 fx) vs winform 就可以看得多...
swing 的 window 都是自己 render 出來, 不透過 os, 相對的枆的資源就大,
而 .net 的 winform/wpf, 都是靠 os, 進一步的 os 靠 gpu 硬體, 兩者就差很多,
嗯... 講遠了...
)

ec wrote:
嗯...我知道純 ....(恕刪)


不遠不遠 ec大說得好

相容性跟執行速度的確相衝突 甚至.net的翻譯能力都是大問題 其實用MONO跑的.net看起來不像Win7 App 比較像Win3.1 ...

要用.net實作M$OFFFICE? 小弟也覺得有點困難...
ec wrote:
swing 的 window 都是自己 render 出來, 不透過 os, 相對的枆的資源就大,
而 .net 的 winform/wpf, 都是靠 os, 進一步的 os 靠 gpu 硬體 ....(恕刪)


錯~
swing 的 window 是JAVA VM render 出來
.net 的 winform/wpf的 window 是.NET Framework VM render 出來
都一樣

JAVA VM是掛在OS上,.NET Framework VM 也是掛在OS上
也是都一樣
要不然怎麼宣稱跨平台? 怎麼叫"Managed" code?

枆的資源多寡,跟VM的架構有關係...
james-bc wrote:
錯~swing 的 ...(恕刪)


swing/winform 當然最終是由 vm render 出來,
我講的不是這個, ok?


例如要開一個 window,
swing 跟 winform 作法有什麼不同?

swing 的 window 是靠 java "畫"出來的,
("畫" 這個底層是透過 jvm 去做),
其它的就 window 的 style, button, menu 有的沒的, 就 java 則自己畫.

而 .net 作法, 則是交底層由底層, 叫 OS 去開 window...

java 一開始的 awt 也是如此,
為了要維持相容,
awt 就變成是各種平台的交集.

http://j2se.myweb.hinet.net/article/java/hw02.htm
指的就是 Swing 是由純 Java code 所寫成

相對於 Swing,由於 AWT 的 native code 具有 C 語言的成分,若您
想自行更動 AWT 的視窗變化時,您必須撰寫自己的 C 語言原生碼,
然後再搭配 AWT 的原生碼與 JDK 函式庫。遇到不同的作業平台時,
又必須重新修改和編譯自己所寫的原生碼。因此 AWT 不具跨平台特性、
耗時且難以理解,且又耗費系統資源,所以就稱之為 heavyweight component
,表示 AWT 元件是不容易更動的。



**********************
當時, swing 的講法是自己畫是 lightweight, 靠系統是 heavyweight,
但是靠自己畫, 可以很枆 cpu 的, 相對的靠系統, 則系統還可以靠硬體加速.




當是官方java是全力發展 swing,
非官方則是有各種做法,(MS 也有拿 java, 不過採到底線, 被告...)

*************************
Swing 則是針對 AWT 的問題而誕生的,其擁有樹狀元件等較複雜的
元件,以及克服與作業系統有關的問題,但是由於所產生的元件是利用仿照的,
因此顯示速度較慢,造成在實用上相當不利的缺點。SWT 則針對 AWT 和 Swing 的問題作了改善,
SWT 是一套與作業系統無關的圖形與元件函式庫,在元件的產生方面採用了適當的模擬。
在基本的元件方面則是採用原有作業系統的,至於較複雜的才是用仿照的。此外,
SWT 對於作業系統原有獨特的也提供支援,例如 Windows ActiveX。
>另一個關鍵是 AP,
>目前 Windows 的重量級 AP, 都是 native code,
>也就它的執行檔直接是 x86 的 machine code,
>不管是 ms office, open office, photoshop 等, 都是如此,
>這種軟體, 是不能直接拿到不同 cpu 上執行的.
>(Windows Mobile 6 之前的大部份軟體也是如此,
>像 Papago 之類的, 所以在更早的 PocketPC 這些軟體還要分不同 cpu 版>本)

.NET應用程式執行的時候也是先編譯成native code才跑的,查一下NGen和JIT就知道了。
Microsoft已經展示過ARM版的Office,原則上應用程式只需要用能產生ARM machine code的compiler重新編譯就好了。

>但, 現在 Andorid/WindowsPhone7 則不是如此,
>AP 都是 build 在 VM 的機械碼上,
>Andorid 用 Java, WindowsPhone7 用 .net(SilverLight)
>在這些 vm 上跑小 AP ok, 要跑完整 office 那種大東西... 不確定,
>當初也有在 java 上發展 office 的 計畫, 最後也不了了之?
>本來有點期望 openoffice 能在 java 上, 也沒有...
>而且現在的趨勢是把軟體做在雲端...

你可以把.NET Framework Runtime視為一種VM,但它和Java VM做的事情絕對是不一樣的。
.NET從MTS->DCOM->COM+一路演化過來,規模已經不是問題,那為什麼Office之類的應用程式還不是用.NET寫的呢?因為除非把整個產品重寫,但正常情況下不會有人這樣做。另外就是某些OS提供的功能並沒有包含在.NET Framework裡面,這種情況使用native code開發也許會比較容易。事實上Microsoft最近的產品已經有部份元件改用.NET了,像Visual Studio裡的某些功能。

另外Windows 8上市時使用的ARM處理器或SOC會比Tegra 2快上許多。
LeonHong wrote:
要用.net實作M$OFFFICE? 小弟也覺得有點困難
我倒是覺得不會太難
畢竟基礎建設 (.NET Framework) 都成熟了
且 Office 也不是非常需要效能的程式,就算是 non-native code 應該也不致有重大影響

PS 請不要一直 M$ M$
看來MS也開始發力了
竟然展示了就代表那是可行的
不知WINS8 將來在手機市場能佔到多少%呢
  • 6
內文搜尋
X
評分
評分
複製連結
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?