課程簡介

《操作系統原理》是針對計算機科學技術專業三年級本科生開設的一門專業基礎課程。本課程著重學生系統觀的培養,通過重點講述操作系統的內部結構、工作原理及典型技術的實現,使學生建立起對操作系統的整體及各個功能模塊的認識,從而系統掌握計算機的專業知識,進一步提升學生的軟件開發能力乃至系統軟件開發能力。

課程大綱

第1章 操作系統概述


主要內容:舉例介紹操作系統所做的工作;操作系統的定義與特征;操作系統分類;操作系統發展中的典型技術;典型操作系統的結構。

第2章 操作系統運行環境

主要內容:特權指令/非特權指令、CPU狀態;中斷系統的作用;中斷硬件工作原理;中斷處理程序流程;中斷處理程序舉例;中斷系統舉例;系統調用基本概念;系統調用實現機制;系統調用實現實例。

第3章 進程線程模型

主要內容:進程基本概念;進程狀態及狀態轉換;進程控制塊的作用和內容;進程控制操作;進程地址空間與進程映像;為什么引入線程?線程的應用場景;Web服務器的實現;線程概念、線程與進程的區別;線程實現的三種方式;Pthreads線程庫及應用;幾個重要的概念:原語、可再入程序。

第4章 處理器調度

主要內容:調度層次與調度類型;調度時機與進程切換;調度算法設計原則;調度算法設計時考慮的各種因素;基本調度算法;多級隊列反饋調度算法;調度算法應用;Linux調度算法的演化; Windows調度算法簡介。

第5、6章 同步機制

主要內容:進程/線程的并發執行;競爭條件的引入;進程互斥與進程同步的概念;進程互斥的軟件解法;Peterson算法;進程互斥的硬件解法;睡眠與喚醒機制;信號量及PV操作;用信號量解決互斥問題舉例;用信號量解決生產者消費者問題;用信號量解決讀者寫者問題;信號量的問題及管程的引入;管程的基本概念;Hoare管程;管程應用舉例;Mesa管程;JAVA管程解決生產者消費者問題。

第7、8章 存儲模型

主要內容:基本概念介紹;物理內存管理方案之可變分區管理方案;物理內存管理方案之頁式管理方案;虛擬存儲管理基本思想;頁表設計;地址轉換過程;TLB引入;缺頁異常處理;頁面置換算法及應用;工作集模型;清除策略與頁緩沖技術。

第9、10章 文件系統

主要內容:文件系統的功能;文件分類;文件的邏輯結構和物理結構;文件控制塊的內容和作用;文件目錄與目錄文件;文件系統的布局;文件的基本操作;文件系統的內存結構;磁盤空間管理;FAT16/32文件系統;UNIX文件系統;文件共享與保護機制;文件系統一致性;文件系統性能。

第11章I/O系統

主要內容:設備管理的目標和任務;I/O設備分類;I/O設備組成;I/O端口地址;I/O控制方式;I/O軟件層次;設備分配算法;設備驅動程序;緩沖技術;I/O性能問題。

第12章死鎖

主要內容:死鎖的基本概念;產生死鎖的原因;死鎖舉例;用資源分配圖討論死鎖問題;死鎖預防方法;死鎖避免方法;銀行家算法;銀行家算法的應用;死鎖檢測方法;死鎖解除方法;哲學家就餐問題。

課程說明


課程目標

1.掌握操作系統的基本概念、功能組成、系統結構及運行環境;

2.熟悉并運用操作系統工作原理、設計方法和實現技術,理解有代表性、典型的操作系統實例(如UNIX、Linux和Windows);

3.了解操作系統的演化過程、發展研究動向、新技術以及新思想,為后續相關課程的學習打下良好基礎,為后續職業發展奠定基石。

本課程共12章。


授課形式

1.本課程由一系列教學視頻組成,每周的學習內容大約由6-10段視頻組成,每段視頻的長度約8-12分鐘。

2.每周布置課后作業。

3.鼓勵學習者在課程論壇上提出問題,并互相幫助,回答問題。教學團隊會始終關注課程論壇的討論,有選擇性的回答疑難問題。


常見問題

1.這門課程需要編寫代碼嗎?

    在學習進程線程同步機制時,需要讀懂用C、JAVA等編寫的程序。在用信號量及P、V操作解決進程線程同步問題時,需要用偽碼編寫簡單程序。

2.這門課程需要了解計算機硬件系統嗎?

    通常在課上會講解涉及到的相關內容。如果熟悉計算機硬件系統,會有利于對本課程的理解。

參考資料

教材

《現代操作系統》(原書第3版),(荷)Andrews S. Tanenbaum著,陳向群、馬洪兵 等譯,機械工業出版社,2012年7月。

參考書目

《操作系統—精髓與設計原理》(原書第7版),(美)William Stallings著,陳向群、陳渝 譯,電子工業出版社,2012年9月。

《操作系統概念》(原書第6版),(美)Abrahan Silberschatz、Peter Baer Galvin、Greg Gagne著,鄭扣根 譯,高等教育出版社,2010年1月。
《深入理解計算機系統》(原書第2版),(美)Randal E. Bryant、David R. O’Hallaron著,龔奕利、雷迎春 譯,機械工業出版社,2011年1月。

拓展閱讀

其他

主講教師

陳向群   

暫無簡介

課程助教

  • jingpinmooc

相關課程推薦

  • 正在進行
    翻譯與本地化工程
    本課程將講授現代語言服務行業中相關的翻譯與本地化工程知識,選修本課程的同學,需要具備一定的計算機基礎知識,并在修課之前完成預修任務。
  • 正在進行
    面向對象技術高級課程
    《面向對象技術高級課程》深入、系統、完整地講解當今主流的面向對象軟件開發方法的分析、設計、實現及重構方法,深入講解UML語言的高級技術細節,以及近年來面向對象方法最新的發展趨勢。課程集百家之所言,并結合主講者最新的研究成果,并通過大量、豐富、完整、不同領域、應用不同技術的案例將其中的關鍵知識點串聯起來,便于理解和應用。 此課程適用人群:面向廣大軟件開發愛好者,并不局限專業與學歷層次。最佳選課者為計算機科學和軟件工程專業的大學生和碩士研究生。選課者最好具有一門面向對象的編程語言的基本知識和軟件工程的基本知識。
  • 正在進行
    架構設計
    本課程介紹軟件架構分析和設計過程和步驟、視圖和文檔、軟件架構應用與常用的架構模式/策略/原則等諸多架構實際問題,透視軟件架構是如何設計和實現的整個流程, 并且介紹應該如何應用系統架構設計為后期的詳細設計和應用開發提供指導

恭喜,報名成功

進入學習中心

恭喜,報名成功

確定

請進入開課界面預覽

確定

X

請去您的郵箱驗證

還沒收到驗證郵件?

1. 試試去廣告郵件、垃圾郵件目錄看看

2. 再次發送驗證郵件

對不起,班次容量已滿

請報名下一班次

知道了~!

對不起,您沒有操作權限

知道了~!

香蕉视频在线观看