当前位置:文档之家› 操作系统存储器管理源代码

操作系统存储器管理源代码

操作系统存储器管理源代码
操作系统存储器管理源代码

动态分区分配模拟项目源代码

#include

#include

#define Free 0

#define Busy 1

#define OK 1

#define ERROR 0

#define MAX_length 1280

typedef int Status;

typedef struct freearea

{ int ID;

long size;

long address;

int state;

}ElemType;

typedef struct DuLNode //double linked list

{ ElemType data;

struct DuLNode *prior;

struct DuLNode *next;

}DuLNode,*DuLinkList;

DuLinkList block_first;

DuLinkList block_last;

Status alloc(int);

Status free(int);

Status First_fit(int,int);

Status Best_fit(int,int);

void show();

Status Initblock();

Status Initblock()

{

block_first=(DuLinkList)malloc(sizeof(DuLNode));

block_last=(DuLinkList)malloc(sizeof(DuLNode));

block_first->prior=NULL;

block_first->next=block_last;

block_last->prior=block_first;

block_last->next=NULL;

block_last->data.address=0;

block_last->data.size=MAX_length;

block_last->data.ID=0;

block_last->data.state=Free;

return OK;

}

Status alloc(int ch)

{

int ID,request;

cout<<"请输入作业(分区号):";

cin>>ID;

cout<<"请输入需要分配的主存大小(单位:KB):";

cin>>request;

if(request<0 ||request==0)

{

cout<<"分配大小不合适,请重试!"<

return ERROR;

}

if(ch==2) //选择最佳适应算法

{ if(Best_fit(ID,request)==OK) cout<<"分配成功!"<

else cout<<"内存不足,分配失败!"<

return OK;

}

else //默认首次适应算法

{ if(First_fit(ID,request)==OK) cout<<"分配成功!"<

else cout<<"内存不足,分配失败!"<

return OK;

}

}

Status First_fit(int ID,int request)

{

DuLinkList temp=(DuLinkList)malloc(sizeof(DuLNode));

temp->data.ID=ID;

temp->data.size=request;

temp->data.state=Busy;

DuLNode *p=block_first->next;

while(p)

{

if(p->data.state==Free && p->data.size==request)

{

p->data.state=Busy;

p->data.ID=ID;

return OK;

break;

}

if(p->data.state==Free && p->data.size>request)

{ temp->prior=p->prior;

temp->next=p;

temp->data.address=p->data.address;

p->prior->next=temp;

p->prior=temp;

p->data.address=temp->data.address+temp->data.size;

p->data.size-=request;

return OK;

break;

}

p=p->next;

}

return ERROR;

}

Status Best_fit(int ID,int request)

