001 Windows 簡介

來源:互聯網
上載者:User

標籤:erro   dir   整合   升級   鍵盤輸入   http   3.2   通過   終端   

                   001 Windows簡介

#Windows 簡介

  Windows版本曆史

    16位元影像形使用者介面

    16位和32位混合作業系統

    64位作業系統

    行動裝置作業系統

 

  NT架構

 

#Windows與程式設計語言

  Windows API

    SDK&API&MFC

      SDK (SoftWare Development Kit)

      API (Application Programming Interface)

      MFC (Microsoft Foundation Classes)

 

  Windows API分類

    基礎服務 (Base Service)

    圖形裝置介面 (GDI)

    圖形化使用者介面 (GUI)

    通用對話方塊連結庫 (Common Contral Library)

    通用控制項連結庫 (Common Control Library)

    Windows外殼 (Windows Shell)

    網路服務 (Network Services)

 

  多媒體相關API

  封裝庫

 

 

#Windows簡介

  Microsoft Windows (中文有時翻譯 微軟視窗,通常不做翻譯) 是微軟公司推出的一系列作業系統,它問世於1985年,起初是 MS-DOS 之下的案頭環境,其後續版本逐漸發展成為主流要以個人電腦和伺服器使用者設計的作業系統,並最終獲得了世界個人電腦作業系統的壟斷地位,此作業系統可以在幾種不同類型的平台上運行,如個人電腦(PC),行動裝置,伺服器(Server)和嵌入式作業系統等等,其中在個人電腦的領域內最為普遍,在2004年國際資料資訊公司一次有關未來發展趨勢的會議上,副董事長Avneesh Saxeena 宣布 Windows擁有終端作業系統大於 70% 的市場份額

  Windows作業系統目前最新的穩定性作業系統是於 2015年 7 月 29 日發布的 Windows 10 , Windows Server 目前最新的穩定作業系統是2016 年 9 月 26 日發布的Windows Server 2016.

 

    //很久以前世界上的每一台都有一個OS,以前每一台機器都是定製化的,裡面的CPU指令 組件 都是不同的   // 我們想在使用的作業系統OS 就是操作我們的硬體       //電腦為什麼叫做電腦,以為很久以前,電腦就是用來計算的,計算飛彈的軌跡什麼的.   //很久以前的編程是,對電腦的硬體進行編程的.因此電腦的發展就受到瓶頸,由於硬體不同,開發就要做很多很多的事情
      //大牛們就想辦法把硬體上面抽象出來一層,就是一套專門的程式,用來控制硬體的程式就是我們現在的OS (作業系統)
      //硬體軟體分分開了      在沒有分開之前,我們的硬體是和軟體一一對應的

 

#Windows 版本曆史

發布時間    版本代號                正式名稱

1985年      1.01              Windows 1.01 (已經停止支援)

1986年      1.03              Windows 1.03 (已經停止支援)  

1987年      2.03              Windows 2.03 (已經停止支援)

1988年      2.1              Windows 2.1 (已經停止支援)

1990年      3.0              Windows 3.0 (已經停止支援)

1992年      3.1              Windows 3.1 (已經停止支援)

1994年      NT 3.1              Windows NT 3.1 (已經停止支援)

1994年      3.2              Windows 3.2 (簡體中文版) (已經停止支援)

1994年      NT 3.5              Windows 3.5 (已經停止支援)

1995年      NT 3.51            Windows NT3.51 (已經停止支援)

1995年      4.0                Windows 95 (已經停止支援)   

1996年      NT 4.0             Windows NT 4.0 (已經停止支援)

1996年      CE 1.01             Windows CE 1.01 (已經挺支援支)               

1997年      CE 2.0            Windows CE 2.0 (已經停止支援)

1997年      CE 2.01            Windows CE 2.01 (已經停止支援)

1998年      CE 2.10            Windows CE 2.10 (已經停止支援)

1998年      CE 2.11            Windows CE 2.11 (已經停止支援)

1998年      4.1              Windows 98 (已經停止支援)

1999年      CE 2.11            Wdinwos CE 2.11 (已經停止支援)

1999年      4.1              Winows 98 Second Edition ( 98 Me) (已經停止支援)

