操作系統(tǒng)1-10章_第1頁(yè)
操作系統(tǒng)1-10章_第2頁(yè)
操作系統(tǒng)1-10章_第3頁(yè)
操作系統(tǒng)1-10章_第4頁(yè)
操作系統(tǒng)1-10章_第5頁(yè)
已閱讀5頁(yè),還剩48頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第1章 操作系統(tǒng)概述呂鳴松呂鳴松嵌入嵌入式系統(tǒng)研究所,東北大學(xué)式系統(tǒng)研究所,東北大學(xué)20152015年年3 3月月操作系統(tǒng)原理2015年春季課程主要內(nèi)容 操作系統(tǒng)的基本概念 操作系統(tǒng)歷史 操作系統(tǒng)主要功能概述 操作系統(tǒng)接口 操作系統(tǒng)的結(jié)構(gòu)2022-3-3Operating Systems Overview2操作系統(tǒng)定義2022-3-3Operating Systems Overview3An operating system (OS) is a collection of software that manages computer hardware resources and provide

2、s common services for computer programs.wikipedia操作系統(tǒng)在計(jì)算機(jī)中的位置2022-3-3Operating Systems Overview4操作系統(tǒng)舉例2022-3-3Operating Systems Overview5操作系統(tǒng)作為“擴(kuò)展機(jī)” 以操作磁盤(pán)為例 硬件說(shuō)明書(shū):450頁(yè)(2007年第一代SATA硬盤(pán)) 驅(qū)動(dòng)程序(disk driver) 操作系統(tǒng)程序接口2022-3-3Operating Systems Overview6丑陋的硬件接口漂亮的OS接口操作系統(tǒng)作為“資源管理者” 如何更加有效的使用計(jì)算機(jī)硬件資源,使之可以為更多的用戶

3、服務(wù) 資源的共享(multiplexing) 時(shí)間上的共享 空間上的共享 操作系統(tǒng)的自身發(fā)展能力 支持新硬件,提供新服務(wù) 操作系統(tǒng)補(bǔ)丁2022-3-3Operating Systems Overview7操作系統(tǒng)的歷史 史前時(shí)代(1945-55)無(wú)操作系統(tǒng) 硬件:真空管計(jì)算機(jī),計(jì)算機(jī)數(shù)字化趨勢(shì)2022-3-3Operating Systems Overview8程序員提前預(yù)約好時(shí)間,帶著自己精心組裝好的插件板到機(jī)房插到計(jì)算機(jī)上。在接下來(lái)的幾個(gè)小時(shí)里,祈禱幾萬(wàn)個(gè)真空管不會(huì)燒壞,從而可以完成一個(gè)余弦計(jì)算。操作系統(tǒng)的歷史 史前時(shí)代(1945-55)無(wú)操作系統(tǒng) 50年代早期,出現(xiàn)了穿孔卡片:程序?qū)懺诳?/p>

4、片上然后讀入計(jì)算機(jī),而不用插板,但計(jì)算過(guò)程依舊2022-3-3Operating Systems Overview9操作系統(tǒng)的歷史 遠(yuǎn)古時(shí)代(1955-65)簡(jiǎn)單批處理系統(tǒng) 硬件更加可靠,可以長(zhǎng)時(shí)間運(yùn)轉(zhuǎn) 明確的角色分工:設(shè)計(jì)者、操作員、程序員等2022-3-3Operating Systems Overview10操作系統(tǒng)的歷史 遠(yuǎn)古時(shí)代(1955-65)簡(jiǎn)單批處理系統(tǒng) 主要矛盾:操作員傳遞作業(yè)成為性能瓶頸,機(jī)器昂貴 解決方案:大型機(jī) + 衛(wèi)星機(jī);大型機(jī)中運(yùn)行監(jiān)控程序,負(fù)責(zé)切換作業(yè)2022-3-3Operating Systems Overview11操作系統(tǒng)的歷史 近古時(shí)代(1965-80)

