6.S081 LAB1

LAB链接:https://pdos.csail.mit.edu/6.S081/2020/labs/util.html

#sleep

  • main函数有两个参数argcargv,其中argc表示命令行参数个数(argument count),argc表示命令行向量(argument vector),比如本例中的sleep程序,命令行参数个数为2,命令行向量分别为{"sleep",ticks},其中ticks为用户指定的睡眠时钟周期数,当argc!=2时,应该打印错误信息,Xv6默认打开了三个文件描述符,分别为stdin表示标准输入,stdout表示标准输出,stderr表示标准错误,文件描述符分别为整数0,1,2

  • 使用atoi(ascii to integer)函数将字符串转化为整型数字,直接系统调用sleep即可

sleep程序代码如下:

#include "kernel/types.h"
#include "kernel/stat.h"
#include "user/user.h"

int main(int argc, char *argv[]){
    if (argc != 2){
        fprintf(2,"usage:sleep<number>\n");
        exit(1);
    }

    int t = atoi(argv[1]);
    sleep(t);
    exit(0);
}
上一篇:数字后端APR_lab1——innovus认识


下一篇:ICC 图文学习——LAB1:Data Setup 数据设置