日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

王道操作系统考研笔记——1.1.6 系统调用

發布時間:2023/12/9 windows 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 王道操作系统考研笔记——1.1.6 系统调用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

如果這篇博客對您有用的話,可以給我點個贊嗎,這對我很重要,謝謝!??

文章目錄

      • 1.1.6 系統調用
        • 1.1.6.1 系統調用和作用
        • 1.1.6.2 系統調用和庫函數
        • 1.1.6.3 系統調用背后的過程
        • 1.1.6.4 小結

1.1.6 系統調用

知識總覽

1.1.6.1 系統調用和作用

前面我們在1.1.1.3那里講過操作系統作為用戶和計算機硬件之間的接口,它需要向上提供一些簡單易用的服務。主要包括命令接口和程序接口。那時候我們說過程序接口主要是允許用戶間接調用。實際上,程序接口由一組系統調用組成。

系統調用是操作系統提供給應用程序(程序員/編程人員)使用的接口,可以理解為一種可供應用程序調用的特殊函數,應用程序可以發出系統調用請求來獲得操作系統的服務。

那為什么應用程序要給操作系統發出請求呢,為什么操作系統需要提供給“系統調用”功能呢?

讓我們想象一個場景,如果我們去打印店打印論文,當我按下了“打印”之后,打印機開始工作。結果我的論文打印到一半的時候,另外一位同學也按下“打印”,開始打印它自己的論文。最終,你的論文和該同學的論文頁面并沒有混雜在一起,都是按順序依次打印的。

那為什么是按順序依次打印呢?為什么不會亂呢?

體現到我們的操作系統來的話,操作系統就是作為調控的那一部分。在某個時刻多個進程同時向操作系統提出系統調用的請求的時候,操作系統就會對各個請求進行協調管理。

應用程序通過系統調用請求操作系統的服務。系統中的各種共享資源都由操作系統統一掌管,因此在用戶程序中,凡是與資源有關的操作,都必須通過系統調用的方式向操作系統提出服務請求,由操作系統代為完成。這樣可以保證系統的穩定性和安全性,防止用戶進行非法操作。

系統調用可以分為五大類,這里只需要簡單的了解,在后面我們會詳細地介紹他們。

需要注意的是,系統調用相關處理涉及到對系統資源的管理、對進程的控制,這些功能需要執行一些特權指令才能完成,因此系統調用的相關處理需要在核心態下完成。


1.1.6.2 系統調用和庫函數

在上圖中,有些庫函數涉及系統調用,例如“創建一個新文件”;有些庫函數則不涉及系統調用,例如“取絕對值”。


1.1.6.3 系統調用背后的過程

在我們用高級語言編寫的代碼中,若有關于系統調用的函數,我們假設為write()。那么在高級語言編譯后會變成匯編語言,如下圖:

也就是說,實際上高級語言中的庫函數里面有些庫函數擁有系統調用的功能,此刻它們雖然看起來很簡單,實際上背后蘊含了很多關于系統調用的細節,而高級語言庫函數的好用之處在于,它屏蔽了關于底層的細節,給了我們一種系統調用最簡單的方式。

這個過程實際上是以下的步驟:

  • 首先由傳遞系統調用參數
  • 執行陷入指令(用戶態)
  • 執行系統調用相應服務程序(核心態)
  • 返回用戶程序
  • 這里有幾個需要注意的點是:

    • 陷入指令是在用戶態執行的,執行陷入指令之后會立即引發一個內中斷,從而CPU進入核心態。
    • 發出系統調用請求是在核心態,而對系統調用的相應處理在核心態下進行。
    • 陷入指令是唯一一個只能在用戶態執行,而不可在核心態執行的指令。

    1.1.6.4 小結

    • 陷入指令也叫做trap指令/訪管指令。

    總結

    以上是生活随笔為你收集整理的王道操作系统考研笔记——1.1.6 系统调用的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。