#ifndef _time_h
#define _time_h
#ifndef _time_h
#define _time_h
typedef long time_t;//從gmt2023年1月1日開始以秒計數的時間
#endif
#ifndef _size_t
#define _size_t
typedef unsigned int size_t;
#endif
#define clocks_per_sec 100 //系統時鐘滴答數,100hz
typedef long clock_t; //從程序開始系統經過的時鐘滴答數
struct tm; /*
*去頂處理使用時間,返回程式所使用處理器時間的近似值
*/clock_t clock(void);
/**取時間(秒).返回從1970.1.1:0:0:0開始的秒數
*/time_t time(time_t *tp);
/**計算時間差.返回時間time2和time1之間經過的秒數
*/double difftime(time_t time2,time_t time1);
/**將tm結構表示的時間轉換成日曆時間
*/time_t mktime(struct tm*tp);
/**將tm結構表示的時間轉換成乙個字串,返回該串的指標
*/char * asctime(const struct tm *tp);
/**將日曆時間轉換成乙個字串形式,如:
*wd jun 30 21:48:12:1983
*/char * ctime(const time_t *tp);
/**將日曆時間轉換成tm結構表示的utc時間
*/struct tm* gmtime(const time_t *tp);
/**將日曆時間轉換成tm結構表示的指定時間區的時間
*/struct tm* localtime(const time_t *tp);
/**將tm結構表示的時間利用格式fmt轉換成最大長度為smax
*的字串並將結果儲存在s中
*/size_t strftime(char* s,size_t smax,const char* fmt,
const struct tm* tp);
/**初始化時間轉換資訊,使用環境變數tz,對zname變數進行初始化
*在與時間區相關的時間轉換函式中將自動呼叫該函式
*/void tzset(void);
#endif
linux 0 11 之訊號管理
1 概述 在 unix 系統中,訊號是一種 軟體中斷 處理機制。有許多較為複雜的程式會使用到訊號。訊號機制提供了一種處理非同步事件的方法。在核心 中通常使用乙個無符號長整數 32位 中的位元位來表示各種不同的訊號,因此最多可表示 32個不同的訊號。2 程序對訊號的三種處理或操作方式 a 忽略該訊號。...
linux 011之庫函式wait c
define library include include 等待呼叫標頭檔案.定義了系統呼叫wait和waitpid及相關常數符號 等待程序終止系統呼叫函式 下面巨集函式對應 pid t waitpid pid t pid,int wait stat,int options 引數 pid 等待被終...
Linux 0 11 核心筆記
1 任務0的堆疊問題 一直不明白schedule.c裡的task union的stack和user stack是什麼關係,head.s裡就設定了esp指向user stack,卻一直沒有用到task union,直到看到init task才明白,從進入保護模式到跳轉進使用者態都是用的user sta...