摘要:此時還沒有操作系統的概念。這種能使用戶與系統進行人機對話的工作方式,明顯地有別于批處理系統,因而,分時系統又被稱為交互式系統。系統保證各用戶程序運行的完整性,不會發生相互混淆或破壞現象。系統可對用戶的輸入及時作出響應。
操作系的發展史 手工操作----穿孔卡片
1946年第一臺計算機誕生--20世紀50年代中期,計算機工作還在采用手工操作方式。此時還沒有操作系統的概念。
程序員將對應于程序和數據的已穿孔的紙帶(或卡片)裝入輸入機,然后啟動輸入機把程序和數據輸入計算機內存,接著通過控制臺開關啟動程序針對數據運行;計算完畢,打印機輸出計算結果;用戶取走結果并卸下紙帶(或卡片)后,才讓下一個用戶上機。
手工操作方式兩個特點:
(1)用戶獨占全機。不會出現因資源已被其他用戶占用而等待的現象,但資源的利用率低。
(2)CPU 等待手工操作。CPU的利用不充分。
20世紀50年代后期,出現人機矛盾:手工操作的慢速度和計算機的高速度之間形成了尖銳矛盾,手工操作方式已嚴重損害了系統資源的利用率(使資源利用率降為百分之幾,甚至更低),不能容忍。唯一的解決辦法:只有擺脫人的手工操作,實現作業的自動過渡。這樣就出現了成批處理。
批處理 —— 磁帶存儲批處理系統:加載在計算機上的一個系統軟件,在它的控制下,計算機能夠自動地、成批地處理一個或多個用戶的作業(這作業包括程序、數據和命令)。
1.聯機批處理系統
- 首先出現的是聯機批處理系統,即作業的輸入/輸出由CPU來處理。
主機與輸入機之間增加一個存儲設備——磁帶,在運行于主機上的監督程序的自動控制下,計算機可自動完成:成批地把輸入機上的用戶作業讀入磁帶,依次把磁帶上的用戶作業讀入主機內存并執行并把計算結果向輸出機輸出。完成了上一批作業后,監督程序又從輸入機上輸入另一批作業,保存在磁帶上,并按上述步驟重復處理。
監督程序不停地處理各個作業,從而實現了作業到作業的自動轉接,減少了作業建立時間和手工操作時間,有效克服了人機矛盾,提高了計算機的利用率。但是,在作業輸入和結果輸出時,主機的高速CPU仍處于空閑狀態,等待慢速的輸入/輸出設備完成工作: 主機處于“忙等”狀態。
2.脫機批處理系統
- 為克服與緩解:高速主機與慢速外設的矛盾,提高CPU的利用率,又引入了脫機批處理系統,即輸入/輸出脫離主機控制。
衛星機:一臺不與主機直接相連而專門用于與輸入/輸出設備打交道的。
其功能是:
(1)從輸入機上讀取用戶作業并放到輸入磁帶上。
(2)從輸出磁帶上讀取執行結果并傳給輸出機。
這樣,主機不是直接與慢速的輸入/輸出設備打交道,而是與速度相對較快的磁帶機發生關系,有效緩解了主機與設備的矛盾。主機與衛星機可并行工作,二者分工明確,可以充分發揮主機的高速計算能力。
脫機批處理系統:20世紀60年代應用十分廣泛,它極大緩解了人機矛盾及主機與外設的矛盾。
不足:每次主機內存中僅存放一道作業,每當它運行期間發出輸入/輸出(I/O)請求后,高速的CPU便處于等待低速的I/O完成狀態,致使CPU空閑。
為改善CPU的利用率,又引入了多道程序系統。
1.多道程序設計技術
- 所謂多道程序設計技術,就是指允許多個程序同時進入內存并運行。即同時把多個程序放入內存,并允許它們交替在CPU中運行,它們共享系統中的各種硬、軟件資源。當一道程序因I/O請求而暫停運行時,CPU便立即轉去運行另一道程序。
- 在A程序計算時,I/O空閑, A程序I/O操作時,CPU空閑(B程序也是同樣);必須A工作完成后,B才能進入內存中開始工作,兩者是串行的,全部完成共需時間=T1+T2。
將A、B兩道程序同時存放在內存中,它們在系統的控制下,可相互穿插、交替地在CPU上運行:當A程序因請求I/O操作而放棄CPU時,B程序就可占用CPU運行,這樣 CPU不再空閑,而正進行A I/O操作的I/O設備也不空閑,顯然,CPU和I/O設備都處于“忙”狀態,大大提高了資源的利用率,從而也提高了系統的效率,A、B全部完成所需時間<
單處理機系統中多道程序運行時的特點:
(1)多道:計算機內存中同時存放幾道相互獨立的程序;
(2)宏觀上并行:同時進入系統的幾道程序都處于運行過程中,即它們先后開始了各自的運行,但都未運行完畢;
(3)微觀上串行:實際上,各道程序輪流地用CPU,并交替運行。
多道程序系統的出現,標志著操作系統漸趨成熟的階段,先后出現了作業調度管理、處理機管理、存儲器管理、外部設備管理、文件系統管理等功能。
由于多個程序同時在計算機中運行,開始有了空間隔離的概念,只有內存空間的隔離,才能讓數據更加安全、穩定。
出了空間隔離之外,多道技術還第一次體現了時空復用的特點,遇到IO操作就切換程序,使得cpu的利用率提高了,計算機的工作效率也隨之提高。
2.多道批處理系統
20世紀60年代中期,在前述的批處理系統中,引入多道程序設計技術后形成多道批處理系統(簡稱:批處理系統)。
它有兩個特點:
(1)多道:系統內可同時容納多個作業。這些作業放在外存中,組成一個后備隊列,系統按一定的調度原則每次從后備作業隊列中選取一個或多個作業進入內存運行,運行作業結束、退出運行和后備作業進入運行均由系統自動實現,從而在系統中形成一個自動轉接的、連續的作業流。
(2)成批:在系統運行過程中,不允許用戶與其作業發生交互作用,即:作業一旦進入系統,用戶就不能直接干預其作業的運行。
批處理系統的追求目標:提高系統資源利用率和系統吞吐量,以及作業流程的自動化。
批處理系統的一個重要缺點:不提供人機交互能力,給用戶使用計算機帶來不便。
雖然用戶獨占全機資源,并且直接控制程序的運行,可以隨時了解程序運行情況。但這種工作方式因獨占全機造成資源效率極低。
一種新的追求目標:既能保證計算機效率,又能方便用戶使用計算機。 20世紀60年代中期,計算機技術和軟件技術的發展使這種追求成為可能。
由于CPU速度不斷提高和采用分時技術,一臺計算機可同時連接多個用戶終端,而每個用戶可在自己的終端上聯機使用計算機,好象自己獨占機器一樣。
分時技術:把處理機的運行時間分成很短的時間片,按時間片輪流把處理機分配給各聯機作業使用。
若某個作業在分配給它的時間片內不能完成其計算,則該作業暫時中斷,把處理機讓給另一作業使用,等待下一輪時再繼續其運行。由于計算機速度很快,作業運行輪轉得很快,給每個用戶的印象是,好象他獨占了一臺計算機。而每個用戶可以通過自己的終端向系統發出各種操作控制命令,在充分的人機交互情況下,完成作業的運行。
具有上述特征的計算機系統稱為分時系統,它允許多個用戶同時聯機使用計算機。
特點:
(1)多路性。若干個用戶同時使用一臺計算機。微觀上看是各用戶輪流使用計算機;宏觀上看是各用戶并行工作。
(2)交互性。用戶可根據系統對請求的響應結果,進一步向系統提出新的請求。這種能使用戶與系統進行人機對話的工作方式,明顯地有別于批處理系統,因而,分時系統又被稱為交互式系統。
(3)獨立性。用戶之間可以相互獨立操作,互不干擾。系統保證各用戶程序運行的完整性,不會發生相互混淆或破壞現象。
(4)及時性。系統可對用戶的輸入及時作出響應。分時系統性能的主要指標之一是響應時間,它是指:從終端發出命令到系統予以應答所需的時間。
分時系統的主要目標:對用戶響應的及時性,即不至于用戶等待每一個命令的處理時間過長。
分時系統可以同時接納數十個甚至上百個用戶,由于內存空間有限,往往采用對換(又稱交換)方式的存儲方法。即將未“輪到”的作業放入磁盤,一旦“輪到”,再將其調入內存;而時間片用完后,又將作業存回磁盤(俗稱“滾進”、“滾出“法),使同一存儲區域輪流為多個用戶服務。
多用戶分時系統是當今計算機操作系統中最普遍使用的一類操作系統。
注意:分時系統的分時間片工作,在沒有遇到IO操作的時候就用完了自己的時間片被切走了,這樣的切換工作其實并沒有提高cpu的效率,反而使得計算機的效率降低了。但是我們犧牲了一點效率,卻實現了多個程序共同執行的效果,這樣你就可以在計算機上一邊聽音樂一邊聊qq了。
雖然多道批處理系統和分時系統能獲得較令人滿意的資源利用率和系統響應時間,但卻不能滿足實時控制與實時信息處理兩個應用領域的需求。于是就產生了實時系統,即系統能夠及時響應隨機發生的外部事件,并在嚴格的時間范圍內完成對該事件的處理。
實時系統在一個特定的應用中常作為一種控制設備來使用。
實時系統可分成兩類:
(1)實時控制系統。當用于飛機飛行、導彈發射等的自動控制時,要求計算機能盡快處理測量系統測得的數據,及時地對飛機或導彈進行控制,或將有關信息通過顯示終端提供給決策人員。當用于軋鋼、石化等工業生產過程控制時,也要求計算機能及時處理由各類傳感器送來的數據,然后控制相應的執行機構。
(2)實時信息處理系統。當用于預定飛機票、查詢有關航班、航線、票價等事宜時,或當用于銀行系統、情報檢索系統時,都要求計算機能對終端設備發來的服務請求及時予以正確的回答。此類對響應及時性的要求稍弱于第一類。
實時操作系統的主要特點:
(1)及時響應。每一個信息接收、分析處理和發送的過程必須在嚴格的時間限制內完成。
(2)高可靠性。需采取冗余措施,雙機系統前后臺工作,也包括必要的保密措施等。
分時系統和實時系統的比較:
分時——現在流行的PC,服務器都是采用這種運行模式,即把CPU的運行分成若干時間片分別處理不同的運算請求 linux系統實時——一般用于單片機上、PLC等,比如電梯的上下控制中,對于按鍵等動作要求進行實時處理。
操作系統的三種基本類型:多道批處理系統、分時系統、實時系統。
通用操作系統:具有多種類型操作特征的操作系統。可以同時兼有多道批處理、分時、實時處理的功能,或其中兩種以上的功能。
例如:實時處理+批處理=實時批處理系統。首先保證優先處理實時任務,插空進行批處理作業。常把實時任務稱為前臺作業,批作業稱為后臺作業。
再如:分時處理+批處理=分時批處理系統。即:時間要求不強的作業放入“后臺”(批處理)處理,需頻繁交互的作業在“前臺”(分時)處理,處理機優先運行“前臺”作業。
從上世紀60年代中期,國際上開始研制一些大型的通用操作系統。這些系統試圖達到功能齊全、可適應各種應用范圍和操作方式變化多端的環境的目標。但是,這些系統過于復雜和龐大,不僅付出了巨大的代價,且在解決其可靠性、可維護性和可理解性方面都遇到很大的困難。
相比之下,UNIX操作系統卻是一個例外。這是一個通用的多用戶分時交互型的操作系統。它首先建立的是一個精干的核心,而其功能卻足以與許多大型的操作系統相媲美,在核心層以外,可以支持龐大的軟件系統。它很快得到應用和推廣,并不斷完善,對現代操作系統有著重大的影響。
至此,操作系統的基本概念、功能、基本結構和組成都已形成并漸趨完善。
進入20世紀80年代,大規模集成電路工藝技術的飛躍發展,微處理機的出現和發展,掀起了計算機大發展大普及的浪潮。一方面迎來了個人計算機的時代,同時又向計算機網絡、分布式處理、巨型計算機和智能化方向發展。于是,操作系統有了進一步的發展,如:個人計算機操作系統、網絡操作系統、分布式操作系統等。
1.個人計算機操作系統
- 個人計算機上的操作系統是聯機交互的單用戶操作系統,它提供的聯機交互功能與通用分時系統提供的功能很相似。 - 由于是個人專用,因此一些功能會簡單得多。然而,由于個人計算機的應用普及,對于提供更方便友好的用戶接口和豐富功能的文件系統的要求會愈來愈迫切。
2.網絡操作系統
- 計算機網絡:通過通信設施,將地理上分散的、具有自治功能的多個計算機系統互連起來,實現信息交換、資源共享、互操作和協作處理的系統。 - 網絡操作系統:在原來各自計算機操作系統上,按照網絡體系結構的各個協議標準增加網絡管理模塊,其中包括:通信、資源共享、系統安全和各種網絡應用服務。
3.分布式操作系統
- 表面上看,分布式系統與計算機網絡系統沒有多大區別。分布式操作系統也是通過通信網絡,將地理上分散的具有自治功能的數據處理系統或計算機系統互連起來,實現信息交換和資源共享,協作完成任務。——硬件連接相同。 - 但有如下一些明顯的區別: 1.分布式系統要求一個統一的操作系統,實現系統操作的統一性。 2.分布式操作系統管理分布式系統中的所有資源,它負責全系統的資源分配和調度、任務劃分、信息傳輸和控制協調工作,并為用戶提供一個統一的界面。 3.用戶通過這一界面,實現所需要的操作和使用系統資源,至于操作定在哪一臺計算機上執行,或使用哪臺計算機的資源,則是操作系統完成的,用戶不必知道,此謂:系統的透明性。 4.分布式系統更強調分布式計算和處理,因此對于多機合作和系統重構、堅強性和容錯能力有更高的要求,希望系統有:更短的響應時間、高吞吐量和高可靠性。操作系統的作用
現代的計算機系統主要是由一個或者多個處理器,主存,硬盤,鍵盤,鼠標,顯示器,打印機,網絡接口及其他輸入輸出設備組成。
一般而言,現代計算機系統是一個復雜的系統。
其一:如果每位應用程序員都必須掌握該系統所有的細節,那就不可能再編寫代碼了(嚴重影響了程序員的開發效率:全部掌握這些細節可能需要一萬年....)
其二:并且管理這些部件并加以優化使用,是一件極富挑戰性的工作,于是,計算安裝了一層軟件(系統軟件),稱為操作系統。它的任務就是為用戶程序提供一個更好、更簡單、更清晰的計算機模型,并管理剛才提到的所有設備。
總結:
程序員無法把所有的硬件操作細節都了解到,管理這些硬件并且加以優化使用是非常繁瑣的工作,這個繁瑣的工作就是操作系統來干的,有了他,程序員就從這些繁瑣的工作中解脫了出來,只需要考慮自己的應用軟件的編寫就可以了,應用軟件直接使用操作系統提供的功能來間接使用硬件。
精簡的說的話,操作系統就是一個協調、管理和控制計算機硬件資源和軟件資源的控制程序。操作系統所處的位置如圖
#一:隱藏了丑陋的硬件調用接口,為應用程序員提供調用硬件資源的更好,更簡單,更清晰的模型(系統調用接口)。應用程序員有了這些接口后,就不用再考慮操作硬件的細節,專心開發自己的應用程序即可。 例如:操作系統提供了文件這個抽象概念,對文件的操作就是對磁盤的操作,有了文件我們無需再去考慮關于磁盤的讀寫控制(比如控制磁盤轉動,移動磁頭讀寫數據等細節), #二:將應用程序對硬件資源的競態請求變得有序化 例如:很多應用軟件其實是共享一套計算機硬件,比方說有可能有三個應用程序同時需要申請打印機來輸出內容,那么a程序競爭到了打印機資源就打印,然后可能是b競爭到打印機資源,也可能是c,這就導致了無序,打印機可能打印一段a的內容然后又去打印c...,操作系統的一個功能就是將這種無序變得有序。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/42087.html
摘要:年之后,輿論熱點已經逐漸從大數據轉向人工智能,大數據行業也歷經整合。近一年間,一些大數據公司相繼出現裁員業務大調整等情況,部分公司出現虧損。今年開始,部分院校將招收第一屆大數據專業本科生。 在這個信息時代高速發展的情況下,很多人會對自己該往哪個方向發展感到迷茫,下面我就淺顯的給大家介紹一下五大流行區域的發展前景。 大數據的發展前景: 當前大數據行業真的是人才稀缺嗎? 學了幾年后,大數據...
摘要:年之后,輿論熱點已經逐漸從大數據轉向人工智能,大數據行業也歷經整合。近一年間,一些大數據公司相繼出現裁員業務大調整等情況,部分公司出現虧損。今年開始,部分院校將招收第一屆大數據專業本科生。 在這個信息時代高速發展的情況下,很多人會對自己該往哪個方向發展感到迷茫,下面我就淺顯的給大家介紹一下五大流行區域的發展前景。 大數據的發展前景: 當前大數據行業真的是人才稀缺嗎? 學了幾年后,大數據...
摘要:社區的需求將影響語言未來的發展方向,基金會前任主任,核心開發人員,研究軟件工程師我想我們將繼續看到的科學編程部分的增長。作為一種語言的另一個驚人的優勢在于,新的開發人員可以輕松地進入,輕松的學習并快速提高工作效率。 showImg(https://segmentfault.com/img/remote/1460000018949569); 來源 | 愿碼(ChainDesk.CN)內...
摘要:可以脫離語言環境獨立運行就像一本英文書,我找一個翻譯,給他點時間,把英文書翻譯成中文的,這就是編譯型語言解釋型語言有良好的平臺兼容性,在任何環境中都可以運行,前提是安裝了解釋器虛擬機。就像還是一本英文書,我看一句讓他給我解釋一句。 寫在前面 隨著大數據、人工智能這類詞匯撲向我們,python這個早在1989就已經出現的語言終于高調回歸,為了更好的學習python 我們先來了解下它的前世...
摘要:但是相對于開發者來說語言提供了更加強大的支持。自身的強類型的機制異常處理垃圾自動收集等是其程序健壯性的重要保證。框架的設計理念也遵循了優雅明確簡單,并具有簡潔易讀及可拓展性。 關于Python的發展,及Python的歷史概述我這里將不會浪費時間和大家介紹,因為我覺得能夠借用搜索引擎搜索到的知識大家就竟可能的自己動手動腦去了解和認知,我主要就講講Python的一些基本的特性及版本的選擇相...
閱讀 1998·2021-11-22 19:20
閱讀 2644·2021-11-22 13:54
閱讀 1976·2021-09-04 16:40
閱讀 1830·2021-08-13 11:54
閱讀 2676·2019-08-30 15:55
閱讀 3470·2019-08-29 13:51
閱讀 532·2019-08-29 11:09
閱讀 3013·2019-08-26 14:06