5、多道程序系統(tǒng) 硬件趨勢(shì):集成電路的發(fā)展(IC) 使得在一臺(tái)計(jì)算機(jī)上集成大型機(jī)和衛(wèi)星機(jī)的功能成為可能,運(yùn)算更快,可以服務(wù)于多種不同應(yīng)用 (傳說(shuō)中的 IBM 360)2022-3-3Operating Systems Overview12操作系統(tǒng)的歷史 近古時(shí)代(1965-80)多道程序系統(tǒng) 操作系統(tǒng)概念出現(xiàn),規(guī)模變大:百萬(wàn)行機(jī)器代碼,上千程序員 成千上萬(wàn)的bug,改多少,添多少bug守恒 更大的矛盾:CPU資源嚴(yán)重浪費(fèi)(快速CPU與慢速外設(shè)的矛盾)2022-3-3Operating Systems Overview13操作系統(tǒng)的歷史 近古時(shí)代(1965-80)多道程序系統(tǒng) 多道程序系統(tǒng)的特點(diǎn) 在

6、內(nèi)存中存放多道相互獨(dú)立的程序 多個(gè)程序交替占用CPU 宏觀上并行,微觀上串行并發(fā) 大大提高了CPU使用率2022-3-3Operating Systems Overview14操作系統(tǒng)的歷史 分時(shí)系統(tǒng)(Time Sharing Systems) 驅(qū)動(dòng)力 計(jì)算機(jī)依然龐大,個(gè)人擁有計(jì)算機(jī)不現(xiàn)實(shí)多人分享 “交互式計(jì)算”需求顯著增加,如何使每個(gè)用戶感覺(jué)自己獨(dú)占計(jì)算機(jī)? 基本原理 多個(gè)用戶通過(guò)終端訪問(wèn)計(jì)算機(jī) 操作系統(tǒng)負(fù)責(zé)讓多個(gè)用戶交替使用計(jì)算機(jī),每人獲得一個(gè)很短的時(shí)間片(如果20個(gè)人中有17個(gè)人正在思考問(wèn)題,則計(jì)算機(jī)供另外3個(gè)人使用)2022-3-3Operating Systems Overview1

7、5操作系統(tǒng)的歷史 代表系統(tǒng)MULTICS(MULTiplexed Information and Computing Service) 由貝爾實(shí)驗(yàn)室與GE聯(lián)合開(kāi)發(fā),后MIT接手 愿景:把插頭插在墻上,你就有了電;把終端打開(kāi),你就有了計(jì)算力 似曾相識(shí)?YES!云計(jì)算 雖沒(méi)有得到廣泛應(yīng)用,但是用MULTICS的都是當(dāng)時(shí)的牛逼公司,最長(zhǎng)的一用就是30幾年 其設(shè)計(jì)思想,對(duì)后世操作系統(tǒng)的發(fā)展起到了重大影響2022-3-3Operating Systems Overview16操作系統(tǒng)的歷史 UNIX家族的興起 貝爾實(shí)驗(yàn)室的Ken Thompson在PDP-7計(jì)算機(jī)上開(kāi)發(fā)一個(gè)“單用戶”版的MULTICS,

8、后來(lái)成為了UNIX Dennis Ritchie后來(lái)加入開(kāi)發(fā),UNIX運(yùn)行在PDP-11計(jì)算機(jī)上 兩人發(fā)表論文,獲得1984年“圖靈獎(jiǎng)” 隨著PDP-11計(jì)算機(jī)在大學(xué)里的廣泛使用,UNIX被推廣 由于源代碼公開(kāi),出現(xiàn)了很多版本,兩個(gè)重要版本(1)System V by AT&T;(2)BSD UNIX by Univ. of Berkeley IEEE提出了POSIX接口 Andrew Tanenbaum在UNIX基礎(chǔ)上開(kāi)發(fā)了教學(xué)用的MINIX系統(tǒng) 若干年以后,一個(gè)芬蘭小伙子Linus Trovalds受MINIX啟發(fā),開(kāi)發(fā)了一個(gè)操作系統(tǒng),叫做Linux 后來(lái),又有了Mac OS,An

9、droid, 2022-3-3Operating Systems Overview17操作系統(tǒng)的歷史 個(gè)人計(jì)算機(jī)操作系統(tǒng)(1980-現(xiàn)在) 硬件驅(qū)動(dòng):大規(guī)模集成電路個(gè)人擁有計(jì)算機(jī)成為可能 1974年,Intel 8080 CPU出現(xiàn),Kildall為其開(kāi)發(fā)了CP/M操作系統(tǒng),創(chuàng)辦Digital Research公司,CP/M成為業(yè)界主流2022-3-3Operating Systems Overview18操作系統(tǒng)的歷史 個(gè)人計(jì)算機(jī)操作系統(tǒng)(1980-現(xiàn)在) 1980年代,IBM研制出了著名的IBM PC,尋找操作系統(tǒng) IBM找到了一個(gè)年輕有為的小伙子,因?yàn)樗掷镉幸粋€(gè)叫做BASIC的解釋器

