⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sched.h

📁 ADS环境下的类似linux内核的操作系统
💻 H
字号:
/* MShowTec - www.mshowtec.com
** msLinux sched.h ver1.0
** 20051221 lmjx create limiao@mshowtec.com
**
*/

#ifndef MSLINUX_SCHED_H
#define MSLINUX_SCHED_H

#include "signal.h"

#define NR_TASKS (64)
#define HZ (100)

#define FIRST_TASK task[0]
#define LAST_TASK task[NR_TASKS-1]

#define TASK_RUNNING 			0
#define TASK_INTERRUPTIBLE		1
#define TASK_UNINTERRUPTIBLE 	2
#define TASK_ZOMBIE				3
#define TASK_STOPPED			4

#ifndef NULL
#define NULL 0
#endif

typedef int (*fn_ptr) ();

typedef struct {
   unsigned long p_TopOfStack; /* Where the 0x55 pattern is written to verify stack overflow */
   unsigned long p_SP;         /* Stack Pointer */
   unsigned long L_Stack_SZ;	/*Stack size*/
}t_Stack;

struct task_struct
{
/* cpu reg fields*/
	t_Stack stack;
/* these are hardcoded - don't touch */
	long state;			/* -1 unrunnable, 0 runnable, >0 stopped */
	long counter;
	long priority;
	long signal;
	struct sigaction sigaction[32];
	long blocked;			/* bitmap of masked signals */
/* various fields */
	int exit_code;
	long pid, father, pgrp, session, leader;
	unsigned short uid, euid, suid;
	unsigned short gid, egid, sgid;
	long alarm;
	long utime,cutime,start_time;
};

typedef struct task_struct tcb;

#define INIT_TASK \
{\
/* cpu reg*/	{0,0},\
/* state etc */0,15,15, \
/* signals */0, {{0},}, 0,\
/* pid etc.. */ 0, -1, 0, 0, 0, \
/* uid etc */ 0, 0, 0, 0, 0, 0, \
/* alarm */ 0, 0, 0, 0,\
}

extern long volatile jiffies;
extern long startup_time;
extern struct task_struct *current;
extern struct task_struct *task[];
extern struct task_struct task0;

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -