Linux第十一次學習筆記

2022-09-03 07:45:11 字數 1508 閱讀 1842

ecf是作業系統用來實現i/o、程序和虛擬儲存器的基本機制。

應用程式通過使用陷阱(trap)或者系統呼叫的ecf形式,向作業系統請求服務。

ecf是計算機系統中實現併發的基本機制。

當異常處理程式完成處理後,根據引起異常的事件的型別,會發生以下三種情況的一種:

其他號碼是由作業系統核心的設計者分配的。

異常號是到異常表中的索引。

異常表的起始位址放在異常表機制暫存器的特殊cpu暫存器裡。

處理器把額外的處理器狀態壓到棧中,在處理程式返回時,重新開始被終端的程式會需要這些狀態。

如果控制從乙個使用者程式轉移到核心,那麼所有這些專案都被壓倒核心棧中,而不是壓到使用者棧中。

異常處理程式執行在核心模式下,意味著它們對所有的系統資源都有完全的訪問許可權。

一旦硬體觸發了異常,剩下的工作就是由異常處理程式在軟體中完成。

陷阱故障

終止一般保護故障

缺頁機器檢查

程序提供給應用程式的關鍵抽象

使用上下文切換的機制來控制轉移到新的程序

獲取程序id

#include #include pid_t getpid(void);	返**用程序的pid

pid_t getppid(void);返回父程序的pid(建立呼叫程序的程序)

建立和終止程序

父程序通過呼叫fork函式建立乙個新的執行子程序:

#include #include pid_t fork(void);
子程序返回0,父程序返回子程序的pid,如果出錯,則為-1.

父程序和新建立的子程序之間最大的區別:

fork函式只被呼叫一次,卻返回兩次。

fork函式的併發執行

fork函式的相同的但是獨立的位址空間

fork函式的共享檔案

呼叫fork函式n次,產生2的n次方個程序

**子程序

判定等待集合的成員

修改預設行為

檢查已**子程序的退出狀態

錯誤條件

wait函式

讓程序休眠

載入並執行程式

傳送訊號的原因:

乙個程序可以傳送訊號給它自己。

接收訊號:

待處理訊號:

用/bin/kill程式傳送訊號

從鍵盤傳送訊號

用kill函式傳送訊號

用alarm函式傳送訊號

接收訊號

* 待處理訊號被阻塞

* 帶處理訊號不會排隊等待

* 系統呼叫可以被中斷

* 不可以用訊號來對其他程序中發生的事件計數

1.《computer.systems.a.programmer's.perspective.2nd.cn》教材

2.《linux的中斷和異常》

第十一次部落格

繼承 如下例 class car def init self,make,model,year self.make make self.model model self.year year self.odometer reading 0 def get descriptive name self lo...

第十一次作業

問題 答案這個作業屬於那個課程 c語言程式設計ii 這個作業要求在 我在這個課程的目標是 精通c語言,深入了解c語言的程式設計,學會自己編寫程式 這個作業在那個具體方面幫助我實現目標 進一步的的認識函式,學習函式的定義 呼叫和申明,並學習變數的作用域 生存週期和儲存型別 參考文獻 1.pta實驗作業...

第十一次作業

這個作業屬於哪個課程 c語言程式設計ll 這個作業要求在 我在這個課程的目標是 熟練掌握運用各語法 這個作業在哪個具體方面幫助我實現目標 巨難的程式設計題 參考文獻 題目內容描述 本題要求實現乙個函式,判斷任一給定整數n是否滿足條件 它是完全平方數,又至少有兩位數字相同,如144 676等。1.1....