1. 實驗目的android
(1)掌握操做系統的定義和概念;ios
(2)瞭解各種操做系統的發展歷史;程序員
2.實驗要求web
使用網絡搜索瞭解各種計算機操做系統的知識,並整理成一篇文檔。數據庫
瞭解和掌握內容包括:編程
IOS和Android屬於什麼類型的操做系統?瀏覽器
答:ios和android屬於嵌入式操做系統緩存
1、計算機操做系統的定義和概念;安全
操做系統(英語:Operating System,簡稱OS)是管理和控制計算機硬件與軟件資源的計算機程序,是直接運行在「裸機」上的最基本的系統軟件,任何其餘軟件都必須在操做系統的支持下才能運行。操做系統所處位置做系統是用戶和計算機的接口,同時也是計算機硬件和其餘軟件的接口。操做系統的功能包括管理計算機系統的硬件、軟件及數據資源,控制程序運行,改善人機界面,爲其它應用軟件提供支持等,使計算機系統全部資源最大限度地發揮做用,提供了各類形式的用戶界面,使用戶有一個好的工做環境,爲其它軟件的開發提供必要的服務和相應的接口。實際上,用戶是不用接觸操做系統的,操做系統管理着計算機硬件資源,同時按着應用程序的資源請求,爲其分配資源,如:劃分CPU時間,內存空間的開闢,調用打印機等。 服務器
操做系統的種類至關多,各類設備安裝的操做系統可從簡單到複雜,可分爲智能卡操做系統、實時操做系統、傳感器節點操做系統、嵌入式操做系統、我的計算機操做系統、多處理器操做系統、網絡操做系統和大型機操做系統。 按應用領域劃分主要有三種:桌面操做系統、服務器操做系統和嵌入式操做系統。
(一)、桌面操做系統
桌面操做系統主要用於我的計算機上。我的計算機市場從硬件架構上來講主要分爲兩大陣營,PC機與Mac機,從軟件上可主要分爲兩大類,分別爲類Unix操做系統和Windows操做系統:
一、Unix和類Unix操做系統:Mac OS X,Linux發行版(如Debian,Ubuntu,Linux Mint,openSUSE,Fedora等);
二、微軟公司Windows操做系統 :Windows XP,Windows Vista,Windows 7,Windows 8等。
(二)、服務器操做系統
服務器操做系統通常指的是安裝在大型計算機上的操做系統,好比Web服務器、應用服務器和數據庫服務器等。服務器操做系統主要集中在三大類:
一、Unix系列:SUNSolaris,IBM-AIX,HP-UX,FreeBSD等;
二、Linux系列:Red Hat Linux,CentOS,Debian,Ubuntu等;
三、Windows系列:Windows Server 2003,Windows Server 2008,Windows Server 2008 R2等。
(三)、嵌入式操做系統
嵌入式操做系統是應用在嵌入式系統的操做系統。嵌入式系統普遍應用在生活的各個方面,涵蓋範圍從便攜設備到大型固定設施,如數碼相機、手機、平板電腦、家用電器、醫療設備、交通燈、航空電子設備和工廠控制設備等,愈來愈多嵌入式系統安裝有實時操做系統。
在嵌入式領域經常使用的操做系統有嵌入式Linux、Windows Embedded、VxWorks等,以及普遍使用在智能手機或平板電腦等消費電子產品的操做系統,如Android、iOS、Symbian、Windows Phone和BlackBerry OS等。
操做系統理論研究者有時把 操做系統分紅四大部分:
一、驅動程序:最底層的、直接控制和監視各種硬件的部分,它們的職責是隱藏硬件的具體細節,並向其餘部分提供一個抽象的、通用的接口。
二、內核:操做系統內核部分,一般運行在最高特權級,負責提供基礎性、結構性的功能。
三、接口庫:是一系列特殊的程序庫,它們職責在於把系統所提供的基本服務包裝成應用程序所可以使用的編程接口(API),是最靠近應用程序的部分。例如,GNU C運行期庫就屬於此類,它把各類操做系統的內部編程接口包裝成ANSI C和POSIX編程接口的形式。
四、外圍:是指操做系統中除以上三類之外的全部其餘部分,一般是用於提供特定高級服務的部件。例如,在微內核結構中,大部分系統服務,以及UNIX/Linux中各類守護進程都一般被劃歸此列。
並非全部的操做系統都嚴格包括這四大部分。例如,在早期的微軟視窗操做系統中,各部分耦合程度很深,難以區分彼此。而在使用外核結構的操做系統中,則根本沒有驅動程序的概念。
操做系統中四大部分的不一樣佈局,也就造成了幾種總體結構的分野。常見的結構包括:簡單結構、層結構、微內核結構、垂直結構、和虛擬機結構。
內核是操做系統最內核最基礎的構件,於是,內核結構每每對操做系統的外部特性以及應用領域有着必定程度的影響。儘管隨着理論和實踐的不斷演進,操做系統高層特性與內核結構之間的耦合有日趨縮小之勢,但習慣上,內核結構仍然是操做系統分類之經常使用標準。
內核的結構能夠分爲 單內核、微內核、混合內核、外內核等。
一、單內核(Monolithic kernel),又稱爲宏內核。單內核結構是操做系統中各內核部件雜然混居的形態,該結構於1960年代(亦有1950年代初之說,尚存爭議),歷史最長,是操做系統內核與外圍分離時的最初形態。
二、微內核(Microkernel),又稱爲微核心。微內核結構是1980年代產生出來的較新的內核結構,強調結構性部件與功能性部件的分離。20世紀末,基於微內核結構,理論界中又發展出了超微內核與外內核等多種結構。儘管自1980年代起,大部分理論研究都集中在以微內核爲首的「新興」結構之上,然而,在應用領域之中,以單內核結構爲基礎的操做系統卻一直佔據着主導地位。
三、混合內核(Hybrid kernel)像微內核結構,只不過它的組件更多的在核心態中運行,以得到更快的執行速度。
四、外內核(Exokernel)的設計理念是儘量的減小軟件的抽象化,這使得開發者能夠專一於硬件的抽象化。外核心的設計極爲簡化,它的目標是在於同時簡化傳統微內核的訊息傳遞機制,以及整塊性核心的軟件抽象層。
批處理操做系統(Batch Processing Operating System)的工做方式是:用戶將做業交給系統操做員,系統操做員將許多用戶的做業組成一批做業,以後輸入到計算機中,在系統中造成一個自動轉接的連續的做業流,而後啓動操做系統,系統自動、依次執行每一個做業。最後由操做員將做業結果交給用戶。批處理操做系統的特色是:多道和成批處理。
分時操做系統(Time Sharing Operating System,簡稱 TSOS)的工做方式是:一臺主機鏈接了若干個終端,每一個終端有一個用戶在使用。用戶交互式地向系統提出命令請求,系統接受每一個用戶的命令,採用時間片輪轉方式處理服務請求,並經過交互方式在終端上向用戶顯示結果。用戶根據上步結果發出下道命令。分時操做系統將CPU的時間劃分紅若干個片斷,稱爲時間片。操做系統以時間片爲單位,輪流爲每一個終端用戶服務。每一個用戶輪流使用一個時間片而使每一個用戶並不感到有別的用戶存在。分時系統具備多路性、交互性、「獨佔」性和及時性的特徵。多路性指,伺時有多個用戶使用一臺計算機,宏觀上看是多我的同時使用一個CPU,微觀上是多我的在不一樣時刻輪流使用CPU。交互性是指,用戶根據系統響應結果進一步提出新請求(用戶直接干預每一步)。「獨佔」性是指,用戶感受不到計算機爲其餘人服務,就像整個系統爲他所獨佔。及時性指,系統對用戶提出的請求及時響應。它支持位於不一樣終端的多個用戶同時使用一臺計算機,彼此獨立互不干擾,用戶感到好像一臺計算機全爲他所用。
常見的通用操做系統是分時系統與批處理系統的結合。其原則是:分時優先,批處理在後。「前臺」響應需頻繁交互的做業,如終端的要求; 「後臺」處理時間性要求不強的做業。
實時操做系統(Real Time Operating System,簡稱 RTOS)是指使計算機能及時響應外部事件的請求在規定的嚴格時間內完成對該事件的處理,並控制全部實時設備和實時任務協調一致地工做的操做系統。實時操做系統要追求的目標是:對外部請求在嚴格時間範圍內作出反應,有高可靠性和完整性。其主要特色是資源的分配和調度首先要考慮實時性而後纔是效率。此外,實時操做系統應有較強的容錯能力。
網絡操做系統(Network Operating System,簡稱 NOS)一般運行在服務器上的操做系統,是基於計算機網絡的,是在各類計算機操做系統上按網絡體系結構協議標準開發的軟件,包括網絡管理、通訊、安全、資源共享和各類網絡應用。其目標是相互通訊及資源共享。在其支持下,網絡中的各臺計算機能互相通訊和共享資源。其主要特色是與網絡的硬件相結合來完成網絡的通訊任務。網絡操做系統被設計成在同一個網絡中(一般是一個局部區域網絡LAN,一個專用網絡或其餘網絡)的多臺計算機中的能夠共享文件和打印機訪問 。 流行的網絡操做系統有Linux,UNIX,BSD,Windows Server, Mac OS X Server,Novell NetWare等。
分佈式操做系統(Distributed Software Systems)是爲分佈計算系統配置的操做系統。大量的計算機經過網絡被連結在一塊兒,能夠得到極高的運算能力及普遍的數據共享。這種系統被稱做分佈式系統(DistributedSystem) 。它在資源管理,通訊控制和操做系統的結構等方面都與其餘操做系統有較大的區別。因爲分佈計算機系統的資源分佈於系統的不一樣計算機上,操做系統對用戶的資源需求不能像通常的操做系統那樣等待有資源時直接分配的簡單作法而是要在系統的各臺計算機上搜索,找到所需資源後纔可進行分配。對於有些資源,如具備多個副本的文件,還必須考慮一致性。所謂一致性是指若干個用戶對同一個文件所同時讀出的數據是一致的。爲了保證一致性,操做系統須控制文件的讀、寫、操做,使得多個用戶可同時讀一個文件,而任一時刻最多隻能有一個用戶在修改文件。分佈操做系統的通訊功能相似於網絡操做系統。因爲分佈計算機系統不像網絡分佈得很廣,同時分佈操做系統還要支持並行處理,所以它提供的通訊機制和網絡操做系統提供的有所不一樣,它要求通訊速度高。分佈操做系統的結構也不一樣於其餘操做系統,它分佈於系統的各臺計算機上,能並行地處理用戶的各類需求,有較強的容錯能力。
分佈式操做系統是網絡操做系統的更高形式,它保持了網絡操做系統的所有功能,並且還具備透明性、可靠性和高性能等。網絡操做系統和分佈式操做系統雖然都用於管理分佈在不一樣地理位置的計算機,但最大的差異是:網絡操做系統知道確切的網址,而分佈式系統則不知道計算機的確切地址;分佈式操做系統負責整個的資源分配,能很好地隱藏系統內部的實現細節,如對象的物理位置等。這些都是對用戶透明的。
大型機(Mainframe Computer),也稱爲大型主機。大型機使用專用的處理器指令集、操做系統和應用軟件。最先的操做系統是針對20世紀60年代的大型主結構開發的,因爲對這些系統在軟件方面作了巨大投資,所以原來的計算機廠商繼續開發與原來操做系統相兼容的硬件與操做系統。這些早期的操做系統是現代操做系統的先驅。現代的大型主機通常也可運行Linux或Unix變種。
嵌入式操做系統(Embedded Operating System)是用在嵌入式系統的操做系統。嵌入式系統使用很是普遍的操做系統。嵌入式設備通常專用的嵌入式操做系統(常常是實時操做系統,如VxWorks、eCos)或者指定程序員移植到這些新系統。以及某些功能縮減版本的Linux(如Android,Tizen,MeeGo,webOS)或者其餘操做系統。某些狀況下,嵌入式操做系統指稱的是一個自帶了固定應用軟件的巨大泛用程序。在許多最簡單的嵌入式系統中,所謂的操做系統就是指其上惟一的應用程序。
5、操做系統的主要功能
操做系統的主要功能是資源管理,程序控制和人機交互等。計算機系統的資源可分爲設備資源和信息資源兩大類。設備資源指的是組成計算機的硬件設備,如中央處理器,主存儲器,磁盤存儲器,打印機,磁帶存儲器,顯示器,鍵盤輸入設備和鼠標等。信息資源指的是存放於計算機內的各類數據,如文件,程序庫,知識庫,系統軟件和應用軟件等。
系統的設備資源和信息資源都是操做系統根據用戶需求按必定的策略來進行分配和調度的。操做系統的存儲管理就負責把內存單元分配給須要內存的程序以便讓它執行,在程序執行結束後將它佔用的內存單元收回以便再使用。對於提供虛擬存儲的計算機系統,操做系統還要與硬件配合作好頁面調度工做,根據執行程序的要求分配頁面,在執行中將頁面調入和調出內存以及回收頁面等。
處理器管理或稱處理器調度,是操做系統資源管理功能的另外一個重要內容。在一個容許多道程序同時執行的系統裏,操做系統會根據必定的策略將處理器交替地分配給系統內等待運行的程序。一道等待運行的程序只有在得到了處理器後才能運行。一道程序在運行中若遇到某個事件,例如啓動外部設備而暫時不能繼續運行下去,或一個外部事件的發生等等,操做系統就要來處理相應的事件,而後將處理器從新分配。
操做系統的設備管理功能主要是分配和回收外部設備以及控制外部設備按用戶程序的要求進行操做等。對於非存儲型外部設備,如打印機、顯示器等,它們能夠直接做爲一個設備分配給一個用戶程序,在使用完畢後回收以便給另外一個需求的用戶使用。對於存儲型的外部設備,如磁盤、磁帶等,則是提供存儲空間給用戶,用來存放文件和數據。存儲性外部設備的管理與信息管理是密切結合的。
信息管理是操做系統的一個重要的功能,主要是向用戶提供一個文件系統。通常說,一個文件系統向用戶提供建立文件,撤銷文件,讀寫文件,打開和關閉文件等功能。有了文件系統後,用戶可按文件名存取數據而無需知道這些數據存放在哪裏。這種作法不只便於用戶使用並且還有利於用戶共享公共數據。此外,因爲文件創建時容許建立者規定使用權限,這就能夠保證數據的安全性。
一個用戶程序的執行自始至終是在操做系統控制下進行的。一個用戶將他要解決的問題用某一種程序設計語言編寫了一個程序後就將該程序連同對它執行的要求輸入到計算機內,操做系統就根據要求控制這個用戶程序的執行直到結束。操做系統控制用戶的執行主要有如下一些內容:調入相應的編譯程序,將用某種程序設計語言編寫的源程序編譯成計算機可執行的目標程序,分配內存儲等資源將程序調入內存並啓動,按用戶指定的要求處理執行中出現的各類事件以及與操做員聯繫請示有關意外事件的處理等。
操做系統的人機交互功能是決定計算機系統「友善性」的一個重要因素。人機交互功能主要靠可輸入輸出的外部設備和相應的軟件來完成。可供人機交互使用的設備主要有鍵盤顯示、鼠標、各類模式識別設備等。與這些設備相應的軟件就是操做系統提供人機交互功能的部分。人機交互部分的主要做用是控制有關設備的運行和理解並執行經過人機交互設備傳來的有關的各類命令和要求。
無論是常駐程序或者應用程序,他們都以進程爲標準執行單位。當年運用馮紐曼架構建造電腦時,每一箇中央處理器最多隻能同時執行一個進程。早期的OS(例如DOS)也不容許任何程序打破這個限制,且DOS同時只有執行一個進程(雖然DOS本身宣稱他們擁有終止並等待駐留(TSR)能力,能夠部分且艱難地解決這問題)。現代的操做系統,即便只擁有一個CPU,也能夠利用多進程(multitask)功能同時執行復數進程。進程管理指的是操做系統調整複數進程的功能。
因爲大部分的電腦只包含一顆中央處理器,在 單內核(Core)的狀況下多進程只是簡單迅速地切換各進程,讓每一個進程都可以執行,在多內核或多處理器的狀況下,全部進程經過許多協同技術在各處理器或內核上轉換。越多進程同時執行,每一個進程能分配到的時間比率就越小。不少OS在遇到此問題時會出現諸如音效斷續或鼠標跳格的狀況(稱作崩潰(Thrashing),一種OS只能不停執行本身的管理程序並耗盡系統資源的狀態,其餘使用者或硬件的程序皆沒法執行)。進程管理一般實現了分時的概念,大部分的OS能夠利用指定不一樣的特權等級(priority),爲每一個進程改變所佔的分時比例。特權越高的進程,執行優先級越高,單位時間內佔的比例也越高。交互式OS也提供某種程度的回饋機制,讓直接與使用者交互的進程擁有較高的特權值。
根據帕金森定律:「你給程序再多內存,程序也會想盡辦法耗光」,所以程序員一般但願系統給他無限量且無限快的存儲器。大部分的現代計算機存儲器架構都是層次結構式的,最快且數量最少的暫存器爲首,而後是高速緩存、存儲器以及最慢的磁盤存儲設備。而操做系統的存儲器管理提供查找可用的記憶空間、配置與釋放記憶空間以及交換存儲器和低速存儲設備的內含物……等功能。此類又被稱作虛擬內存管理的功能大幅增長每一個進程可得到的記憶空間(一般是4GB,既使實際上RAM的數量遠少於這數目)。然而這也帶來了微幅下降運行效率的缺點,嚴重時甚至也會致使進程崩潰。
存儲器管理的另外一個重點活動就是藉由CPU的幫助來管理虛擬位置。若是同時有許多進程存儲於記憶設備上,操做系統必須防止它們互相干擾對方的存儲器內容(除非經過某些協定在可控制的範圍下操做,並限制可訪問的存儲器範圍)。分區存儲器空間能夠達成目標。每一個進程只會看到整個存儲器空間(從0到存儲器空間的最大上限)被配置給它本身(固然,有些位置被操做系統保留而禁止訪問)。CPU事先存了幾個表以比對虛擬位置與實際存儲器位置,這種方法稱爲標籤頁(paging)配置。
藉由對每一個進程產生分開獨立的位置空間,操做系統也能夠輕易地一次釋放某進程所佔據的全部存儲器。若是這個進程不釋放存儲器,操做系統能夠退出進程並將存儲器自動釋放。
虛擬內存是計算機系統內存管理的一種技術。它使得應用程序認爲它擁有連續的可用的內存(一個連續完整的地址空間),而實際上,它一般是被分隔成多個物理內存碎片,還有部分暫時存儲在外部磁盤存儲器上,在須要時進行數據交換。
一、優勢:(1)UNIX系統是一個多用戶,多任務的分時操做系統。(2)UNIX的系統結構可分爲兩部分:操做系統內核(由文件子系統和進程控制子系統構成,最貼近硬件),系統的外殼(貼近用戶)。外殼由Shell解釋程序,支持程序設計的各類語言,編譯程序和解釋程序,實用程序和系統調用接口等組成(3)UNIX系統大部分是由C語言編寫的,這使得系統易讀,易修改,易移植。(4)UNIX提供了豐富的,精心挑選的系統調用,整個系統的實現十分緊湊,簡潔。(5)UNIX提供了功能強大的可編程的Shell語言(外殼語言)做爲用戶界面具備簡潔,高效的特色。(6)UNIX系統採用樹狀目錄結構,具備良好的安全性,保密性和可維護性。(7)UNIX系統採用進程對換(Swapping)的內存管理機制和請求調頁的存儲方式,實現了虛擬內存管理,大大提升了內存的使用效率。(8)UNIX系統提供多種通訊機制,如:管道通訊,軟中斷通訊,消息通訊,共享存儲器通訊,信號燈通訊。
二、缺點:有些軟件可能沒法運行。
一、優勢:(1)安全 - 幾乎不存在諸如病毒、間諜軟件、流氓軟件之類的問題。(2)易維護。(3)穩定。(4)軟件自由/開源 - 您能夠隨意的使用軟件,而不用受制於所謂的用戶許可協議。(5)開放標準 - GNU/Linux 和運行在其上的應用程序,大多數都符合開放標準。 (6)社區 - GNU/Linux已經被形容爲 "world wide team sport",由全世界的優秀程序員提供支持。(7)低成本 - 大多數 GNU/Linux 發行版是能夠免費下載的,而且擁有大量的免費程序支持。此外,大多數 GUN/Linux 對硬件的要求較低,這意味着您並不須要頻繁的對硬件進行升級。(8)合法 - 人們能夠合法而且免費的獲取一些高質量的軟件。(9)透明公開 - 絕大多數 GNU/Linux 是開放開發的。(10)多樣選擇 。 二、缺點: (1)從頭學起 - 您將會學習一個全新的不一樣的操做系統、不少新的程序,以及不少全新的名詞術語。(2)缺失的應用軟件和遊戲 - 您會失去一些熟知的應用程序,典型的如Microsoft Office、 Adobe Photoshop 和其餘流行的大型主流遊戲。(3)缺乏硬件支持 - 絕大多數硬件是支持的,但不是所有都能兼容。(4)尋求幫助更難 - 一般朋友、家人、同事不能幫您解決 GNU/Linux 相關問題。
1、優勢:文件的庫管理化。是針對如今硬盤愈來愈大來用的,能夠更方便的在動輒一兩個TB的硬盤中找到你的文件,即便你根本就不知道它在哪。你安裝的程序,系統負責給你收集起來,你拷貝的文件,系統負責給你分門別類放好。
對硬件效能的更大利用。文獻是這麼說的。具體沒有測試。
固然,同上,視覺效果是好一些。
2、缺點:資源佔用更大了!固然,如今的硬件也更好了,若是你是古董機……你可能不會再清楚你的程序裝哪了,由於硬盤大了,系統給你管理了,你本身就不用記了,但是之後若是你須要對你的程序作一些特殊操做,好比手動改變一些程序設置。程序的兼容性不太好。這裏包括你看一些網頁都會出現莫名其妙的錯誤。過些日子可能會好一些。
一、優勢:(1)開放性—開發的平臺容許任何移動終端廠商加入到Android聯盟中來。(2)掙脫運營商的束縛。(3)豐富的硬件選擇—因爲Android的開放性,衆多的廠商會推出千奇百怪,功能特點各具的多種產品。功能上的差別和特點,卻不會影響到數據同步、甚至軟件的兼容。(4)不受任何限制的開發商—Android平臺提供給第三方開發商一個十分寬泛、自由的環境。(5)無縫結合的Google應用
二、缺點:(1)android的缺點一方面是由於系統由各個OEM廠商負責升級而產生的版本上的碎片化,另外一方面因爲過分自由化而產生的安全問題,很典型的就是國內山寨廠商和山寨應用而帶來的一系列的安全問題,畢竟在國內能夠說是沒有正規的軟件商店的,google play國內版相對國際版就是個笑話;(2)安卓高度依賴硬件,致使要發揮安卓的性能就必須搭載很好的硬件,同時兼容性也有待提升,還有不少細節上的不足好比死機重啓等狀況也常常發生。這個曾是安卓被人詬病最多的問題,不過最新的安卓已經對以往的不足進行優化了。
一、優勢:(1)省電。(2)系統相對穩定。(3)apple store中下載安裝的軟件兼容性強。(4)apple store中下載安裝的軟件(ipa格式)刪除後不會留下冗餘的系統垃圾文件。
二、缺點:(1)來電、短信顯示歸屬地,短信回執、flash等系統級軟件,在iphone上不越獄是永遠沒法實現的。(2)系統權限很低。例如,咱們不能刪掉系統的程序,不能對系統文件和設置進行修改,不能給某個程序加密,不能用藍牙發送文件,不能用第三方輸入法等等……並且第三方軟件也不可能實現,爲何呢?應用開發者想在APP商店上架,他們的做品也必需要通過蘋果APP Store的承認。(3)只能安裝免費程序、快用中的程序或者App Store付費下載的軟件。沒法裝沒有帳號證書的軟件(如盜版後的.ipa、pxl)。(4)沒法更換主題、圖標等個性化程序。(5)沒法對使用手機直接在瀏覽器中下載文件,以及對手機的文件進行管理。