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

📄 tsys.c

📁 用于motorala 68K系列处理器的小实时多任务操作系统 The OMU Kernel was written to provide a cut-down Unix-like O/S for a
💻 C
字号:
# include	"../include/param.h"# include	"../include/inode.h"# include	"../include/signal.h"# include	"../include/procs.h"extern struct inode ibuf[];tpinodes(){	int i;	struct inode *iptr;	iptr=ibuf;	for(i=0; i<NINODES; i++){		if(iptr->i_nlocks) tpn(iptr);		iptr++;	}}tpn(iptr)struct inode *iptr;{	printf("inode at address %d\n\r",iptr);	printf("dev ptr %d\n\r",iptr->i_mdev);	printf("minor %d\n\r",iptr->i_minor);	printf("ino %d\n\r",iptr->i_ino);	printf("nlocks %d\n\r",iptr->i_nlocks);	printf("addresses %d\n\r",iptr->i_addr);}/****************************************************************************** *	Ps.c		Proccess status for OMU uses system call 253 ****************************************************************************** */# define	PS	253		/* Proccess status system call *//* Proccess state flags */char pstate[] = {	'0', 'S', 'W', 'R', 'I', 'Z', 'T'};ps(){	int pid;	printf("F S UID  PID  PPID CPU PRI NICE   ADDR SZ  WCHAN WAKE TTY TIME CMD\n");	for(pid = 0; pid < NPROC; pid++){		printps(&proc_table[pid]);	}	printf("SMASK %x\n",cur_proc->smask);	printf("s gives stack values\n");	if( 's' != (0x7f & getchar())) return;	printf("F S UID  PID  PPID STACKB  STACKT  STACK  SSIZE  ADDR SZ  WCHAN  CMD\n");	for(pid = 0; pid < NPROC; pid++){		printst(&proc_table[pid]);	}	getchar();}/* *	Printps()	Print a proccess entry */printps(proc)struct procs *proc;{	char strtmp[50];	printf("%d ",proc->flag);	printf("%d ",proc->stat);	printf("%d  ",proc->uid);	printf("%d    ",proc->pid);	printf("%d   ",proc->ppid);	printf("0     ");	printf("%d    ",proc->pri);	printf("%d   ",proc->nice);	printf("%x ",proc->psize.entry);	printf("0   ");	printf("%x ",proc->wchan);	strncpy(strtmp,proc->name,20);	printf("%s\n",strtmp);}/* *	Printst()	Print a proccess entry with stack */printst(proc)struct procs *proc;{	char strtmp[50];	printf("%d ",proc->flag);	printf("%d ",proc->stat);	printf("%d  ",proc->uid);	printf("%d    ",proc->pid);	printf("%d   ",proc->ppid);	printf("%x ",proc);	printf("%x ",((long)(&proc->sysstack[SYSSTACK])));	printf("%x ",proc->reg);	printf("%x ",((long)(&proc->sysstack[SYSSTACK])-(long)proc->reg));	printf("%x ",proc->psize.entry);	printf("0   ");	printf("%x ",proc->wchan);	printf("0    ");	printf("0     ");	strncpy(strtmp,proc->name,20);	printf("%s\n",strtmp);}

⌨️ 快捷键说明

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