10、比爾弟弟說(shuō):你們?cè)撊フ褼igital Research,他們才是操作系統(tǒng)領(lǐng)域的大老虎 于是IBM去找Kildall,出人意料,Kildall沒(méi)鳥(niǎo)IBM 于是IBM又找到比爾,“老弟,還得靠你啊” 比爾發(fā)現(xiàn)了一個(gè)叫做Seattle Computer Products的公司做了一個(gè)系統(tǒng),叫做DOS 比爾以其敏銳的專業(yè)嗅覺(jué),花75000美元買下了DOS,又拉來(lái)了DOS的主創(chuàng)Tim Paterson,跟自家的BASIC合為一體,修煉出了大名鼎鼎的MS-DOS 比爾做了一個(gè)重要的商業(yè)決策:MS-DOS將隨新計(jì)算機(jī)綁定出售 MS-DOS統(tǒng)治PC市場(chǎng),CP/M沒(méi)落,Kildall離奇死亡2022-3-3Op

11、erating Systems Overview19操作系統(tǒng)的歷史 個(gè)人計(jì)算機(jī)操作系統(tǒng)(1980-現(xiàn)在) 蘋(píng)果的故事 引子:斯坦福研究院的Doug Engelbart在1960年發(fā)明了一種圖形用戶界面,后被Xerox相中,集成到了自家機(jī)器里 有一天,喬蜀黍訪問(wèn)Xerox,偶然遇見(jiàn)GUI,一見(jiàn)傾心 憑借其敏銳的嗅覺(jué),喬蜀黍認(rèn)為GUI必將一統(tǒng)江湖,遂加班加點(diǎn)趕制一款GUI,用在他在自己車庫(kù)里開(kāi)發(fā)的電腦上,這款電腦叫Apple 第一代產(chǎn)品太貴,賣的不好。后來(lái)有了跑GUI的Macintosh,蘋(píng)果電腦風(fēng)靡 1999年,Jobs從CMU取得了一個(gè)基于UNIX的微內(nèi)核Mach,開(kāi)發(fā)了后來(lái)眾所周知的Mac

12、OS X,再后來(lái)的事情你就不陌生了2022-3-3Operating Systems Overview20操作系統(tǒng)的歷史 個(gè)人計(jì)算機(jī)操作系統(tǒng)(1980-現(xiàn)在) Windows的故事 雖然MS-DOS很成功,比爾看到Macintosh也是醉了 于是,在MS-DOS上套了GUI的殼子,出現(xiàn)了最早的Windows 后來(lái),Windows 95,98出現(xiàn) 但這兩者都不是純粹的32位系統(tǒng),為此微軟開(kāi)發(fā)了NT NT的主創(chuàng)同時(shí)是另一家公司VAX VMS系統(tǒng)的開(kāi)發(fā)者,為此微軟被DEC公司起訴,為此支付了數(shù)額巨大的費(fèi)用,但是 NT Windows 2000 Windows XP Windows XP Vista

13、Windows 7 Windows 8 10 2022-3-3Operating Systems Overview21操作系統(tǒng)的歷史 移動(dòng)設(shè)備操作系統(tǒng)(1990-現(xiàn)在) 2000年前后,手機(jī)盛行,各公司定制的系統(tǒng) 90年代中期,NOKIA推出N9000,出現(xiàn)了PDA的概念;97年愛(ài)立信在GS88設(shè)備上首次提出了smartphone這個(gè)名詞2022-3-3Operating Systems Overview22操作系統(tǒng)的歷史 移動(dòng)設(shè)備操作系統(tǒng)(1990-現(xiàn)在) 早期的三足鼎立 Symbian OS:諾基亞,三星,摩托羅拉,索尼 iOS:蘋(píng)果,第一代iPhone RIM:黑莓 后來(lái),Sybian生

14、態(tài)圈封閉,垮臺(tái) Android 81.5% iOS 14.8% Windows Mobile 2.7%2022-3-3Operating Systems Overview23操作系統(tǒng)演進(jìn)關(guān)系2022-3-3Operating Systems Overview24從歷史發(fā)展看操作系統(tǒng)本質(zhì) 操作系統(tǒng)的出現(xiàn),本質(zhì)上是為了應(yīng)對(duì)系統(tǒng)復(fù)雜性 硬件復(fù)雜性 用戶需求(應(yīng)用需求)復(fù)雜性 通過(guò)引入操作系統(tǒng),大大簡(jiǎn)化了用戶對(duì)計(jì)算機(jī)的使用,簡(jiǎn)化了程序開(kāi)發(fā)2022-3-3Operating Systems Overview25計(jì)算機(jī)系統(tǒng)的組成2022-3-3Operating Systems Overview26操作系

