1、什麼是操做系統微信
2、操做系統的發展併發
3、操做系統的組成app
4、操做系統如何啓動負載均衡
5、程序在操做系統上運行工具
一臺計算機包含硬件及軟件,操做系統是控制一臺計算機全部操做的軟件。它提供了用戶能夠存儲和檢索文件的工具,提供了用戶能夠請求程序執行的接口,還提供了程序執行所須要的環境,操做系統是一個大而複雜的軟件包。常見的PC操做系統有:Windows系列、Mac OS系列、UNIX、Linux。常見的手機操做系統有:Android、IOS、Windows Phonoe以及已經被淘汰的Symbian。咱們在平常的開發過程其實都是在開發運行在特定操做系統上的軟件。如:針對Windows開發大部分開發人員使用.net開發語言。spa
操做系統發展到今天這種程序都是不斷演化造成的。操作系統
a) 初始:20世紀4、五十年代,一臺機器佔據整個房間,甚至幾個房間。執行一段程序須要大量的設備準備工做、如安裝磁帶、把卡片放到讀卡機上、設置各類開關等。每一個程序執行稱爲一個做業(Job),同時若干個用戶須要共享一臺計算機。每次,若干個做業交給計算機操做人員,這些做業造成一個批次(批處理)並逐個在計算機裏執行。做業是以先進先出(FIFO)的順序執行的。.net
這種方式存在的主要的缺點:程序一但交給做業隊列的用戶就沒法與它交互。線程
b) 交互式處理-實時處理:爲了適應這些需求,操做系統時進行了發展,操做系統容許程序經過遠程終端或工做站以與用戶對話的方式進行交互。這種及時的方式提供計算機服務稱爲實時處理。但那時計算機還比較昂貴,每臺計算機必須服務於多個用戶,若是操做系統在多用戶的狀況下,仍堅持一次只執行一個做業,那麼只有一個用戶會獲得滿意的實時服務。設計
c) 交互式處理-分時處理:對於實時處理,操做系統是這樣設計的,操做系統使得許多做業輪流執行,這種方式把時間分爲時間片,而後限制一個做業每次只能執行一個時間片的時間。在每一個時間片結束後,當前做業暫時中止執行。經過這個方法快速地在各個做業之間移動,形成了若干個做業同時執行的錯覺。今天,分時即用在單用戶系統中,也用在多用戶系統中,在單個用戶系統中稱爲多任務,指同時能夠實現多於一個任務的錯覺。
d) 負載均衡與均分:在多處理器的機器中,多任務是經過把不一樣的任務分配給不一樣的處理器實現的。負載均衡是動態的把各個任務分配給各處理器,使得每一個處理器都可以獲得有效的使用。均分是舞臺劇在的任務劃分若干個子任務,與可用的處理器數目相適應。
操做系統主要由「外殼」和「內核」組成。外殼負責與用戶進行通訊,當前咱們用的大部分外殼是藉助「圖形用戶接口(GUI)」來實現這個任務的。如:要操做的對象以圖形的形式表示在監視器屏幕上。用戶經過鼠標定位並點擊這些圖標對計算機發出指令。內核則來實現計算機的基本功能。內核主要包括:文件管理程序、設備驅動程序、存儲器管理程序、調度程序、調遣程序等。
操做系統的啓動經過一個稱爲引導(boot)的步驟實現的,每當咱們開機時由機器執行。這個步驟會把操做系統從大容量存儲器傳送到主存儲器中。爲了保證開機時可以找到正確的指令,一部分存儲器可以將內容永久保存,這種存儲器稱爲只讀存儲器(ROM)。
主存儲器有一部分由ROM構成,它存放引導程序。正是這個程序在計算機開機時被自動執行。
要了解程序如何在操做系統上運行,須要理解進程與線程。
進程(Process):執行一個程序的活動。操做系統上一個最基本的概念是將一個程序和執行該程序的活動區分開來,程序是一組靜態的文件,而進程是一個動態的活動,其屬性會隨着時間的推移而改變。一個進程包含該活動的當前狀態,稱爲進程狀態。進程是一個實體。每個進程都有它本身的獨立的地址空間,通常狀況下,包括文本區域、數據區域和堆棧。
協調進程的執行有關的任務是由操做系統內核中的」調度程序」和」調遣程序」來處理的。
調度程序:維護計算機中現有的進程記錄(進程池),它將新的進程放入進程池,並將已完成的進程從進程池中移除。
調遣程序:確保被調度的進程被執行。在分時系統中,把時間劃分紅爲短的時間段,每一個段稱爲一個時間片(一般不超過50ms),而後把CPU的注意力在進程間的切換。容許每一個進程每次執行很少於一個時間片。
線程(Thead):有時被稱爲輕量級進程,是程序執行流的最小單元。一個標準的線程由線程ID,當前指令指針(PC),寄存器集合和堆棧組成。線程是進程中的一個實體,是被系統獨立調度和分派的基本單位,線程本身不擁有系統資源,只擁有一點兒在運行中必不可少的資源,但它可與同屬一個進程的其它線程共享進程所擁有的所有資源。同一個進程中的多個線程之間能夠併發執行,但須要硬件支持。
線程的意義在於一個應用程序中,有多個執行部分能夠同時執行。但操做系統並無將多個線程看作多個獨立的應用,來實現進程的調度和管理以及資源分配。
有膽量就掏出手機掃一下下面的二維碼收聽微信推送,敢嗎?