📄 sysproc.c
字号:
#include "types.h"#include "defs.h"#include "param.h"#include "mmu.h"#include "proc.h"intsys_fork(void){ int pid; struct proc *np; if((np = copyproc(cp)) == 0) return -1; pid = np->pid; np->state = RUNNABLE; return pid;}intsys_exit(void){ exit(); return 0; // not reached}intsys_wait(void){ return wait();}intsys_kill(void){ int pid; if(argint(0, &pid) < 0) return -1; return kill(pid);}intsys_getpid(void){ return cp->pid;}intsys_sbrk(void){ int addr; int n; if(argint(0, &n) < 0) return -1; if((addr = growproc(n)) < 0) return -1; return addr;}intsys_sleep(void){ int n, ticks0; if(argint(0, &n) < 0) return -1; acquire(&tickslock); ticks0 = ticks; while(ticks - ticks0 < n){ if(cp->killed){ release(&tickslock); return -1; } sleep(&ticks, &tickslock); } release(&tickslock); return 0;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -