zoukankan      html  css  js  c++  java
  • 实验四

    实验四 主存空间的分配和回收

    实验目的

    用高级语言完成一个主存空间的分配和回收程序,以加深对动态分区分配方式及其算法的理解。

     

    实验环境

    windows下的VB

    实验要求

    采用连续分配方式之动态分区分配存储管理,使用首次适应算法、循环首次适应算法、最佳适应算法和最坏适应算法4种算法完成设计(任选两种算法)。

    (1)**设计一个作业申请队列以及作业完成后的释放顺序,实现主存的分配和回收。采用分区说明表进行。

    (2)或在程序运行过程,由用户指定申请与释放。

    (3)设计一个空闲区说明表,以保存某时刻主存空间占用情况。把空闲区说明表的变化情况以及各作业的申请、释放情况显示。

    实验内容

    #include<stdio.h>
    #define m 10
    #define n 10

    struct{
    float address;
    float length;
    int flag;
    }used[n];

    struct{
    float address;
    float length;
    int flag;
    }free[m];

    void main( )
    {
    int i,a;
    void allocate(char str,float leg);//分配主存空间函数
    float x;
    char j;
    free[0].address=10240;
    free[0].length=102400;
    free[0].flag=1;
    for(i=1;i<m;i++)
    free[i].flag=0;
    for(i=0;i<n;i++)
    used[i].flag=0;
    while(1)
    {
    printf(" 选择功能项(0=退出,1=分配主存,2=回收主存,3=显示主存) ");
    printf("选择功项(0~3) :");
    scanf("%d",&a);
    switch(a)
    {
    case 0: exit(0);
    case 1: printf("输入作业名j和作业所需长度x: ");
    scanf("%*c%c%f",&J,&x);
    allocate(j,x);
    break;
    case 2:printf("输入要回收分区的作业名");
    scanf("%*c%c",&j)
    break;
    case 3:
    printf("输出空闲区表: 起始地址 分区长度 标志 ");
    for(i=0;i<m;i++)
    printf("%6.0f%9.0f%6d ",free[i].address,fre[i].length, free[i].flag);
    printf(" 按任意键,输出已分配区表 ");
    getchar();
    printf(" 输出已分配区表: 起始地址 分区长度 标志 ");
    for(i=0;i<n;i++)

    if(used.flag!=0)
    printf("%6.0f%9.0f%6c ",used.address,used.length, used.flag);
    else
    printf("%6.0f%9.0f%6d ",used.address,used.length, used.flag);
    break;
    default:printf("没有该选项 ");
    }
    }
    }

    实验心得与体会

    总体上感觉对本次实验内容掌握得不够熟悉,对部分的操作内容不理解。代码部分还未全部完成,有部分参考,后期需要继续加深理解......

  • 相关阅读:
    “C语言” 读书札记(七)之[自白]
    代码审查就是在排大便——你懂的!
    page事件顺序(.net2.0)
    ASP.NET Custom Error Pages (asp.net自定义错误页)
    26字母中文第一字母排序
    16.448.10
    江西师范大学失物招领网(beta1)版告一段落
    处理HTML代码的若干函数
    Understanding the Session Object in ASP.NET 2.0
    获得扩展名[.net2.0]
  • 原文地址:https://www.cnblogs.com/jingwenyim/p/4550869.html
Copyright © 2011-2022 走看看