{

int ch;

DuLinkList temp=(DuLinkList)malloc(sizeof(DuLNode));

temp->data.ID=ID;

temp->data.size=request;

temp->data.state=Busy;

DuLNode *p=block_first->next;

DuLNode *q=NULL;

while(p)

{

if(p->data.state==Free &&

(p->data.size>request || p->data.size==request) ) { q=p;

ch=p->data.size-request;

break;

}

p=p->next;

}

while(p)

{

if(p->data.state==Free && p->data.size==request)

{

p->data.ID=ID;

p->data.state=Busy;

return OK;

break;

}

if(p->data.state==Free && p->data.size>request)

{

if(p->data.size-request

{

ch=p->data.size-request;

q=p;

}

}

p=p->next;

}

if(q==NULL) return ERROR;//没有找到空闲块

else

{

temp->prior=q->prior;

temp->next=q;

temp->data.address=q->data.address;

q->prior->next=temp;

q->prior=temp;

q->data.address+=request;

q->data.size=ch;

return OK;

}

}

Status free(int ID)

{

DuLNode *p=block_first;

while(p)

{ if(p->data.ID==ID)

{

p->data.state=Free;

p->data.ID=Free;

if(p->prior->data.state==Free)

{ p->prior->data.size+=p->data.size;

p->prior->next=p->next;

p->next->prior=p->prior;

}

if(p->next->data.state==Free)

{

p->data.size+=p->next->data.size;

p->next->next->prior=p;

p->next=p->next->next;

}

break;

}

p=p->next;

}

return OK;

}

void show()

{ cout<<"+++++++++++++++++++++++++++++++++++++++\n";

cout<<"+++ 主存分配情况+++\n";

cout<<"+++++++++++++++++++++++++++++++++++++++\n";

DuLNode *p=block_first->next;

while(p)

{ cout<<"分区号:";

if(p->data.ID==Free) cout<<"Free"<

else cout<data.ID<

cout<<"起始地址:"<data.address<

cout<<"分区大小:"<data.size<<" KB"<

cout<<"状态:";

if(p->data.state==Free) cout<<"空闲"<

else cout<<"已分配"<

cout<<"——————————————"<

p=p->next;

}

}

//----------------------- 主函数---------------------------

void main()

{

int ch;

cout<<" 动态分区分配方式的模拟\n";

cout<<"************************************\n";

cout<<"** 1)首次适应算法2)最佳适应算法**\n";

cout<<"************************************\n";

cout<<"请选择分配算法:";

cin>>ch;

Initblock();

int choice;

while(1)

{

cout<<"********************************************\n";

cout<<"** 1: 分配内存2: 回收内存**\n";

cout<<"** 3: 查看分配0: 退出**\n";

cout<<"********************************************\n";

cout<<"请输入您的操作:";

cin>>choice;

if(choice==1) alloc(ch); // 分配内存

else if(choice==2) // 内存回收

{

int ID;

cout<<"请输入您要释放的分区号:";

cin>>ID;

free(ID);

}

else if(choice==3) show();//显示主存

else if(choice==0) break; //退出

else

{ cout<<"输入有误,请重试!"<

continue;

}

}

}

页面置换算法模拟项目

#include

#include

#include

#include

#define Bsize 4

typedef struct BLOCK

{

int pagenum;

int accessed;

}BLOCK;

int pc;

int n;

static int temp[320];

BLOCK block[Bsize];

void init( );

int findExist(int curpage);

int findSpace( );

int findReplace( );

void display ( );

void suijishu( );

void pagestring( );

void OPT( );

void LRU( );

void FIFO( );

void init( )

{

for(int i=0;i

{

block[i].pagenum=-1;

block[i].accessed=0;

pc=n=0;

}

}

int findExist(int curpage)

{

for(int i=0; i

{

if(block[i].pagenum == curpage )

return i

}

return -1;

}

int findSpace( )

{

for(int i=0; i

{

if(block[i].pagenum == -1)

return i;

}

return -1;

}

int findReplace( )

{

int pos = 0;

for(int i=0; i

{

if(block[i].accessed >block[pos].accessed)

pos = i;

}

return pos;

}

void display( )

{

for(int i=0; i

{

if(block[i].pagenum != -1)

{ printf(" %02d",block[i].pagenum);}

}

cout<

}

void suijishu( )

{ int flag=0;

cin>>pc;

cout<<"******按照要求产生的320个随机数:*******"<

for(int i=0;i<320;i++)

{

temp[i]=pc;

if(flag%2==0) pc=++pc%320;

if(flag==1) pc=rand( )% (pc-1);

if(flag==3) pc=pc+1+(rand( )%(320-(pc+1)));

flag=++flag%4;

printf(" %03d",temp[i]);

if((i+1)%10==0) cout<

}

}

void pagestring( )

{

for(int i=0;i<320;i++)

{

printf(" %02d",temp[i]/10);

if((i+1)%10==0) cout<

}

}

void OPT( )

{

int exist,space,position ;

int curpage;

for(int i=0;i<320;i++)

{

if(i%100==0) getch( );

pc=temp[i];

curpage=pc/10;

exist = findExist(curpage);

if(exist==-1)

{

space = findSpace ( );

if(space != -1)

{

block[space].pagenum = curpage;

display( );

n=n+1;

}

else

{

for(int k=0;k

{

for(int j=i;j<320;j++)

{

if(block[k].pagenum!= temp[j]/10)

{

block[k].accessed = 1000;

}

else

{

block[k].accessed = j;

break;

}

}

}

position = findReplace( );

block[position].pagenum = curpage;

display( );

n++;

}

}

}

cout<<"缺页次数:"<

cout<<"缺页率:"<<(n/320.0)*100<<"%"<

}

//-------------------------------------------------------------

void LRU( )

{

int exist,space,position ;

int curpage;

for(int i=0;i<320;i++)

{

if(i%100==0) getch( );

pc=temp[i];

curpage=pc/10;

exist = findExist(curpage);

if(exist==-1)

{

space = findSpace( );

if(space != -1)

{

block[space].pagenum = curpage;

display( );

n=n+1;

}

else

{

position = findReplace( );

block[position].pagenum = curpage;

display( );

n++;

}

}

else block[exist].accessed = -1;

for(int j=0; j<4; j++)

{block[j].accessed++;}

}

cout<<"缺页次数:"<

cout<<"缺页率:"<<(n/320.0)*100<<"%"<

}

//-------------------------------------------------------------

void FIFO( )

{

int exist,space,position ;

int curpage;

for(int i=0;i<320;i++)

{

if(i%100==0) getch( );

pc=temp[i];

curpage=pc/10;

exist = findExist(curpage);

if(exist==-1)

{

space = findSpace( );

if(space != -1)

{

block[space].pagenum = curpage;

display( );

n=n+1;

}

else

{

position = findReplace( );

block[position].pagenum = curpage;

display( );

n++;

block[position].accessed--;

}

}

for(int j=0; j

block[j].accessed++;

}

cout<<"缺页次数:"<

cout<<"缺页率:"<<(n/320.0)*100<<"%"<

}

void main( )

{

int select;

cout<<"请输入第一条指令号(0~320):";

suijishu( );

cout<<"*****对应的调用页面队列*******"<

pagestring( );

do

{

cout<<"****************************************"<

cout<<"------1:OPT 2:LRU 3:FIFO 4:退出-----"<

cout<<"****************************************"<

cout<<" 请选择一种页面置换算法:";

cin>>select;

cout<<"****************************************"<

init( );

switch(select)

{

case 1:cout<<"最佳置换算法OPT:"<

cout<<"*****************"<

OPT( );

break;

case 2:cout<<"最近最久未使用置换算法LRU:"<

cout<<"**************************"<

LRU( );

break;

case 3:cout<<"先进先出置换算法FIFO:"<

cout<<"*********************"<

FIFO( );

break;

default: ;

}

}while(select!=4);

}

用户管理系统设计

用户管理系统设计 指导老师:崔老师 组长:罗文文 组员:黄丽徐丽安华林雷微微

目录 一、 -------------------------------------------------------概述 1.----------------------------------------------------- - 项目名称 2.----------------------------------------------------- - 功能概述 3.----------------------------------------------------- - 开发环境及框架 4.----------------------------------------------------- - 用户环境 二、--------------------------------------------------- ----项目框架优点 1.----------------------------------------------------- - springmvc介绍 2.----------------------------------------------------- - easyUI介绍 3.----------------------------------------------------- - jquery介绍

4.----------------------------------------------------- - hibernate介绍 三、--------------------------------------------------- ----项目需求分析 四、--------------------------------------------------- ----流程介绍 五、--------------------------------------------------- ----数据库信息设计 六、--------------------------------------------------- ----功能模块介绍 七、--------------------------------------------------- ----项目具体实现 八、--------------------------------------------------- ----总结 一:概述 1.项目名称 用户信息管理系统 2.功能概述 用户管理系统主要是用于公司方便来管理人员的,本系统主要是对用户个人信息的管理,包

第四章 操作系统存储管理(练习题)

第四章存储管理 1. C存储管理支持多道程序设计,算法简单,但存储碎片多。 A. 段式 B. 页式 C. 固定分区 D. 段页式 2.虚拟存储技术是 B 。 A. 补充内存物理空间的技术 B. 补充相对地址空间的技术 C. 扩充外存空间的技术 D. 扩充输入输出缓冲区的技术 3.虚拟内存的容量只受 D 的限制。 A. 物理内存的大小 B. 磁盘空间的大小 C. 数据存放的实际地址 D. 计算机地址位数 4.动态页式管理中的 C 是:当内存中没有空闲页时,如何将已占据的页释放。 A. 调入策略 B. 地址变换 C. 替换策略 D. 调度算法 5.多重分区管理要求对每一个作业都分配 B 的内存单元。 A. 地址连续 B. 若干地址不连续 C. 若干连续的帧 D. 若干不连续的帧 6.段页式管理每取一数据,要访问 C 次内存。 A. 1 B. 2 C. 3 D. 4 7.分段管理提供 B 维的地址结构。 A. 1 B. 2 C. 3 D. 4 8.系统抖动是指 B。 A. 使用计算机时,屏幕闪烁的现象 B. 刚被调出内存的页又立刻被调入所形成的频繁调入调出的现象 C. 系统盘不干净,操作系统不稳定的现象 D. 由于内存分配不当,造成内存不够的现象 9.在 A中,不可能产生系统抖动现象。 A. 静态分区管理 B. 请求分页式管理 C. 段式存储管理 D. 段页式存储管理 10.在分段管理中 A 。 A. 以段为单元分配,每段是一个连续存储区 B. 段与段之间必定不连续 C. 段与段之间必定连续 D. 每段是等长的 11.请求分页式管理常用的替换策略之一有 A 。 A. LRU B. BF C. SCBF D. FPF 12.可由CPU调用执行的程序所对应的地址空间为 D 。 A. 名称空间 B. 虚拟地址空间 C. 相对地址空间 D. 物理地址空间 13. C 存储管理方式提供二维地址结构。 A. 固定分区 B. 分页

操作系统文件管理实验报告

操作系统实验报告实验名称:文件管理 专业班级:网络工程1301 学号: 姓名: 2015 年6 月16 日

实验一文件管理 一、实验目的 文件管理是操作系统的一个非常重要的组成部分。学生应独立用高级语言编写和调试一个简单的文件系统,模拟文件管理的工作过程。从而对各种文件操作命令的实质容和执行过程有比较深入的了解,掌握它们的实施方法,加深理解课堂上讲授过的知识。 二、预备知识 1.VS2010的使用 2.C#的学习 3.文件主目录与子目录的理解 三、实验容与步骤 用高级语言编写和调试一个简单的文件系统,模拟文件管理的工作过程。要求设计一个10 个用户的文件系统,每次用户可保存10 个文件,一次运行用户可以打开5 个文件。系统能够检查打入命令的正确性,出错时能显示出错原因。对文件必须设置保护措施,例如只能执行,允许读等。在每次打开文件时,根据本次打开的要求,在此设置保护级别,即有二级保护。文件的操作至少有Create、delete、open、close、read、write 等命令。 所编写的程序应采用二级文件目录,即设置主文件目录和用户文件目录。前者应包含文件主及它们的目录区指针;后者应给出每个文件占有的文件目录,即文件名,保护码,文件长度以及它们存放的位置等。另外为打开文件设置运行文件目录(AFD),在文件打开时应填入打开文件号,本次打开保护码和读写指针等。 程序流程图:

逻辑设计: 使用线性数组表表示MFD,泛型数组表示UFD,每个元素包括用户ID、保存的文件数、再使用线性表表示文件信息,每个元素包括文件名,文件属性(保护码),文件的状态等信息。 物理设计: //主目录 private FileUser[] mfd; //当前用户 private FileUser currentuser; ///

/// 文件 /// public class FileObject { public string filename; public int size=20; public int read=0; public int write = 0; public string author; } /// /// 文件系统用户 /// public class FileUser { public string username;

操作系统存储器管理习题

存储器管理 单项选择题 存储管理的目的是()。 A.方便用户 B.提高内存利用率 C.方便用户和提高内存利用率 D.增加内存实际容量 外存(如磁盘)上存放的程序和数据()。 A.可由CPU直接访问 B.必须在CPU访问之前移入内存 C.是必须由文件系统管理的 D.必须由进程调度程序管理 当程序经过编译或者汇编以后,形成了一种由机器指令组成的集合,被称为()。 A.源程序 B.目标程序 C.可执行程序 D.非执行程序 4、可由CPU调用执行的程序所对应的地址空间为( D )。 A.符号名空间 B.虚拟地址空间 C.相对地址空间 D.物理地址空间 5、经过(),目标程序可以不经过任何改动而装入物理内存单元。 A.静态重定位 B.动态重定位 C.编译或汇编 D.存储扩充 6、若处理器有32位地址,则它的虚拟地址空间为()字节。 A.2GB B.4GB C.100KB D.640KB 7、分区管理要求对每一个作业都分配()的内存单元。 A.地址连续 B.若干地址不连续 C.若干连续的帧 D.若干不连续的帧 8、()是指将作业不需要或暂时不需要的部分移到外存,让出内存空间以调入其他所需数据。 A.覆盖技术 B.对换技术 C.虚拟技术 D.物理扩充 9、虚拟存储技术是()。 A.补充内存物理空间的技术 B.补充相对地址空间的技术 C.扩充外存空间的技术 D.扩充输入输出缓冲区的技术 10、虚拟存储技术与()不能配合使用。 A.分区管理 B.动态分页管理 C.段式管理 D.段页式管理 11、以下存储管理技术中,支持虚拟存储器的技术是()。 A.动态分区法 B.可重定位分区法 C.请求分页技术 D.对换技术 12、在请求页式存储管理中,若所需页面不在内存中,则会引起()。 A.输入输出中断 B. 时钟中断 C.越界中断 D. 缺页中断 13、在分段管理中,()。 以段为单位分配,每段是一个连续存储区 段与段之间必定不连续 段与段之间必定连续 每段是等长的 14、()存储管理方式提供一维地址结构。 A.固定分区 B.分段 C.分页 D.分段和段页式 15、分段管理提供()维的地址结构。 A.1 B.2 C.3 D.4 16、段页式存储管理汲取了页式管理和段式管理的长处,其实现原理结合了页式和段式管理的基本思想,即()。 用分段方法来分配和管理物理存储空间,用分页方法来管理用户地址空间。 用分段方法来分配和管理用户地址空间,用分页方法来管理物理存储空间。 用分段方法来分配和管理主存空间,用分页方法来管理辅存空间。

计算机操作系统存储管理练习题

一、选择 1.分页存储管理的存储保护是通过( )完成的. A.页表(页表寄存器) B.快表 C.存储键 D.索引动态重定 2.把作业地址空间中使用的逻辑地址变成存中物理地址称为()。 A、加载 B、重定位 C、物理化 D、逻辑化3.在可变分区存储管理中的紧凑技术可以---------------。 A.集中空闲区 B.增加主存容量 C.缩短访问时间 D.加速地址转换 4.在存储管理中,采用覆盖与交换技术的目的是( )。 A.减少程序占用的主存空间 B.物理上扩充主存容量 C.提高CPU效率 D.代码在主存中共享 5.存储管理方法中,( )中用户可采用覆盖技术。 A.单一连续区 B. 可变分区存储管理 C.段式存储管理 D. 段页式存储管理 6.把逻辑地址转换成物理地址称为()。 A.地址分配 B.地址映射 C.地址保护 D.地址越界 7.在存分配的“最佳适应法”中,空闲块是按()。 A.始地址从小到大排序 B.始地址从大到小排序 C.块的大小从小到大排序 D.块的大小从大到小排序 8.下面最有可能使得高地址空间成为大的空闲区的分配算法是()。A.首次适应法 B.最佳适应法 C.最坏适应法 D.循环首次适应法 9.那么虚拟存储器最大实际容量可能是( ) 。 A.1024K B.1024M C.10G D.10G+1M 10.用空白链记录存空白块的主要缺点是()。 A.链指针占用了大量的空间 B.分配空间时可能需要一定的拉链时间 C.不好实现“首次适应法” D.不好实现“最佳适应法” 11.一般而言计算机中()容量(个数)最多. A.ROM B.RAM C.CPU D.虚拟存储器 12.分区管理和分页管理的主要区别是()。 A.分区管理中的块比分页管理中的页要小 B.分页管理有地址映射而分区管理没有 C.分页管理有存储保护而分区管理没有 D.分区管理要求一道程序存放在连续的空间而分页管理没有这种要求。13.静态重定位的时机是()。 A.程序编译时 B.程序时 C.程序装入时 D.程序运行时 14.通常所说的“存储保护”的基本含义是() A.防止存储器硬件受损 B.防止程序在存丢失 C.防止程序间相互越界访问 D.防止程序被人偷看 15.能够装入存任何位置的代码程序必须是( )。 A.可重入的 B.可重定位

操作系统实验 设备管理汇总

操作系统实验 名称实验六设备管理 姓名 专业 学号 日期 2015年12月01日指导老师

一、实验目的 1.理解设备管理的概念和任务。 2.掌握独占设备的分配、回收等主要算法的原理并编程实现。 二、实验内容与要求 1.在Windows系统中,编写程序实现对独占设备的分配和回收的模拟,该程序中包括:建立设备类表和设备表、分配设备和回收设备的函数。 三、实验原理 1.独占设备的分配、回收等主要算法的原理。 为了提高操作系统的可适应性和可扩展性,现代操作系统中都毫无例外地实现了设备独立性,又叫做设备无关性。设备独立性的含义是:应用程序独立于具体使用的物理设备。 为了实现独占设备的分配,系统设置数据表格的方式也不相同,在实验中只要设计合理即可。这里仅仅是一种方案,采用设备类表和设备表。 (1)数据结构 操作系统设置“设备分配表”,用来记录计算机系统所配置的独占设备类型、台数以及分配情况。设备分配表可由“设备类表”和“设备表”两部分组成,如下 设备类表设备表 控制器表通道表 设备队列队首指针。凡因请求本设备而未得到满足的进程,其PCB都应按照一定的策略排成一个队列,称该队列为设备请求队列或简称设备队列。其队首指针指向队首PCB。在有的系统中还设置了队尾指针。 设备状态。当设备自身正处于使用状态时,应将设备的忙/闲标志置“1”。若与该设备相连接的控制器或通道正忙,也不能启动该设备,此时则应将设备的等待标志置“1”。

与设备连接的控制器表指针。该指针指向该设备所连接的控制器的控制表。在设备到主机之间具有多条通路的情况下,一个设备将与多个控制器相连接。此时,在DCT中还应设置多个控制器表指针。 (2)设备分配 1)当进程申请某类设备时,系统先查“设备类表”。 2)如果该类设备的现存台数可以满足申请要求,则从该类设备的“设备表”始址开始依次查该类设备在设备表中的登记项,找出“未分配”的设备分配给进程。 3)分配后要修改设备类表中的现存台数,把分配给进程的设备标志改为“已分配”且填上占用设备的进程名。 4)然后,把设备的绝对号与相对号的对应关系通知用户,以便用户在分配到的设备上装上存储介质。 (3)设备回收 当进程执行结束撤离时应归还所占设备,系统根据进程名查设备表,找出进程占用设备的登记栏,把标志修改为“未分配”,清除进程名。同时把回收的设备台数加到设备类表中的现存台数中。 设备分配程序的改进 增加设备的独立性:为了获得设备的独立性,进程应使用逻辑设备名I/O。这样,系统首先从SDT中找出第一个该类设备的DCT。若该设备忙,又查找第二个该类设备的DCT,仅当所有该类设备都忙时,才把进程挂在该类设备的等待队列上,而只要有一个该类设备可用,系统便进一歩计算分配该设备的安全性。 四、程序流程图

免费客户管理软件排名

免费客户管理软件排名 免费客户管理软件排名。CRM即客户关系管理,其的强大之处在于将销售工作变成简单机械的重复性工作,解放大脑的记忆功能,把精力留给当前需要跟进的客户的具体事项。在没有接触CRM系统之前,我们业务员的大脑里整天都会盘旋着N个客户的信息: “南非的那个客户说下周给我打款”,“美国的Jose反馈我的报价贵了”,“印度的客户可能下月中旬来参观我们工厂”等等。脑袋里储存太多客户的进度、事宜,不仅记得支离破碎而且让自己觉得身心俱疲,总是有快崩盘的感觉。 做业务最大的损失,莫过于到了该跟进客户的节点上,你却忘记了跟进,而这样的损失通常业务员自己还浑然不知。随着信息化建设的发展,企业信息化管理的普及度越来越高,无论是大型企业还是中小企业都纷纷引进适合自己的管理系统。 点击咨询>>> 一般互联网上提供的免费管理软件无非有两种情况,一种是正版软件被破解以后提供给用户使用;再者就是有些软件厂商为了拓展市场提供的免费管理软件,前者危害大,一但软件出现崩溃或者挂马等情况,轻者软件不能再使用,严重会造成企业内部数据泄露。 根据调查数据显示,很多用户因为数据泄露对企业经营造成损失,免费客户管理软件可谓是危害比较大。因此八度云计算告诫大家:要选择正规软件厂商提供的软件,根据自身企业情况选择适合自己的软件使用。 如果您想系统化管理企业的核心业务流程,如销售管理,可以使用数企BDSaaS,这是正规软件厂商提供的安全软件,能够避免数据遭受损害,为企业发展保驾护航。

免费客户管理软件排名。深圳市八度云计算信息技术有限公司成立于2013年,公司专注于云计算SaaS管理软件的研发、测试与维护等服务领域,专业从事于企业管理软件的研发、测试与维护等服务。面向国内外客户提供大数据管理系统、移动办公系统、CRM客户管理系统、渠道管理系统、CALLCENTER呼叫中心等平台解决方案。为企业大数据提供一体化解决方案。公司时刻关注着企业管理软件市场的需求,本着对互联网行业的热枕,构建企业大数据智慧。为企业大数据提供一体化解决方案,致力打造为国内领先的互联网高科软件企业。站在互联网时代的顶尖浪潮,八度云计算愿与客户、合作伙伴们一起跨越互联网时代的疆界,迎合大数据时代的商业变革,为推动企业的信息化建设和网络事业的发展而不懈努力。

操作系统文件管理_答案

第六部分文件管理 1、文件系统的主要目的就是( )。 A、实现对文件的按名存取 B、实现虚拟存储 C、提供外存的读写速度 D、用于存储系统文件 2、文件系统就是指( )。 A、文件的集合 B、文件的目录集合 C、实现文件管理的一组软件 D、文件、管理文件的软件及数据结构的总体 3、文件管理实际上就是管理( )。 A、主存空间 B、辅助存储空间 C、逻辑地址空间 D、物理地址空间 4、下列文件的物理结构中,不利于文件长度动态增长的文件物理结构就是( )。 A、顺序文件 B、链接文件 C、索引文件 D、系统文件 5、下列描述不就是文件系统功能的就是( )。 A、建立文件目录 B、提供一组文件操作 C、实现对磁盘的驱动调度 D、实现从逻辑文件到物理文件间的转换 6、文件系统在创建一个文件时,为它建立一个( )。 A、文件目录 B、目录文件 C、逻辑结构 D、逻辑空间 7、索引式(随机)文件组织的一个主要优点就是( )。 A、不需要链接指针 B、能实现物理块的动态分配 C、回收实现比较简单 D、用户存取方便 8、面向用户的文件组织机构属于( )。 A、虚拟结构 B、实际结构 C、逻辑结构 D、物理结构 9、按文件用途来分,编译程序就是( )。 A、用户文件 B、档案文件 C、系统文件 D、库文件 10、将信息加工形成具有保留价值的文件就是( )。 A、库文件 B、档案文件 C、系统文件 D、临时文件 11、文件目录的主要作用就是( )。 A、按名存取 B、提高速度 C、节省空间 D、提高外存利用率 12、如果文件系统中有两个文件重名,不应采用( )。 A、一级目录结构 B、树型目录结构 C、二级目录结构 D、A与C 13、文件系统采用树型目录结构后,对于不同用户的文件,其文件名( )。 A、应该相同 B、应该不同 C、可以不同,也可以相同 D、受系统约束 14、文件系统采用二级文件目录可以( )。 A、缩短访问存储器的时间 B、实现文件共享 C、节省内存空间 D、解决不同用户间的文件命名冲突

C语言系统用户管理系统

/****************************************************************************** *************************/ /****************************************************************************** *************************/ /*题目十八系统用户管理系统 【说明及要求】 设系统用户信息(用户代码,用户名,密码,系统身份)存放在一个名为user.txt的文件中,请编写程序实现用户信息的新增、修改密码、删除功能(实现新增和删除时,用户的系统身份必须是“系统管理员”), 并能模拟用户的登陆。如果输入的用户代码和密码在文件中存在, 则显示欢迎某某用户登陆的界面和操作菜单(N.新增、M.修改密码、D.删除), 以便用户完成相应操作,如果输入错误则提示用户重新输入(最多可以尝试3次)。 【提示】 (1)定义一个结构体表示用户信息; (2)分别编写函数实现用户信息的新增、修改密码、删除、用户登陆等功能; (3)用户的尝试登陆的次数要通过一个静态变量实现; (4)编写main函数进行演示。*/ /****************************************************************************** *************************/ /****************************************************************************** *************************/ #include #include #include #include #include #include #define H 100 /*最大允许保存学生信息数*/ #define pr printf #define S scanf struct yonghuxx/*用户信息*/ { int daima;//用户代码 char sname [17];//用户名 char mima[17];//密码 char shengf[9]; //系统省份 }; struct yonghuxx s; int p=0;//普通用户p=0;管理员用户p=1

操作系统第九章习题,存储管理

第九章习题 1.在一个请求分页虚拟存储管理系统中,一个作业共有5页,执行时其访问 页面次序为: (1) 1、4、3、1、2、5、1、4、2、1、4、5。 (2) 3、2、1、4、4、5、5、3、4、3、2、1、5。 若分配给该作业三个页框,分别采用FIFO和LRU面替换算法,求出各自的缺页中断次数和缺页中断率。 答:(1) 采用FIFO为9次,9/12=75%。采用LRU为8次,8/12=67%。 (2) 采用FIFO和LRU均为9次,9/13=69%。 2.一个32位地址的计算机系统使用二级页表,虚地址被分为9位顶级页表, 11位二级页表和偏移。试问:页面长度是多少虚地址空间共有多少个页面 答:因为32-9-11=12,所以,页面大小为212B=4KB,页面个数为29+11=220个。 3.一台机器有48位虚地址和32位物理地址,若页长为8KB,问页表共有多 少个页表项如果设计一个反置页表,则有多少个页表项 答:8KB=213B.页表共有248-13=235个页表项。 反置页表,共有232-13=219个页表项。 4.一个有快表的请页式虚存系统,设内存访问周期为1微秒,内外存传送一 个页面的平均时间为5毫秒。如果快表命中率为75%,缺页中断率为10%。忽略快表访问时间,试求内存的有效存取时间。 答:快表命中率为75%,缺页中断率为10%,所以,内存命中率为15%。故内存的有效存取时间=1×75%+2×15%+(5000+2)×10%=微秒。 5.在请求分页虚存管理系统中,若驻留集为m个页框,页框初始为空,在长 为p的引用串中具有n个不同页面(n>m),对于FIFO、LRU两种页面替换算法,试给出缺页中断的上限和下限,并举例说明。 答:对于FIFO、LRU两种页面替换算法,缺页中断的上限和下限:为p和n。因为有n 个不同页面,无论怎样安排,不同页面进入内存至少要产生一次缺页中断,故下限为n次。由于m

操作系统实验六设备管理

操作系统课程报告 实验六设备管理 学号 姓名 班级 教师 华侨大学电子工程系

实验目的 1、理解设备管理的概念和任务。 2、掌握独占设备的分配、回收等主要算法的原理并编程实现。 实验内容与基本要求 1、在Windows系统中,编写程序实现对独占设备的分配和回收的模拟,该程序中包括: 建立设备类表和设备表、分配设备和回收设备的函数。 实验报告内容 1、独占设备的分配、回收等主要算法的原理。 为了提高操作系统的可适应性和可扩展性,现代操作系统中都毫无例外地实现了设备独立性,又叫做设备无关性。设备独立性的含义是:应用程序独立于具体使用的物理设备。为了实现独占设备的分配,系统设置数据表格的方式也不相同,在实验中只要设计合理即可。这里仅仅是一种方案,采用设备类表和设备表。 (1)数据结构 操作系统设置“设备分配表”,用来记录计算机系统所配置的独占设备类型、台数以及分配情况。设备分配表可由“设备类表”和“设备表”两部分组成,如下图:(2)设备分配 当进程申请某类设备时,系统先查“设备类表”如果该类设备的现存台数可以满足申请要求,则从该类设备的“设备表”始址开始依次查该类设备在设备表中的登记项,找出“未

分配”的设备分配给进程。分配后要修改设备类表中的现存台数,把分配给进程的设备标志改为“已分配”且填上占用设备的进程名。然后,把设备的绝对号与相对号的对应关系通知用户,以便用户在分配到的设备上装上存储介质。 (3)设备回收 当进程执行结束撤离时应归还所占设备,系统根据进程名查设备表,找出进程占用设备的登记栏,把标志修改为“未分配”,清除进程名。同时把回收的设备台数加到设备类表中的现存台数中。 2、程序流程图。 主程序流程图: 设备分配: 设备回收: 3、程序及注释。 #include #include #include #define false 0 #define true 1

设备管理系统(论文+开题报告+源码)

目录 前言―――――――――――――――――――――――摘要―――――――――――――――――――――――第一章系统需求分析 第二章系统设计 2.1系统方案确定 2.2系统功能实现 第三章怎样开发一个人事工资管理系统? 3.1 编程环境的选择

3.2 关系型数据库的实现 3.3 二者的结合(DBA) 第四章 Visual basic下的控件所实现的功能 4.1实现菜单选项 4.2 实现工具栏 4.3 帮助 第五章系统总体规划 5.1 系统功能 5.2 流程图 第六章系统具体实现 6.1 用户界面的实现 6.2 数据库的实现 第七章结束语 第八章主要参考文献 第九章程序源代码、各功能模块的程序流程图 --------------前言-------------- 设备管理信息系统是一个企事业单位不可缺少的部分,它的内容对于企事业单位的决策者和管理者来说都至关重要,所以设备管理信息系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理设备的信息,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。本论文主要介绍的是设备管理信息系统的整个设计过程。 随着计算机技术的不断发展,计算机应用于各大领域,并给人们的生活带来了极大的便利,在固定管理系统亦是如此。以往设备员由于缺乏适当的软件而给其工作带来了很多不便。本论文所介绍的便是一个设备管理信息系统,以方便在设备安排和设备管理信息上的工作任务。 该系统适用于普通设备的管理,在使用上力求操作容易,界面美观,另外,本系统具有较高的扩展性和可维护性,可能在以后需要的时候进行软件升级。 整个系统的开发过程严格遵循软件工程的要求,做到模块化分析、模块化设计和代码编写的模块化。 作为计算机应用的一部分,使用计算机对设备信息进行管理,具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高设备管理信息的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。 --------------摘要--------------

用户管理系统

SVSE 程序员上机考试 注意:考试结束试卷必须交回,否则按零分处理

题目:员工信息管理系统 一、语言和环境 1.实现语言: Java 2.环境要求:Eclipse + SqlServer|Oracle 二、数据库设计 三、要求 请编写一个程序,完成对员工信息的管理,实现功能如下: a)查看所有员工列表; b)查看员工详细信息; c)添加员工信息; d)修改员工信息; e)删除员工信息; 四、推荐实现步骤 1.建立数据库,表结构见数据库设计;数据连接必须使用JDBC技术。 2.建立名为HR的JA V A WEB项目,添加JavaBean和DAO类。 3.设计一个前台界面index.jsp,点击后显示员工列表。创建ListEmpServlet,

