hit-oslab-linux0.11


配套网易云课堂学习linux0.11,内有环境配置全套工具,实验楼实验环境可亲自搭建。学习操作系统不二之选。
资源截图
代码片段和文件信息
#include 
#include 
#include 
#include 

#define HZ 100

void cpuio_bound(int last int cpu_time int io_time);

int main(int argc char * argv[])
{
return 0;
}

/*
 * 此函数按照参数占用CPU和I/O时间
 * last: 函数实际占用CPU和I/O的总时间,不含在就绪队列中的时间,>=0是必须的
 * cpu_time: 一次连续占用CPU的时间,>=0是必须的
 * io_time: 一次I/O消耗的时间,>=0是必须的
 * 如果last > cpu_time + io_time,则往复多次占用CPU和I/O
 * 所有时间的单位为秒
 */
void cpuio_bound(int last int cpu_time int io_time)
{
struct tms start_time current_time;
clock_t utime stime;
int sleep_time;

while (last > 0)
{
/* CPU Burst */
times(&start_time);
/* 其实只有t.tms_utime才是真正的CPU时间。但我们是在模拟一个
 * 只在用户状态运行的CPU大户,就像“for(;;);”。所以把t.tms_stime
 * 加上很合理。*/
do
{
times(¤t_time);
utime = current_time.tms_utime - start_time.tms_utime;
stime = current_time.tms_stime - start_time.tms_stime;
} while ( ( (utime + stime) / HZ )  < cpu_time );
last -= cpu_time;

if (last <= 0 )
break;

/* IO Burst */
/* 用sleep(1)模拟1秒钟的I/O操作 */
sleep_time=0;
while (sleep_time < io_time)
{
sleep(1);
sleep_time++;
}
last -= sleep_time;
}
}


 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2015-05-27 02:39  hit-oslab-master
     文件          13  2015-05-27 02:39  hit-oslab-master.gitignore
     文件        1859  2015-05-27 02:39  hit-oslab-masterREADME.md
     目录           0  2015-05-27 02:39  hit-oslab-masteramd64
     文件         131  2015-05-27 02:39  hit-oslab-masteramd64mount-hdc
     文件         679  2015-05-27 02:39  hit-oslab-masteramd64
un
     目录           0  2015-05-27 02:39  hit-oslab-mastercommon
     文件     9923103  2015-05-27 02:39  hit-oslab-mastercommonochs-and-hdc.tar.gz
     目录           0  2015-05-27 02:39  hit-oslab-mastercommonfiles
     文件       13628  2015-05-27 02:39  hit-oslab-mastercommonfilesmemtest
     文件        1395  2015-05-27 02:39  hit-oslab-mastercommonfilesprocess.c
     文件        8502  2015-05-27 02:39  hit-oslab-mastercommonfilesstat_log.py
     文件        5009  2015-05-27 02:39  hit-oslab-mastercommonfiles estlab2.c
     文件         762  2015-05-27 02:39  hit-oslab-mastercommonfiles estlab2.sh
     文件      119902  2015-05-27 02:39  hit-oslab-mastercommonlinux-0.11.tar.gz
     目录           0  2015-05-27 02:39  hit-oslab-mastergcc-3.4
     目录           0  2015-05-27 02:39  hit-oslab-mastergcc-3.4amd64
     文件     1825738  2015-05-27 02:39  hit-oslab-mastergcc-3.4amd64cpp-3.4_3.4.6-8ubuntu2_amd64.deb
     文件      165122  2015-05-27 02:39  hit-oslab-mastergcc-3.4amd64gcc-3.4-base_3.4.6-8ubuntu2_amd64.deb
     文件     1551014  2015-05-27 02:39  hit-oslab-mastergcc-3.4amd64gcc-3.4_3.4.6-8ubuntu2_amd64.deb
     目录           0  2015-05-27 02:39  hit-oslab-mastergcc-3.4i386
     文件     1682710  2015-05-27 02:39  hit-oslab-mastergcc-3.4i386cpp-3.4_3.4.6-8ubuntu2_i386.deb
     文件      165126  2015-05-27 02:39  hit-oslab-mastergcc-3.4i386gcc-3.4-base_3.4.6-8ubuntu2_i386.deb
     文件     1541036  2015-05-27 02:39  hit-oslab-mastergcc-3.4i386gcc-3.4_3.4.6-8ubuntu2_i386.deb
     文件         560  2015-05-27 02:39  hit-oslab-masterhit.icon
     目录           0  2015-05-27 02:39  hit-oslab-masteri386
     目录           0  2015-05-27 02:39  hit-oslab-masteri386ochs
     文件     7587107  2015-05-27 02:39  hit-oslab-masteri386ochsochs-dbg
     文件     7081378  2015-05-27 02:39  hit-oslab-masteri386ochsochs-gdb
     文件         115  2015-05-27 02:39  hit-oslab-masteri386dbg-asm
     文件         119  2015-05-27 02:39  hit-oslab-masteri386dbg-c
............此处省略6个文件信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)