- 博客(0)
- 收藏
- 关注
天津理工大学操作系统实验2-存储器的分配与回收算法实现
实验内容:1.本实验是模拟操作系统的主存分配,运用可变分区的存储管理算法设计主存分配和回收程序,并不实际启动装入作业。
2.采用最先适应法、最佳适应法、最坏适应法分配主存空间。
3.当一个新作业要求装入主存时,必须查空闲区表,从中找出一个足够大的空闲区。若找到的空闲区大于作业需要量,这时应把它分成二部分,一部分为占用区,剩余部分又成为一个空闲区。
4.当一个作业撤离时,归还的区域如果与其他空闲区相邻,则应合并成一个较大的空闲区,登在空闲区表中。
5.运行所设计的程序,输出有关数据结构表项的变化和内存的当前状态。
算法描述:
最先适应法:
将进程往尽量低地址空闲区域放,放不下的话在将地址慢慢升高,每一次存放,都从低地址开始寻找满足的空闲区域,直至最高地址,每次存放都从0开始。
最佳适应法:
和最先适应算法相似,当进程申请空闲的时候,系统都是从头开始查找。空闲区域是从小到大记录的,每次查找都是从最小的开始,直到查找的满足要求的最小空间区域。
最坏适应法:
该算法与之前两种算法相反,用最大的空闲区域来存储东西
2023-06-21
天津理工大学操作系统实验1-处理机调度算法的实现
1.设定系统中有五个进程,每一个进程用一个进程控制块表示。
2.输入每个进程的“优先数”和“要求运行时间”。
3.为了调度方便,将五个进程按给定的优先数从大到小连成就绪队列。用一单元指出队列首进程,用指针指出队列的连接情况。
4.处理机调度总是选队首进程运行。采用动态优先数算法,进程每运行一次优先数就减“1”,同时将运行时间减“1”。
5.若要求运行时间为零,则将其状态置为“结束”,且退出队列。
6.运行所设计程序,显示或打印逐次被选中进程的进程名以及进程控制块的动态变化过程。
1.算法描述:
设计一个有 N个进程共行的进程调度程序。
进程调度算法:采用最高优先数优先的调度算法(即把处理机分配给优先数最高的进程)和先来先服务算法。每个进程有一个进程控制块( PCB)表示。进程控制块可以包含如下信息:进程名、优先数、到达时间、需要运行时间、已用CPU时间、进程状态等等。 进程的优先数及需要的运行时间可以事先人为地指定(也可以由随机数产生)。进程的到达时间为进程输入的时间。进程的运行时间以时间片为单位进行计算。每个进程的状态可以是就绪 W(Wait)、运行R(Run)、或完成F(Finis
2022-12-27
天津理工大学操作系统实验三-磁盘调度算法的实现
1.本实验是模拟操作系统的磁盘寻道方式,运用磁盘访问顺序的不同来设计磁盘的调度算法。
2.实现的磁盘调度算法有FCFS,SSTF,SCAN,CSCAN和 NStepSCAN算法。
设定开始磁道号寻道范围,依据起始扫描磁道号和最大磁道号数,随机产生要进行寻道的磁道号序列。
3.选择磁盘调度算法,显示该算法的磁道访问顺序,计算出移动的磁道总数和平均寻道总数。
4.按算法的寻道效率进行排序,并对各算法的性能进行分析比较。
1.算法描述
1)FCFS算法实现思路:将vector内随机产生的数依次读出,相当于对于队列数据结构中的出队操作。
2)SSTF算法实现思路:在时间复杂度和空间复杂度上的综合考虑,我首先将vector内的数据进行排序,然后确定当前磁道号在有序数据中的位置,然后在该位置的左右找到离它最近的数,并将当前位置进行刷新。
3)SCAN算法实现思路:首先将vector内的数据进行排序,然后同样地确定当前磁道号在有序数据中的位置,然后在向内的方向上依次访问,访问完了之后,再输出初始位置向外的服务序列。
4)CSCAN算法实现思路:开始和前面的算法一样,也是先进行排序,定位,然后
2022-12-27
天津理工大学操作系统实验2-存储器的分配与回收算法实现
实验内容:1.本实验是模拟操作系统的主存分配,运用可变分区的存储管理算法设计主存分配和回收程序,并不实际启动装入作业。
2.采用最先适应法、最佳适应法、最坏适应法分配主存空间。
3.当一个新作业要求装入主存时,必须查空闲区表,从中找出一个足够大的空闲区。若找到的空闲区大于作业需要量,这时应把它分成二部分,一部分为占用区,剩余部分又成为一个空闲区。
4.当一个作业撤离时,归还的区域如果与其他空闲区相邻,则应合并成一个较大的空闲区,登在空闲区表中。
5.运行所设计的程序,输出有关数据结构表项的变化和内存的当前状态。
算法描述:
最先适应法:
将进程往尽量低地址空闲区域放,放不下的话在将地址慢慢升高,每一次存放,都从低地址开始寻找满足的空闲区域,直至最高地址,每次存放都从0开始。
最佳适应法:
和最先适应算法相似,当进程申请空闲的时候,系统都是从头开始查找。空闲区域是从小到大记录的,每次查找都是从最小的开始,直到查找的满足要求的最小空间区域。
最坏适应法:
该算法与之前两种算法相反,用最大的空闲区域来存储东西
2022-12-27
天津理工大学C++实验报告一加源代码
1)输入下列程序,按要求进行实验,并记录实验的结果。
#include <iostream>
using namespace std;
class Coordinate
{
public:
Coordinate(int x1, int y1){x=x1; y=y1; cout<<”Constructor is called.”<<endl;
}
Coordinate(Coordinate &p);
~Coordinate(){cout<<"Destructor is called."<<endl;}
int getx(){return x;}
int gety(){return y;}
private:
int x, y;
};
Coordinate::Coordinate(Coordinate &p){
x=p.x; y=p.y;
cout<<"Copy initianization constructor is called."<<endl;
}
int main(){
Coordinate p1(3,4);
Coordinate p2(p1);
Coo
2022-05-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人