接收index.jsp请求,查询所有员工信息。转发到listemp.jsp员工列表。 4.设计一个前台界面displayemp.jsp显示所有员工信息, 员工姓名以超链接 的形式,点击后能够查看该员工详细信息。 5.创建DisplayEmpServlet ,接收要显示的员工ID,查询出这个员工的信息, 并转发到displayemp.jsp进行显示。 6.设计一个前台界面addemp.jsp,添加用户信息。

7.先创建PreAddEmpServlet用于查询所有部门的信息,把部门信息列表转 发到addemp.jsp,以下拉框的形式显示。添加员工时的部门号必须是部门表中已经存在的部门;性别默认为”男”。再创建AddEmpServlet处理添加员工的请求。 8.设计一个前台界面editemp.jsp,修改用户信息。 9.先创建PreEditEmp Servlet用于查询所有部门的信息,查询要修改的员工 信息,把部门信息列表和员工信息转发到editemp.jsp,以下拉框的形式显示部门列表并让该员工的部门信息被选中;同时让员工的性别被选中。 修改员工时的部门号必须是部门表中已经存在的部门;性别为该员工未

操作系统实验四存储管理

宁德师范学院计算机系 实验报告 (2014—2015学年第二学期) 课程名称操作系统 实验名称实验四存储管理 专业计算机科学与技术(非师)年级2012级 学号B2012102147 姓名王秋指导教师王远帆 实验日期2015-05-20

