📄 main.cc.svn-base
字号:
/* $Id: main.cc,v 1.21 2004/01/13 15:33:23 lohmann Exp $ */#include "machine/keyctrl.h"#include "machine/plugbox.h"#include "machine/pic.h"#include "machine/cpu.h"#include "guard/guard.h"#include "device/panic.h"#include "device/keyboard.h"#include "device/cgastr.h"#include "device/watch.h"#include "syscall/guarded_organizer.h"#include "meeting/bellringer.h"#include "user/appl.h"#include "user/buzzer_tester.h"#include "user/consumer.h"#include "user/producer.h"void delay(){ for(int i = 0; i < 1000000; i++) for(int j = 0; j < 100; j++) ;}extern "C" void guardian (unsigned int slot);CGA_Stream kout;Plugbox plugbox;PIC pic;CPU cpu;Guard guard;Keyboard kb;Panic panic;Watch watch;Guarded_Organizer scheduler;Bellringer bellringer;char stack[16384];int main(){ kb.plugin(); watch.windup(); guard.enter(); cpu.reset(); Application app0(stack+16380, 0); Application app1(stack+14380, 1); Application app2(stack+12380, 2); Producer app3(stack+10380, 3); Consumer app4(stack+7380, 4); Consumer app5(stack+3072, 5); Consumer app6(stack+2048, 6); BuzzerTester app7(stack+1024, 7); scheduler.Scheduler::ready(app1); scheduler.Scheduler::ready(app2); scheduler.Scheduler::ready(app3); scheduler.Scheduler::ready(app4); scheduler.Scheduler::ready(app5); scheduler.Scheduler::ready(app6); scheduler.Scheduler::ready(app7); kout << endl << endl << endl << endl << endl << endl << endl << endl << static_cast<Chain*>(&app0) << "; " << static_cast<Chain*>(&app1) << "; " << static_cast<Chain*>(&app2) << "; " << static_cast<Chain*>(&app3) << "; " << static_cast<Chain*>(&app4) << "; " << static_cast<Chain*>(&app5) << "; " << static_cast<Chain*>(&app6) << "; " << static_cast<Chain*>(&app7) << "; "; kout.flush(); scheduler.Scheduler::go(app0); return 0;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -