当前位置:文档之家› 计算机操作系统实训报告

计算机操作系统实训报告

计算机操作系统实训报告
计算机操作系统实训报告

目录

任务一----------------------------------------------------------------------------------------------------------2 任务二----------------------------------------------------------------------------------------------------------4 任务三----------------------------------------------------------------------------------------------------------13 任务四----------------------------------------------------------------------------------------------------------19 任务五----------------------------------------------------------------------------------------------------------25 实训总结-------------------------------------------------------------------------------------------------------36

任务一分析操作系统所面临的操作需求

【实训目的】

让学生可以更好的理解、掌握和应用操作系统中的进程管理、存储管理、设备管理和文件管理等功能。

【实训内容】

1. 熟悉实训环境;

2. 分析操作系统的操作需求;

3. 资料搜集与整理,进行实训的前期准备。

【实训步骤】

1.分析与设计

图1-1 实训总体结构图

【思考题】

1. 操作系统中各模块有怎样的功能?

答:进程管理模块用于分配和控制处理机;设备管理模块主要负责对I/O设备的分配与操纵;文件管理模块主要负责文件的存取、共享和保护;存储管理模块主要负责的分配与回收。

2. 它们之间有怎样的联系?

答:设备管理、文件管理和储存管理都需要进程的管理;文件需要文件管理进行存储,同时也需要储存管理来对文件存储分配空间等等。

3. 针对某一特定的应用环境,如何完善操作系统的功能?

答:要想完善操作系统的功能,必须要合理安排各个功能模块,并利用有效的算法对各个功能进行管理和处理。

任务二进程管理

【实训目的】

掌握临界区的概念及临界区的设计原则;掌握信号量的概念、PV操作的含义以及应用P V操作实现进程的同步与互斥;分析进程争用资源的现象,学习解决进程互斥的方法;掌握进程的状态及状态转换;掌握常用的进程调度算法。

【实训内容】

1.分析进程的同步与互斥现象,编程实现经典的进程同步问题——生产者消费者问题的模拟;

2.编写允许进程并行执行的进程调度程序,在常用的进程(作业)调度算法:先来先服务算法、短作业优先算法、最高响应比优先算法、高优先权优先算法等调度算法中选择一种调度算法进行简单模拟,并输出平均周转时间和平均带权周转时间。

【实训步骤】

一.生产者与消费者问题

1.分析与设计

图2-1 生产者与消费者问题分析图

2.程序代码

#include

#include

const unsigned short BUFFER = 5; //缓冲区长度

unsigned short ProductID = 0; //产品号

unsigned short ConsumeID = 0; //将被消耗的产品号

unsigned short in = 0; //产品进缓冲区时的缓冲区产品个数

unsigned short out = 0; //产品出缓冲区时的缓冲区产品个数

int g_buffer[BUFFER]; //缓冲区为循环队列

bool g_continue = true; //控制程序结束

HANDLE g_hMutex; //线程间互斥对像

HANDLE g_hFullSemaphore; //满则生产者等待

HANDLE g_hEmptySemaphore; //空则消费者等待

DWORD WINAPI Producer(LPVOID); //生产者线程

DWORD WINAPI Consumer(LPVOID); //消费者线程

//主程序

int main()