2) 右键单击任务栏以启动“任务管理器”。 3) 在“Windows任务管理器”对话框中选定“进程”选项卡。 4) 向下滚动在系统上运行的进程列表,查找想要监视的应用程序。 请在表4-3中记录: 表4-3 实验记录 映像名称PID CPU CPU时间内存使用 WINWORD.EXE 5160 00 0:00:10 22772k 图1 word运行情况 “内存使用”列显示了该应用程序的一个实例正在使用的内存数量。 5) 启动应用程序的另一个实例并观察它的内存需求。 请描述使用第二个实例占用的内存与使用第一个实例时的内存对比情况: 第二个实例占用内存22772K,比第一个实例占用的内存大很多 4:未分页合并内存。 估算未分页合并内存大小的最简单方法是使用“任务管理器”。未分页合并内存的估计值显示在“任务管理器”的“性能”选项卡的“核心内存”部分。 总数(K) :________220___________ 分页数:__________167___________ 未分页(K) :_________34__________

图2核心内存 还可以使用“任务管理器”查看一个独立进程正在使用的未分页合并内存数量和分页合并内存数量。操作步骤如下: 1) 单击“Windows任务管理器”的“进程”选项卡,然后从“查看”菜单中选择“选择列”命令,显示“进程”选项卡的可查看选项。 2) 在“选择列”对话框中,选定“页面缓冲池”选项和“非页面缓冲池”选项旁边的复选框,然后单击“确定”按钮。 返回Windows “任务管理器”的“进程”选项卡时,将看到其中增加显示了各个进程占用的分页合并内存数量和未分页合并内存数量。 仍以刚才打开观察的应用程序(例如Word) 为例,请在表4-4中记录: 表4-4 实验记录 映像名称PID 内存使用页面缓冲池非页面缓冲池 WINWORD.EXE 2964 37488 951 42 从性能的角度来看,未分页合并内存越多,可以加载到这个空间的数据就越多。拥有的物理内存越多,未分页合并内存就越多。但未分页合并内存被限制为256MB,因此添加超出这个限制的内存对未分页合并内存没有影响。 5:提高分页性能。 在Windows 2000的安装过程中,将使用连续的磁盘空间自动创建分页文件(pagefile.sys) 。用户可以事先监视变化的内存需求并正确配置分页文件,使得当系统必须借助于分页时的性能达到最高。 虽然分页文件一般都放在系统分区的根目录下面,但这并不总是该文件的最佳位置。要想从分页获得最佳性能,应该首先检查系统的磁盘子系统的配置,以了解它是否有多个物理硬盘驱动器。 1) 在“开始”菜单中单击“设置”–“控制面板”命令,双击“管理工具”图标,再双击“计算机管理”图标。 2) 在“计算机管理”窗口的左格选择“磁盘管理”管理单元来查看系统的磁盘配置。 如果系统只有一个硬盘,那么建议应该尽可能为系统配置额外的驱动器。这是因为:Windows 2000最多可以支持在多个驱动器上分布的16个独立的分页文件。为系统配置多个分页文件可以实现对不同磁盘I/O请求的并行处理,这将大大提高I/O请求的分页文件性能。 请在表4-5中记录: 表4-5 实验记录

