📄 resource.c
字号:
#include"memory.h"
#define WRONG_MEMORY_BODY -1
#define WRONG_PROCESS_NUMBER -2
#define MEMORY_PROCESS_NOT_CREATED -3
#define WRONG_CAPABILITY -4
int query_memory_resource(struct memory_resource *r)
{
int x;
struct memory_process *p;
if((r->process_number<0)
||(r->process_number>=(*(memory_body->process_number))))
return WRONG_PROCESS_NUMBER;
p=memory_body->memory_process+r->process_number;
x=KERNEL_COMPARE_CAPABILITY((os->system_capability),(r->capability));
x=x||(KERNEL_COMPARE_CAPABILITY(
(p->capability),(r->capability)));
if(x){
r->file_number=p->file_number;
r->max_file_number=p->max_file_number;
r->max_block_number=p->max_block_number;
r->trigger_block_number=p->trigger_block_number;
r->block_number=p->block_number;
r->read_block_number=p->read_block_number;
r->write_block_number=p->write_block_number;
return 0;
}
return WRONG_CAPABILITY;
}
int allocate_memory_resource(struct memory_resource *r)
{
struct memory_process *p;
if(r->process_number<0)
return WRONG_PROCESS_NUMBER;
if(r->process_number>=(*(memory_body->process_number)))
return WRONG_PROCESS_NUMBER;
p=memory_body->memory_process+r->process_number;
if(r->max_file_number<1)
r->max_file_number=1;
if(r->max_block_number<1)
r->max_block_number=1;
if(r->trigger_block_number>=r->max_block_number)
r->trigger_block_number=r->max_block_number-1;
if(r->trigger_block_number<0)
r->trigger_block_number=0;
if(KERNEL_COMPARE_CAPABILITY(
(os->system_capability),(r->capability)))
{
p->max_file_number=r->max_file_number;
p->max_block_number=r->max_block_number;
p->trigger_block_number=r->trigger_block_number;
return 0;
}
if(KERNEL_COMPARE_CAPABILITY((p->capability),(r->capability))){
if(p->max_file_number>=r->max_file_number)
p->max_file_number=r->max_file_number;
if(p->max_block_number>=r->max_block_number)
p->max_block_number=r->max_block_number;
if(p->trigger_block_number>=r->trigger_block_number)
p->trigger_block_number=r->trigger_block_number;
return 0;
}
return WRONG_CAPABILITY;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -