没有合适的资源?快使用搜索试试~ 我知道了~
1.设备的添加/删除 2.设备的分配/回收 3.解决瓶颈问题,实现设备无关性(选做) 复制即可用,c语言
资源推荐
资源详情
资源评论
#include <stdio.h>
#include <stdlib.h>
#include<string.h>
#include<windows.h>
typedef struct node
{
char *ID;//进程名
char *quipment;//申请的设备名
int type;//申请的设备类
struct node *next;
} PCB;
//系统设备SDT 设备类表 (整个系统一张,每类设备占一个表目)
typedef struct SDT
{
int type;//设备类
char *equipmentID;//设备类
int num;//设备台数
struct DCT *d_next;//指向设备控制表
} SDT;
//设备控制表(每类设备一张)设备控制器存放设备信息表
typedef struct DCT
{
char *deviceID;//设备标识符
int type;//设备类型
int flag;//设备状态
struct PCB *use;//占用设备的进程号
struct COCT *c_next;//指向设备管理器的指针
struct PCB *head;//队列队首指针(阻塞队首)
struct DCT *next;//
} DCT;
#include <stdlib.h>
#include<string.h>
#include<windows.h>
typedef struct node
{
char *ID;//进程名
char *quipment;//申请的设备名
int type;//申请的设备类
struct node *next;
} PCB;
//系统设备SDT 设备类表 (整个系统一张,每类设备占一个表目)
typedef struct SDT
{
int type;//设备类
char *equipmentID;//设备类
int num;//设备台数
struct DCT *d_next;//指向设备控制表
} SDT;
//设备控制表(每类设备一张)设备控制器存放设备信息表
typedef struct DCT
{
char *deviceID;//设备标识符
int type;//设备类型
int flag;//设备状态
struct PCB *use;//占用设备的进程号
struct COCT *c_next;//指向设备管理器的指针
struct PCB *head;//队列队首指针(阻塞队首)
struct DCT *next;//
} DCT;
//控制器控制表(每个控制器一张)存放设备管理器的表
typedef struct COCT
{
char *controllerId; //控制器标示符
int flag;//忙碌状态
struct CHCT *c_next; //指向通道的指针
struct PCB *use;//正在使用的进程
struct PCB *head;//存放队首指针
} COCT;
//存放通道信息,通道
typedef struct CHCT
{
char *channelID;//通道标识符
int flag;//通道状态
struct PCB *use;//正在使用的进程
//struct COCT *c_head;//与其相连的控制器表首地址
struct PCB *head;//通道队列的队首指针
} CHCT;
/*DCT *d1=NULL,*d2=NULL,*d3=NULL,*d4=NULL;
d1 = (DCT*)malloc(sizeof(DCT));
d2 = (DCT*)malloc(sizeof(DCT));
d3 = (DCT*)malloc(sizeof(DCT));
d4 = (DCT*)malloc(sizeof(DCT));*/
void init(SDT *SDT_table,DCT *DCT_table,COCT COCT_table[],CHCT CHCT_table[])
{
typedef struct COCT
{
char *controllerId; //控制器标示符
int flag;//忙碌状态
struct CHCT *c_next; //指向通道的指针
struct PCB *use;//正在使用的进程
struct PCB *head;//存放队首指针
} COCT;
//存放通道信息,通道
typedef struct CHCT
{
char *channelID;//通道标识符
int flag;//通道状态
struct PCB *use;//正在使用的进程
//struct COCT *c_head;//与其相连的控制器表首地址
struct PCB *head;//通道队列的队首指针
} CHCT;
/*DCT *d1=NULL,*d2=NULL,*d3=NULL,*d4=NULL;
d1 = (DCT*)malloc(sizeof(DCT));
d2 = (DCT*)malloc(sizeof(DCT));
d3 = (DCT*)malloc(sizeof(DCT));
d4 = (DCT*)malloc(sizeof(DCT));*/
void init(SDT *SDT_table,DCT *DCT_table,COCT COCT_table[],CHCT CHCT_table[])
{
剩余24页未读,继续阅读
资源评论
qq_40265534
- 粉丝: 0
- 资源: 6
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功