【實驗五】Linux作業系統是如何工作的?

來源:互聯網
上載者:User

  • 【實驗五】Linux作業系統是如何工作的?破解作業系統的奧秘
    • 作業系統工作的基礎:儲存程式電腦、堆棧(函數呼叫堆疊)機制和中斷機制
    • 在作業系統工作的基礎之上,請您簡述作業系統(核心)是如何工作,宏觀概述結合關鍵點的微觀(CS:EIP、EBP/ESP等的變化)分析
    • 完成500字左右的一段總結文字(務必是自己寫的),附上學習研究筆記,另外請大家養成尊重智慧財產權的習慣引用或參考別人的資料註明出處URL
    • 實驗報告以部落格URL方式提交,提交地址 實驗五提交入口
    • 請於本周四實驗課前提交,最遲提交日期6月30日24:00
  • 附加實驗:寫一個自己的OS Kernel(進程管理和進程調度)
    • 實驗環境見:https://github.com/mengning/mykernel

  • 堆棧(函數呼叫堆疊)機制
    • 以調用函數f(x, y, z);為例
      • 首先:z入棧、y入棧、x入棧
    • 其次:next address 入棧
    • 新過程中:ebp入棧;所以新過程中:0x8%ebp為第一個參數,0xc%ebp為第二個參數,0x10%ebp為參數z
    • 最後:leave與ret;

      ret相當於 pop eip,此時恢複狀態

  • 中斷機制
    • 通俗來說,中斷就是“打斷”,放下自己正在乾的活,轉向到別的事情去做。
    • 而“打斷機制”就是那些打斷我、告訴我要幹別的事情的策略
    • 在linux中,CPU執行完一條指令後,下一條指令的邏輯地址存放在cs和eip這對寄存器中。在執行新指令前,控制單元會檢查在執行前一條指令的過程中是否有中斷或異常發生。如果有,控制單元就會拋下指令,進入下面的流程:
  • 作業系統(核心)的工作原理
    • 廣義地來說kernel就是一個軟體,它在硬體和運行在電腦上的應用程式之間提供了一個層。嚴格點從電腦科學的角度來說,Linux中的Kernel指的是Linus Torvalds在90年代初期寫的那點代碼
    • 核心的功能:進程調度、檔案系統、儲存管理、模組管理、效能調優
    • 其工作也是離不開CS:EIP、EBP/ESP這些寄存器,核心幹什麼活,都是反反覆複修改、恢複這些值。
  • 個人總結
    • LInux作業系統分析這門課,讓我更深入的理解作業系統的更底層的東西。以往本科時學過的作業系統,都是泛泛的學習作業系統以及其核心的所提供的各種功能,例如各種管理。那時作業系統在我眼裡是一個“大管理學家”,如果深入理解了作業系統,我們就成為了半個管理學家。
    • 從實驗一到實驗五,一直是這個問題圍繞著我們:”如何工作的?“。
      • 從硬體的宏觀角度講:
      • 從軟體角度講:
      • 整體角度講”如何工作的?“
      • 使用者層init依據inittab檔案來設定運行等級
  •  

    • 附加實驗
      • (待完成)

     

    參考連結:

    • http://zh.wikipedia.org/wiki/%E5%AD%98%E5%82%A8%E7%A8%8B%E5%BA%8F%E8%AE%A1%E7%AE%97%E6%9C%BA
    • http://www.kerneltravel.net/journal/viii/01.htm
    • http://soft.zdnet.com.cn/software_zone/2009/0327/1359774.shtml
    • http://www.weiguolv.com/info/2005-1/200511642611.htm
    • http://www.xuexila.com/diannao/rumen/3543.html
    • http://soft.chinabyte.com/os/325/12254325.shtml

    本文連結:

    • http://www.cnblogs.com/kaimin/p/how-does-linux-operating-system-work.html

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.