15、統(tǒng)的主要功能2022-3-3Operating Systems Overview27設(shè)備管理文件管理處理機(jī)管理存儲(chǔ)管理用戶接口操作接口編程接口操作系統(tǒng)的主要功能 處理機(jī)管理 創(chuàng)建和刪除用戶/系統(tǒng)進(jìn)程 進(jìn)程的啟動(dòng)與停止 調(diào)度多個(gè)進(jìn)程在CPU上執(zhí)行 提供進(jìn)程間通信和同步的機(jī)制 存儲(chǔ)器管理 存儲(chǔ)器的分配與釋放 地址映射:邏輯地址到內(nèi)存物理地址映射 存儲(chǔ)保護(hù):保證不同程序間互不干擾、互相保密 內(nèi)存擴(kuò)充:虛擬內(nèi)存,擴(kuò)大系統(tǒng)的內(nèi)存空間2022-3-3Operating Systems Overview28操作系統(tǒng)的主要功能 文件管理 外存空閑空間管理與分配 磁盤(pán)調(diào)度 文件/文件夾的創(chuàng)建與刪除 目錄管理:解

16、決信息檢索問(wèn)題 文件的讀寫(xiě)管理和存取控制:解決信息安全問(wèn)題2022-3-3Operating Systems Overview29操作系統(tǒng)功能 設(shè)備管理 設(shè)備操作:利用設(shè)備驅(qū)動(dòng)程序完成對(duì)設(shè)備的操作 設(shè)備獨(dú)立性:提供統(tǒng)一的I/O設(shè)備接口,使應(yīng)用程序獨(dú)立于物理設(shè)備,提高可適應(yīng)性;在同樣的接口和操作下完成不同的內(nèi)容 設(shè)備分配與回收:在多用戶間共享I/O設(shè)備資源 緩沖區(qū)管理:匹配CPU和外設(shè)的速度,提高兩者的利用率。主機(jī)與外設(shè)并行2022-3-3Operating Systems Overview30用戶接口 本質(zhì):用戶與操作系統(tǒng)“溝通”的通道 用戶需要將自己的意圖正確方便的傳達(dá)給操作系統(tǒng) 操作系統(tǒng)將

17、結(jié)果呈現(xiàn)給用戶 根據(jù)用戶類型的不同,用戶接口的定義亦不同 普通用戶(操作級(jí)接口) 如何使用操作系統(tǒng)已經(jīng)提供的功能 重點(diǎn)是信息的呈現(xiàn)形式,便于使用 程序開(kāi)發(fā)人員(程序級(jí)接口) 如何在編程過(guò)程中,使用操作系統(tǒng)提供的功能 系統(tǒng)調(diào)用(System Call)、庫(kù)函數(shù)(Library)2022-3-3Operating Systems Overview31操作級(jí)接口 在UNIX,Linux操作系統(tǒng)中盛行2022-3-3Operating Systems Overview32操作級(jí)接口 命令與命令解釋器 用戶通過(guò)命令行界面輸入的叫做“命令” “命令”通過(guò)“命令解釋器(Command Interpreter

18、)”得以最終執(zhí)行 命令解釋器 區(qū)分“命令的識(shí)別”和“命令的執(zhí)行” 一般命令解釋器 Shell2022-3-3Operating Systems Overview33操作級(jí)接口 一般命令解釋器 解釋器既識(shí)別命令,也執(zhí)行命令 解釋器對(duì)命令的執(zhí)行,體現(xiàn)為調(diào)用“系統(tǒng)調(diào)用” 支持的命令越多,解釋器軟件就越龐大 Shell 僅識(shí)別命令,不執(zhí)行命令 對(duì)命令的執(zhí)行,是通過(guò)調(diào)用其它“系統(tǒng)程序”來(lái)完成的 常用于Linux/Unix操作系統(tǒng)2022-3-3Operating Systems Overview34操作級(jí)接口 圖形用戶接口(Graphical User Interface, GUI) 桌面,圖標(biāo),文件夾

