#include<stdlib.h>
#include<stdio.h>
#define MINPID 0
#define MAXPID 5
int bitmap[6];
int current_used_pid=0;
void print_bitmap(void){
printf("[ Bitmap ]\n");
for(int i=0;i<6;i++)
{
printf("bitmap[%d] = %d\n",i,bitmap[i]);
}
}
int allocate_map(void){
printf("### allocating bitmap ... ###\n");
for(int i=0;i<6;i++)
bitmap[i]=0;
return 1;
}
int allocate_pid(void){
if(current_used_pid>=MINPID && current_used_pid <=MAXPID)
{
printf("process%d pid = %d\n",current_used_pid,current_used_pid);
bitmap[current_used_pid]=1;
return current_used_pid++;
}
else
{
printf("process%d pid = -1\n",current_used_pid);
current_used_pid++;
return -1;
}
}
void release_pid(int pid){
printf("release process%d pid\n",pid);
bitmap[pid]=0;
}
int main(){
allocate_map();
print_bitmap();
printf("\n### allocating pid ... ###\n");
for(int i=0;i<7;i++)
{
allocate_pid();
}
print_bitmap();
printf("\n### releasing pid ... ###\n");
for(int i=0;i<6;i++)
{
release_pid(i);
}
print_bitmap();
}
I2luY2x1ZGU8c3RkbGliLmg+CiNpbmNsdWRlPHN0ZGlvLmg+CiNkZWZpbmUgTUlOUElEIDAKI2RlZmluZSBNQVhQSUQgNQppbnQgYml0bWFwWzZdOwppbnQgY3VycmVudF91c2VkX3BpZD0wOwp2b2lkIHByaW50X2JpdG1hcCh2b2lkKXsKCXByaW50ZigiWyBCaXRtYXAgXVxuIik7Cglmb3IoaW50IGk9MDtpPDY7aSsrKQoJewoJCXByaW50ZigiYml0bWFwWyVkXSA9ICVkXG4iLGksYml0bWFwW2ldKTsKCX0KfQppbnQgYWxsb2NhdGVfbWFwKHZvaWQpewoJcHJpbnRmKCIjIyMgYWxsb2NhdGluZyBiaXRtYXAgLi4uICMjI1xuIik7Cglmb3IoaW50IGk9MDtpPDY7aSsrKQoJCWJpdG1hcFtpXT0wOwoJcmV0dXJuIDE7Cn0KaW50IGFsbG9jYXRlX3BpZCh2b2lkKXsKCWlmKGN1cnJlbnRfdXNlZF9waWQ+PU1JTlBJRCAmJiBjdXJyZW50X3VzZWRfcGlkIDw9TUFYUElEKQoJewoJCXByaW50ZigicHJvY2VzcyVkIHBpZCA9ICVkXG4iLGN1cnJlbnRfdXNlZF9waWQsY3VycmVudF91c2VkX3BpZCk7CgkJYml0bWFwW2N1cnJlbnRfdXNlZF9waWRdPTE7CgkJcmV0dXJuIGN1cnJlbnRfdXNlZF9waWQrKzsKCX0KCWVsc2UKCXsKCQlwcmludGYoInByb2Nlc3MlZCBwaWQgPSAtMVxuIixjdXJyZW50X3VzZWRfcGlkKTsKCQljdXJyZW50X3VzZWRfcGlkKys7CgkJcmV0dXJuIC0xOwoJfQp9CnZvaWQgcmVsZWFzZV9waWQoaW50IHBpZCl7CglwcmludGYoInJlbGVhc2UgcHJvY2VzcyVkIHBpZFxuIixwaWQpOwoJYml0bWFwW3BpZF09MDsKfQppbnQgbWFpbigpewoJYWxsb2NhdGVfbWFwKCk7CglwcmludF9iaXRtYXAoKTsKCQoJcHJpbnRmKCJcbiMjIyBhbGxvY2F0aW5nIHBpZCAuLi4gIyMjXG4iKTsKCWZvcihpbnQgaT0wO2k8NztpKyspCgl7CgkJYWxsb2NhdGVfcGlkKCk7Cgl9CglwcmludF9iaXRtYXAoKTsKCglwcmludGYoIlxuIyMjIHJlbGVhc2luZyBwaWQgLi4uICMjI1xuIik7Cglmb3IoaW50IGk9MDtpPDY7aSsrKQoJewoJCXJlbGVhc2VfcGlkKGkpOwoJfQoJcHJpbnRfYml0bWFwKCk7Cgp9
Main.java:1: error: illegal character: '#'
#include<stdlib.h>
^
Main.java:1: error: class, interface, or enum expected
#include<stdlib.h>
^
Main.java:2: error: illegal character: '#'
#include<stdio.h>
^
Main.java:3: error: illegal character: '#'
#define MINPID 0
^
Main.java:4: error: illegal character: '#'
#define MAXPID 5
^
Main.java:6: error: class, interface, or enum expected
int current_used_pid=0;
^
Main.java:7: error: class, interface, or enum expected
void print_bitmap(void){
^
Main.java:9: error: class, interface, or enum expected
for(int i=0;i<6;i++)
^
Main.java:9: error: class, interface, or enum expected
for(int i=0;i<6;i++)
^
Main.java:9: error: class, interface, or enum expected
for(int i=0;i<6;i++)
^
Main.java:12: error: class, interface, or enum expected
}
^
Main.java:16: error: class, interface, or enum expected
for(int i=0;i<6;i++)
^
Main.java:16: error: class, interface, or enum expected
for(int i=0;i<6;i++)
^
Main.java:16: error: class, interface, or enum expected
for(int i=0;i<6;i++)
^
Main.java:18: error: class, interface, or enum expected
return 1;
^
Main.java:19: error: class, interface, or enum expected
}
^
Main.java:24: error: class, interface, or enum expected
bitmap[current_used_pid]=1;
^
Main.java:25: error: class, interface, or enum expected
return current_used_pid++;
^
Main.java:26: error: class, interface, or enum expected
}
^
Main.java:30: error: class, interface, or enum expected
current_used_pid++;
^
Main.java:31: error: class, interface, or enum expected
return -1;
^
Main.java:32: error: class, interface, or enum expected
}
^
Main.java:36: error: class, interface, or enum expected
bitmap[pid]=0;
^
Main.java:37: error: class, interface, or enum expected
}
^
Main.java:40: error: class, interface, or enum expected
print_bitmap();
^
Main.java:42: error: class, interface, or enum expected
printf("\n### allocating pid ... ###\n");
^
Main.java:43: error: class, interface, or enum expected
for(int i=0;i<7;i++)
^
Main.java:43: error: class, interface, or enum expected
for(int i=0;i<7;i++)
^
Main.java:43: error: class, interface, or enum expected
for(int i=0;i<7;i++)
^
Main.java:46: error: class, interface, or enum expected
}
^
Main.java:49: error: class, interface, or enum expected
printf("\n### releasing pid ... ###\n");
^
Main.java:50: error: class, interface, or enum expected
for(int i=0;i<6;i++)
^
Main.java:50: error: class, interface, or enum expected
for(int i=0;i<6;i++)
^
Main.java:50: error: class, interface, or enum expected
for(int i=0;i<6;i++)
^
Main.java:53: error: class, interface, or enum expected
}
^
Main.java:56: error: class, interface, or enum expected
}
^
36 errors