時鐘中斷處理函式

2021-06-20 02:13:05 字數 772 閱讀 7089

以前的中斷處理函式只做為測試用,其實問題還很多,我把它放到了乙個專門的檔案中,kernel/system_call.s

**如下:

.globl timer_interrupt

timer_interrupt:

incl jiffies

movb $0x20,%al

outb %al,$0x20

call do_timer

iret

main.c中新增

extern void timer_interrupt(void);

long volatile jiffies=0;

void do_timer(void)

然後將

set_intr_gate(32,&interrupt);
改為:

set_intr_gate(32,&timer_interrupt);

其實tss.esp0 = 0xffff;這條語句一直不放心 ,隨便指了乙個地方,萬一是**段程式就崩潰了,還是及早處理一下的好。我們給它分配乙個堆疊

struct stack;

struct stack stack0;

然後讓tss.esp0 指向stack0.top就放心多了

tss.esp0 = &stack0.top;

時鐘中斷技術

時鐘中斷技術 1系統中斷與時鐘節拍 1.1 系統中斷 中斷是一種硬體機制,用於通知cpu有個非同步事件發生了。中斷一旦被系統識別,cpu則儲存部分 或全部 現場 context 即部分 或全部 暫存器的值,跳轉到專門的子程式,稱為中斷服務子程式 isr 中斷服務子程式做事件處理,處理完成後執行任務排...

時鐘中斷(2)

1.時鐘中斷的產生 時鐘中斷是特別重要的乙個中斷,因為整個作業系統的活動都受到他的鼓勵。系統利用時鐘中斷維持系統時間,促使環境的切換,以保證所有程序共享cpu 利用時鐘中斷並進行記賬,監督系統工作以及確定未來的排程優先順序等工作。可以說 時鐘中斷 是整個作業系統的脈搏。從本質上說,時鐘中斷只是乙個週...

中斷與時鐘

0 序言 中斷服務程式的執行並不存在於程序上下問中,要求中斷服務程式的時間要盡量短。因此,linux中斷處理中引入上半部和下半部分離的機制。另外,核心對時鐘的處理也是採用中斷方式,而核心軟體定時器最終依賴於時鐘中斷。1 中斷與定時器 基本概念 2 linux中斷處理程式架構 中斷會打斷核心程序的正常...