Modestus Moon OS  R4
CS 450 project
procsr3.c
Go to the documentation of this file.
1 #include <system.h>
2 #include <core/serial.h>
3 
4 #include "procsr3.h"
5 
6 #define RC_1 1
7 #define RC_2 2
8 #define RC_3 3
9 #define RC_4 4
10 #define RC_5 5
11 
12 void proc1()
13 {
14  int i;
15 
16  // repeat forever if termination fails
17  while(1){
18  for(i=0; i<RC_1; i++){
19  serial_println("proc1 dispatched");
20  sys_req(IDLE);
21  }
22  sys_req(EXIT);
23  serial_println("proc1 ran after it was terminated");
24  }
25 }
26 
27 void proc2()
28 {
29  int i;
30 
31  // repeat forever if termination fails
32  while(1){
33  for(i=0; i<RC_2; i++){
34  serial_println("proc2 dispatched");
35  sys_req(IDLE);
36  }
37  sys_req(EXIT);
38  serial_println("proc2 ran after it was terminated");
39  }
40 }
41 
42 void proc3()
43 {
44  int i;
45 
46  // repeat forever if termination fails
47  while(1){
48  for(i=0; i<RC_3; i++){
49  serial_println("proc3 dispatched");
50  sys_req(IDLE);
51  }
52  sys_req(EXIT);
53  serial_println("proc3 ran after it was terminated");
54  }
55 }
56 
57 void proc4()
58 {
59  int i;
60 
61  // repeat forever if termination fails
62  while(1){
63  for(i=0; i<RC_4; i++){
64  serial_println("proc4 dispatched");
65  sys_req(IDLE);
66  }
67  sys_req(EXIT);
68  serial_println("proc4 ran after it was terminated");
69  }
70 }
71 
72 void proc5()
73 {
74  int i;
75 
76  // repeat forever if termination fails
77  while(1){
78  for(i=0; i<RC_5; i++){
79  serial_println("proc5 dispatched");
80  sys_req(IDLE);
81  }
82  sys_req(EXIT);
83  serial_println("proc5 ran after it was terminated");
84  }
85 }
void proc3()
Definition: procsr3.c:42
void proc2()
Definition: procsr3.c:27
int sys_req(int op_code)
Definition: mpx_supt.c:11
void proc4()
Definition: procsr3.c:57
void proc1()
Definition: procsr3.c:12
void proc5()
Definition: procsr3.c:72
#define EXIT
Definition: mpx_supt.h:6
#define RC_4
Definition: procsr3.c:9
#define RC_5
Definition: procsr3.c:10
#define RC_3
Definition: procsr3.c:8
#define RC_2
Definition: procsr3.c:7
#define RC_1
Definition: procsr3.c:6
int serial_println(const char *msg)
Definition: serial.c:44
#define IDLE
Definition: mpx_supt.h:7