当前位置: 技术问答>linux和unix
单任务的OS,模拟多任务,这样的程序结构行不行?大家进来看看
来源: 互联网 发布时间:2014-12-17
本文导语: #include ..... //定义几个全局变量计数器, int count1=18,count2=36; //用来保留老的中断向量 void interrupt(* oldTime)(...) //新的中断服务子程序 void interrupt newTime(...) { if (count1>0) count1--; if (count2>0) count2--; } void main() { oldTime=getvect...
#include .....
//定义几个全局变量计数器,
int count1=18,count2=36;
//用来保留老的中断向量
void interrupt(* oldTime)(...)
//新的中断服务子程序
void interrupt newTime(...)
{
if (count1>0) count1--;
if (count2>0) count2--;
}
void main()
{
oldTime=getvect(0x1c);//0x1c就是时钟中断向量
setvect(0x1c,);
while(1)
{
if (count1==0)
{
执行任务1(); //约1秒执行一次
count1==18;
}
if (count2==0)
{
执行任务2(); //约2秒执行一次
count2==36;
}
}
恢复以前的中断...
}
大家看看这样程序结构,执行多任务行不行?
我总认为,如果执行的任务完不成(规定的一秒,像上面的任务1,超过了一秒怎样处理)怎么办?
您有什么好的建议,说出来听听。
也说说多任务的OS,单任务的OS,您如何设计这类软件结构的?源代码,书籍,网站都行
---------------------------------------------------------------
Google被封,我为我是一名中国人感到羞耻
亲爱的祖国妈妈,我泪流满面...
|
多任务一般都有进程/线程的概念。一般都要维护进程控制表之类的数据。这类似于中断中的保存现场。