回覆列表
  • 1 # EmacserVimer

    歡迎大家關注我的賬號:EmacserVImer,我會經常和大家分享你關注的網際網路行業動態,計算機技術趨勢,以及最新的籃球足球資訊!

    Linux與Windows,一個是伺服器領域的主要作業系統,一個是個人PC領域的絕對王者,可以說是最好的兩極。今天我們從底層角度來分析一下兩者的差別。

    從系統架構上分析

    Linux的核心可配置性、可獨立性非常好。主要完成作業系統最為底層最為核心的一些功能,比如任務排程,TCP/IP,以及驅動裝置的管理等等,Linux可以適用於從嵌入式裝置、智慧移動終端、桌面解決方案、以及伺服器端等等眾多的計算機平臺。

    Windows是微核心,是目前最成熟、最完善的桌面個人PC解決方案,在伺服器領域、移動終端、嵌入式領域Windows的成績非常不佳。甚至微軟公司自己在使用伺服器的時候都不得不採用部分Unix伺服器來完成Windows沒辦法搞定的事情。

    在任務管理方面,Linux可以說完全繼承了Unix的全部優點,Linux是一款多使用者、多工、並且任務環境安全的作業系統,windows則不具備這樣的特點,Windows的安全性是建立在犧牲了效率的條件下完成的。同時Linux的核心架構十分精簡,一致性非常好,Unix/Linux發展這麼多年,幾乎沒有做出過巨大的結構變動,但是Windows則不一樣,幾乎三五年就要變動一次架構,Windows XP到Windows Vista,Windows7到Windows8,Windows8到Windows10,幾乎每一次大的版本更新,架構都要改變。

    從圖形介面來說

    Windows的GUI圖形介面是應用程式可以直接透過應用程式呼叫Windows底層的一些圖形介面函式,而Linux是圖形介面是建立在X-Window上,GUI則是應用程式必須透過socket向X-Window server傳送請求才能實現,也就是說,其實只有X-Window server在使用螢幕,這種對於硬體資源的消耗更大,舉個簡單的例子,你用macOS開啟活動管理器就能看到,Linux也一樣。但是這樣更穩定,遇到問題只是相當於卡掉一個進行,不至於導致整個作業系統的徹底崩潰。

    從開發者生態力來說

    Windows是閉源的,而Linux是開源的,Windows下所有的條條框框基本上都被限制死了,當然Windows開發者生態有全世界最好的整合開發環境visual studio,有最好的開發者網路MSDN,當然現在越來越多的開源解決方案也逐漸移植到Windows上,但是終究你會感覺不那麼順暢。

    很多人可能覺得Windows上的工具入門成本耕地,但是Linux下的工具入門的成本確實要高得多,這一點兩者確實不具有可比性,但是一旦你熟悉以後,你會發現Linux才是真正的生產力工具,效率更高,而相反的你會發現Windows下坑越來越多。

    而且windows上你需要學習很多的Windows API,得有超過兩三千個,引數非常多,而且都比較複雜,Windows架構也經常變,可以說要痛苦很多。但是Linux下就會好很多,核心API就兩三百個,而且大部分你用不到,只有在寫驅動的時候用得到,做應用開發,你熟悉C語言的API你就發現,好像差不多了。

    Linux和Windows畢竟各自定位有差別,Linux從一開始就不是為普通使用者準備的,而Windows最初就是瞄準的普通消費者,Linux很難進入消費者桌面市場,而Windows也很難進入伺服器市場。各有各的優勢,各有各的空間。

  • 2 # 剁椒魚頭看電影

    Linux和Windows核心的異同點

    什麼是核心?

    核心是任何作業系統的基礎部分。平凡的外行人幸福地忘記了它的存在。每天有數百萬人使用計算機而不瞭解其實際功能。通常只有程式設計師才能直接處理核心。安裝裝置驅動程式軟體或配置網路協議可能與大多數人可以訪問核心一樣接近。核心是最低和最基本級別的作業系統的核心。它的功能對幾乎所有操作都至關重要。核心是一個作業系統; 什麼是引擎對汽車。沒有核心,我們可以對我們的計算機做很少或什麼都不做。

    相似

    Linux和Windows Kernel都透過硬體抽象層(HAL)控制低階系統軟體和與計算機硬體的互動。以這種方式,核心保持作業系統的其餘部分獨立於硬體,這反過來允許更大的可移植性。作業系統核心是用一種稱為C的高階語言編寫的。選擇C語言是因為C已經被移植到現有的幾乎所有硬體平臺上。可移植性對程式設計師和軟體公司很重要,因為它意味著更少的工作,更少的時間和更少的費用。兩個核心都處理諸如裝置驅動程式,快取,虛擬記憶體,網路協議,檔案系統,程序建立和終止以及系統呼叫之類的事情。

    Linux中的核心

    Linux核心指的是在核心模式下執行的所有內容,它由幾個不同的層組成。在最低層,核心透過HAL與硬體互動。在中間層,UNIX核心分為4個不同的區域。這四個區域中的第一個處理字元裝置,原始和熟的TTY和終端處理。第二個區域處理網路裝置驅動程式,路由協議和套接字。第三個區域處理磁碟裝置驅動程式,頁面和緩衝區快取記憶體,檔案系統,虛擬記憶體,檔案命名和對映。第四個也是最後一個區域處理程序排程,排程,建立和終止以及訊號處理。最重要的是,我們有核心的頂層,包括系統呼叫,中斷和陷阱。該級別用作每個較低級別功能的介面。程式設計師使用各種系統呼叫和中斷來與作業系統的功能進行互動。

    Windows中的核心和“核心模式”

    Windows作業系統中的核心與LINIX的核心略有不同,因為Microsoft對核心的設計採取了一些不同的方法。術語“核心模式”不僅指核心本身,還指HAL和各種系統服務。這將包括底層的HAL (hal.dll),然後是第二層的核心。第三層是核心。在此之上(第四級),我們擁有各種管理器,包括物件,程序,記憶體,安全性,快取,即插即用(PnP),電源,配置和I / O. 檔案系統和Win32 GDI也處於這個級別。第四級中的許多專案統稱為Windows Executive (ntoskrnl.exe)。在核心模式的頂層和第五層是系統服務。

    總結

    如您所見,Linux和Windows作業系統都有一個執行類似功能的核心。但是,兩個核心的設計完全不同。在計算機世界; 有很多方法可以實現相同的目標。

  • 3 # 學而習以致用

    linux與windows的區別就在底層的實現,粗略來說,這兩個作業系統從基因層面就是兩個物種,linux的理念是萬物皆檔案,所有的設定都分散在系統某個約定位置。windows卻用登錄檔的機制,所有的設定都在登錄檔中,不告訴你,你絕對找不到。

    由檔案系統的不同,導致了其上的所有程式的抽象方式皆不相同,幾乎無需舉例,再加上對程序的管理(也就是對CPU時間的抽象)的不同,每每皆是不同。

    最終兩個物種雖然長得很像,但每一個細胞都是有區別的。

    大家一定見過電影裡的駭客,黑掉大廈的燈光系統後,用大廈房間的燈光,玩俄羅斯方塊的場面,原理就是首先將大廈的燈光控制系統抽象為相應的視訊記憶體,保證視訊記憶體裡填入資料時,對應房間的燈光有相應的反應,然後就是對這一塊視訊記憶體的操縱。神奇的駭客行為,無非就是對最簡單原理的運用。

    我們不妨以這個角度為切入點,看一看沒有作業系統的電腦是如何執行的。

    1.首先BIOS會載入硬碟開始的512位元組內容,這裡的程式碼會告訴BIOS:接下來讀硬碟哪個面哪個區域,設定好所有的暫存器狀態跳轉到32位模式(保護模式)。

    2.進入保護模式的計算機,擁有了訪問超越1MB記憶體的能力(16位的真實模式只有20bit位的定址能力,2的20次方為1 048 576,正好1M,單位是位元組,也就是B,所以是1MB)。

    可以訪問這樣大的記憶體,要做什麼自由發揮。最起碼的工作是寫一個顯示驅動程式,讓每一條輸入在顯示器上顯示,這是最基本的互動。

    假設,螢幕被劃分為50行,80列的50*80=4000個小格,每一個小格都是一個記憶體單元,我們讓希望顯示的內容,寫在其中的某個或多個記憶體單元,螢幕立馬就會顯示出對應的影象。那4000個小格就是視訊記憶體,視訊記憶體是顯示器給我們的介面,這個介面把顯示器複雜的光電感應、化學反應過程抽象為4000個小格,讓我們方便操作。

    3.我們還需要一箇中斷表,中斷是為了與CPU有互動,否則不能對CPU下指令的電腦是一無用處的,這是對CPU能力的抽象,想象上面顯示器的抽象,這是一樣的道理。永遠在腦海裡有一個抽象的概念,計算機領域就是抽象的不斷實現。

    5.將上面所有的抽象,寫進一個迴圈程式中,不斷的等待中斷,然後按照中斷指令呼叫顯示與檔案系統,這就是作業系統的最基本形態,到這一步,你能夠透過二進位制的方式與計算機交流了,如果需要用匯編語言,還需要實現一個編譯器,來翻譯彙編程式碼。

  • 4 # cal仔知道一切

    首先,我們先對這兩個作業系統有些基本的瞭解:

    Linux:以它的高效性和靈活性著稱。它能夠在 PC計算機上實現全部的 Unix特性,

    具有多工、多使用者的能力。

    Windows:是最常見的計算機作業系統,目前推出的win10系統相當成熟。Windows作業系統具有人機操作互動性好,支援應用軟體多,硬體適配性強等特點,未來該系統將更加安全、智慧、易用。

    從作業系統的角度來講,Linux和Windows在以下兩個方面的區別:

    第一、Linux的操作比較複雜,windows的比較簡單、易懂。

    第二、很多軟體只能在windows裡執行,而不能在Linux系統執行。

  • 5 # 龍泉詩

    從我個人的角度去理解:

    區別:

    1、免費與收費

    在中國,對個人使用者windows和linux都是免費的,對公使用者windows需要收費,linux是免費的。

    2、技術支援

    Windows提供了較完善的幫助系統,而大多數Linux使用者依靠技術社群來進行技術支援。他們可以從聊天板和論壇得到有用的資訊。缺點是,它往往需要較長時間才能得到答案。

    3、安全性

    安全是一個非常重要的問題。這兩個系統都有漏洞和潛在的安全問題。許多管理員聲稱,Linux比Windows有更多的漏洞,這當然跟它開源有關。不過,如果你有一個好的管理員,安全應該不是一個重大問題,無論您使用的那種作業系統。

    4、開源

    開源就是指對外部開放軟體原始碼。linux開源,而Windows並不開源。

    二、無盤系統,泛指由無盤工作站組成的區域網。相對於普通的PC機,無盤工作站可以在沒有任何外存(軟碟機、硬碟、光碟等)支援的情況啟動並執行作業系統。為了支撐這樣的網路構架,需要採用專門的軟體系統,此類的軟體成為整個無盤系統的組成部分之一。

    擴充套件資料

    Linux系統的主要特性:

    1、基本思想

    Linux的基本思想有兩點:第一,一切都是檔案;第二,每個軟體都有確定的用途。其中第一條詳細來講就是系統中的所有都歸結為一個檔案,包括命令、硬體和軟體裝置、作業系統、程序等等對於作業系統核心而言,都被視為擁有各自特性或型別的檔案。至於說Linux是基於Unix的,很大程度上也是因為這兩者的基本思想十分相近。

    2、完全免費

    Linux是一款免費的作業系統,使用者可以透過網路或其他途徑免費獲得,並可以任意修改其原始碼。這是其他的作業系統所做不到的。正是由於這一點,來自全世界的無數程式設計師參與了Linux的修改、編寫工作,程式設計師可以根據自己的興趣和靈感對其進行改變,這讓Linux吸收了無數程式設計師的精華,不斷壯大。

    3、完全相容POSIX1.0標準

    這使得可以在Linux下透過相應的模擬器執行常見的DOS、Windows的程式。這為使用者從Windows轉到Linux奠定了基礎。許多使用者在考慮使用Linux時,就想到以前在Windows下常見的程式是否能正常執行,這一點就消除了他們的疑慮。

    4、多使用者、多工

    Linux支援多使用者,各個使用者對於自己的檔案裝置有自己特殊的權利,保證了各使用者之間互不影響。多工則是現在電腦最主要的一個特點,Linux可以使多個程式同時並獨立地執行。

  • 中秋節和大豐收的關聯?
  • 冬季怎樣穿,才不顯臃腫?