鱼C论坛

 找回密码
 立即注册
查看: 1448|回复: 9

[已解决]写一个C语言小程序

[复制链接]
发表于 2020-10-15 07:37:55 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
求助一个C语言小程序主要要求是measuring context switch cost, 程序可以在ubuntu18.04下运行, 感谢
最佳答案
2020-10-16 08:30:56
你试一试,下面这个程序是不是你想要的。程序能用就用,不能用,我也没办法了(程序是朋友写的,而我的系统不支持 #include <sys/time.h> 、#include <sys/types.h> 两个头文件)
#include <stdio.h>  
#include <stdlib.h>  
#include <sys/time.h>  
#include <time.h>  
#include <sched.h>  
#include <sys/types.h>  
#include <unistd.h>        //pipe()  
  
int main()  

{  
      int x, i, fd[2], p[2];  
      char send    = 's';  
      char receive;  
      pipe(fd);  
      pipe(p);  
      struct timeval tv;  
      struct sched_param param;  
      param.sched_priority = 0;  

      while ((x = fork()) == -1);  
      if (x==0)
      {  
            sched_setscheduler(getpid(), SCHED_FIFO, ¶m);  
            gettimeofday(&tv, NULL);  
            printf("Before Context Switch Time %u us\n", tv.tv_usec);  
            for (i = 0; i < 10000; i++)
            {  
                  read(fd[0], &receive, 1);  
                  write(p[1], &send, 1);  
            }  
            exit(0);  
      }  
      else
      {  
             sched_setscheduler(getpid(), SCHED_FIFO, ¶m);  
             for (i = 0; i < 10000; i++) 
             {  
                   write(fd[1], &send, 1);  
                   read(p[0], &receive, 1);  
             }  
                  gettimeofday(&tv, NULL);  
                  printf("After Context SWitch Time %u us\n", tv.tv_usec);  
      }  
      return 0;  
 }
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-10-15 07:42:22 From FishC Mobile | 显示全部楼层

回帖奖励 +2 鱼币

这是考我们英语水平???
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-10-15 07:47:31 | 显示全部楼层
wp231957 发表于 2020-10-15 07:42
这是考我们英语水平???

不知道怎么翻译,专有名词, 不是很清楚
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-10-15 08:06:49 | 显示全部楼层
上下文切换成本
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-15 20:24:30 | 显示全部楼层
写前面那个程序倒不是问题,有问题的是要求程序可以在ubuntu18.04下运行。我们都没有这个东东,怎么知道能不能在它那里运行?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-10-16 02:28:42 | 显示全部楼层
乐乐学编程 发表于 2020-10-15 20:24
写前面那个程序倒不是问题,有问题的是要求程序可以在ubuntu18.04下运行。我们都没有这个东东,怎么知道能 ...

就是C语言就可以
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-16 08:30:56 | 显示全部楼层    本楼为最佳答案   
你试一试,下面这个程序是不是你想要的。程序能用就用,不能用,我也没办法了(程序是朋友写的,而我的系统不支持 #include <sys/time.h> 、#include <sys/types.h> 两个头文件)
#include <stdio.h>  
#include <stdlib.h>  
#include <sys/time.h>  
#include <time.h>  
#include <sched.h>  
#include <sys/types.h>  
#include <unistd.h>        //pipe()  
  
int main()  

{  
      int x, i, fd[2], p[2];  
      char send    = 's';  
      char receive;  
      pipe(fd);  
      pipe(p);  
      struct timeval tv;  
      struct sched_param param;  
      param.sched_priority = 0;  

      while ((x = fork()) == -1);  
      if (x==0)
      {  
            sched_setscheduler(getpid(), SCHED_FIFO, ¶m);  
            gettimeofday(&tv, NULL);  
            printf("Before Context Switch Time %u us\n", tv.tv_usec);  
            for (i = 0; i < 10000; i++)
            {  
                  read(fd[0], &receive, 1);  
                  write(p[1], &send, 1);  
            }  
            exit(0);  
      }  
      else
      {  
             sched_setscheduler(getpid(), SCHED_FIFO, ¶m);  
             for (i = 0; i < 10000; i++) 
             {  
                   write(fd[1], &send, 1);  
                   read(p[0], &receive, 1);  
             }  
                  gettimeofday(&tv, NULL);  
                  printf("After Context SWitch Time %u us\n", tv.tv_usec);  
      }  
      return 0;  
 }
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-16 09:07:26 | 显示全部楼层
wp231957 发表于 2020-10-15 07:42
这是考我们英语水平???

不错!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-16 09:10:44 | 显示全部楼层
恰好有个小妹在做翻译,于是想到了,这可能是估算翻译价格的意思
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-17 01:00:34 | 显示全部楼层
这个还不是小程序哈~~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-12 22:01

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表