- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
作业系统概论
Operating Systems作業系統 1.作業系統的角色 作業系統 (Operating system) 是介於使用者與電腦硬體之間的管理軟體。 目的在於提供使用者—便利有效的程式執行環境。 1.1 什麼是作業系統? 一個電腦系統分成四個單元:硬體(Hardware)、應用程式(Application Program)、作業系統(Operating System)、使用者(User)。 使用者觀點 資源(軟硬體)容易使用(ease of use)、有效分享發揮資源(resource utilization) 系統觀點 資源分配者(resource allocator)、控制程式(control program) 定義作業系統 核心 Kernel : Two main goals --Convenience and Efficiency 1.2 記憶體管理 儲存體結構 快取記憶體(caching) 主記憶體是現代電腦系統運作的中心,程式執行時,它必須映對到絕對位址並且載入主記憶體之中。在程式執行時,藉由產生程式指令和資料的絕對位址,才能從記憶體存取它們。最後,在程式結束時,它釋放出記憶體為可用狀態,以及載入下一個程式並且執行它。 在記憶體管理方面,作業系統必須具有下列的功能: 記錄正在使用的記憶體部份以及是誰在使用 在記憶體空間可用時決定載入的行程 在需要時配置和回收記憶體空間 1.3 行程的管理 作業系統提供程式被執行的環境,工作排班的最重要觀念就是多元程式規劃的能力。多元程式規劃 (multiprogramming)的目的就是讓CPU始終有工作做,以增加CPU的使用率。 作業系統在同一時間存放數項工作在記憶體中,這一組工作是工作池(job pool)中所有工作的部份集合,作業系統把工作池中的一項工作挑出來並且開始執行。 討論作業系統的一個問題就是該如何稱呼CPU所有的運作項目。整批式(batch)系統稱為工作 (jobs),而分時(timesharing)系統和即時(real time)系統則稱為使用者程式(user programs),(或稱為任務,task)。 即使在單一使用者系統 (如Microsoft Windows)使用者仍可同時執行數個程式:一個文書處理程式、網頁瀏覽器、email套件程式。就算是使用者只能一次執行一個程式,作業系統仍須支援其內部一些工作,比方說是記憶體管理。從各方面看來,這些所有的事情都類似,所以我們就稱之為行程。 虛擬機器基本觀念是將單一電腦硬體 (CPU、記憶體、磁碟機、網路介面卡等等)想像成幾個不同的執行環境,因此產生了每一個獨立執行環境在自己私人電腦執行的幻覺。 2.記憶體管理 電腦系統中,記憶體是系統的重心。記憶體本身是一個大型的字組或位元組陣列,各字組和位元組都各有其位址,CPU是根據程式計數器的數值到記憶體的位址擷取指令。這些指令可能會造成對於特殊記憶體位址的額外載入或儲存動作。 藉由管理記憶體的各種不同相關技巧講題開始討論,這包含了基本硬體、符號的記憶體位址與真實記憶體的連結,以及邏輯位址和實際位址間區分的概觀。 2.1 基本硬體 主記憶體和建立在處理器內的暫存器是CPU唯一可以直接存取的儲存體。機器指令使用記憶體位址做為參數,但卻使用磁碟位址做為參數。因此,任何執行的指令,和任何被這些指令使用的資料必須放在這些直接存取儲存裝置之內。如果資料不在記憶體內,則必須在CPU操作它們之前移到記憶體之中。 2.2 位址連結 編譯時間(compile time):在編譯時間時,若已確知程式在記憶體中的位置, 那麼絕對碼(absolute code)便可產生。 載入時間(load time):程式在編譯時間若不能確定在記憶體中的位置,那麼編 譯程式就必須產生重定碼(relocate code)。 執行時問(execution time):如果行程在執行時能夠被由原來的記憶段落移動至另一段落位置的話,那麼連結的動作就會被延遲至執行時間才發生。 2.3 邏輯位址空間和實體位址空間 CPU所產生的位址通常稱為邏輯位址(logical address),而記憶體單元所看到的位址(也就是載入到記憶體的記憶體位址暫存器(memory-address register)之數值)通常叫做實體位址(Physical address)。 動態載入 行程大小受限於實體記憶體大小。要得到較佳之記憶體空間使用效率,可採行動態載入(dynamic loading)。 主程式儲存在主記憶體並執行,當需要呼叫其它程式時,首先看看此程式是不是已經存在記憶體內,如果不是,便呼叫重定位 鏈結載入程式(relocatable linking loading),將所需要的程式載入主記憶體內,並更新行程位址表的內容
文档评论(0)