Linux內(nèi)核支持夏令時的方法【專利摘要】本發(fā)明提供了一種Linux內(nèi)核支持夏令時的方法,包括以下步驟:a:在linux內(nèi)核中新建一DST模塊,并初始化DST模塊,創(chuàng)建/proc/net/tbs_dst接口;b:應(yīng)用層設(shè)置夏令時;c:內(nèi)核讀取proc接口,并修改DST模塊中的內(nèi)容;d:內(nèi)核中iptables模塊下發(fā)規(guī)則,并調(diào)用DST模塊判斷時間在夏令時范圍內(nèi),將iptables模塊下發(fā)規(guī)則中時間自動增加1小時。本發(fā)明提供的Linux內(nèi)核支持夏令時的方法,在linux內(nèi)核中新建一DST模塊,當(dāng)內(nèi)核模塊iptables規(guī)則生效時,通過調(diào)用DST模塊來判斷時間是否在夏令時范圍之內(nèi),從而保證用戶設(shè)置的時間和規(guī)則生效的時間一致?!緦@f明】Linux內(nèi)核支持夏令時的方法【
技術(shù)領(lǐng)域:
】[0001]本發(fā)明涉及Linux領(lǐng)域,尤其涉及一種Linux內(nèi)核支持夏令時的方法?!?br>背景技術(shù):
】[0002]操作系統(tǒng)是一個用來和硬件打交道并為用戶程序提供一個有限服務(wù)集的低級支撐軟件。一個計算機(jī)系統(tǒng)是一個硬件和軟件的共生體,它們互相依賴,不可分割。計算機(jī)的硬件,含有外圍設(shè)備、處理器、內(nèi)存、硬盤和其他的電子設(shè)備組成計算機(jī)的發(fā)動機(jī)。但是沒有軟件來操作和控制它,自身是不能工作的。完成這個控制工作的軟件就稱為操作系統(tǒng),在Linux的術(shù)語中被稱為“內(nèi)核”,也可以稱為“核心”。Linux內(nèi)核的主要模塊(或組件)分以下幾個部分:存儲管理、CPU和進(jìn)程管理、文件系統(tǒng)、設(shè)備管理和驅(qū)動、網(wǎng)絡(luò)通信,以及系統(tǒng)的初始化(引導(dǎo))、系統(tǒng)調(diào)用等。[0003]Linux是一個一體化內(nèi)核(monolithickernel)系統(tǒng)。設(shè)備驅(qū)動程序可以完全訪問硬件。Linux內(nèi)的設(shè)備驅(qū)動程序可以方便地以模塊化(modularize)的形式設(shè)置,并在系統(tǒng)運(yùn)行期間可直接裝載或卸載。[0004]夏令時(DaylightSavingTime:DST),又稱“日光節(jié)約時制”和“夏令時間”,是一種為節(jié)約能源而人為規(guī)定地方時間的制度,在這一制度實行期間所采用的統(tǒng)一時間稱為“夏令時間”。一般在天亮早的夏季人為將時間提前一小時,可以使人早起早睡,減少照明量,以充分利用光照資源,從而節(jié)約照明用電。[0005]現(xiàn)有的,Linux應(yīng)用層在下發(fā)規(guī)則的時候,會涉及到時間等參數(shù),如:[0006]當(dāng)設(shè)置一條防火墻規(guī)則,周一至周五的8:30-18:00不允許訪問網(wǎng)站www.1untan.£212,則在Linux應(yīng)用層,需下發(fā)規(guī)則如下:[0007]【權(quán)利要求】1.一種Linux內(nèi)核支持夏令時的方法,其特征在于,包括以下步驟:a:在Iinux內(nèi)核中新建一DST模塊,并初始化DST模塊,創(chuàng)建/proc/net/tbs_dst接Π;b:應(yīng)用層設(shè)置夏令時;c:內(nèi)核讀取proc接口,并修改DST模塊中的內(nèi)容;d:內(nèi)核中iptables模塊下發(fā)規(guī)則,并調(diào)用DST模塊判斷時間在夏令時范圍內(nèi),將iptables模塊下發(fā)規(guī)則中時間自動增加I小時。2.如權(quán)利要求1所述的Linux內(nèi)核支持夏令時的方法,其特征在于,步驟a中所述初始化DST模塊包括:在DST模塊內(nèi)初始化一全局變量structtbs_dst_info*dst用于維護(hù)夏令時。3.如權(quán)利要求2所述的Linux內(nèi)核支持夏令時的方法,其特征在于,步驟a中所述初始化DST模塊還包括:DST模塊初始化proc接口變量/proc/net/tbs_dst。4.如權(quán)利要求3所述的Linux內(nèi)核支持夏令時的方法,其特征在于,步驟b具體包括:應(yīng)用層調(diào)用echo“起始時間終止時間”>/proc/net/tbs_dst用于設(shè)置內(nèi)核夏令時。5.如權(quán)利要求4所述的Linux內(nèi)核支持夏令時的方法,其特征在于,步驟b還包括:應(yīng)用層調(diào)用cat/proc/net/tbs_dst讀取內(nèi)核夏令時時間。6.如權(quán)利要求4所述的Linux內(nèi)核支持夏令時的方法,其特征在于,步驟c具體包括:內(nèi)核調(diào)用proc接口tbs_dst_read讀取應(yīng)用層設(shè)置,并修改DST模塊中的內(nèi)容.7.如權(quán)利要求6所述的Linux內(nèi)核支持夏令時的方法,其特征在于,步驟c還包括:內(nèi)核調(diào)用proc接口tbs_dst_write來輸出DST模塊中的內(nèi)容。8.如權(quán)利要求1所述的Linux內(nèi)核支持夏令時的方法,其特征在于,步驟d還包括DST模塊判斷時間不在夏令時范圍內(nèi),則保持當(dāng)前時間不變?!疚臋n編號】G06F9/44GK103744650SQ201310698007【公開日】2014年4月23日申請日期:2013年12月18日優(yōu)先權(quán)日:2013年12月18日【發(fā)明者】陳真申請人:深圳市共進(jìn)電子股份有限公司