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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > windows >内容正文

windows

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

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

如果這篇博客對(duì)您有用的話,可以給我點(diǎn)個(gè)贊嗎,這對(duì)我很重要,謝謝!??

文章目錄

      • 1.1.6 系統(tǒng)調(diào)用
        • 1.1.6.1 系統(tǒng)調(diào)用和作用
        • 1.1.6.2 系統(tǒng)調(diào)用和庫函數(shù)
        • 1.1.6.3 系統(tǒng)調(diào)用背后的過程
        • 1.1.6.4 小結(jié)

1.1.6 系統(tǒng)調(diào)用

知識(shí)總覽

1.1.6.1 系統(tǒng)調(diào)用和作用

前面我們?cè)?.1.1.3那里講過操作系統(tǒng)作為用戶和計(jì)算機(jī)硬件之間的接口,它需要向上提供一些簡單易用的服務(wù)。主要包括命令接口和程序接口。那時(shí)候我們說過程序接口主要是允許用戶間接調(diào)用。實(shí)際上,程序接口由一組系統(tǒng)調(diào)用組成。

系統(tǒng)調(diào)用是操作系統(tǒng)提供給應(yīng)用程序(程序員/編程人員)使用的接口,可以理解為一種可供應(yīng)用程序調(diào)用的特殊函數(shù),應(yīng)用程序可以發(fā)出系統(tǒng)調(diào)用請(qǐng)求來獲得操作系統(tǒng)的服務(wù)。

那為什么應(yīng)用程序要給操作系統(tǒng)發(fā)出請(qǐng)求呢,為什么操作系統(tǒng)需要提供給“系統(tǒng)調(diào)用”功能呢?

讓我們想象一個(gè)場(chǎng)景,如果我們?nèi)ゴ蛴〉甏蛴≌撐?#xff0c;當(dāng)我按下了“打印”之后,打印機(jī)開始工作。結(jié)果我的論文打印到一半的時(shí)候,另外一位同學(xué)也按下“打印”,開始打印它自己的論文。最終,你的論文和該同學(xué)的論文頁面并沒有混雜在一起,都是按順序依次打印的。

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

體現(xiàn)到我們的操作系統(tǒng)來的話,操作系統(tǒng)就是作為調(diào)控的那一部分。在某個(gè)時(shí)刻多個(gè)進(jìn)程同時(shí)向操作系統(tǒng)提出系統(tǒng)調(diào)用的請(qǐng)求的時(shí)候,操作系統(tǒng)就會(huì)對(duì)各個(gè)請(qǐng)求進(jìn)行協(xié)調(diào)管理。

應(yīng)用程序通過系統(tǒng)調(diào)用請(qǐng)求操作系統(tǒng)的服務(wù)。系統(tǒng)中的各種共享資源都由操作系統(tǒng)統(tǒng)一掌管,因此在用戶程序中,凡是與資源有關(guān)的操作,都必須通過系統(tǒng)調(diào)用的方式向操作系統(tǒng)提出服務(wù)請(qǐng)求,由操作系統(tǒng)代為完成。這樣可以保證系統(tǒng)的穩(wěn)定性和安全性,防止用戶進(jìn)行非法操作。

系統(tǒng)調(diào)用可以分為五大類,這里只需要簡單的了解,在后面我們會(huì)詳細(xì)地介紹他們。

需要注意的是,系統(tǒng)調(diào)用相關(guān)處理涉及到對(duì)系統(tǒng)資源的管理、對(duì)進(jìn)程的控制,這些功能需要執(zhí)行一些特權(quán)指令才能完成,因此系統(tǒng)調(diào)用的相關(guān)處理需要在核心態(tài)下完成。


1.1.6.2 系統(tǒng)調(diào)用和庫函數(shù)

在上圖中,有些庫函數(shù)涉及系統(tǒng)調(diào)用,例如“創(chuàng)建一個(gè)新文件”;有些庫函數(shù)則不涉及系統(tǒng)調(diào)用,例如“取絕對(duì)值”。


1.1.6.3 系統(tǒng)調(diào)用背后的過程

在我們用高級(jí)語言編寫的代碼中,若有關(guān)于系統(tǒng)調(diào)用的函數(shù),我們假設(shè)為write()。那么在高級(jí)語言編譯后會(huì)變成匯編語言,如下圖:

也就是說,實(shí)際上高級(jí)語言中的庫函數(shù)里面有些庫函數(shù)擁有系統(tǒng)調(diào)用的功能,此刻它們雖然看起來很簡單,實(shí)際上背后蘊(yùn)含了很多關(guān)于系統(tǒng)調(diào)用的細(xì)節(jié),而高級(jí)語言庫函數(shù)的好用之處在于,它屏蔽了關(guān)于底層的細(xì)節(jié),給了我們一種系統(tǒng)調(diào)用最簡單的方式。

這個(gè)過程實(shí)際上是以下的步驟:

  • 首先由傳遞系統(tǒng)調(diào)用參數(shù)
  • 執(zhí)行陷入指令(用戶態(tài))
  • 執(zhí)行系統(tǒng)調(diào)用相應(yīng)服務(wù)程序(核心態(tài))
  • 返回用戶程序
  • 這里有幾個(gè)需要注意的點(diǎn)是:

    • 陷入指令是在用戶態(tài)執(zhí)行的,執(zhí)行陷入指令之后會(huì)立即引發(fā)一個(gè)內(nèi)中斷,從而CPU進(jìn)入核心態(tài)。
    • 發(fā)出系統(tǒng)調(diào)用請(qǐng)求是在核心態(tài),而對(duì)系統(tǒng)調(diào)用的相應(yīng)處理在核心態(tài)下進(jìn)行。
    • 陷入指令是唯一一個(gè)只能在用戶態(tài)執(zhí)行,而不可在核心態(tài)執(zhí)行的指令。

    1.1.6.4 小結(jié)

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

    總結(jié)

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

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。