2000年      NT 5.0              Windows 2000 (已經停止支援)

2000年      4.9              Windows Millennum Editon (Me) (已經停止支援)

2000年      CE 3.0             Windows CE 3.0 (已經停止支援)

2001年      NT 5.1              Windows Xp (已經停止支援)

2002年      CE 4.1              Windows CE (已經支援支援)

2002年      NT 5.1            Windows XP Media Center Edition (已經停止支援)

2002年      NT 5.1            Windows XP TablePC Edition (已經停止支援)

2003年      NT 5.2            Windows Server 2003 (已經停止支援)   

2003年      NT 5.2            Windows Xp 64-bit Edition (已經停止支援)

2005年      NT 5.2            Windows Xp Professional x 64 (已經停止支援)

2005年      NT 5.2            Windows Server 2003 x64 Editions (已經停止支援)

2006年      NT 5.1            Windows Fundamentals For Legacy PCs (已經停止支援)

2006年      CE 6.0            Windows Embedded CE 6.0 (已經停止支援)

2007年      NT 6.0              Windows Vista (已經停止支援)

2007年      NT 6.0              Windows Home Server (已經停止支援)

2008年      NT 6.0              Windows Server 2008 (已經停止支援)

2009年      NT 6.1              Windows 7 (至 2020年停止支援)

2009年      NT 6.1              Windows Server 2008 R2 (已經停止支援)                  

2010年      CE 7.0              Windows Phone 7 (已經停止支援)

2011年      CE 7.0            Windows Embedded Compact 7 (已經停止支援)

2011年      NT 6.1             Windows Server 2011 (已經停止支援)

2012年      NT 6.2              Windows 8 (已經停止支援)

2012年      NT 6.2              Windows RT (已經停止支援)

2012年      NT 6.2            Windows Server 2012 (至 2023年停止支援)

2012年      NT 6.2              Windows Phone 8 (至 2023年停止支援)

2013年      NT 6.3              Windows 8.1 (至 2023年停止支援)

2013年      NT 6.3              Windows RT 8.1 (至 2023年停止支援)

2013年      NT 6.3              Windows Server 2012 R2 (至 2023年停止支援)

2014年      NT 6.3              Windows Phone 8.1 (至 2023年 停止支援)

2015年      NT 10.0            Windows 10 (每個版本支援人員5年, 擴充支援10年)

2016年      NT 10.0            Windows 10 Moble (每個版本支援5年,擴充支援10年)

 

    //Windows  和 Windows Server 區別在於 附加的軟體不一樣,家庭版本和伺服器版本的軟體,核心和功能是一樣的。    //核心        OS最原始的需求是操作硬體        NT核心的版本號碼 就是它操作硬體的能力            操作硬體的核心介面 控制硬體   官方提供的            windows 軟體向下相容  30年積累的軟體 

 