计算机操作系统实验-文件管理

哈尔滨工业大学计算机科学与技术学院 实验报告 课程名称:操作系统 课程类型:必修 实验项目名称:文件管理 实验题目:设计一个多用户的文件系统 班级:实验学院一班 学号:6040310110 姓名:张元竞 设计成绩报告成绩指导老师

一、实验目的 随着社会信息量的极大增长,要求计算机处理的信息与日俱增,涉及到社会生活的各个方面。因此,文件管理是操作系统的一个非常重要的组成部分。学生应独立用高级语言编写和调试一个简单的文件系统,模拟文件管理的工作过程。从而对各种文件操作命令的实质内容和执行过程有比较深入的了解,掌握它们的实施方法,加深理解课堂上讲授过的知识。 二、实验要求及实验环境 用高级语言编写和调试一个简单的文件系统,模拟文件管理的工作过程。要求设计一个10个用户的文件系统,每次用户可保存10个文件,一次运行用户可以打开5个文件。系统能够检查打入命令的正确性,出错时能显示出错原因。对文件必须设置保护措施,例如只能执行,允许读等。在每次打开文件时,根据本次打开的要求,在此设置保护级别,即有二级保护。文件的操作至少有Create、delete、open、close、read、write等命令。 所编写的程序应采用二级文件目录,即设置主文件目录和用户文件目录。前者应包含文件主及它们的目录区指针;后者应给出每个文件占有的文件目录,即文件名,保护码,文件长度以及它们存放的位置等。另外为打开文件设置运行文件目录(AFD),在文件打开时应填入打开文件号,本次打开保护码和读写指针等。 三、设计思想(本程序中的用到的所有数据类型的定义,主程序的流程图及各程序模块之间的调用关系)

