1、什麼是操做系統程序員
操做系統(Operating System,簡稱OS)是管理計算機硬件資源,控制其餘程序運行併爲用戶提供交互操做界面的系統軟件的集合。操做系統是計算機系統的關鍵組成部分,負責管理與配置內存、決定系統資源供需的優先次序、控制輸入與輸出設備、操做網絡與管理文件系統等基本任務。web
2、操做系統的種類數據庫
操做系統的種類不少,各類設備安裝的操做系統可從簡單到複雜,可從手機的嵌入式操做系統到超級計算機的大型操做系統。目前流行的現代操做系統主要有Android、BSD、IOS、Linux瀏覽器
Mac、OS X、Windows Phone和z/OS等,除了Windows和z/OS等少數操做系統,大部分操做系統都爲類Unix操做系統。安全
3、操做系統的主要功能服務器
操做系統的主要功能是資源管理,程序控制和人機交互等,計算機系統的資源和信息資源兩大類。設備資源指的是組成計算機的硬件設備,如中央處理器,主存儲器,磁盤存儲器,打印機,磁帶存儲器,顯示器,鍵盤輸入設備和鼠標等。信息資源指的是存放於計算機內的各類數據,知識庫,系統軟件和應用軟件等。網絡
操做系統位於底層硬件與用戶之間,是二者溝通的橋樑。用戶能夠經過操做系統的用戶界面,輸入命令。操做系統則命令進行解釋,驅動硬件設備,實現用戶要求。以現代觀點而言,一個標準我的電腦的OS應該提供如下的功能:進程管理(Processing management),內存管理(Memory management),文件系統(File system),安全機制(Security),用戶界面(User interface),驅動程序(Device drivers)架構
1、資源管理iphone
一、系統的設備資源和信息資源都是操做系統根據用戶需求按必定的策略來進行分配和調度的。操做系統的存儲管理就負責把內存單元分配給須要內存的程序以便讓它執行,在程序執行結束後將它佔用的內存單元收回以便再使用。對於提供虛擬存儲的計算機系統,操做系統還要與硬件配合作好頁面調度工做,根據執行程序的要求分配頁面,在執行中將頁面調入和調出內存以及回收頁面等。分佈式
二、處理器管理或稱處理器調度,是操做系統資源管理功能的另外一個重要內容。在一個容許多道程序同時執行的系統裏,操做系統會根據必定的策略將處理器交替的分配給系統內等待運行的程序,一道等到運行的程序只有在得到了處理後才能運行。一道程序在運行中若遇到了某個事件,例如啓動外部設備而暫時不能繼續運行下去,或一個外部事件的發生等等,操做系統就要來處理相應的事件,而後將處理器從新分配。
三、操做系統的設備管理功能主要是分配和回收外部設備以及控制外部設備按用戶程序的要求進行操做等。對於非存儲型外部設備,如打印機、顯示器等,它們能夠直接做爲一個設備分配給一個用戶程序,在使用完畢後回收以便給另外一個需求的用戶使用。對於存儲型的外部設備,如磁盤、磁帶等,則是提供存儲空間給用戶,用來存放文件和數據。存儲性外部設備的管理與信息管理是密切結合的。
四、信息管理是操做系統的一個重要的功能,主要是向用戶提供一個文件系統。通常說,一個文件系統向用戶提供建立文件,撤銷文件,讀寫文件,打開和關閉文件等功能。有了文件系統後,用戶可按文件名存取數據而無需知道這些數據存放在哪裏。這種作法不只便於用戶使用並且還有利於用戶共享公共數據。此外,因爲文件創建時容許建立者規定使用權限,這就能夠保證數據的安全性。
5、程序控制
一個用戶程序的執行自始至終是在操做系統控制下進行的。一個用戶將他要解決的問題用某一種程序設計語言編寫了一個程序後就將該程序連同對它執行的要求輸入到計算機內,操做系統就根據要求控制這個用戶程序的執行直到結束。操做系統控制用戶的執行主要有如下一些內容:調入相應的編譯程序,將用某種程序設計語言編寫的源程序編譯成計算機可執行的目標程序,分配內存儲等資源將程序調入內存並啓動,按用戶指定的要求處理執行中出現的各類事件以及與操做員聯繫請示有關意外事件的處理等。
6、人機交互
操做系統的人機交互功能是決定計算機系統「友善性」的一個重要因素。人機交互功能主要靠輸入輸出的外部設備和相應的軟件來完成。可供人機交互使用的設備主要有鍵盤顯示、鼠標、各類模式識別設備等。與這些設備相應的軟件就是操做系統提供人機交互功能的部分。人機交互部分的主要做用是控制有關設備的運行和理解並執行經過人機交互設備傳來的有關的各類命令和要求。
7、虛擬內存
虛擬內存是計算機系統內存管理的一種技術。它使得應用程序認爲它擁有連續的可用的內存(一個連續完整的地址空間),而實際上,它一般是被分隔成多個物理內存碎片,還有部分暫時存儲在外部磁盤存儲器上,在須要時進行數據交換。
8、用戶接口
用戶接口包括做業一級接口和程序一級接口。做業一級接口爲了便於用戶直接或間接地控制本身的做業而設置。它一般包括聯機用戶接口與脫機用戶接口。程序一級接口是爲了用戶程序在執行中訪問系統資源而設置的,一般由一組系統調用組成。
在早期的單用戶單任務操做系統(如DOS)中,每臺計算機只有一個用戶,每次運行一個程序,且次序不是很大,單個程序徹底能夠放在實際內存中。這時虛擬內存並無太大的用處。但隨着程序佔用存儲器容量的增加和多用戶多任務操做系統的出現,在程序設計時,在程序所須要的存儲量與計算機系統實際配備的主存儲器的容量之間每每存在着矛盾。例如:在某些低檔的計算機中,物理內存的容量較小,而某些程序卻須要很大的內存才能運行;而在多用戶多任務系統中,多個用戶或多個任務更新所有主存,要求同時執行專斷程序。這些同時運行的程序到底佔用實際內存中的哪一部分,在編寫程序時是沒法肯定的,必須等到程序運行時才動態分配。
9、用戶界面
用戶界面(User interface,簡稱UI,亦稱使用者界面)是系統和用戶之間進行交互和信息交換的媒介,它實現信息的內部形式與人類能夠接受形式之間的轉換。
用戶界面是介於用戶與硬件而彼此之間交互溝通相關軟件,目的在使得用戶可以方便有效率地去操做硬件以達成雙向之交互,完成所但願藉助硬件完成之工做,用戶界面定義普遍,包含了人機交互與圖形用戶接口,凡參與人類與機械的信息交流的領域都存在着用戶界面。用戶與系統之間通常用面向問題的受限天然語言進行交互。目前有系統開始利用多媒體技術開發新一代的用戶界面。
10、分類方法
操做系統的種類至關多,各類設備安裝的操做系統可從簡單到複雜,可分爲智能卡操做系統、實時操做系統、傳感器節點操做系統、嵌入式操做系統、我的計算機操做系統、多處理器操做系統、網絡操做系統和大型機操做系統。
11、應用領域
可分爲桌面操做系統、服務器操做系統、嵌入式操做系統;
12、所支持用戶數
可分爲單用戶操做系統(如MSDOS、OS/2.Windows)、多用戶操做系統(如UNIX、Linux、MVS);
十3、源碼開放程度
可分爲開源操做系統(如Linux、FreeBSD)和閉源操做系統(如Mas OS X、Windows);
十4、硬件結構
可分爲網絡操做系統(Netware、WindowsNT、OS/2Warp)、多媒體操做系統(Amiga)、和分佈式操做系統等;
十5、操做系統環境
可分爲;批處理操做系統(MVX、DOS/VSE)、分時操做系統(如Linux、UNIX、XENIX、Mac OS X)、實時操做系統(如iEMX、VRTX、RTOS、RT WINDOWS);
十6、存儲器尋址寬度
能夠將操做系統分爲8位、16位、32位、64位、128位的操做系統。早期的操做系統通常只支持8位和16位存儲器尋址寬度,現代的操做系統如Linux和Windows7都支持32位和64位。
十7、主要類型
一、批處理、批處理操做系統(Batch Processing Operating System)的工做方式是:用戶將做業交給系統操做員,系統操做員將許多用戶的做業組成一批做業,以後輸入到計算機中,在系統中造成一個自動轉接的連續的做業流,而後啓動操做系統,系統自動,依次執行每一個做業。最後由操做人員將結果交給用戶。批處理操做系統的特色是:多道和成批處理。
二、分時、分時操做系統(Time Sharing Operating System,簡稱TSOS)的工做方式是:一臺主機鏈接了若干個終端,每一個終端有一個用戶在使用。用戶交互式地向系統提出命令請求,系統接受每一個用戶的命令,採用時間片輪轉方式處理服務請求,並經過交互方式在終端上向用戶顯示結果。用戶根據上步結果發出下道命令。分時操做系統將CPU的時間劃分紅若干個片斷,稱爲時間片。操做系統以時間片爲單位,輪流爲每一個終端用戶服務。每一個用戶輪流使用一個時間片而使每一個用戶並不感到有別的用戶的存在。分時系統具備多路性、交互性、「獨佔」性和及時性的特徵。多路性指,伺時有多個用戶使用一臺計算機,宏觀上看是多我的同時使用一個CPU,微觀上是多我的在不一樣時刻輪流使用CPU。交互性是指,用戶根據系統響應結果進一步提出新請求(用戶直接干預每一步)。「獨佔」性是指,用戶感受不到計算機在爲其餘人服務,就像整個系統爲他所獨佔。及時性是指,系統對用戶提出的請求及時響應。它支持位於不一樣終端的多個用戶同時使用一臺計算機,彼此獨立互不干擾,用戶感受好像一臺計算機全爲他所用。
常見的通用操做系統的分時系統與批處理系統的結合。其原則是:分時優先,批處理在後。「前臺」響應需頻繁交互的做業,如終端的要求;「後臺」處理時間性要求不強的做業。
3、實時
實時操做系統(Real Time Operating System,簡稱RTOS)是指使計算機能及時響應外部事件的請求在規定的嚴格時間內完成對該事件的處理,並控制全部實時設備和實時任務協調一致地工做的操做系統。實時操做系統要追求的目標是:對外部請求在嚴格時間範圍內作出反應,有高可靠性和完整性。其主要特色是資源的分配和調度首先要考慮實時性而後纔是效率。此外,實時操做系統應有較強的容錯能力。
4、網絡
網絡操做系統(Network Operating System,簡稱NOS)一般運行在服務器上的操做系統,是基於計算機網絡的,是在各類計算機操做系統上按網絡體系結構協議標準開發的軟件,包括網絡管理、通訊、安全、資源共享和各類網絡應用。其目標是相互通訊及資源共享。在其支持下,網絡中的各臺計算機能互相通訊和共享資源。其主要特色是與網絡的硬件相組合來完成網絡的通訊任務。網絡操做系統被設計成在同一個網絡中(一般是一個局部區域網絡LAV,一個專用網絡或其餘網絡)的多臺計算機中能夠共享文件和打印機訪問。流行的網絡操做系統有Linux,UNIX,BSD,Windows Server,Mac OS X Server,Novell NetWare等。
5、分佈式
分佈式操做系統(Distributed Software Systems)是爲了分佈計算系統配置的操做系統。大量的計算機經過網絡被連結在一塊兒,能夠得到極高的運算能力及普遍的數據共享。這種系統被稱做分佈式系統(DistributedSystem)。它在資源管理、通訊控制可操做系統的結構等方面都與其餘操做系統有較大的區別。因爲分佈計算機系統的資源分佈於系統的不一樣計算機上,操做系統對用戶的資源需求不能像通常的操做系統那樣等待有資源時直接分配的簡單作法,而是要在系統的各臺計算機上搜索,找到所需資源後纔可進行分配。對於有些資源,如具備多個副本的文件,還必須考慮一致性。所謂的一致性是指若干個用戶對同一個文件所同時讀出的數據是一致的。爲了保證一致性,操做系統須控制文件的讀、寫、操做,使得多個用戶可同時讀一個文件,而任一時刻最多隻能有一個用戶在修改文件。分佈操做系統的通訊功能相似於網絡操做系統。因爲分佈計算機系統不像網絡分佈得很廣,同時分佈操做系統還要支持並行處理,所以它提供的通訊機制和網絡操做系統提供的有所不一樣,它要求通訊速度高。分佈操做系統的結構也不一樣於其餘操做系統,它分佈於系統的各臺計算機上,能並行地處理用戶的各類需求,有較強的容錯能力。
六、大型機(Mainframe Computer),也稱爲大型主機。大型機使用專用的處理器指令集、操做系統和應用軟件。最先的操做系統是針對20世紀60年代的大型主結構開發的,因爲對這些系統在軟件方面作了巨大的投資,所以原來的計算機廠商繼續開發與原來操做系統相兼容的硬件與操做系統。這些早期的操做系統是現代操做系統的先軀。現代的大型主機通常也可運行Linux或Unix變種。
七、嵌入式
嵌入式操做系統(Embedded Operating System)是用於嵌入式系統的操做系統。嵌入式系統是使用很是普遍的操做系統。嵌入式設備通常專用的嵌入式操做系統(常常是實時操做系統,如VxWorks、eCos)或者指定程序員移植到這些新系統。以及某些功能縮減版本的Linux(如Android、Tizen、MeeGo、webOS)或者其餘操做系統。某些狀況下,嵌入式操做系統指稱的是一個自帶了固定應用軟件的巨大泛用程序。在許多最簡單嵌入式系統中,所謂的操做系統就是指其上惟一的應用程序。
八、桌面
桌面操做系統主要用於我的計算機上。我的計算機市場從硬件架構上來講主要分爲兩大正陣營,PC機與Mac機,從軟件上主要可分爲兩大類,分別爲類Unix操做系統和Windows操做系統。
九、服務器
服務器操做系統通常指的是安裝在大型計算機上的操做系統,好比Web服務器、應用服務器和數據庫服務器等。服務器操做系統主要集中在三大類:Unix系列:SUN Solaris,IBM-AIX,HP-UX,FreeBSD,OS X Server等。 Linux系列:Red Hat Linux,CentOS,Debian等。 Windows系列:
十8、典型系統
1、Linux
Linux是一個免費、源代碼開放、自由傳播,相似於Unix的操做系統。它既能夠作各類服務器操做系統,也能夠安裝在微機上,並提供上網軟件、文字處理軟件、繪圖軟件、動畫軟件等,它除了命令操做外還提供了相似Windows風格的圖形界面,我國自行開發的有紅旗、藍點Linux、麒麟Linux等。缺點是兼容性差,應用軟件安裝困難,操做性差,使用不習慣。2、Mac OS X
Mac OS是一運行於蘋果系列微型計算機的操做系統。蘋果機多用於圖形領域,它每每表明了潮流和時尚,表明精美的工業設計,但它不兼容Windows軟件。
3、Windows
Windows是由微軟公司成功開發的操做系統.Windows是一個多任務的操做系統,他採用圖形窗口界面,用戶對計算機的各類複雜操做只需經過點擊鼠標就能夠實現。
四、iOS
iOS操做系統是由蘋果公司開發的手持設備操做系統。iOS與蘋果的Mac OS X操做系統同樣,它也是以Darwin爲基礎的,所以一樣屬於類Unix的商業操做系統。本來這個系統的名爲iphone OS,直到2010年6月7日WWDC大會上宣佈更名爲iOS。截至至2011年11月,根據Canalys的數據顯示,iOS已經佔據了全球智能手機系統市場份額的30%,在美國的市場佔有率爲43%。
五、Android
Android是一種以Linux爲基礎的開放源代碼操做系統,主要使用於便攜設備。Android操做系統最初由Andy Rubin開發,最初主要支持手機。2005年由Google收購注資,並組建開放手機聯盟開發改良,逐漸擴展到平板電腦及其餘領域上。2011年第一季度,Android在全球的市場份額首次超過塞班系統,躍居全球第一。2012年11月數據顯示,Android佔據全球智能手機操做系統市場76%的份額,中國市場佔有率爲90%。
六、WP
Windows Phone(簡稱wp)是微軟發佈的一款手機操做系統,它將微軟旗下的Xbox Live遊戲、Xbox Music音樂與獨特的視頻體驗集成至手機中。微軟公司於2010年10月11日晚上9點30分正式發佈了智能手機操做系統Windows Phone,並將其使用接口稱爲「Modern」接口。2011年2月,「諾基亞」與微軟達成全球戰略同盟並深度合做共同研發。2011年9月27日,微軟發佈Windows Phone7.5 。2012年6月21日,微軟正式發佈Windows Phone8,採用和Windows8相同的Windows NT內核,同時也針對市場的Windows Phone7.8。2014年4月2日,微軟在舊金山召開Build2014開發者大會。大會上微軟推出Windows Phone8.1更新,2014年8月4日晚,微軟正式向WP開發者推送了WP8.1 GDR1預覽版,即WP8.1 Update。
七、Chrome OS
Chrome OS是由谷歌開發的一款基於Linux的操做系統,發展出與互聯網緊密結合的雲操做系統,工做時運行Web應用程序。谷歌在2009年7月7日發佈該操做系統,並在2009年11月19日以Chromium OS之名推出相應的開源項目,並將Chromium OS代碼開源。Chrome OS同時支持Intel x86以及ARM處理器,軟件結構及其簡單,能夠理解爲在Linux的內核上運行一個使用新的窗口系統的Chrome瀏覽器。對於開發人員來講,web就是平臺,全部現有的web應用能夠完美的在Chrome OS 中運行,開發者也能夠用不一樣的開發語言爲其開發新的web應用。