[分数可追加]把伪代码改成C/C++代码,操作系统内存管理的伪代码
http://wenku.baidu.com/link?url=mbQq-dJSAyyWBT82WX9VfCS2glykQyyZ9DqB557Fk4ywYTL3ZJyy4...
http://wenku.baidu.com/link?url=mbQq-dJSAyyWBT82WX9VfCS2glykQyyZ9DqB557Fk4ywYTL3ZJyy4uw_bp779lQ7YC_GAhcAaeh5yDH4epV78pm2Y-tvSvT3r1uUb2ddHZ3
伪代码如下{也可看上述文库的文档}:
GetMemSta(); //输出当前内存情况
printf("================================================.\n") ;
……; //使用内存分配来获得128MB块
……; //尝试向刚申请的内存空间内写入0
GetMemSta(); //输出当前内存情况
……; //释放刚刚申请的128MB块
GetMemSta(); //输出当前内存情况
printf("================================================.\n") ;
……; //使用虚拟分配以获得物理128MB块
……; //尝试向刚申请的内存空间内写入0
GetMemSta(); //输出当前内存情况
……; //释放刚刚申请的128MB块
GetMemSta(); //输出当前内存情况
printf("================================================.\n") ;
……; //使用虚拟分配以获得虚拟512MB块
……; //尝试向刚申请的内存空间内写入0
GetMemSta(); //输出当前内存情况
……; //释放刚刚申请的虚拟512MB块
GetMemSta(); //输出当前内存情况
printf("================================================.\n") ;
……; //使用虚拟分配调配获得虚拟512MB块,再为其调配128MB物理存储
……; //尝试向刚申请的128MB内存空间内写入0
GetMemSta(); //输出当前内存情况
……; //释放刚刚申请的虚拟512MB块
GetMemSta(); //输出当前内存情况 展开
伪代码如下{也可看上述文库的文档}:
GetMemSta(); //输出当前内存情况
printf("================================================.\n") ;
……; //使用内存分配来获得128MB块
……; //尝试向刚申请的内存空间内写入0
GetMemSta(); //输出当前内存情况
……; //释放刚刚申请的128MB块
GetMemSta(); //输出当前内存情况
printf("================================================.\n") ;
……; //使用虚拟分配以获得物理128MB块
……; //尝试向刚申请的内存空间内写入0
GetMemSta(); //输出当前内存情况
……; //释放刚刚申请的128MB块
GetMemSta(); //输出当前内存情况
printf("================================================.\n") ;
……; //使用虚拟分配以获得虚拟512MB块
……; //尝试向刚申请的内存空间内写入0
GetMemSta(); //输出当前内存情况
……; //释放刚刚申请的虚拟512MB块
GetMemSta(); //输出当前内存情况
printf("================================================.\n") ;
……; //使用虚拟分配调配获得虚拟512MB块,再为其调配128MB物理存储
……; //尝试向刚申请的128MB内存空间内写入0
GetMemSta(); //输出当前内存情况
……; //释放刚刚申请的虚拟512MB块
GetMemSta(); //输出当前内存情况 展开
1个回答
展开全部
class storehouse{
int mutex;
int count;
int max;
void save(){
int changed=false;
while(changed==false){
changed=true;
enter(mutex);
if(count<max)count++;
else changed=false;
leave(mutex);
sleep(0);
}
}
void sell(){
int changed=false;
while(changed==false){
changed=true;
enter(mutex);
if(count>0)count--;
else changed=false;
leave(mutex);
sleep(0);
}
}
}
class Producer{
produect(storehouse& store){
store.save();
}
}
class consumer{
consum(storehouse& store){
store.sell();
}
}
int main(){
storehouse store1;
vector<Producer> products;
vector<consumer> consums;
vector<std:thread> allthread;
while(products.size()||consums.size()){
if(products.size()) allthread.push_back(std::thread t(&Producer,products.pop_back()));
if(consums.size())allthread.push_back(std::thread(&consums.sell(),consums.pop_back()));
}
for(auto athread:allthread)athread.join();
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询