计算机操作系统第四章-存储器管理

第四章存储器管理 第0节存储管理概述 一、存储器的层次结构 1、在现代计算机系统中,存储器是信息处理的来源与归宿,占据重要位置。但是,在现有技术条件下,任何一种存储装置,都无法从速度、容量、是否需要电源维持等多方面,同时满足用户的需求。实际上它们组成了一个速度由快到慢,容量由小到大的存储装置层次。 2、各种存储器 ?寄存器、高速缓存Cache:少量的、非常快速、昂贵、需要电源维持、CPU可直接访问; ?内存RAM:若干(千)兆字节、中等速度、中等价格、需要电源维持、CPU可直接访问; ?磁盘高速缓存:存在于主存中; ?磁盘:数千兆或数万兆字节、低速、价廉、不需要电源维持、CPU 不可直接访问; 由操作系统协调这些存储器的使用。

二、存储管理的目的 1、尽可能地方便用户;提高主存储器的使用效率,使主存储器在成本、速度和规模之间获得较好的权衡。(注意cpu和主存储器,这两类资源管理的区别) 2、存储管理的主要功能: ?地址重定位 ?主存空间的分配与回收 ?主存空间的保护和共享 ?主存空间的扩充 三、逻辑地址与物理地址 1、逻辑地址(相对地址,虚地址):用户源程序经过编译/汇编、链接后,程序内每条指令、每个数据等信息,都会生成自己的地址。 ●一个用户程序的所有逻辑地址组成这个程序的逻辑地址空间(也称地址空间)。这个空间是以0为基址、线性或多维编址的。 2、物理地址(绝对地址,实地址):是一个实际内存单元(字节)的地址。 ●计算机内所有内存单元的物理地址组成系统的物理地址空间,它是从0开始的、是一维的; ●将用户程序被装进内存,一个程序所占有的所有内存单元的物理地址组成该程序的物理地址空间(也称存储空间)。 四、地址映射(变换、重定位) 当程序被装进内存时,通常每个信息的逻辑地址和它的物理地址是不一致的,需要把逻辑地址转换为对应的物理地址----地址映射;