#Windows 的三個時期

  16位元影像形使用者介面

    早期版本的 Windows 通常被看作僅僅是運行在於 MS-DOS 系統種的一個圖形化使用者介面,不是作業系統。主要因為它們在MS-DOS上運行並且被用作檔案系統服務。不過,即使最早的16版本的Windows已經有了許多典型的作業系統的功能。包括擁有自己的可執行格式以及為應用程式提供自己的裝置驅動程式 (計算機,圖形,印表機,滑鼠,鍵盤,以及音效卡)。與MS-DOS不同,Windows通過協作多任務允許使用者在同一時刻執行多個圖形應用程式。最後,Windows還實現了一個設計精良的,基於存檔器分段的軟體虛擬記憶體方案,使其能夠運行大於實體記憶體的應用程式。程式碼片段和資源在記憶體不足的時候進行交換,並且當一個應用程式放處理器控制時,特別是等待使用者輸入的時候,資料區段會被移如記憶體。

      ● Windows 1.0 (1985)

      ● Windows 2.0 (1987)

      ● Windows /286

      ● 最後版本 Windows 3 X

 

  16位和32位混合作業系統

    這個系列的16位的Windows的升級版本,仍然需要依賴16位的DOS基層程式才能運行,不算是真正意義上的32位作業系統。由於使用DOS代碼,架構也與16位DOS一樣,核心屬於單核心。但也引入了部分32位系統的特性,聚友一定的32位的處理能力。它可被視為微軟將MS-DOS作業系統和早期Windows圖形化使用者介面整合出售,或本身也晉陞為作業系統,因此使用者就不用再單獨購買MS-DOS以運行 Windows圖形化使用者介面了。

    這個系統包括

      ● Windows 95 (第一版發布與1995年,後來改進版本與1996年和1997年)

      ● Windwos 98 (1998年, 1999年和2000年)

      ● Windows Me.雖然它是WIndows 98 的家族之一,但從來沒有在廣告出現過,Windows 2000的低端仿製版本,以適應想享受當時新出現的 Windows 2000但苦於硬體效能不足的使用者。

 

  32位作業系統

        這個系列是 Windows NT體繫結構作業系統,是真正的純32位作業系統。Windows NT架構作業系統是完整獨立的作業系統,不同於依然需要DOS基層程式混合16/32位的 Windows 9x

        這個作業系統是為更高效能需求的商業市場而編寫的32位作業系統,這個系統都是windows NT架構,核心才用混合式核心即改良式微核心。

        包括

        ● windows NT 3.1 (1992年)

        ● NT3.5

        ● NT4.0

        ● Windows 2000

        ● Windows Xp

        ● Windows Vista

        ● Windows 7

        ● WIndows 8

        ● Windows 8.1

        ● Windows 10

    Windows Xp, Windows Vista, Windows 7, Windows 8, Windows 8.1, Windows 10 同時有32的版本與x64版本

    Windwos Server 2003 也有 x86把本 包括

        ● Windows Server 2003 R2 Datacenter Edition (32-Bit x86)

        ● Windows Server 2003 R2 Enterpnse Edition ( 32-Bit x86)

        ● Windows Server 2003 R2 Standard Edition ( 32-Bit x86)

 

  64位作業系統

    64位 Windows NT 架構作業系統,分為支援 IA-64架構和 x64架構的兩種不同版本

    在曆史上微軟曾對兩種不同的64位架構提供支援,其一是 Intel公司和HP聯合開發聚友革新化的 Itanium家族架構,或稱之為 IA-64:和AMD公司開發的演化化的x86-64架構,由於兩種的架構核心設計思想不同,因此兩種架構的作業系統和應用軟體不具有互連性,但都對傳動的IA-32的軟體一定程度上提供支援,微軟在發布Windows Server 2012 R2前放棄了對 Itanium架構的支援,因此現在微軟的64位產品指的單單是x86-64架構,而在微軟的詞彙中稱 x64。

 

    支援Itanium家族架構的微軟 Windows產品有:

      ● Windows 2000 Advanced/Datacenter Server Limited Editon

      ● Windows XP 64-bit Edition

      ● Windows XP 64-bit Edition Version 2014

      ● Windows Server 2003/2003 R2 Enterprise/Datacenter

      ● Windows Server 2008/2008 For Itanium Based System

    支援 x64架構的 Windows 產品有:

      ● Windows Xp Professional x64 Edition

      ● Windows Server 2003/2003 R2全線產品(Web版除外)

      ● Windows Vista /7/8/8.1

      ● Windows Server 2008/2008R2/2012/2012R2 全線產品

      ● Windows 10 

 

  行動裝置作業系統

    微軟針對移動產品而開發的精簡移動作業系統 Windows Mobile, Windows Phone 和 Windows 10 Moble.

 

  NT架構

    Windows NT體系架構是指一系列微軟設計及製造,在Windwos NT 鎖派生出的視窗作業系統架構.

    //我們現在所使用的 Windows 作業系統都是 NT架構的

        //NT 架構下 作業系統一共分為了兩層 NT結構
        //使用者態  R0   Ring0
        //和心態  R3   Ring3

 

 

    //所謂的 16位 32位 64位 作業系統是什麼 以後會不會有128位的作業系統?
  //CPU的運算能力是由 計算位元來決定的
  //CPU當中能儲存的只有 1 和 0
  
  //16位作業系統使用 Cpu 當中 每次使用 16位進行計算 每次計算的結果或者資料只能16位 當操作16位的時候CPU會拿其他的運算器 額外控制器來計算
  //32位作業系統使用 32位計算是最快捷的
  //64位作業系統使用 64位計算是最快捷的 【64位計算浮點數上面是32位速度的N倍】

  // 32位系統 CPU 的定址 最大4GB 記憶體
  // 64位系統 將會是 32位的N倍
  
  //以後會不會出現128位的CPU呢?現在電腦的瓶頸不是在CPU上面 而是其他 I/0之上
    //IO 是 Input Output 我們對磁碟進行讀寫就是IO操作
    I/O(input/output),即輸入輸出連接埠。每個裝置都會有一個專用的I/O地址,用來處理自己的輸入輸出資訊。CPU與外部裝置、儲存空間的串連和資料交換都需要通過介面裝置來    實現,前者被稱為I/O介面,而後者則被稱為儲存空間介面。儲存空間通常在CPU的同步控制下工作,介面電路比較簡單;而I/O裝置品種繁多,其相應的介面電路也各不相同,因此,習慣    上說到介面只是指I/O介面。
 

 

  #Windows 與程式設計語言

    Windows API

      Windows作業系統應用程式介面 (Windows Api),有非正式的簡稱法為 WinApi,是微軟對與Windows作業系統中可用的核心API的稱法,它被設計位各種語言的程式調用,也是應用軟體與Windows系統最直接的互動方式,大多數驅動程式需要對Windows系統更底層提供者,由所用版本的Windows的Native API來提供介面。

      Windows有一個軟體開發包 (SDK software development kit)提供相應的文檔和工具,以使程式員開發使用Windows API的軟體和利用Windows技術。

    

    SDK&API&MFC

      SDK(Software Development Kit)

        軟體開發鞏固組,是用來幫 產品 或 平台 開發應用成功許的工具組,有產品的廠商提供給開發人員使用的。

        通常是 某一家廠商 針對某一平台 或者 系統 或者 硬體 鎖發布出來用以開發應用程式的工具組

        在這個工具包裡面,可能包含了各種各樣的開發工具,模擬器等

    

        //微軟 VS2015 也是SDK         // QT也是 SDK

 

      API (Appllcation Programming Interface)

        程式介面,在一個同一個平台下的 兩個不同的東西 (程式 or 系統),為了能取用對方的功能等等。

        所以一個X模式 寫了一組函式,讓 同一平台的其他程式 X模式的功能

        那組程式就可以說是一個X預設對外開放的API。

 

      MFC(Microsoft Foundation Classes)

        微軟基礎類,微軟提供過的,用於在C++韓晶下編寫應用程式的一個架構和引擎,也可以說,MFC是 Win API 與C++結合後的再一次封裝,是指應用程式框

        //Windows下面有很多應用程式架構

 

  #Windows API 分類

  

  基礎服務 (Base Services)

    提供對 Windows系統可用的基礎資源提供者

      ● 檔案系統 (file system)

      ● 外部裝置 (device)

      ● 進程 (process)

      ● 線程 (thread)

      ● 註冊表 (Windows registry)

      ● 錯誤處理機制 (error haning)

        這些功能介面位於, 16Windows下的kernel.exe krn1286.exe或 krn1386.exe系統檔案中,以及32位Windows 下的 kernel32.dll和advapi32.dll中

    

  圖形裝置介面(GDI)

    提供功能為

      ● 輸出圖形內容到顯示器,印表機以及其他外部輸出裝置

        它位於16位Windows下的gdi.exe: 一集32位Windows 下的 gdi32.dll.

 

  圖形化使用者介面(GUI)

    提供功能為:

      ● 建立和管理螢幕和大多數基礎空空關鍵 (control),比如按鈕和捲軸

      ● 接收滑鼠和鍵盤輸入,以及其他與GUI有關的功能。

        這些調用介面位於,16位Windows 下的 user.exe 以及32位Windows下的 user32.dll. 從Windows XP版本之後,基礎控制項和通用對話方塊空間(Common Control Libary)的調用介面放在 comctl32.dll中。

 

  通用對話方塊連結庫 (Common Dialog Box Library)

    為應用程式提供標準對話方塊

      ● 開啟 / 儲存檔案對話方塊,顏色對話方塊和字型對話方塊等等

        這個連結庫位於,16位下的 commdlg.dll中,以及32位Windows下comdlg32.dll中。它被歸類為 User Interface API 之下。

 

  通用空間連結庫(Common Control Library)

    為應用城西提供介面來訪問作業系統提供一些進階空間。比如像

      ● 狀態列 (status bar)

      ● 進度條 (progress bars)

      ● 工具列 (toolbar)

      ● 標籤(tab)

        這個連結庫位於 16位Windows下 commctrl.dll中,以及32位系統Windows下 comctl32.dll中..它被歸類為 User Interface API 之下。

 

  Windows外殼(Windows Shell)

    作為Windows API的組成部分, 不僅允許應用程式訪問 Windows外殼提供的功能,還對之有所改進和增強。

      它位於16位 Windows下 shell.dll中,以及32位系統Windows下shell32.dll中(Windows 95則在shlwapi.dll中)它被歸類為 User Interfface API之下。

 

  網路服務 (Netwrok Services)

    為訪問作業系統提供的多種網路功能提供介面,它包括NetBIOS, Winsock, NetDDE及RPC等。

 

  多媒體相關API

    自從Windows 95OSR2以來, Microsoft把 DirectX API作為 Windows安裝一部分。DirectX提供一組鬆散相關的多媒體和遊戲服務,包括

      ● Direct3D可以作為OpenGL的代替,來訪問3D加速硬體

      ● DirectDraw提供硬體加速2D framebuffer(幀緩衝)介面訪問,自DirectX 9以來,相比Direct3D更傾向於後者,因為Direct3D提供更全面的高效能圖形功能(畢竟2D渲染只是3D渲染的(不嚴格)子集)。以被Direct2D代替。 

      ● DirectSound提供底層次的硬體加速音效卡訪問。被XAudio替代

      ● DirectInput用來與輸入裝置(搖杆和Gamepad)進行通訊。已被DirectX 9 中引入的 Xinput所替代

      ● DirectPlay提供一個多人遊戲的架構 (multiplay gaming infrastructure),它已經被DirectX 9所替代, Microsoft不建議用它開發遊戲。

      ● DirectShow可以建立和運行通用的多媒體通道(generic multmedia pipelines),它可以與GStreamer架構相媲美,並且經常被用來渲染遊戲視頻和建立媒體播放器(Windows Media Player 及諸如FFDShow之類的編碼解碼器正是基於此:但是在 Windows Vista及更高版本種,DirectShows被Media Foundation代替),不建議用DirectShow開發遊戲。

      ● DirectMusic提供類似MIDI功能,與DirectSound一起被XAudio代替。

 

  封裝庫

      微軟利用許多更底層的 Windows API 函數.開發出許多封裝庫(wrapper),讓應用程式以更抽象的方式與Windows API進行互動

      MFC( Microsoft Foundation Class Library )用C++類別來封裝Windows API的功能,因而允許用更為物件導向的方式與API進行互動

      ATL( Active Template Library)是對COM的面向模板(template oriented)的封裝。

      WTL( Windows Template Library )作為ATL的增強,被用來作為MFC的輕型的代替物。

      其他著名的封裝庫是 Borland公司的產品,位了與MFC競爭而推出OWL(Object Windows Library)提供了累死的物件導向封裝。

      不久 Borland 又推出VCL(Visual Component Library)來取而代之。

      大多數的Windows程式架構 (application framework)是對 Windows API的封裝,因而NET Framework,Java一起其他的WIndows下的程式語言都是或者封裝庫

 

        //總結 windows下的API超過2000多個 30年系統更新積累的

 

 

  #如何使用WIndows API

  

 

  一般VS2015都幫我們設定的好了要用到的靜態庫,沒有設定的話是無法使用WIndowsAPI的

1 #include <windows.h>2 3 int main()4 {5     MessageBoxA(NULL,"I Love PoEdu!","MessageBoxA",MB_OK);      //ASCII 版本函數  6     MessageBoxW(NULL,L"I Love PoEdu!",L"MessageBoxW",MB_OK);     //UICODE 版本函數7     return 0;8 }

 MessageBox函數在 user32.dll中調用

001 Windows 簡介

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.