本文目录一览:
操作系统课程实验题目!
class ThreadTest
{
public static void main(String[] args)
{
box b=new box();
Get g=new Get(b);
Put p=new Put(b);
p.start();
g.start();
}
}
class Put extends Thread
{
box b;
Put(box b)
{
this.b=b;
}
public void run()
{
for(int i=1;i10;i++)
{
System.out.println("Put into :"+i);
b.put(i);
}
}
}
class Get extends Thread
{
box b;
Get(box b)
{
this.b=b;
}
public void run()
{
while(true)
{
System.out.println("Get : "+b.get());
}
}
}
class box
{
int[] value=new int[1];
boolean bfull=false;
public synchronized void put(int i)
{
if(!bfull)
{
value[0]=i;
bfull=true;
notify();
}
try
{
wait();
}
catch(Exception e)
{
e.printStackTrace();
}
}
public synchronized int get()
{
if(!bfull)
{
notify();
try
{
wait();
}
catch(Exception e)
{
e.printStackTrace();
}
}
bfull=false;
return value[0];
}
}
操作系统:实验三 进程的死锁与饥饿实验报告
实验三 进程的死锁与饥饿实验报告
一、单项选择题(共5题,每题10分,共50分)
1、采用资源剥夺法可以解除死锁,还可以采用_B___方法解除死锁。
A.执行并行操作 B.撤销进程
C.拒绝分配新资源 D.修改信号量
2、产生死锁的四个必要条件是:互斥、_B___、循环等待、不剥夺。
A. 请求与阻塞 B.请求与保持
C.请求与释放 D.释放与阻塞
3、银行家算法在解决死锁问题中是用于_B___的。
A. 预防死锁 B.避免死锁 C. 检测死锁 D.解除死锁
4、在下列解决死锁的方法中,属于死锁预防策略的是__B__。 A.银行家算法 B.资源有序分配法
C.死锁检测法 D.资源分配图化简法
5、某系统中有3个并发进程,都需要同类资源4个,试问该系统不会发生死锁的最少资源数是_B___。
A.9 B.10 C.11 D.12
二、填空题(共4题,每题5分,共20分)
1、在有M个进程的系统中出现死锁时,死锁进程的个数K应该满足的条件是_2=k=m___。
2、死锁产生的4个必要条件是:互斥条件、_请求和保持条件___、_不剥夺条件___和_环路等待条件___。
3、产生死锁的根本原因是_可共享资源不足___,另一个基本原因是_进程的推进顺序不当___。
4、银行间算法中,当一个进程提出的资源请求将导致系统从_安全状态___进入_不安全状态___时,系统就拒绝它的资源请求
三、 简答题(共2题,每题15分,共30分) 1、按序分配是预防死锁的一种策略。什么是按序分配?为什么按序分配可以预防死锁?
按序分配是将系统中所有资源按类型进行 线性排队,并赋予不同的编号,规定所有进程对资源的请求必须严格按照资源序号递增的次序提出。 按序分配可破坏产生死锁的四个必要条件中的“循环等待条件”
2、产生死锁的必要条件是什么?解决死锁问题常采用哪几种措施?
必要条件:互斥条件、部分分配条件、剥夺条件、环路条件。
解决死锁问题采用的措施:
(1)撤销进程法:采用撤销进程法时,可用两种形式来撤销进程。一种是撤销所有卷入死锁的进程。另一种是一次撤销一个进程直到死锁消失。
求课程实验报告
程序给你2个, 分别是 时间片轮转调度算法模拟程序和 先来先服务模拟程序, 实验报告你还是要自己写的~
//时间片轮转调度算法模拟程序
#includestdio.h
#includestring.h
#includeiostream.h
typedef struct node
{
char name[10];
int prio;
int round;
int cputime;
int needtime;
int count;
char state;
struct node*next;
}PCB;
PCB*finish,*ready,*tail,*run;
int N;
void firstin()
{
run=ready;
run-state='R';
ready=ready-next;
}
void prt1()
{
cout"name cputtime needtime round stat"endl;
}
void prt2(PCB*q)
{
coutq-name" "q-cputime" "q-needtime" "q-round" "q-stateendl;
}
void prt()
{
PCB*p;
prt1();
if(run!=NULL)
prt2(run);
p=ready;
while(p!=NULL)
{
prt2(p);
p=p-next;
}
p=finish;
while(p!=NULL)
{
prt2(p);
p=p-next;
}
getchar();
}
void insert(PCB*q)
{
PCB*p1,*s,*r;
s=q;
p1=ready;
r=p1;
while(p1!=NULL)
if(p1-round=s-round)
{
r=p1;
p1=p1-next;
}
if(r!=p1)
{
r-next=s;
s-next=p1;
}
else
{
s-next=p1;
ready=s;
}
}
void create()
{
PCB*p;
int i,time;
char na[10];
ready=NULL;
finish=NULL;
run=NULL;
cout"请输入进程名及其需要运行的时间:"endl;
for(i=1;i=N;i++)
{
p=new PCB;
cinna;
cintime;
strcpy(p-name,na);
p-cputime=0;
p-needtime=time;
p-state='W';
p-round=0;
if(ready!=NULL)
insert(p);
else
{
p-next=ready;
ready=p;
}
cout"输入进程名及其需要运行的时间:"endl;
}
prt();
run=ready;
ready=ready-next;
run-state='R';
}
void timeslicecycle()
{
while(run!=NULL)
{
run-cputime=run-cputime+8;
run-needtime=run-needtime-8;
run-round=run-round+8;
if(run-needtime=0)
{
run-next=finish;
finish=run;
run-state='F';
run=NULL;
if(ready!=NULL)
firstin();
}
else
{
run-state='W';
insert(run);
firstin();
}
prt();
}
}
void main()
{
cout"输入进程个数:";
cinN;
create();
timeslicecycle();
}
操作系统实验
1、 查看进程管理器,说明按照名字序号前5个进程的主要用途和功能。每个人机器运行的程序不一样,怎么给你解答??????
2、 设置默认打印机为Microsoft Office Document Image Writer,并设置优先级别为2级: 不会太高难了,用了10年电脑,没听说打印机还可以设置优先级别.
3、 修改windows启动选项,将其中的前三个自动启动的选项去掉。 :开始 → 运行 → 输入msconfig,到启动页,去掉三个程序的挑,确定,重启.??你要是不足三个咋办?????
4、 修改windows服务选项,将windows的远程用户修改注册表的服务设置成禁止。 :打开控制面板 → 管理工具 → 服务 → 找到"Remote Registry",双击,启动类型设置为禁用.
5、 修改windows的磁盘管理并设定配额选项。 :磁盘格式必须是NTFS才行,右键点击盘符,就有配额.
6、 更改windows的脚本程序默认空间为root\apsnet。;机器没有安装脚本解释器,谁安了给你答案吧。
7、 修改windows的虚拟内存交换空间为1024M。 :右键我的电脑 → 属性 → 高级 → 性能的设置 → 高级 → 更改 → 大小设置都为1024M。
8、 修改windows使得windows启动时,显示操作系统列表时间为5秒,并写出启动文件的具体内容。 :右键我的电脑 → 属性 → 高级 → 启动和故障恢复的设置 → 显示列表时间 设为5, → 点击编辑 → 列出具体内容,一般是:
[boot loader]
timeout=3
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect
9、 查看windows本地安全策略,并修改为定期强制修改密码。写出本地安全策略的审核的内容。 :开始 → 运行 → 输入gpedit.msc → 计算机设置 → Windows设置 → 安全设置 → 账户策略 → 密码策略 → 密码最长存留期设置为需要的天数即可。
10、 获得此计算机网卡的网络配置及mac地址。 :开始 → 运行 → 输入cmd回车 → 输入ipconfig /all回车即是。
11、 在D盘新建一个文件夹,以自己的拼音缩写命名,并利用命令将其映射为I盘。 :例如为aaa,命令:subst I: c:\aaa。即将c:\aaa映射为I盘。
12、 查看系统所有组件配置。包括驱动程序,装载的所有程序,windows组件,硬件组件的IRQ等。 :Windows徽标+break快捷键 → 设备管理器 → 其中即是。
13、 查看windows的版本及注册信息。 :开始 → 运行 → 输入winver回车
14、 利用windows自带的聊天工具,进行局域网内的聊天,并写出详细步骤。 首先启动服务中的Messager服务,Sp2以后版本默认为禁止的,将其设为自动,
然后要发消息就开始 → 运行 → 输入net send 对方IP地址 信息内容。回车即可
15、 利用命令查看windows进程中每个进程所提供的服务。
命令:tasklist /SVC
你这10分真不好赚阿!@#@!%#×!!!!学习可不要这么懒哦
发布于 2022-07-10 08:37:36 回复
发布于 2022-07-10 00:38:35 回复
发布于 2022-07-09 21:14:20 回复
发布于 2022-07-10 07:38:56 回复