操作系统 第四章 存储管理习题

第四章存储管理习题 一、选择题 1、存储分配解决多道作业(A)的划分问题。为了解决静态和动态存储分配,需采用地址重定位,即把(B)变换成(C),静态重定位由(D)实现,动态重定位由(E)实现。 A:①地址空间②符号名空间③主存空间④虚拟空间 B、C:①页面地址②段地址 ③逻辑地址 ④物理地址⑤外存地址⑥设备地址 D~E:①硬件地址变换机构 ②执行程序 ③汇编程序 ④连接装入程序 ⑤调试程序 ⑥编译程序 ⑦解释程序 2、提高主存利用率主要是通过(A)功能实现的。(A)的基本任务是为每道程序做(B);使每道程序能在不受干扰的环境下运行,主要是通过(C)功能实现的。

A、C:①主存分配②主存保护③地址映射 ④主存扩充 B:①逻辑地址到物理地址的变换; ②内存与外存间的交换; ③允许用户程序的地址空间大于内存空间; ④分配内存 3、由固定分区方式发展为分页存储管理方式的主要推动力是(A);由分页系统发展为分段系统,进而以发展为段页式系统的主要动力分别是(B)。 A~B:①提高主存的利用率; ②提高系统的吞吐量; ③满足用户需要; ④更好地满足多道程序运行的需要; ⑤既满足用户要求,又提高主存利用率。 4、静态重定位是在作业的(A)中进行的,动态重定位是在作业的(B)中进行的。 A、B:①编译过程;②装入过程;③修改过程;④执行过程 5、对外存对换区的管理应以(A)为主要目标,对外存文

