網易雲課堂 Linux核心分析(四)

2021-07-28 22:30:51 字數 778 閱讀 9660

參見實驗報告

api和系統呼叫

系統呼叫通過軟中斷向核心發出乙個明確的請求

庫再用這些封裝例程定義出給使用者的api

不是每個api都對應乙個特定的系統呼叫

乙個單獨的api可能呼叫了幾個係用呼叫

不同的api可能呼叫同乙個系統呼叫

返回值

用呼叫程式及服務例程

傳參 核心實現了很多不同的系統呼叫,程序必須指明需要哪個系統呼叫,這需要傳遞乙個名為系統呼叫號的引數

使用8號系統呼叫(creat)來演示說明。

- 使用庫函式api建立檔案

#include

#include

int main()

庫函式int creat(const char *filename, mode_t mode)有兩個引數,第乙個為要建立檔名,第二個為建立檔案的模式/訪問許可權,0755表示檔案所有者可讀可寫可執行,檔案所有者所在組他行,其使用者可讀可執行。

#include

#include

int main()

在上面**中,首先將系統呼叫號8傳給暫存器eax,然後執行指令int $0x80執行數呼叫;creat函式的兩個引數分別存入暫存器ebx和ecx中。

系統呼叫不但把使用者從底層的硬體程式設計中解放出來,提高了程式設計的效率,也極大的提高了系統的安全性。                         

網易雲課堂linux核心分析(二)

老師已經為我們搭好了實驗的環境 linux3.9.4下乙個極其迷你的系統。我們不用去關心別的東西,只需要知道這個迷你系統從my start kernel函式開始,系統時鐘中斷會執行my timer handler函式。剩下的留給我們自己發揮。同時,實驗要寫的 已經給出,所以完成這個實驗的難度不大。實...

網易雲課堂學習 rocketmq入門

rocketmq是什麼 是由阿里捐贈給apache的一款分布式 佇列模型的開源訊息中介軟體,經歷了雙十一的洗禮。rocketmq的發展史 rocketmq的特性 rocketmq 基本概念 producer 訊息生產者,負責生產訊息,一般有業務系統負責生產訊息。consumer 訊息消費者,負責消費...

聊一聊 網易雲課堂

首先說明,這不是廣告,知識我個人的一點感受而已 若干天之前註冊了網易雲課堂,並填寫 郵寄申請講師的材料。若干天之後的今天,終於收到通知,我通過了講師認證,給我名字上加了個大大的 v 以及 petshop4.0原始碼解讀 教程通過了審核,正式發布了。下班之前看了看,竟然已經有6名學習者了,就是不知道他...