国产精品婷婷久久久久久,国产精品美女久久久浪潮av,草草国产,人妻精品久久无码专区精东影业

linux系統(tǒng)調用與ptrace分析(實驗報告).doc

約12頁DOC格式手機打開展開

linux系統(tǒng)調用與ptrace分析(實驗報告),linux系統(tǒng)調用與ptrace分析(實驗報告)頁數(shù):12字數(shù):7036linux系統(tǒng)調用與ptrace分析概述1.linux的系統(tǒng)結構在linux系統(tǒng)結構中,最核心的是計算機硬件,它提供對linux軟件的支持,靠近硬件的內層是linux內核程序(即操作系統(tǒng))。內核直接和硬件打交道是程序和硬件之間的接口或界面。它對一切...
編號:10-63094大小:88.00K
分類: 論文>其他論文

內容介紹

此文檔由會員 cnlula 發(fā)布

Linux系統(tǒng)調用與ptrace分析(實驗報告)


頁數(shù):12 字數(shù):7036

Linux系統(tǒng)調用與ptrace分析

概述
1.Linux的系統(tǒng)結構
在Linux系統(tǒng)結構中,最核心的是計算機硬件,它提供對Linux軟件的支持,靠近硬件的內層是Linux內核程序(即操作系統(tǒng))。內核直接和硬件打交道是程序和硬件之間的接口或界面。它對一切外層程序提供公共服務,把外部程序同硬件隔離開。內核程序大致可分為文件系統(tǒng)管理,進程管理,內存管理等幾部分。進程管理又分為低級進程管理和高級進程管理。低級進程管理主要包括:進程調度分配,控制占用處理器的程序和基本的進程通信。高級進程管理主要包括:進程的創(chuàng)建,終止,進程間通信,進程在內存和外存之間的轉儲,信號機構和進程間跟蹤控制等。內核程序的外層是實用程序,內核提供對實用程序的支持,兩層之間的界面是系統(tǒng)調用。內核外的實用程序通過系統(tǒng)調用來和內核打交道。實現(xiàn)的過程是通過一種特殊的指令(陷入指令)進入內核,然后轉入相應的系統(tǒng)調用處理程序。這也是本文將主要討論的問題。

2.80386體系結構
80386的體系結構承認兩類事件。

異常(exceptions)
中斷(interrupts)
他們兩都會引起“上下文轉換”同時建立一個過程或任務,中斷可以隨時隨地發(fā)生(包括在執(zhí)行程序時)所以用來響應硬件信號。而異常則由指令內部錯誤引起。
每一個異?;蛑袛喽加幸粋€唯一的標識符,在linux中被稱為向量。
指令內部異常和NMI(不可屏蔽中斷)的中斷向量的范圍從0—31。32-255的任何向量都可以用做
可屏蔽中斷
編程(調試)異常
至于可屏蔽中斷則取決于該系統(tǒng)的硬件配置。外部中斷控制器在中斷響應周期把中斷向量放到總線上。

3. Linux系統(tǒng)調用流程概述
Linux系統(tǒng)調用的流程非常簡單,它由0x80號中斷進入系統(tǒng)調用入口,通過使用系統(tǒng)調用表保存系統(tǒng)調用服務函數(shù)的入口地址來實現(xiàn),本文首先分析一般Linux系統(tǒng)調用的流程,然后再分析Linux系統(tǒng)調用sys_ptrace().
Linux系統(tǒng)調用的流程分析
設定0x80號中斷
系統(tǒng)啟動后,先進行初始化,其中一部分重要的工作在start_kernel()函數(shù)(main.c中定義)中進行,在該函數(shù)中先做必要的初始化工作(setup_arch()與paging_init()),各種trap入口就在該函數(shù)中通過調用trap_init()(traps.c)被設置,其中與系統(tǒng)調用有關的是:set_system_gate(0x80,&system_call);
“set_system_gate()”是一宏,它在“system.h”中被定義:

#define set_system_gate(n,addr)
_set_gate(&idt[n],15,3,addr)
……中斷描述表結構(head.s)
其中“_set_gate()”也是在該文件中定義的宏:

#define _set_gate(gate_a