19、等等 高性能顯示設(shè)備,鼠標(biāo)等2022-3-3Operating Systems Overview35操作級(jí)接口 圖形用戶接口(Graphical User Interface, GUI) 移動(dòng)設(shè)備:觸控輸入、輔助設(shè)備2022-3-3Operating Systems Overview36操作級(jí)接口 Google Glass - Augmented Reality 2022-3-3Operating Systems Overview37操作級(jí)接口 操作級(jí)接口的選擇 普通用戶基本上都會(huì)選擇GUI 系統(tǒng)管理員往往選擇命令行接口 雖然學(xué)習(xí)過(guò)程難度大,一旦熟練,效率很高 GUI通常不能支持全部的操作系統(tǒng)

20、功能 通過(guò)Shell script,可以在命令行接口,編寫(xiě)極為復(fù)雜的操作2022-3-3Operating Systems Overview38程序級(jí)接口 應(yīng)用軟件也是需要使用操作系統(tǒng)所提供的功能的,如何在程序中實(shí)現(xiàn)這一目的? 系統(tǒng)調(diào)用(System Call) 在操作系統(tǒng)發(fā)行之時(shí),由操作系統(tǒng)開(kāi)發(fā)者提供 本質(zhì)上是一種特殊的“程序調(diào)用”接口2022-3-3Operating Systems Overview39程序級(jí)接口 應(yīng)用程序接口(Application Programming Interface, API) 程序級(jí)接口,在編程中使用 Windows API, POSIX API in Un

21、ix, JAVA API 終端編程者使用API,提供API的開(kāi)發(fā)者在API的具體實(shí)現(xiàn)中調(diào)用“操作系統(tǒng)調(diào)用” 可以帶參數(shù),可以有返回值2022-3-3Operating Systems Overview40程序級(jí)接口 程序API與操作系統(tǒng)調(diào)用之間的關(guān)系2022-3-3Operating Systems Overview41程序級(jí)接口 常見(jiàn)操作系統(tǒng)調(diào)用2022-3-3Operating Systems Overview42操作系統(tǒng)的設(shè)計(jì)目標(biāo) 可靠性(Reliablity) Do exactly what is designed to 主要挑戰(zhàn):系統(tǒng)狀態(tài)空間太大,軟件測(cè)試無(wú)法覆蓋所有可能,給惡意軟件

22、以可乘之機(jī) 操作系統(tǒng)補(bǔ)丁 可用性(Availability) 系統(tǒng)百分之多少的時(shí)間里是可用的(MTTF,MTTR) 經(jīng)常出錯(cuò),還丟失用戶數(shù)據(jù):不可靠,不可用 經(jīng)常出錯(cuò),但從不丟失數(shù)據(jù),從不受到攻擊:可靠,不可用 會(huì)被破壞,但能持續(xù)運(yùn)行:不可靠,可用2022-3-3Operating Systems Overview43操作系統(tǒng)的設(shè)計(jì)目標(biāo) 安全性(Security) 安全性:不會(huì)被惡意攻擊所破壞 隱私性:數(shù)據(jù)僅被有權(quán)限的用戶訪問(wèn) 可靠性 典型措施:錯(cuò)誤隔離(Fault Isolation) 主要挑戰(zhàn):共享與隔離之間的矛盾與權(quán)衡2022-3-3Operating Systems Overview4

23、4操作系統(tǒng)的設(shè)計(jì)目標(biāo) 可移植性(Portability) 一次編寫(xiě),到處運(yùn)行 手機(jī)上網(wǎng):WiFi,藍(lán)牙,GPRS, 操作系統(tǒng)自身的設(shè)計(jì)也需要可移植性 主要考慮是工程量太大 “主要功能”與“硬件抽象”分離2022-3-3Operating Systems Overview45操作系統(tǒng)的設(shè)計(jì)目標(biāo) 性能(Performance) 通過(guò)效率、Overhead來(lái)衡量 Overhead:操作系統(tǒng)在實(shí)現(xiàn)抽象過(guò)程中帶來(lái)的額外開(kāi)銷 操作系統(tǒng)的資源仲裁機(jī)制與策略 延遲:一個(gè)任務(wù)(個(gè)體)從開(kāi)始到結(jié)束所用的時(shí)間 吞吐率:系統(tǒng)單位時(shí)間內(nèi)能夠處理的工作總量(整體) 小延遲與大吞吐率有正向關(guān)系,但并非一定如此2022-3-3Opera

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論