linux系統(tǒng)調(diào)用與ptrace分析(實驗報告).doc
約12頁DOC格式手機打開展開
linux系統(tǒng)調(diào)用與ptrace分析(實驗報告),linux系統(tǒng)調(diào)用與ptrace分析(實驗報告)頁數(shù):12字數(shù):7036linux系統(tǒng)調(diào)用與ptrace分析概述1.linux的系統(tǒng)結(jié)構(gòu)在linux系統(tǒng)結(jié)構(gòu)中,最核心的是計算機硬件,它提供對linux軟件的支持,靠近硬件的內(nèi)層是linux內(nèi)核程序(即操作系統(tǒng))。內(nèi)核直接和硬件打交道是程序和硬件之間的接口或界面。它對一切...


內(nèi)容介紹
此文檔由會員 cnlula 發(fā)布
Linux系統(tǒng)調(diào)用與ptrace分析(實驗報告)
頁數(shù):12 字數(shù):7036
Linux系統(tǒng)調(diào)用與ptrace分析
概述
1.Linux的系統(tǒng)結(jié)構(gòu)
在Linux系統(tǒng)結(jié)構(gòu)中,最核心的是計算機硬件,它提供對Linux軟件的支持,靠近硬件的內(nèi)層是Linux內(nèi)核程序(即操作系統(tǒng))。內(nèi)核直接和硬件打交道是程序和硬件之間的接口或界面。它對一切外層程序提供公共服務(wù),把外部程序同硬件隔離開。內(nèi)核程序大致可分為文件系統(tǒng)管理,進程管理,內(nèi)存管理等幾部分。進程管理又分為低級進程管理和高級進程管理。低級進程管理主要包括:進程調(diào)度分配,控制占用處理器的程序和基本的進程通信。高級進程管理主要包括:進程的創(chuàng)建,終止,進程間通信,進程在內(nèi)存和外存之間的轉(zhuǎn)儲,信號機構(gòu)和進程間跟蹤控制等。內(nèi)核程序的外層是實用程序,內(nèi)核提供對實用程序的支持,兩層之間的界面是系統(tǒng)調(diào)用。內(nèi)核外的實用程序通過系統(tǒng)調(diào)用來和內(nèi)核打交道。實現(xiàn)的過程是通過一種特殊的指令(陷入指令)進入內(nèi)核,然后轉(zhuǎn)入相應(yīng)的系統(tǒng)調(diào)用處理程序。這也是本文將主要討論的問題。
2.80386體系結(jié)構(gòu)
80386的體系結(jié)構(gòu)承認兩類事件。
異常(exceptions)
中斷(interrupts)
他們兩都會引起“上下文轉(zhuǎn)換”同時建立一個過程或任務(wù),中斷可以隨時隨地發(fā)生(包括在執(zhí)行程序時)所以用來響應(yīng)硬件信號。而異常則由指令內(nèi)部錯誤引起。
每一個異常或中斷都有一個唯一的標識符,在linux中被稱為向量。
指令內(nèi)部異常和NMI(不可屏蔽中斷)的中斷向量的范圍從0—31。32-255的任何向量都可以用做
可屏蔽中斷
編程(調(diào)試)異常
至于可屏蔽中斷則取決于該系統(tǒng)的硬件配置。外部中斷控制器在中斷響應(yīng)周期把中斷向量放到總線上。
3. Linux系統(tǒng)調(diào)用流程概述
Linux系統(tǒng)調(diào)用的流程非常簡單,它由0x80號中斷進入系統(tǒng)調(diào)用入口,通過使用系統(tǒng)調(diào)用表保存系統(tǒng)調(diào)用服務(wù)函數(shù)的入口地址來實現(xiàn),本文首先分析一般Linux系統(tǒng)調(diào)用的流程,然后再分析Linux系統(tǒng)調(diào)用sys_ptrace().
Linux系統(tǒng)調(diào)用的流程分析
設(shè)定0x80號中斷
系統(tǒng)啟動后,先進行初始化,其中一部分重要的工作在start_kernel()函數(shù)(main.c中定義)中進行,在該函數(shù)中先做必要的初始化工作(setup_arch()與paging_init()),各種trap入口就在該函數(shù)中通過調(diào)用trap_init()(traps.c)被設(shè)置,其中與系統(tǒng)調(diào)用有關(guān)的是:set_system_gate(0x80,&system_call);
“set_system_gate()”是一宏,它在“system.h”中被定義:
#define set_system_gate(n,addr)
_set_gate(&idt[n],15,3,addr)
……中斷描述表結(jié)構(gòu)(head.s)
其中“_set_gate()”也是在該文件中定義的宏:
#define _set_gate(gate_a
頁數(shù):12 字數(shù):7036
Linux系統(tǒng)調(diào)用與ptrace分析
概述
1.Linux的系統(tǒng)結(jié)構(gòu)
在Linux系統(tǒng)結(jié)構(gòu)中,最核心的是計算機硬件,它提供對Linux軟件的支持,靠近硬件的內(nèi)層是Linux內(nèi)核程序(即操作系統(tǒng))。內(nèi)核直接和硬件打交道是程序和硬件之間的接口或界面。它對一切外層程序提供公共服務(wù),把外部程序同硬件隔離開。內(nèi)核程序大致可分為文件系統(tǒng)管理,進程管理,內(nèi)存管理等幾部分。進程管理又分為低級進程管理和高級進程管理。低級進程管理主要包括:進程調(diào)度分配,控制占用處理器的程序和基本的進程通信。高級進程管理主要包括:進程的創(chuàng)建,終止,進程間通信,進程在內(nèi)存和外存之間的轉(zhuǎn)儲,信號機構(gòu)和進程間跟蹤控制等。內(nèi)核程序的外層是實用程序,內(nèi)核提供對實用程序的支持,兩層之間的界面是系統(tǒng)調(diào)用。內(nèi)核外的實用程序通過系統(tǒng)調(diào)用來和內(nèi)核打交道。實現(xiàn)的過程是通過一種特殊的指令(陷入指令)進入內(nèi)核,然后轉(zhuǎn)入相應(yīng)的系統(tǒng)調(diào)用處理程序。這也是本文將主要討論的問題。
2.80386體系結(jié)構(gòu)
80386的體系結(jié)構(gòu)承認兩類事件。
異常(exceptions)
中斷(interrupts)
他們兩都會引起“上下文轉(zhuǎn)換”同時建立一個過程或任務(wù),中斷可以隨時隨地發(fā)生(包括在執(zhí)行程序時)所以用來響應(yīng)硬件信號。而異常則由指令內(nèi)部錯誤引起。
每一個異常或中斷都有一個唯一的標識符,在linux中被稱為向量。
指令內(nèi)部異常和NMI(不可屏蔽中斷)的中斷向量的范圍從0—31。32-255的任何向量都可以用做
可屏蔽中斷
編程(調(diào)試)異常
至于可屏蔽中斷則取決于該系統(tǒng)的硬件配置。外部中斷控制器在中斷響應(yīng)周期把中斷向量放到總線上。
3. Linux系統(tǒng)調(diào)用流程概述
Linux系統(tǒng)調(diào)用的流程非常簡單,它由0x80號中斷進入系統(tǒng)調(diào)用入口,通過使用系統(tǒng)調(diào)用表保存系統(tǒng)調(diào)用服務(wù)函數(shù)的入口地址來實現(xiàn),本文首先分析一般Linux系統(tǒng)調(diào)用的流程,然后再分析Linux系統(tǒng)調(diào)用sys_ptrace().
Linux系統(tǒng)調(diào)用的流程分析
設(shè)定0x80號中斷
系統(tǒng)啟動后,先進行初始化,其中一部分重要的工作在start_kernel()函數(shù)(main.c中定義)中進行,在該函數(shù)中先做必要的初始化工作(setup_arch()與paging_init()),各種trap入口就在該函數(shù)中通過調(diào)用trap_init()(traps.c)被設(shè)置,其中與系統(tǒng)調(diào)用有關(guān)的是:set_system_gate(0x80,&system_call);
“set_system_gate()”是一宏,它在“system.h”中被定義:
#define set_system_gate(n,addr)
_set_gate(&idt[n],15,3,addr)
……中斷描述表結(jié)構(gòu)(head.s)
其中“_set_gate()”也是在該文件中定義的宏:
#define _set_gate(gate_a
TA們正在看...
- 2020年廣西民族大學(xué)中國語言文學(xué)綜合考研真題b卷.doc
- 2020年廣西民族大學(xué)倫理學(xué)原理考研真題a卷(1).doc
- 2020年廣西民族大學(xué)體育學(xué)專業(yè)基礎(chǔ)綜合考研真題b卷.doc
- 2020年廣西民族大學(xué)體育綜合考研真題b卷.doc
- 2020年廣西民族大學(xué)信息管理基礎(chǔ)考研真題a卷.doc
- 2020年廣西民族大學(xué)公共行政學(xué)考研真題b卷.doc
- 2020年廣西民族大學(xué)寫作與翻譯考研真題a卷.doc
- 2020年廣西民族大學(xué)歷史學(xué)基礎(chǔ)考研真題b卷.doc
- 2020年廣西民族大學(xué)國際商務(wù)專業(yè)基礎(chǔ)考研真題a卷.doc
- 2020年廣西民族大學(xué)圖書館學(xué)及檔案學(xué)綜合考研真題b...doc