件区的管理应以(B)为主要目标。 A、B:①提高系统吞吐量;②提高存储空间的利用率;③降低存储费用;④提高换入换出速度。 6、从下列关于虚拟存储器的论述中,选出一条正确的论述。 ①要求作业运行前,必须全部装入内存,且在运行中必须常驻内存; ②要求作业运行前,不必全部装入内存,且在运行中不必常驻内存; ③要求作业运行前,不必全部装入内存,但在运行中必须常驻内存; ④要求作业运行前,必须全部装入内存,且在运行中不必常驻内存; 7、在请求分页系统中有着多种置换算法:⑴选择最先进入内存的页面予以淘汰的算法称为(A);⑵选择在以后不再使用的页面予以淘汰的算法称为(B);⑶选择自上次访问以来所经历时间最长的页面予淘汰的算法称为(C); A~D:①FIFO算法;②OPT算法;③LRU 算法;④NRN算法;⑤LFU算法。 8、静态链接是在(A)到某段程序时进行的,动态链接是

操作系统习题集之设备管理(含答案)

操作系统习题集之设备管理 来源:北大的MSE:有关计算机的一些辅导资料 日期:2010-12-5 第5章输入输出设备第6章管理 学习重点: (1)设备管理的任务和功能。 (2)设备分类和使用特点:按输入输出传送方式分为字符型设备和块设备;按资源特点分为独享设备、共享设备和虚拟设备;按设备硬件物理特性分为顺序存取设备、直接存取设备;按设备使用分为物理设备、逻辑设备和伪设备。 (3)设备I/O方式:询问、中断和通道技术。 (4)设备分配技术和管理:设备分配算法按先来先服务和优先级队列。 (5)缓冲技术:单缓冲、双缓冲、多缓冲和缓冲池等。 (6)虚拟设备的技术(SPOOLing技术):共享打印机实例。 (7)设备处理程序的功能。 (8)设备处理程序特点和编制内容(设备标题、数据存储和局部过程、策略过程、中断过程、命令处理子程序)。 教学要求: (1)理解设备管理的任务和功能。 (2)熟练掌握设备分类及其特点,设备的I/O方式。 (3)了解外部设备的安装。 (4)掌握输入输出设备的分类设计方法。 (5)理解使用缓冲技术的目的和缓冲区的设置方式。 (6)了解SPOOLing系统的功能和实现思想。 (7)了解输入输出设备处理程序的编程要点。 (8)了解I/O控制过程。 习题 1、从资源分配的角度看,可以把设备分为独占设备和共享设备。打印机属于独占设备,而磁盘属于共享设备。 2、虚拟设备是通过SPOOLing技术把独占设备变成能为若干用户共享的设备。 3、通道是一个独立于CPU的专管输入输出的处理机,它控制外设或外存与内存之间的信息交换。 4、缓冲区的设置可分为单缓冲,双缓冲,多缓冲和缓冲池。 5、在UNIX系统中,键盘、终端、打印机等以字符为单位组织和处理信息的设备称为字符设备;而磁盘、磁带等以块为单位组织和处理信息的设备称为块设备。 6、在多道程序环境中,用户程序的相对地址与装入内存后的实际物理地址不同,把相对地址转换为物理地址,这是操作系统的地址重地位功能。 7、用户编写的程序与实际使用的物理设备无关,而由操作系统负责地址的重定位,我们称之为设备无关性(设备独立性)。 8、在设备管理中,为了克服独占设备速度较慢、降低设备资源利用率的缺点,引入了虚拟分配技术,即用共享设备模拟独占设备。 9、CPU输出数据的速度远远高于打印机的打印速度,为了解决这一矛盾,可采用()。 A.并行技术 B. 通道技术 C.缓冲技术 D. 虚存技术 10、设备管理的目的是为了合理地利用外部设备和[1],设备按照信息的传递特性可分为[2]和[3]。设备管

操作系统课程设计设备管理实现源代码

操作系统课程设计设备管理实现源代 码 1

2

#include #include "iostream.h" #include "stdlib.h" #include "string.h" struct PCB{ int id; char name[10]; int size; struct PCB *next; }; struct PCB *running; struct PCB *ready; struct PCB *blocked; struct PCB *q; struct PCB *p; int id=1; int size; char name[10]; ////////////////////////////////////////////////////////////////////////////////////// struct DCT{ //设备 char name[10]; 3

int busy; PCB * occupied; PCB * waiting; struct DCT *next; struct COCT* coct; //上级控制器 }; struct COCT{ //控制器 char name[10]; int busy; PCB * occupied; PCB * waiting; struct COCT *next; struct CHCT* chct; //控制器的上级通道 }; struct CHCT{ //通道 char name[10]; int busy; PCB * occupied; PCB * waiting; struct CHCT *next; 4

相关主题
文本预览
相关文档 最新文档