{

//创建各个互斥信号

g_hMutex = CreateMutex(NULL,FALSE,NULL);

g_hFullSemaphore = CreateSemaphore(NULL,BUFFER-1,BUFFER-1,NULL);

g_hEmptySemaphore = CreateSemaphore(NULL,0,BUFFER-1,NULL);

const unsigned short PRODUCERS_COUNT = 2; //生产者的个数

const unsigned short CONSUMERS_COUNT = 1; //消费者的个数

//总的线程数

const unsigned short THREADS_COUNT = PRODUCERS_COUNT+CONSUMERS_COUNT;

HANDLE hThreads[PRODUCERS_COUNT]; //各线程的handle

DWORD producerID[CONSUMERS_COUNT]; //生产者线程的标识符

DWORD consumerID[THREADS_COUNT]; //消费者线程的标识符

//创建生产者线程

for (int i=0;i

{

hThreads[i]=CreateThread(NULL,0,Producer,NULL,0,&producerID[i]);

if (hThreads[i]==NULL)

return -1;

}

//创建消费者线程

for (i=0;i

{

hThreads[PRODUCERS_COUNT+i]=CreateThread(NULL,0,Consumer,NULL,0,&consumerID[i]);

if (hThreads[i]==NULL)

return -1;

}

while(g_continue)

{

if(getchar())

{

g_continue = false; //按回车后终止程序运行

}

}

return 0;

}

//生产一个产品,把新生产的产品放入缓冲区

void Produce()

{

std::cerr << "生产产品 " << ++ProductID << std::endl;

std::cerr << "将新的产品";

g_buffer[in] = ProductID;

in = (in+1)%BUFFER;

std::cerr << "放入缓冲区" << std::endl;

//输出缓冲区当前的状态

for (int i=0;i

{

std::cout << i <<": " << g_buffer[i];

if (i==in) std::cout << " ←生产";

if (i==out) std::cout << " ←消费";

std::cout << std::endl;

}

}

//从缓冲区中取出一个产品,并将其消耗

void Consume()

{

std::cerr << "从缓冲区中取出产品";

ConsumeID = g_buffer[out];

out = (out+1)%BUFFER;

std::cout << std::endl;

//输出缓冲区当前的状态

for (int i=0;i

{

std::cout << i <<": " << g_buffer[i];

if (i==in) std::cout << " ←生产";

if (i==out) std::cout << " ←消费";

std::cout << std::endl;

}

std::cerr << "消耗一个产品 " << ConsumeID << std::endl; }

//生产者

DWORD WINAPI Producer(LPVOID lpPara)

{

while(g_continue)

{

WaitForSingleObject(g_hFullSemaphore,INFINITE);

WaitForSingleObject(g_hMutex,INFINITE);

Produce();

Sleep(1500); //此处以毫秒为单位

ReleaseMutex(g_hMutex);

ReleaseSemaphore(g_hEmptySemaphore,1,NULL);

}

return 0;

}

//消费者

DWORD WINAPI Consumer(LPVOID lpPara)

{

while(g_continue)

{

WaitForSingleObject(g_hEmptySemaphore,INFINITE);

WaitForSingleObject(g_hMutex,INFINITE);

Consume();

Sleep(1500); //此处以毫秒为单位

ReleaseMutex(g_hMutex);

ReleaseSemaphore(g_hFullSemaphore,1,NULL);

}

return 0;

}

3.程序运行截图

图2-2 生产者与消费者问题运行截图

二.先来先服务算法

1.分析与设计

图2-3 先来先服务算法设计图

2.程序代码

#include

//定义进程的结构体

struct fcfs

{

char name[10]; //进程名称

int priority; //进程优先数

float arrivetime; //到达时间

float servicetime; //运行时间

float starttime; //开始时间

float finishtime; //完成时间

float returntime; //周转时间

float wreturntime; //带权周转时间

};

fcfs a[50];

//程序的输入显示及提示

void input(fcfs *p,int N)

{

int i;

printf("请依次输入进程名称→到达时间→运行时间→进程优先数:\n");

for(i=0;i<=N-1;i++)

{

printf("\n输入%d号进程信息:\n",i+1);

scanf("%s%f%f%d",&p[i].name,&p[i].arrivetime,&p[i].servicetime,&p[i].priority);

}

}

//程序的输出显示

void Print(fcfs *p,float arrivetime,float servicetime,float starttime,float finishtime,floa t returntime,float wreturntime,int priority,int N)

{

int k;

printf("运行指令:");

printf("%s",p[0].name);

for(k=1;k

{

printf("→%s",p[k].name);

}

printf("\n进程信息:\n");

printf("\n进程\t到达\t运行\t开始\t结束\t周转\t带权周转进程优先数\n");

for(k=0;k<=N-1;k++)

{

printf("%s\t%-.2f\t%-.2f\t%-.2f\t%-.2f\t%-.2f\t %-.2f\t\t%d\n",p[k].name ,p[k].arr ivetime,p[k].servicetime,p[k].starttime,p[k].finishtime,p[k] .returntime,p[k].wretu rntime,p[k].priority);

}

}

//排序采用冒泡排序法进行排序,排序顺序从小到大

void sort(fcfs *p,int N)

{

for(int i=0;i<=N-1;i++)

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

if(p[i].arrivetime

{

fcfs temp;

temp=p[i];

p[i]=p[j];

p[j]=temp;

}

}

//运行阶段

void funciton(fcfs *p, float arrivetime,float servicetime,float starttime,float finishtime, float &returntime,float &wreturntime,int priority,int N)

{

int k;

for(k=0;k<=N-1;k++)

{

if(p[k].arrivetime>p[k-1].finishtime)

{

p[k].starttime=p[k].arrivetime;

p[k].finishtime=p[k].arrivetime+p[k].servicetime;

}

else

{

p[k].starttime=p[k-1].finishtime;

p[k].finishtime=p[k-1].finishtime+p[k].servicetime;

}

}

for(k=0;k<=N-1;k++)

{

p[k].returntime=p[k].finishtime-p[k].arrivetime;

p[k].wreturntime=p[k].returntime/p[k].servicetime;

}

}

//模拟操作系统的先来先服务算法

void FCFS(fcfs *p,int N)

{

float arrivetime=0,servicetime=0,starttime=0,finishtime=0,returntime=0,wreturntime=0,pr iority=0;

sort(p,N);

funciton(p,arrivetime,servicetime,starttime,finishtime,returntime,wreturntime,priority, N);

Print(p,arrivetime,servicetime,starttime,finishtime,returntime,wreturntime,priority,N );

}

//主函数

void main()

{

int N;

printf("\t\t\t进程调度之先来先服务调度算法\n");

printf("请输入进程数:\n");

scanf("%d",&N);

input(a,N);

FCFS(a,N);

}

3.程序运行截图

图2-4 先来先服务调度算法运行截图

【思考题】

1. 针对某一具体应用环境,如何选择合适的调度算法?

答:应根据具体情况来选用合适的调度算法。比如,在批处理系统中,为了照顾为数众多的短作业,应采用短作业优先调度的调度算法;在分时系统中,为了保证系统具有合理的响应时间,应采用轮转法进行调度。非抢占式调度算法,有利于长作业,不利于短作业。

任务三存储管理

【实训目的】

掌握物理内存和虚拟内存的基本概念;掌握重定位的基本概念及其要点,理解逻辑地址与绝对地址;掌握各种存储管理的实现方法,包括基本原理、地址变换和缺页中断、主存空间的分配及分配算法;掌握常用淘汰算法。

【实训内容】

编写一个模拟的动态页式存储管理程序,实现对动态页式存储的淘汰算法的模拟(在先进先出淘汰算法、最近最少使用淘汰算法、最不经常使用淘汰算法三种算法中选择一种进行模拟)并计算各个算法的缺页率;并且页面淘汰算法在淘汰一页时,只将该页在页表中抹去,而不再判断它是否被改写过,也不将它写回到辅存

【实训步骤】

1.分析与设计

设置一个后进先出栈,栈大小为分配给这个进程的页面数。在在系统中设定一个计数器,进程进程进行访问内页面操作都把计数器的值加1,把结果值赋值给访问的页面,在淘汰页面时选择计数器值最小的页面淘汰。这样的栈顶上总是保存着最近被访问的页面号,而栈底保存的就是最近最久没有被访问的页面号。如图3-1所示

图3-1最近最久未使用置换算法分析图

2.程序代码

#include

#include

//最近最久未使用置换算法

//参数说明:p地址流,n地址流的个数,pageSize页面大小,pageTable页表,count页表大小void LRU (int p[], int n, int pageSize, int pageTable[], int count)

{

int i, pageNo, j, pagecount, k;

float sum;

int *stack = (int *)malloc (sizeof (int) * count);

pagecount = 0;

k = 0;

sum = 0;

system ("cls");

printf ("\n\n\t\t\t存储管理---最近最少使用淘汰算法\n\n");

for (i = 0; i < n; i++)

{

pageNo = p[i] / pageSize;

printf ("\t\t调入页号%d后\t ", pageNo);

printf ("\t\t页表:");

for (j = 0; j < pagecount; j++)//判断页号是否在页表中

{

if (pageNo == pageTable[j])//如果页号在页表中

{

for (k = 0; k < count; k++)//设置栈中各页面使用情况

{

if (stack[k] == pageNo)

{

if (k != count-1)

{

for (; k < count-1; k++)

{

stack[k] = stack[k+1];

}

stack[k] = pageNo;

}

}

}

break;

}

}

//页号不在页表中,插入页表

if (j == pagecount)

{

//如果页表不满

if (pagecount < count)

{

pageTable[pagecount++] = pageNo;

stack[pagecount-1] = pageNo;

}

//如果页表已满

else

{

for (j = 0; j < count; j++)

{

if (pageTable[j] == stack[0])

{

pageTable[j] = pageNo;

for (k = 0; k < count-1; k++)//设置栈中各页面使用情况

{

stack[k] = stack[k+1];

}

stack[k] = pageNo;

break;

}

}

}

sum++; //缺页数

}

//打印页表

for (j = 0; j < count; j++)

{

if (pageTable[j] >= 0)

{

printf ("%d ", pageTable[j]);

}

}

printf ("\n");

}

sum /= n;

sum *= 100;

printf ("\t\t\t缺页率:%.1f%%\n\n", sum);

free (stack);

}

void main ()

{

int n, pageSize = 1024, pageTable[3];

int *p, i;

FILE *fp;

system ("cls");

printf ("\n\n\t\t\t存储管理---最近最少使用淘汰算法\n\n\n");

printf ("请确认在\"Address.txt\"文件中已输入地址流.\n");

printf ("如果没有,请自行新建后再运行.\n\n\n\n");

system ("pause");

if ((fp = fopen ("Address.txt", "r+")) == NULL)

{

printf ("打开文件出错!\n");

system ("pause");

return ;

}

fscanf (fp, "%d", &n);

p = (int *)malloc (sizeof (int) * n);

printf ("\n\n\n读取到以下的地址流:\n");

for (i = 0; i < n; i++)

{

fscanf (fp, "%d", &p[i]);

printf ("%d ", p[i]);

}

printf ("\n\n");

fclose (fp);

system ("pause");

system ("cls");

LRU (p, n, pageSize, pageTable, 3);

}

3.程序运行截图

图3-2最近最久未使用置换算法程序截图

图3-3最近最久未使用置换算法程序截图

【思考题】

1. 各种不同的页面淘汰算法有哪些优缺点?为什么会产生页面抖动?什么是belady

现象?这种现象该如何避免?

答:最佳值换算法其所选择的被淘汰页将是以后用不适用的,或许是在最长(未来)时间内不再被访问的页面。采用最佳值换算法通常可保证获得最低的缺页率。但是由于人们目前还无法预知一个进程在内存的若干个页面中,哪一个页面是未来最长时间内不再被访问的,因此该算法是无法实现的,但可以利用该算法去评价其它算法。先进先出置换算法(FIFO)是最直观的算法,由于它可能是性能最差的算法,故实际应用极少。

最近最久未使用置换算法(LRU)虽然是一种比较好的算法,但要求系统有较多的支持硬件。

因为刚被淘汰出去的页,过后不久又要访问它,需要再次调入,而调入后不久又再次被淘汰,然后又要访问,如此反复,使得系统的把大部分时间用在页面的调进调出上,这种形象称为“抖动”。

随着物理块数的增多缺页率增大,从而造成Belady异常现象。尽量避免物理块数不断增多缺页率最大。

任务四设备管理

【实训目的】

掌握独占设备的使用方式,以及设备的分配和回收;掌握用死锁避免方法来处理申请独占设备可能带来死锁。

【实训内容】

用死锁避免方法来处理申请独占设备可能造成的死锁,程序实现对银行家算发的模拟。【实训步骤】

1、分析与设计

1.1、银行家算法:

设进程x提出请求Request[y],则银行家算法按如下规则进行判断。

(1)如果Request[y]>Need[x,y],则报错返回。

(2)如果Request[y]>Available,则进程i进入等待资源状态,返回。

(3)假设进程n的申请已获批准,于是修改系统状态:

Available=Available-Request

Allocation=Allocation+Request

Need=Need-Request

(4)系统执行安全性检查,如安全,则分配成立;否则试探险性分配作废,系统恢复原状,

进程等待。

1.2、安全性检查:

(1)设置两个工作向量Work=Available;Finish[z]=False

(2)从进程集合中找到一个满足下述条件的进程,

Finish [x]=False

Need<=Work

如找到,执行(3);否则,执行(4)

(3)设进程获得资源,可顺利执行,直至完成,从而释放资源。

Work=Work+Allocation

Finish=True

GO TO 2

(4)如所有的进程Finish[z]=true,则表示安全;否则系统不安全1.3银行家算法实现流程图,如图4-1所示。

图4-1银行家算法实现流程图

2、程序代码

#include

#include

#include

#define X 5 //总进程数

#define Y 3 //总资源数

//银行家算法定义结构体

struct banker

{

int max[X][Y]; //最大需求矩阵

int allocation[X][Y]; //分配矩阵

int need[X][Y]; //需求矩阵

int available[Y]; //可利用资源向量

};

//初始化

void initilize (banker &x)

{

int i,j;

printf("请输入数据(系统设定总进程数为5,总资源数为3):\n"); printf("最大需求矩阵:\n");

for(i=0;i

{

for(j=0;j

{

scanf("%d",&x.max[i][j]);

}

}

printf("分配矩阵:\n");

for(i=0;i

{

for(j=0;j

{

scanf("%d",&x.allocation[i][j]);

}

}

for(i=0;i

{

for(j=0;j

{

x.need[i][j]=x.max[i][j]-x.allocation[i][j];

}

}

printf("可利用资源向量:\n");

for(i=0;i

{

scanf("%d",&x.available[i]);

}

}

//检查安全性

int safe (banker x)

{

int i,j;

int safeprocess[X]; //安全序列向量

int work[Y]; //空闲资源矩阵

int Finish[X]; //进程完成标志矩阵

for(i=0;i

for(i=0;i

Finish[i]=false;

int k= 0; //安全序列排列号

for(i=0;i

计算机操作系统进程调度实验研究报告

计算机操作系统进程调度实验研究报告

————————————————————————————————作者:————————————————————————————————日期:

操作系统实验题:设计一若干并发进程的进程调度程序 一、实验目的 无论是批处理系统、分时系统还是实时系统,用户进程数一般都大于处理机数,这将导致用户进程互相争夺处理机。这就要求进程调度程序按一定的策略,动态地把处理及分配给处于就绪队列中的某一进程,以使之执行。进程调度是处理机管理的核心内容。本实验要求采用最高优先数优先的调度算法(即把处理机分配给优先数最高的进程)和先来先服务算法编写和调试一个简单的进程调度程序。通过本实验可以加深理解有关进程控制块、进程队列的概念。并体会了优先数和先来先服务调度算法的具体实施办法。 二、实验要求 用高级语言编写和调试一个进程调度程序,以加深对进程的概念及进程调度算法的理解. 三、实验内容 进程调度算法:采用最高优先数优先的调度算法(即把处理机分配给优先数最高的进程)和先来先服务算法(将用户作业和就绪进程按提交顺序或变为就绪状态的先后排成队列,并按照先来先服务的方式进行调度处理)。 每个进程有一个进程控制块(PCB)表示。进程控制块可以包含如下信息:进程名、优先数、到达时间、需要运行时间、已用CPU时间、进程状态等等。 进程的优先数及需要的运行时间可以事先人为地指定(也可以由随机数产生)。进程的到达时间为进程输入的时间。 进程的运行时间以时间片为单位进行计算。 每个进程的状态可以是就绪W(Wait)、运行R(Run)、或完成F(Finish)三种状态之一。 就绪进程获得CPU后都只能运行一个时间片。用已占用CPU时间加1来表示。 如果运行一个时间片后,进程的已占用CPU时间已达到所需要的运行时间,则撤消该进程,如果运行一个时间片后进程的已占用CPU时间还未达所需要的运行时间,也就是进程还需要继续运行,此时应将进程的优先数减1(即降低一级),然后把它插入就绪队列等待CPU。 每进行一次调度程序都打印一次运行进程、就绪队列、以及各个进程的PCB,以便进行检查。重复以上过程,直到所要进程都完成为止。 四、实验算法流程

网络安全实验报告

网络安全实验报告 务书 一、目的与要求根据实验内容的要求和实验安排,要求学生在掌握网络信息安全基本知识的基础上,能够设计出相应的软件,并且熟练地运用各种网络信息安全技术和手段,发现并解决各类安全问题,维护网络及操作系统的安全。 二、主要内容实验一加密认证通信系统实现设计实现一个通信系统,双方可以通过消息和文件通信,用户可选择一种加密算法和认证算法,对消息和文件进行加密通信和完整性验证。(要实现认证和加密,工具和语言不限,可以直接调用现有模块,认证和加密不限)实验二 综合扫描及安全评估利用常见的一些扫描工具可以检测本系统及其它系统是否存在漏洞等安全隐患,给出全面而完善的评估报告,帮助管理员发现存在的问题,进而采取有力措施予以弥补,从而提高系统的安全性能。实验三 网络攻防技术矛与盾的关系告诉我们,在研究网络安全技术时,只着眼于安全防范技术是远远不够的,知己知彼方能百战不殆,因此,很有必要同时研究攻击与防范技术,才能更有效地解决各种威胁。实验四 Windows系统安全配置方案作为网络节点,操作系统安全成为网络信息安全首先应予考虑的事务,然而人们往往忽视了OS的安

全性。其实,OS的安全不只体现在密码口令上,这仅仅是最基本的一个方面。除此之外,服务、端口、共享资源以及各种应用都很有可能存在着安全隐患,因此,应采取相应措施设置完善的本地安全策略,并使用防病毒软件、防火墙软件甚至入侵检测软件来加强系统的安全。其中实验一要求编程实现,可直接调用相关功能函数完成。实验二至实验四可在机房的网络信息安全综合实验系统上完成。 三、进度计划序号设计(实验)内容完成时间备注1接受任务,查阅文献,开始实现密码算法和认证算法第一天2完成加密认证通信系统第二至七天3上午完成综合扫描及安全评估实验,下午进行网络攻防实验第八天4上午完成网络攻防实验,下午进行系统安全配置实验第九天5撰写实验报告并验收第天 四、实验成果要求 1、要求程序能正常运行,并实现任务书要求功能。 2、完成实验报告,要求格式规范,内容具体而翔实,应体现自身所作的工作,注重对设计思路的归纳和对问题解决过程的总结。 五、考核方式平时成绩+程序验收+实验报告。 学生姓名: 指导教师:xx 年6 月13 日实验报告题目: 网络信息安全综合实验院系: 计算机系班级:

计算机操作系统作业2(含答案)

一、选择题 1.在进程的组成部分之中,进程在运行中不可修改的部分是______。 A.私用程序段B.共享程序段 C.数据段D.进程控制块 2.响应比高者优先作业调度算法是以计算时间和______来考虑的。 A.输入时间B.完成时间C.周转时间D.等待时间 3.在消息缓冲通信中,消息队列属于______资源。 A.临界B.共享C.永久D.可剥夺 4.进程间的同步是指进程间在逻辑上的相互______关系。 A.联接B.制约C.继续D.调用 5.最适合于分时系统的进程调度算法是______。 A.先来先服务(FCFS)B.最短作业优先(SSJF) C.优先数法D.轮转法(RR) 6.进程A和进程B通过共享缓冲区协作完成数据处理,进程A负责生产数据并放入缓冲区,进程B从缓冲区中读数据并输出。进程A和进程B之间的关系是______。 A.互斥关系B.同步关系C.互斥和同步D.无制约关系 7.在优先级调度中,______类进程可能被“饿死”,即长时间得不到调度。 A.短进程B.长进程C.低优先级进程D.大内存进程 8.进程从运行状态到阻塞状态可能是由于______。 A.进程调度程序的调度B.现运行进程的时间片耗尽 C.现运行进程执行了wait操作D.现运行进程执行了signal操作 9.银行家算法在解决死锁问题中是用于______的。 A.预防死锁B.避免死锁C.检测死锁D.解除死锁 10.______不是进程调度算法。 A.时间片轮转法B.先来先服务方法 C.响应比高者优先法D.均衡调度算法 11.下面关于线程的叙述中正确的是______。 A.线程包含CPU现场,可以独立执行程序B.每个线程有自己独立的地址空间C.线程之间的通信必须使用系统调用函数D.进程只能包含一个线程 12.并发进程之间______。 A.彼此无关B.必须同步C.必须互斥D.可能需要同步或互斥 13.当一个进程运行时,系统可能基于某种原则强行将其撤下,把处理器分配给其他进程,这种调度方式是______。 A.非剥夺方式B.剥夺方式C.中断方式D.查询方式 14.信号量S不能用于______操作。 A.signal B.wait C.赋初值D.运算表达式 15.______是一种只能进行wait操作和signal操作的特殊变量 A.调度B.进程C.同步D.信号量 16.分配给进程占用处理机的时间到而强迫进程P让出处理器,或有更高优先级的进程要运行,迫使正在运行的进程P让出处理器,则进程P状态变化的情况为______ A.运行态->就绪态B.运行态->等待态 C.就绪态->运行态D.等待态->就绪态 17.下面关于进程的叙述中正确的是______。

计算机操作系统学习总结

计算机操作系统学习总结一填空: 1.操作系统为用户提供三种类型的使用接口,它们是命令方式和系统调用和图形用户界面。 2.进程在执行过程中,因时间片用完将进入就绪状态。 3.在响应比最高者优先的作业调度算法中,当各个作业等待时间相同时,运行时间短的作业将得到优先调度;当各个作业要求运行的时间相同时,等待时间长的作业得到优先调度。 4.当一个进程独占处理器顺序执行时,具有两个特性:封闭性和可再现性。5.程序经编译或汇编以后形成目标程序,其指令的顺序都是以零作为参考地址,这些地址称为逻辑地址。 6.文件的逻辑结构分流式文件和记录式文件二种。 7.进程由程序、数据和进程控制块(PCB)组成。 8.对信号量S的操作只能通过原语操作进行,对应每一个信号量设置了一个等待队列。 9.操作系统是运行在计算机裸机系统上的最基本的系统软件。 10.虚拟设备是指采用SPOOLING技术,将某个独享设备改进为供多个用户使用的的共享设备。 11.在分时系统中,时间片给定,用户数越多,响应时间越长。 12.段式管理中,以段为单位,每段分配一个连续区。由于各段长度不同,所以这些存储区的大小不一,而且同一进程的各段之间不要求连续。 13.逻辑设备表(LUT)的主要功能是实现设备独立性。

14在采用请求分页式存储管理的系统中,地址变换过程可能会因为缺页和越界等原因而产生中断。 的调度分为高级、中级和低级三种,其中低级调度是指进程调度。 17.文件的物理结构分为顺序文件、索引文件和索引顺序文件。 18.所谓设备控制器,是一块能控制一台或多台外围设备与CPU并行工作的硬件。 19.?利用文件目录实现文件共享,文件系统必须设置一个基本文件目录。20分页管理储管理方式能使存储碎片尽可能少,而且使内存利用率较高,管理开销小。20.?计算机操作系统是方便用户、管理和控制计算机软硬件资源的系统软件。 21.?操作系统目前有五大类型:批处理操作系统、分时操作系统、实时操作系统、网络操作系统和分布式操作系统。 22.按文件的逻辑存储结构分,文件分为有结构文件,又称为记录式文件和无结构文件,又称流式文件。 23.航空订票系统属于实时操作系统。 24、在设备管理中,为了克服独占设备速度较慢、降低设备资源利用率的缺点,引入了虚拟分配技术,即用共享设备模拟独占设备。 25、常用的内存管理方法有分区管理、页式管理、段式管理和段页式管理。 26、CPU交替执行系统内核程序和用户程序,这种CPU的不同工作模式称为管态和目态 。 27、在存储管理中常用虚拟存储器方式来摆脱主存容量的限制。 28、在请求页式管理中,当硬件变换机构发现所需的页不在内存时,产生缺页中断信号,中断处理程序作相应的处理。 29、碎片现象的存在使得内存空间利用率降低。

网络安全实验报告

网络安全实验报告 姓名:杨瑞春 班级:自动化86 学号:08045009

实验一:网络命令操作与网络协议分析 一.实验目的: 1.熟悉网络基本命令的操作与功能。 2.熟练使用网络协议分析软件ethereal分析应用协议。 二.实验步骤: 1. 2.协议分析软件:ethereal的主要功能:设置流量过滤条件,分析网络数据包, 流重组功能,协议分析。 三.实验任务: 1.跟踪某一网站如google的路由路径 2.查看本机的MAC地址,ip地址 输入ipconfig /all 找见本地连接. Description . . .. . : SiS 900-Based PCI Fast Ethernet Adapte Physical Address.. . : 00-13-8F-07-3A-57 DHCP Enabled. . .. . : No IP Address. . . .. . : 192.168.1.5

Subnet Mask . . .. . : 255.255.255.0 Default Gateway .. . : 192.168.1.1 DNS Servers . . .. . : 61.128.128.67 192.168.1.1 Default Gateway .. . : 192.168.1.1 这项是网关.也就是路由器IP Physical Address.. . : 00-13-8F-07-3A-57 这项就是MAC地址了.

3.telnet到linux服务器,执行指定的命令

5.nc应用:telnet,绑定程序(cmd,shell等),扫描,连接等。

计算机操作系统作业及答案

作业2 1.若1页大小为4KB,计算机地址总线为32位,则页号共有多少位?逻辑地址 空间最多包含多少页?逻辑地址60000在第几页?页内偏移是多少?若该页被装进物理块1280中,则物理地址是多少? 解:所以页内偏移即页内地址占 12 位页号占 32-12=20 位逻辑地址空间最大页数为页 60000=(EA60)16=(1110 1010 0110 0000)2 其中低 12 二进制位为页内偏移,即(A60)16=2656。高 4 二进制位为页号,即(E)16=14。物理块号1280=(500)16 物理地址=(500A60)16=5245536. 2.假定当前磁头位于100号磁道,进程对磁道的请求序列依次为57,61,39, 20,88,161,139,38,175。当采用先来先服务和最短寻道时间优先算法时,总的移动的磁道数分别是多少?(请给出寻道次序和每步移动磁道数) 解:先来先服务最短寻道时间优先 43 +4+ 22+ 19+ 68+ 73+ 22+ 101 + 137 = 489 12 + 27 + 4 +18 + 1+ 18 + 119 + 22 + 14 = 235 。 3.设系统中有三种类型的资源(A,B,C)和五个进程(P1,P2,P3,P4,P5), A资源的数量17,B资源的数量为5,C资源的数量为20。在T0时刻系统状态如下表所示。系统采用银行家算法来避免死锁。请回答下列问题: (1)T0时刻是否为安全状态?若是,请给出安全序列。 (2)若进程P4请求资源(2,0,1),能否实现资源分配?为什么? (3)在(2)的基础上,若进程P1请求资源(0,2,0),能否实现资源分配?为什么? 进程最大资源需求量已分配资源量系统剩余资源数量 A B C A B C A B C P1559212233 P2536402 P3******* P4425204

实验报告计算机操作系统-Windows.pdf

班级 178 学号姓名 【实验目的】 1. 掌握Windows 7的基本操作; 2. 熟练掌握资源管理器、文件与文件夹的管理方法 3. Windows 7控制面板的使用 【实验内容和步骤】 一.Windows7基本操作和文件管理 完成实践教程第18页中的实验并回答下列问题。 1.如何新建文件或文件夹? 在桌面空白处单击鼠标右键,选择“新建”--“文件夹”,键入新文件夹的名称,然后按 ENTER 键。 2.如何选定多个相邻文件或文件夹?如何选定多个不相邻文件和文件夹?如何选中全部文件和文件夹? 选定多个相邻文件的操作是:单击第一个文件,然后按住Shift 键,再单击最后一个文件 Shift 键,就是Ctrl 键上面那个。 选定多个不相邻文件操作是:单击第一个文件,然后按住Ctrl 键的同时,单击其他待选定的文件 Ctrl 键,就是键盘最左下角那个。 如何选中全部文件和文件夹:ctrl+A 3.试列举对文件/文件夹进行复制和移动的方法? 第一种方法:可以用鼠标右键进行操作。 第二种:可用ctrl+c 进行复制;ctrl+x 进行移动(也就是剪切)ctrl+v进行粘贴 4.如何对已删除的文件进行“还原”?

如果没清空回收站,在回收站里还原就行。 5.如何对按照修改日期搜索文件或文件夹? 我的电脑右键选搜索,打开搜索界面,在搜索选项里按日期,选中并输入日期 6.如何“隐藏”文件/文件夹?如何显示被“隐藏”起来的文件/文件夹图标? 把想隐藏文件的文件夹或文件,打开文件夹属性,隐藏打钩或去掉即可以选择这个文件是否隐藏或显示 打开任意的文件夹的工具选项卡的文件夹选项——查看选项卡——隐藏文件和文件夹上面有2个选择,选择显示隐藏文件夹即可看到隐藏文件 二.Windows7系统设置 完成实践教程第23页中的实验并回答下列问题。 1.如何改变桌面的背景、屏幕的分辨率并设置屏幕保护程序。 开始—控制面板—外观和个性化—个性化,然后进行桌面背景、窗口颜色、屏幕保护调整。 2.如何修改计算机的系统日期和时间。 (1)点开始--运行回车--打开组策略。 (2)在组策略管理器中选择“计算机配置”--windows设置--安全设置--本地策略--用户权利指派--更改系统时间。 (3)双击打开“更新系统时间配置”属性对话框,把里 面用户名全删除,点确定。 (4)重启计算机 3.如何为计算机添加“简体中文双拼”输入法。 可以右击输入法图标,选“设置”,“添加”,找到双拼输入法后单击“确定”就可以使用了。

武汉大学计算机操作系统考试试卷

计算机操作系统精选模拟试题及答案 1.操作系统的发展过程是(C) A、原始操作系统,管理程序,操作系统 B、原始操作系统,操作系统,管理程序 C、管理程序,原始操作系统,操作系统 D、管理程序,操作系统,原始操作系统 2.用户程序中的输入、输出操作实际上是由(B)完成。 A、程序设计语言 B、操作系统 C、编译系统 D、标准库程序 3.进程调度的对象和任务分别是(C)。 A、作业,从就绪队列中按一定的调度策略选择一个进程占用CPU B、进程,从后备作业队列中按调度策略选择一个作业占用CPU C、进程,从就绪队列中按一定的调度策略选择一个进程占用CPU D、作业,从后备作业队列中调度策略选择一个作业占用CPU 4.支持程序浮动的地址转换机制是(A、动态重定位) A、动态重定位 B、段式地址转换 C、页式地址转换 D、静态重定位 5.在可变分区存储管理中,最优适应分配算法要求对空闲区表项按(C)进行排列。 A、地址从大到小 B、地址从小到大 C、尺寸从小到大 D、尺寸从大到小 6.设计批处理多道系统时,首先要考虑的是(系统效率和吞吐量)。 A、灵活性和可适应性 B、系统效率和吞吐量 C、交互性和响应时间 D、实时性和可靠性 7.当进程因时间片用完而让出处理机时,该进程应转变为(B)状态。 A、等待 B、就绪 C、运行 D、完成 8.文件的保密是指防止文件被(C)。 A、篡改 B、破坏 C、窃取 D、删除 9.若系统中有五个并发进程涉及某个相同的变量A,则变量A的相关临界区是由(D)临界区构成。 A、2个 B、3个 C、4个 D、5个 10.按逻辑结构划分,文件主要有两类:(记录式文件)和流式文件。 A、记录式文件 B、网状文件 C、索引文件 D、流式文件 11.UNIX中的文件系统采用(、流式文件)。 A、网状文件 B、记录式文件 C、索引文件 D、流式文件 12.文件系统的主要目的是(A)。 A、实现对文件的按名存取 B、实现虚拟存贮器 C、提高外围设备的输入输出速度 D、用于存贮系统文档 13.文件系统中用( D )管理文件。 A、堆栈结构 B、指针 C、页表 D、目录 14.为了允许不同用户的文件具有相同的文件名,通常在文件系统中采用(B)。 A、重名翻译 B、多级目录 C、约定 D、文件名 15.在多进程的并发系统中,肯定不会因竞争(C)而产生死锁。 A、打印机 B、磁带机 C、CPU D、磁盘 16.一种既有利于短小作业又兼顾到长作业的作业调度算法是(C)。

《网络安全技术项目实训》实习报告

《网络安全技术项目实训》 实习报告

一、实训要求 序号实训任务 1 PGP软件的应用 2 扫描的原理以及扫描工具的使用 3 防火墙的安装和应用 4 数据的备份和恢复GHOST 5 远程控制的原理以及远程控制软件的使用(木马) 二、实训环境 硬件:CPU:Intel E7500 内存:4GB 硬盘:SATA-500GB 显示器:17寸LED 显卡:9500GT U盘:自备软件:WindowsXP、Office2003、PGP、GHOST、远程控制软件 三、实训内容 1. 数据加密软件的使用 (1)PGP软件的功能包括数字签名、消息认证、消息加密、数据压缩、邮件兼容和数据分段。安装时先安装英文版,再安装中文版,重启后使用,可以进行密钥管理、剪贴板信息加解密、当前窗口信息加解密、文件加解密和对磁盘的加密。 (2)加密文件。在桌面新建一个文本文档,右击选择“PGP”中的“加密”,该文档就生成加密后的文件,直接打开后是一些乱码。 (3)导出密钥。打开PGPKeys,在菜单栏中选择“密钥”→“导出”,设置保存位置,即可导出自己的公钥和密钥。

2.DDOS攻击 (1)Sniffer可以监视网络状态、数据流动情况以及网络上传输的信息。先安装英文版再安装中文版,重启后可使用。 (2)打开界面开始捕获数据包,它会以不同形式说明捕获到的信息。 捕获完之后,选择“解码”选项,可看到主机通过协议发送或接受到的信息。 选择“矩阵”选项,可看到主机各协议下的数据连接情况,线越粗代表数据传输越紧密。 选择“主机列表”,可看到主机各协议下发送和接受的数据包情况。

选择“protocol dist.”可查看主机不同协议的分布情况。 (3)X-Scan-v3.3-cn属于漏洞扫描工具,它首先探测存活主机,进行端口扫描,通过对探测相应数据包的分析判断是否存在漏洞。 (4)打开软件,在“设置”中设置参数,开始扫描。 扫描完成后显示检测结果,发现1个漏洞并提出一些警告和提示,并进行分析和提出解决方案。

计算机操作系统习题答案

计算机操作系统习题答 案 Company Document number:WUUT-WUUY-WBBGB-BWYTT-1982GT

第一章操作系统概论 1.单项选择题 ⑴ B; ⑵ B; ⑶ C; ⑷ B; ⑸ C; ⑹ B; ⑺ B;⑻ D;⑼ A;⑽ B; 2.填空题 ⑴操作系统是计算机系统中的一个最基本的系统软件,它管理和控制计算机系统中的各种系统资源; ⑵如果一个操作系统兼有批处理、分时和实时操作系统三者或其中两者的功能,这样的操作系统称为多功能(元)操作系统; ⑶没有配置任何软件的计算机称为裸机; ⑷在主机控制下进行的输入/输出操作称为联机操作; ⑸如果操作系统具有很强交互性,可同时供多个用户使用,系统响应比较及时,则属于分时操作系统类型;如果OS可靠,响应及时但仅有简单的交互能力,则属于实时操作系统类型;如果OS在用户递交作业后,不提供交互能力,它所追求的是计算机资源的高利用率,大吞吐量和作业流程的自动化,则属于批处理操作系统类型; ⑹操作系统的基本特征是:并发、共享、虚拟和不确定性; ⑺实时操作系统按应用的不同分为过程控制和信息处理两种; ⑻在单处理机系统中,多道程序运行的特点是多道、宏观上并行和微观上串行。 第二章进程与线程 1.单项选择题

⑴ B;⑵ B;⑶ A C B D; ⑷ C; ⑸ C; ⑹ D; ⑺ C; ⑻ A; ⑼ C; ⑽ B; ⑾ D; ⑿ A; ⒀ D; ⒁ C; ⒂ A; 2.填空题 ⑴进程的基本状态有执行、就绪和等待(睡眠、阻塞); ⑵进程的基本特征是动态性、并发性、独立性、异步性及结构性; ⑶进程由控制块(PCB)、程序、数据三部分组成,其中PCB是进程存在的唯一标志。而程序部分也可以为其他进程共享; ⑷进程是一个程序对某个数据集的一次执行; ⑸程序并发执行与顺序执行时相比产生了一些新特征,分别是间断性、失去封闭性和不可再现性; ⑹设系统中有n(n>2)个进程,且当前不在执行进程调度程序,试考虑下述4种情况: ①没有运行进程,有2个就绪进程,n个进程处于等待状态; ②有一个运行进程,没有就绪进程,n-1个进程处于等待状态; ③有1个运行进程,有1个等待进程,n-2个进程处于等待状态; ④有1个运行进程,n-1个就绪进程,没有进程处于等待状态; 上述情况中不可能发生的情况是①; ⑺在操作系统中引入线程的主要目的是进一步开发和利用程序内部的并行性; ⑻在一个单处理系统中,若有5个用户进程,且假设当前时刻为用户态,则处于就绪状态的用户进程最多有4个,最少0个;

操作系统实验报告

操作系统实验报告 学院: 专业: 年级: 姓名: 学号: 提交日期:

实验一生产者和消费者问题1、程序流程图 (1)生产流程图 (2)消费流程图

2、源代码 #include #include const unsigned short SIZE_OF_BUFFER = 5; //缓冲区长度 unsigned short ProductID = 0; //产品号 unsigned short ConsumeID = 0; //将被消耗的产品号 unsigned short in = 0; //产品进缓冲区时的缓冲区下标 unsigned short out = 0; //产品出缓冲区时的缓冲区下标 int g_buffer[SIZE_OF_BUFFER]; //缓冲区是个循环队列 bool g_continue = true; //控制程序结束 HANDLE g_hMutex; //用于线程间的互斥 HANDLE g_hFullSemaphore; //当缓冲区满时迫使生产者等待 HANDLE g_hEmptySemaphore; //当缓冲区空时迫使消费者等待 DWORD WINAPI Producer(LPVOID); //生产者线程 DWORD WINAPI Consumer(LPVOID); //消费者线程 int main() { //创建各个互斥信号 g_hMutex = CreateMutex(NULL,FALSE,NULL); g_hFullSemaphore = CreateSemaphore(NULL,SIZE_OF_BUFFER-1,SIZE_OF_BUFFER-1,NULL); g_hEmptySemaphore = CreateSemaphore(NULL,0,SIZE_OF_BUFFER-1,NULL); const unsigned short PRODUCERS_COUNT = 3; //生产者的个数 const unsigned short CONSUMERS_COUNT = 4; //消费者的个数 //总的线程数 const unsigned short THREADS_COUNT = PRODUCERS_COUNT+CONSUMERS_COUNT; HANDLE hThreads[PRODUCERS_COUNT]; DWORD producerID[CONSUMERS_COUNT]; //生产者线程的标识符 DWORD consumerID[THREADS_COUNT]; //消费者线程的标识符 //创建生产者线程 for (int i=0;i

电子科技大学计算机操作系统2010-6-A-OS试卷(含答案)

电子科技大学二零零九至二零一零学年第二学期期末考试操作系统课程考试题 A 卷(120 分钟)考试形式:闭卷考试日期2010 年6 月日 一、单项选择题(共20分,共10题,每题2 分) 1.无结构文件的含义是( C ) A.变长记录的文件B.索引文件 C.流式文件D.索引顺序文件 2.批处理系统的主要缺点是( A ) A.无交互性 B.输入/输出设备利用率低: C.CPU利用率低 D.系统吞吐量小 3.下列选项中,操作系统提供给应用程序的接口是(A) A.系统调用B.中断C.库函数D.原语 4.某页式存储管理系统中,地址寄存器低11位表示页内位移量,则页面大小最多为(C)。 A.1024字节 B.1024K字节 C.2048字节 D.512K字节 5.设与某资源相关联的信号量初值为4,当前值为3,若M表示该资源的可用个数,N表示等待该资源的进程数,则M、N分别是( B ) A.0,1 B.3,0C.1,2 D.2,0 6.适合多道程序运行的存储管理中,存储保护是为了(D〕。 A防止一个作业占用同一个分区 B防止非法访问磁盘文件 C防止非法访问磁带文件D防止各道作业相互干扰 7.请求页式存储管理系统可能出现(A)问题。 A.抖动 B.不能共享 C.外零头 D.动态链接 8.线程是( C ) A. 进程 B.作业 C.调度的基本单位 D.资源拥有的象征 9. 设置当前目录的主要原因是(B)。 A.节省主存空间 B.加快文件查找速度 C. 节省辅存空间 D.便于打开文件 10.分页存储管理要求(B) A.用户程序给出页号 B.地址空间必须连续。 C.磁盘空间必需连续 D.物理空间必须是连续。 10分,共5题,每题2 分)(ABCE )

18王宝鑫网络安全实习报告

实习报告 实习名称: 网络安全实习 专业班级: 网络2013-1 姓名: 王宝鑫 学号: 130330118 指导教师: 鲁晓帆、曹士明 实习时间: 2016.10.31—2016.11.25 吉林建筑大学城建学院 计算机科学与工程系

《网络安全实习》成绩评定表 一、实习目的 通过本次实习,使学生认识了解防火墙、入侵检测、防病毒等技术;认识电子邮件、网页木马

等安全隐患及其防范;掌握利用网络工具对局域网安全检测及扫描分析方法,利用抓包工具,对数据包进行分析的过程;了解网络攻击方法及其防范技术。 二、实习意义 为了培养学生的实际动手操作与实践能力,通过网络工具的使用及数据分析,理论联系实际,增强学生综合运用所学知识解决实际问题。 三、实习内容 3.1 防火墙技术 3.1.1 包过滤技术简介 基于协议特定的标准,路由器在其端口能够区分包和限制包的能力叫包过滤(Packet Filtering)。其技术原理在于加入IP过滤功能的路由器逐一审查包头信息,并根据匹配和规则决定包的前行或被舍弃,以达到拒绝发送可疑的包的目的。过滤路由器具备保护整个网络、高效快速并且透明等优点,同时也有定义复杂、消耗CPU资源、不能彻底防止地址欺骗、涵盖应用协议不全、无法执行特殊的安全策略并且不提供日志等局限性。 3.1.2 NAT技术 NAT(Network Address Translation,网络地址转换)是1994年提出的。当在专用网内部的一些主机本来已经分配到了本地IP地址(即仅在本专用网内使用的专用地址),但现在又想和因特网上的主机通信(并不需要加密)时,可使用NAT方法。 3.1.3 VPN 技术 虚拟专用网络的功能是:在公用网络上建立专用网络,进行加密通讯。在企业网络中有广泛应用。VPN网关通过对数据包的加密和数据包目标地址的转换实现远程访问。VPN有多种分类方式,主要是按协议进行分类。VPN可通过服务器、硬件、软件等多种方式实现。 3.1.4 实验设备及工具 PIX501防火墙一台,CISCO 2950交换机两台,控制线一根,网络连接线若干,PC机若干 3.1.5 实验及分析 外网R4: R4#conf t Enter configuration commands, one per line. End with CNTL/Z. R4(config)#int f0/0 R4(config-if)#ip add 192.168.1.2 255.255.255.0 R4(config-if)#no shut R4(config-if)#exit *Mar 1 00:02:56.059: %LINK-3-UPDOWN: Interface FastEthernet0/0, changed state to up

计算机操作系统作业

一、单项选择题 二、CADCA CADCC CBDBC DDADB DCAD 1.联想存储器在计算机系统中是用于__C____的。 A.存储文件信息B.与主存交换信息 C.内存地址变换D.内存管理信息 2.作业在执行中发生了缺页中断,经操作系统处理后,应该执行的指令是___D___。 A.被中断的前一条B.被中断的后一条 C.作业的第一条D.被中断的指令 在请求分页存储管理中,当指令的执行所需要的内容不在内存中时,发生缺页中断,当缺页调入内存后,应执行被中断指令。另:缺页中断作为中断与其它中断一样要经历如保护CPU环境,分析中断原因,转入缺页中断处理程序进行处理,恢复CPU环境等几个步骤,但缺页中断又是一种特殊的中断,它与一般中断相比,有着明显的区别,主要表现在下面两个方面:(1)缺页中断是在指令执行期间产生和处理中断信号的。(2)一条指令的执行期间,可能产生多次缺页中断。 3.实现虚拟存储器的目的是__D____。 A.实现存储保护B.实现程序浮动 C.扩充外存容量D.扩充内存容量 4.在段页式存储系统中,一个作业对应___C__。 A.多个段表B.一个段表,一个页表 C.一个段表,多个页表D.多个段表,多个页表 5.在虚拟页式存储管理方案中,完成将页面调入内存的工作的是___A___。 A.缺页中断处理B.页面淘汰过程C.工作集模型应用D.紧缩技术利用 6.采用分页式内存管理时,重定位的工作是由___C___完成的。 A.操作系统B.用户C.地址转换机构D.内存空间分配程序 7.在分页式内存管理系统中可能出现的问题是__B____。 A.颠簸B.不能共享C.外部碎片D.动态链接 8.在下列有关分页式内存管理的叙述中正确的是___D___。 A.程序和数据是在开始执行前一次性和装入的 B.产生缺页中断一定要淘汰一个页面 C.一个被淘汰的页面一定要写回外存 D.在页面中有“访问位”和“修改位”等消息 9. 在可变式分配方案中,最佳适应算法是将空白区在空白区表中按___C___次序排列。 A.地址递增B.地址递减C.容量递增D.容量递减 10. 在可变分区分配方案中,将空白分区按地址递增次序排列是要采用___C___。 A.最佳适应算法B.最差适应算法 C.首次适应算法D.最迟适应算法

计算机操作系统 实验报告

操作系统实验报告 学院:计算机与通信工程学院 专业:计算机科学与技术 班级: 学号: 姓名: 指导教师: 成绩: 2014年 1 月 1 日

实验一线程的状态和转换(5分) 1 实验目的和要求 目的:熟悉线程的状态及其转换,理解线程状态转换与线程调度的关系。 要求: (1)跟踪调试EOS线程在各种状态间的转换过程,分析EOS中线程状态及其转换的相关源代码; (2)修改EOS的源代码,为线程增加挂起状态。 2 完成的实验内容 2.1 EOS线程状态转换过程的跟踪与源代码分析 (分析EOS中线程状态及其转换的核心源代码,说明EOS定义的线程状态以及状态转换的实现方法;给出在本部分实验过程中完成的主要工作,包括调试、跟踪与思考等) 1.EOS 准备了一个控制台命令“loop ”,这个命令的命令函数是 ke/sysproc.c 文件中的ConsoleCmdLoop 函数(第797行,在此函数中使用 LoopThreadFunction 函数(第755 行)创建了一个优先级为 8 的线程(后面简称为“loop 线程”),该线程会在控制台中不停的(死循环)输出该线程的ID和执行计数,执行计数会不停的增长以表示该线程在不停的运行。loop命令执行的效果可以参见下图: 2. 线程由阻塞状态进入就绪状态 (1)在虚拟机窗口中按下一次空格键。 (2)此时EOS会在PspUnwaitThread函数中的断点处中断。在“调试”菜单中选择“快速监视”,在快速监视对话框的表达式编辑框中输入表达式“*Thread”,然后点击“重新计算”按钮,即可查看线程控制块(TCB)中的信息。其中State域的值为3(Waiting),双向链表项StateListEntry的Next和Prev指针的值都不为0,说明这个线程还处于阻塞状态,并在某个同步对象的等待队列中;StartAddr域的值为IopConsoleDispatchThread,说明这个线程就是控制台派遣线程。 (3)关闭快速监视对话框,激活“调用堆栈”窗口。根据当前的调用堆栈,可以看到是由键盘中断服务程序(KdbIsr)进入的。当按下空格键后,就会发生键盘中断,从而触发键盘中断服务程序。在该服务程序的最后中会唤醒控制台派遣线程,将键盘事件派遣到活动的控制台。 (4)在“调用堆栈”窗口中双击PspWakeThread函数对应的堆栈项。可以看到在此函数中连续调用了PspUnwaitThread函数和PspReadyThread函数,从而使处于阻塞状态的控制台派遣线程进入就绪状态。 (5)在“调用堆栈”窗口中双击PspUnwaitThread函数对应的堆栈项,先来看看此函数是如何改变线程状态的。按F10单步调试直到此函数的最后,然后再从快速监视对

计算机网络安全实训报告

网络信息安全实训 吴东华编

“计算机网络信息安全实训”是高等教育自学考试计算机网络专业(独立本科段)考试计划规定必考的一门实践课程。本课程的目的主要是帮助学生掌握计算机网络安全技术的基本原理,网络安全管理的方法和常用网络安全工具软件的使用方法,增强学生解决实际问题的能力。本课程要在“计算机网络原理”、“网络操作系统”、“计算机网络管理”、“网络工程”、“互联网及其应用”、“计算机网络安全”课程之后开设。

实训一古典加密算法 (1) 实训二 PGP、GnnPG加密软件 (2) 实训三杀毒软件的使用 (3) 实训四个人防火墙配置 (4) 实训五常用网络服务与网络命令 (5) 实训六抓包软件 (6) 实训七端口扫描软件nmap (7) 实训八入侵检测软件Snort (8) 实训九网络安全检测评估系统—Internet Scanner 、Nessus (9) 实训十 Windows安全模板配置 (10) 实训十一数据恢复技术 (11) 实训十二系统测试软件Sandra和优化大师 (12) 参考文献 (13)

实训一古典加密算法 一、实训目的 古典数据加密的工作原理。 二、实训环境 一台安装有Windows 9X或Windows 2000/XP/NT的计算机。 三、实训内容 用一种高级语言编写程序实现对某一文件内容用恺撒加密(或维吉尼亚加密)法进行加密,然后用解密程序进行解密。 四、实训步骤 1、用一种高级语言编写程序实现对某一文件内容用恺撒加密(或维吉尼亚加密)法进行加密。 2、用解密程序对密文进行解密。 五、实训效果检测 上交加密程序、解密程序、原文(.txt文档)

计算机操作系统习题及答案()

第3章处理机调度1)选择题 (1)在分时操作系统中,进程调度经常采用_D_ 算法。 A. 先来先服务 B. 最高优先权 C. 随机 D. 时间片轮转 (2)_B__ 优先权是在创建进程时确定的,确定之后在整个进程运行期间不再改变。 A. 作业 B. 静态 C. 动态 D. 资源 (3)__A___ 是作业存在的惟一标志。 A. 作业控制块 B. 作业名 C. 进程控制块 D. 进程名 (4)设有四个作业同时到达,每个作业的执行时间均为2小时,它们在一台处理器上按单道方式运行,则平均周转时间为_ B_ 。 A. l小时 B. 5小时 C. 2.5小时 D. 8小时 (5)现有3个同时到达的作业J1、J2和J3,它们的执行时间分别是T1、T2和T3,且T1<T2<T3。系统按单道方式运行且采用短作业优先算法,则平均周转时间是_C_ 。 A. T1+T2+T3 B. (T1+T2+T3)/3 C. (3T1+2T2+T3)/3 D. (T1+2T2+3T3)/3 (6)__D__ 是指从作业提交给系统到作业完成的时间间隔。 A. 运行时间 B. 响应时间 C. 等待时间 D. 周转时间 (7)下述作业调度算法中,_ C_调度算法与作业的估计运行时间有关。 A. 先来先服务 B. 多级队列 C. 短作业优先 D. 时间片轮转 2)填空题 (1)进程的调度方式有两种,一种是抢占(剥夺)式,另一种是非抢占(非剥夺)式。 (2)在_FCFS_ 调度算法中,按照进程进入就绪队列的先后次序来分配处理机。 (3)采用时间片轮转法时,时间片过大,就会使轮转法转化为FCFS_ 调度算法。 (4)一个作业可以分成若干顺序处理的加工步骤,每个加工步骤称为一个_作业步_ 。 (5)作业生存期共经历四个状态,它们是提交、后备、运行和完成。 (6)既考虑作业等待时间,又考虑作业执行时间的调度算法是_高响应比优先____ 。 3)解答题 (1)单道批处理系统中有4个作业,其有关情况如表3-9所示。在采用响应比高者优先调度算法时分别计算其平均周转时间T和平均带权周转时间W。(运行时间为小时,按十进制计算) 表3-9 作业的提交时间和运行时间

南京邮电大学计算机操作系统试题

计算机操作系统试题 一填空: 2.主存储器与外围设备之间的数据传送控制方式有程序直接控制、中断驱动方式、DMA方式和通道控制方式。 4.当一个进程独占处理器顺序执行时,具有两个特性:封闭性和可再现性。 5.程序经编译或汇编以后形成目标程序,其指令的顺序都是以零作为参考地址,这些地址称为逻辑地址。 7.进程由程度、数据和FCB组成。 8.对信号量S的操作只能通过原语操作进行,对应每一个信号量设置了一个等待队列。 21.操作系统目前有五大类型:批处理操作系统、分时操作系统、实时操作系统、网络操作系统和分布式操作系统。 24、在设备管理中,为了克服独占设备速度较慢、降低设备资源利用率的缺点,引入了虚拟分配技术,即用共享设备模拟独占设备。 25、常用的内存管理方法有分区管理、页式管理、段式管理和段页式管理。 26、动态存储分配时,要靠硬件地址变换机构实现重定位。 27、在存储管理中常用虚拟存储器方式来摆脱主存容量的限制。 35. 在操作系统中,进程是一个资源分配的基本单位,也是一个独立运行和调度 的基本单位。 36. 在信号量机制中,信号量S > 0时的值表示可用资源数目;若S < 0,则表示等待该资源的进程数,此时进程应阻塞。 37. 操作系统提供给编程人员的唯一接口是系统调用。 38. 设备从资源分配角度可分为独占设备,共享设备和虚拟设备。 42. 地址变换机构的基本任务是将虚地址空间中的逻辑地址变换为内存中的物理地址。44.现代操作系统的两个重要特征是并发和共享。 47. 操作系统的基本类型有批处理操作系统,分时操作系统和实时操作系统三种。58.在分时系统中,当用户数目为100时,为保证响应时间不超过2秒,此时时间片最大应为20ms。分时系统采用的调度方法是时间片轮转调度算法。 66.使用缓冲区能有效地缓和I/O设备和CPU之间速度不匹配的矛盾。 71.计算机操作系统是方便用户、管理和控制计算机系统资源的系统软件。 90.在一个请求分页系统中,假如系统分配给一个作业的物理块数为3,且此作业的页面走向为2,3,2,1,5,2,4,5,3,2,5,2。OTP算法的页面置换次数为3 ,LRU算法的页面置换次数为4,CLOCK算法的页面置换次数为5 。 108. 现代操作系统的特征是并发、共享、虚拟和异步性。 109.产生死锁的四个必要条件是互斥条件和请求和保持,不剥夺条件和环路条件。 110.操作系统的五大功能是CPU管理、存储管理、设备管理、文件系统和用户接口。112.文件系统的基本任务是实现按名存取。 119.一次只允许一个进程访问的资源叫临界资源。 120.在操作系统中进程是一个拥有资源的单位,也是一个调度和执行的基本单位。 二、单选题 1.()不是基本的操作系统。

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