操作系统原理实验报告

[键入文字]

操作系统原理

实验报告

学院:

专业:

班级:

学号:

姓名:

2011-2012学年第2学期

目录

实验1 进程管理 (2)

实验2 进程通信 (9)

实验3 存储管理 (15)

实验4 文件系统 (24)

实验1 进程管理

一、实验目的

1. 弄清进程和程序的区别,加深对进程概念的理解。

2. 了解并发进程的执行过程,进一步认识并发执行的实质。

3. 掌握解决进程互斥使用资源的方法。

二、实验内容

1. 管道通信

使用系统调用pipe( )建立一个管道,然后使用系统调用fork( )创建2个子进程p1和p2。这2个子进程分别向管道中写入字符串:“Child process p1 is sending message!”和“Child process p2 is sending message!”,而父进程则从管道中读出来自两个子进程的信息,并显示在屏幕上。

2. 软中断通信

使用系统调用fork( )创建2个子进程p1和p2,在父进程中使用系统调用signal( )捕捉来自键盘上的软中断信号SIGINT(即按Ctrl-C),当捕捉到软中断信号SIGINT后,父进程使用系统调用kill( )分别向2个子进程发出软中断信号SIGUSR1和SIGUSR2,子进程捕捉到信号后分别输出信息“Child process p1 is killed by parent!”和“Child process p2 is killed by parent!”后终止。而父进程等待2个子进程终止后,输出信息“Parent process is killed!”后终止。

三、实验要求

1. 根据实验内容编写C程序。

2. 上机调试程序。

3. 记录并分析程序运行结果。

四、程序说明和程序流程图

实验1管道通信——所涉及的流程图:

实验2软中断信号——所涉及的流程图:

五、程序代码

/*expe1_1.c*/

#include

void main( )

{

int i, r, p1, p2, fd[2];

char buf[50], s[50];

pipe(fd); /* 父进程建立管道*/

while ((p1=fork())==-1); /* 创建子进程P1,失败时循环*/ if (p1==0) /* 由子进程P1返回,执行子进程P1 */

{

lockf(fd[1], 1, 0); /* 加锁锁定写入端*/

sprintf(buf, "Child process P1 is sending messages! \n");

printf("Child process P1! \n");

write(fd[1], buf, 50); /* 把buf中的50个字符写入管道*/ sleep(5); /* 睡眠5秒,让父进程读*/

lockf(fd[1], 0, 0); /* 释放管道写入端*/

exit(0); /* 关闭P1*/

}

else /* 从父进程返回,执行父进程*/

{

while ((p2=fork())==-1); /* 创建子进程P2,失败时循环*/ if (p2==0) /* 从子进程P2返回,执行子进程P2 */ {

lockf(fd[1], 1, 0); /* 锁定写入端*/

sprintf(buf, "Child process P2 is sending messages! \n");

printf("Child process P2! \n");

write(fd[1], buf, 50); /* 把buf中的字符写入管道*/

sleep(5); /* 睡眠5秒,让父进程读*/

lockf(fd[1], 0, 0); /* 释放管道写入端*/

exit(0); /* 关闭P2*/

}

wait(0);

if ((r=read(fd[0], s, 50))== -1)

printf("cannot read pipe! \n");

else printf("%s", s);

wait(0);

if ((r=read(fd[0], s, 50))== -1)

printf("cannot read pipe! \n");

else printf("%s", s);

exit(0);

}

}

/*exp1-2.c*/

#include

#include

#include

int p1,p2;

void main()

{

void ppdo();

void p1do();

void p2do();

signal(SIGINT,ppdo);

p1=fork();

if(p1==0)

{

signal(SIGUSR1,p1do);

for(;;);

}

else {

p2=fork();

if(p2==0) {

signal(SIGUSR2,p2do);

for(;;);

}

}

wait(0);

wait(0);

printf("\nParent process is killed!\n");

exit(0);

}

void ppdo()

{

kill(p1,SIGUSR1);

kill(p2,SIGUSR2);

}

void p1do()

{

printf("\nChild process p1 is killed by parent!\n"); exit(0);

}

void p2do()

{

printf("\nChild process p2 is killed by parent!\n"); exit(0);

}

六、程序运行结果及分析

实验1管道通信运行结果截图

实验1管道通信结果分析

父进程建立后,创建了子进程P1,P2,然后P1,P2分别向管道中写入字符串“Child process p1 is sending message!”和“Child process p2 is sending message!”,父进程从管道中读取字符串。

实验2软中断通信运行结果截图

实验2软中断通信结果分析

先预设中断信号SIGINT,再先后创建子进程P1和P2,预设中断信号SIGUSR1,SIGUER2,当我们按下“Ctrl+C”时,父进程发出中断信号SIGUSR1和SIGUSR2,通知子进程P1和P2,子进程捕捉到信号后分别输出相应的信息后,终止,最后输出“Parent process is killed!”后终止。

实验后思考:

通过这次实验,深刻地了解到了管道通信和软中断通信的详细过程,深化了老师课堂上的讲解,对整个过程的把握也更加清晰了。

很值得的一次学习经历,做完实验,再画流程图,程序运行的细节熟悉于心,了如指掌。七.指导教师评议

成绩等级

实验2 进程通信

一、实验目的

1. 了解进程间通信IPC的三种方式:消息队列、共享内存和信号量。

2. 掌握使用消息队列进行进程间通信的有关系统调用和编程方法。

3. 掌握使用共享内存进行进程间通信的有关系统调用和编程方法。

二、实验内容

1. 消息队列

使用系统调用msgget( )、msgsnd( )、msgrcv( )和msgctl( ),用消息队列机制实现客户进程和服务器进程间的通信。客户进程首先建立一个描述符为msgqid的消息队列,接着向服务器进程发送一个消息正文为自己的进程标识pid且类型为1的消息,然后接收来自服务器进程的消息,并在屏幕上显示:“Client receives a message from xxxx!”,其中“xxxx”为服务器进程的进程标识。服务器进程首先捕捉软中断信号(除不能捕捉的SIGKILL),若捕捉到时则调用函数cleanup( )删除消息队列,终止服务器进程。否则重复下列操作:接收所有类型为1的消息,并在屏幕上显示:“Server receives a message from xxxx!”,其中“xxxx”为客户进程的进程标识;然后服务器进程将客户进程的进程标识作为返回消息的类型,而将自己的进程标识作为消息正文发送给客户进程。

2. 共享内存

使用系统调用shmget( )、shmat( )和shmctl( ),用共享内存机制实现进程间的通信。其中一个进程向共享内存中写入数据,另一个进程从共享内存中读出数据并显示在屏幕上。

三、实验要求

1. 根据实验内容编写C程序。

2. 上机调试程序。

3. 记录并分析程序运行结果。

四、程序说明和程序流程图

实验1消息队列流程图

五、程序代码

实验1消息队列

/* msg_client.c */

#include

#include

#include

#define MSGKEY 75

struct msgform

{

long mtype;

char mtext[256];

}

main()

{

struct msgform msg;

int msgqid,pid,*pint; /* 文件主同组用户其他用户rwxrwxrwx */ msgqid=msgget(MSGKEY,0777); /* rw-rw-rw- */

pid=getpid();

pint=(int*)msg.mtext;

*pint=pid;

msg.mtype=1;

msgsnd(msgqid,&msg,sizeof(int),0);

msgrcv(msgqid,&msg,256,pid,0);

printf("client: receive from pid %d\n",*pint);

}

/* msg_server.c */

#include

#include

#include

#define MSGKEY 75

struct msgform

{ long mtype;

char mtext[256];}msg;

int msgqid;

main()

{

int i,pid,*pint;

extern cleanup();

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

signal(i,cleanup);

msgqid=msgget(MSGKEY, 0777|IPC_CREAT);

for (;;)

{ msgrcv(msgqid,&msg, 256,1,0);

pint=(int*)msg.mtext;

pid=*pint;

printf("server: receive from pid %d\n",pid);

msg.mtype=pid;

*pint=getpid();

msgsnd(msgqid,&msg,

sizeof(int),0);}}

cleanup()

{

msgctl(msgqid,IPC_RMID,0);

exit(0);

}

实验2共享内存

#include

#include

#include

#define SHMKEY 75

#define K 1024

int shmid;

main()

{

int i, * pint;

char * addr;

extern char * shmat();

shmid = shmget(SHMKEY, 8 * K, 0777);

addr = shmat (shmid,0,0);

pint = (int *)addr;

while ( * pint==0 )

for (i=0; i<256; *pint++)

printf("%d\n", *pint++);

}

#include

#include

#include

#define SHMKEY 75

#define K 1024

int shmid;

main()

{

int i, * pint;

char * addr;

extern char * shmat();

extern cleanup();

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

sinal (i, cleanup);

shmid = shmget (SHMKEY, 16 * K, 0777|IPC_CREAT); addr = shmat (shmid,0,0);

printf("addr 0x%x \n", addr);

pint = (int *)addr;

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

*pint++ =i;

pint = (int *)addr;

*pint = 256;

pause();

}

cleanup()

{

shmctl (shmid, IPC_RMID, 0);

exit(0);

}

六、程序运行结果及分析

实验1消息队列运行结果截图

客户端:

服务器端:

实验1消息队列结果分析

服务端程序监听软中断,建立消息队列,循环在队列中接收类型为1的消息,每接收一个消息向队列中增加一个类型为客户进程ID的消息。当发生软中断时,删除消息队列。

客户端进程创建和服务端相同的消息队列,并向消息队列中发送类型为1的消息,然后接收类型为客户进程ID的消息。

实验后思考:

对消息队列的运行情况有所了解,但关于内存共享部分尚需仔细研究。

七.指导教师评议

成绩等级

实验3 存储管理

一、实验目的

1. 了解虚拟存储管理技术的原理与特点。

2. 掌握请求页式存储管理的页面置换算法。

二、实验内容

1. 通过随机数产生一个指令序列,共320条指令。指令的地址按下述原则生成:

(1) 50%的指令是顺序执行的;

(2) 25%的指令均匀分布在前地址部分;

(3) 25%的指令均匀分布在后地址部分。

实现方法:

(1) 在[0,319]的指令地址中随机选取一起点s;

(2) 执行指令s;

(3) 顺序执行一条指令,即执行地址为s+1的指令;

(4) 在前地址[0,s]中随机选取一条地址为m的指令执行;

(5) 顺序执行一条指令,即执行地址为m+1的指令;

(6) 在后地址[m+2,319]中随机选取一条指令s;

(7) 重复(2)—(6),直到执行320次指令。

2. 将指令序列变换为页地址流,设:

(1) 页面大小为1K;

(2) 用户内存容量为4—32页面(page frame);

(3) 用户虚存容量为32K(即32页)。

若10条指令为1页,则320条指令在虚存中的存放方式为:

第0页(虚存地址[0,9])——第0条~第9条指令;

第1页(虚存地址[10,19])——第10条~第19条指令;

? ? ? ? ? ?

第31页(虚存地址[310,319])——第310条~第319条指令。

3. 计算并输出下列算法在不同内存容量下的命中率(命中率=1-缺页率)。

(1) FIFO——First In First Out Page Replacement Algorithm

(2) LRU——Least Recently Used Page Replacement Algorithm

三、实验要求

1. 根据实验内容编写C程序。

2. 上机调试程序。

3. 记录并分析程序运行结果。

四、程序说明和程序流程图

程序说明为:

1. 通过随机数产生一个指令序列,共320条指令。指令的地址按下述原则生成:

(1) 50%的指令是顺序执行的;

(2) 25%的指令均匀分布在前地址部分;

(3) 25%的指令均匀分布在后地址部分。

实现方法:

(1) 在[0,319]的指令地址中随机选取一起点s;

(2) 执行指令s;

(3) 顺序执行一条指令,即执行地址为s+1的指令;

(4) 在前地址[0,s]中随机选取一条地址为m的指令执行;

(5) 顺序执行一条指令,即执行地址为m+1的指令;

(6) 在后地址[m+2,319]中随机选取一条指令s;

(7) 重复(2)—(6),直到执行320次指令。

2. 将指令序列变换为页地址流,设:

(1) 页面大小为1K;

(2) 用户内存容量为4—32页面(page frame);

(3) 用户虚存容量为32K(即32页)。

若10条指令为1页,则320条指令在虚存中的存放方式为:

第0页(虚存地址[0,9])——第0条~第9条指令;

第1页(虚存地址[10,19])——第10条~第19条指令;

? ? ? ? ? ?

第31页(虚存地址[310,319])——第310条~第319条指令。

3. 计算并输出下列算法在不同内存容量下的命中率(命中率=1-缺页率)。

(1) FIFO——First In First Out Page Replacement Algorithm

(2) LRU——Least Recently Used Page Replacement Algorithm

流程图:

五、程序代码

#include

#include

// #include /* Windows环境,getpid()原型在process.h中*/ #define TRUE 1

#define FALSE 0

#define INV ALID -1

#define NULL 0

#define total_instruction 320 /* 指令条数*/

#define total_vp 32 /* 虚页数*/

#define clear_period 50 /* NRU清0周期*/

typedef struct { /* 页表结构*/

int pn,pfn,counter,time; /* counter(LFU),time(LRU) */

} pl_type;

pl_type pl[total_vp]; /*页表*/

struct pfc_struct { /* 存储页面表*/

int pn,pfn;

struct pfc_struct *next;

};

typedef struct pfc_struct pfc_type;

pfc_type pfc[total_vp],*freepf_head,*busypf_head,*busypf_tail;

int diseffect,a[total_instruction]; /* 缺页次数,指令流*/

int page[total_instruction],offset[total_instruction];

void initialize(int);

void fifo(int);

void lru(int);

void opt(int);

void lfu(int);

void nur(int);

void main()

{

int s,i,j;

srand(getpid()*10); /* 进程标识作为随机数种子*/

夏考操作系统原理离线作业

2013年夏考操作系统原理离线作业 浙江大学远程教育学院 《操作系统原理》课程作业 第一次(第1、2章) 应用题 1.桌上有一个空盒,盒内只允许放一个水果。妈妈轮流向盒内放桔子和苹果,儿子专等吃盒中的桔子,女儿专等吃盒中的苹果。若盒内已有水果,放者必须等待,若盒内没有自己吃的水果,吃者必需等待。试在下述类PASCAL程序中虚线位置分别填上信号量、信号量初值和P、V操作实现三个进程正确的并发执行。 var (信号量)﹎﹎﹎﹎﹎﹎S , S1 , S2﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎:semaphore:= (信号量初值) ﹎﹎﹎﹎﹎﹎1 , 0 , 0﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎; begin parbegin 妈:begin repeat 準備 ﹎﹎P (S )﹎﹎ 向盒内放桔子 ﹎﹎V (S1 )﹎﹎﹎ 準備 ﹎﹎﹎﹎﹎﹎﹎﹎ 向盒内放苹果 ﹎﹎V (S2)﹎﹎ until false end 儿:begin repeat ﹎﹎﹎P (S1 )﹎﹎ 拿盒中的桔子 ﹎﹎﹎V (S)﹎﹎ 吃桔子 until false end 女:begin repeat ﹎﹎P (S2 )﹎﹎ 拿盒中的苹果

﹎﹎V (S)﹎﹎﹎ 吃苹果 until false 9 / 1 2013年夏考操作系统原理离线作业 end parend end 2.桌上有一个空盒,盒内只允许放一个水果。爸爸争向盒内放苹果,妈妈争向盒内放桔子。儿子等吃盒中的水果(苹果或桔子),若盒内已有水果,放者必须等待,若盒内没有水果,吃者必需等待。试在下述类PASCAL程序中虚线位置分别填上信号量、信号量初值和P、V操作实现三个进程正确的并发执行。 var (信号量)﹎﹎﹎﹎S1 , S2﹎﹎﹎﹎﹎﹎﹎﹎﹎:semaphore:= (信号量初值) ﹎﹎﹎﹎1 , 0﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎; begin parbegin 爸:begin repeat 準備 ﹎﹎P(S1)﹎﹎﹎﹎﹎﹎ 向盒内放苹果 ﹎﹎V (S2)﹎﹎﹎﹎﹎ until false end 妈: begin repeat 準備 ﹎﹎﹎P (S1 )﹎﹎﹎﹎﹎ 向盒内放桔子 ﹎﹎V (S2)﹎﹎﹎﹎ until false end 儿:begin repeat ﹎﹎﹎P (S2 )﹎﹎﹎ 拿盒中的水果(苹果或桔子) ﹎﹎﹎V (S1)﹎﹎﹎ 吃水果(苹果或桔子) until false end

《操作系统原理》信管专业实验指导书资料

《操作系统原理》实验指导书 班级:_______________ 学号:_______________ 姓名:_______________ 山东建筑大学管理工程学院 信息管理与信息系统教研室

目录 引言 (1) 实验题目一 (2) 实验题目二 (4) 实验题目三 (6) 实验题目四 (8) 实验题目五 (10) 实验题目六 (12)

引言 操作系统是信息管理与信息系统专业一门重要的专业理论课程,了解和掌握操作系统的基本概念、功能和实现原理,对认识整个计算机系统的工作原理十分重要。 操作系统实验是操作系统课程的一个重要组成部分,通过试验环节的锻炼使同学们不仅能够对以前的所学过的基础知识加以巩固,同时能够通过上机实验,对操作系统的抽象理论知识加以理解,最终达到融会贯通的目的,因此,实验环节是同学们理解、掌握操作系统基本理论的一个重要环节。 本实验指导书,根据教材中的重点内容设定了相应的实验题目,由于实验课程的学时有限,我们规定了必做题目和选做题目,其中必做题目必须在规定的上机学时中完成,必须有相应的预习报告和实验报告。选做题目是针对有能力或感兴趣的同学利用课余时间或上机学时的剩余时间完成。

实验题目一:模拟进程创建、终止、阻塞、唤醒原语 一、题目类型:必做题目。 二、实验目的:通过设计并调试创建、终止、阻塞、唤醒原语功能,有助于对操作系统中进 程控制功能的理解,掌握操作系统模块的设计方法和工作原理。 三、实验环境: 1、硬件:PC 机及其兼容机。 2、软件:Windows OS ,Turbo C 或C++、VC++、https://www.360docs.net/doc/822866890.html, 、Java 等。 四、实验内容: 1、设计创建、终止、阻塞、唤醒原语功能函数。 2、设计主函数,采用菜单结构(参见后面给出的流程图)。 3、设计“显示队列”函数,目的能将就绪、阻塞队列中的进程信息显示在屏幕上,以供 随时查看各队列中进程的变化情况。 五、实验要求: 1、进程PCB 中应包含以下内容: 2、系统总体结构: 其中: 进程名用P1,P2标识。 优先级及运行时间:为实验题目二做准备。 状态为:就绪、运行、阻塞,三种基本状态。 指针:指向下一个PCB 。

2020东北农业大学操作系统原理离线作业答案

东北农业大学网络教育学院 操作系统及windows基础网上作业题 第一章操作系统引论 一、选择题 1.(D)不是基本的操作系统 A.批处理操作系统B.分时操作系统C.实时操作系统D.网络操作系统2.(C)不是分时系统的基本特征: A.同时性B.独立性C.实时性D.交互性 3.在计算机系统中,操作系统是( B) A. 一般应用软件 B.核心系统软件 C. 用户应用软件 D.系统支撑软件 4.以下哪一个不是设计操作系统的主要目标(C) A.方便性 B. 有效性 C. 成本低D. 可扩充性 5.最早出现的操作系统是( B) A.分时系统B.单道批处理系统C.多道批处理系统D.实时系统 6. 允许多个用户以交互使用计算机的操作系统是( B) A.分时系统B.单道批处理系统C.多道批处理系统D.实时系统 7. 操作系统是一组( C) A.文件管理程序B.中断处理程序C.资源管理程序D.设备管理程序 8. 现代操作系统的两个基本特征是( C)和资源共享. A.多道程序设计B.中断处理C.程序的并发执行D.实现分时与实时处理 9. ( D)不是操作系统关心的主要问题 A.管理计算机裸机B.设计,提供用户程序与计算机硬件系统的界面 C, 管理计算机系统资源D.高级程序设计语言的编译器 10.引入多道程序的目的是(D) A.为了充分利用主存储器B.增强系统的交互能力 B.提高实时响应速度D.充分利用CPU,减少CPU的等待时间 11.多道程序设计是指( A) A.有多个程序同时进入CPU运行 B.有多个程序同时进入主存并行运行 C.程序段执行不是顺序的 D.同一个程序可以对应多个不同的进程 12.从总体上说,采用多道程序设计技术可以( C)单位时间的算题量,但对每一个算题,从算题开始到全部完成所需的时间比单道执行所需的时间可能要( ). A.增加,减少B.增加,延长C.减少,延长D.减少,减少 13.在分时系统中,时间片一定,( B),响应时间越长。 A.内存越多B.用户数越多C.后备队列D.用户数越少

操作系统原理-进程调度实验报告

一、实验目的 通过对进程调度算法的设计,深入理解进程调度的原理。 进程是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。 进程调度分配处理机,是控制协调进程对CPU的竞争,即按一定的调度算法从就绪队列中选中一个进程,把CPU的使用权交给被选中的进程。 进程通过定义一个进程控制块的数据结构(PCB)来表示;每个进程需要赋予进程ID、进程到达时间、进程需要运行的总时间的属性;在RR中,以1为时间片单位;运行时,输入若干个进程序列,按照时间片输出其执行序列。 二、实验环境 VC++6.0 三、实验内容 实现短进程优先调度算法(SPF)和时间片轮转调度算法(RR) [提示]: (1) 先来先服务(FCFS)调度算法 原理:每次调度是从就绪队列中,选择一个最先进入就绪队列的进程,把处理器分配给该进程,使之得到执行。该进程一旦占有了处理器,它就一直运行下去,直到该进程完成或因发生事件而阻塞,才退出处理器。 将用户作业和就绪进程按提交顺序或变为就绪状态的先后排成队列,并按照先来先服务的方式进行调度处理,是一种最普遍和最简单的方法。它优先考虑在系统中等待时间最长的作业,而不管要求运行时间的长短。 按照就绪进程进入就绪队列的先后次序进行调度,简单易实现,利于长进程,CPU繁忙型作业,不利于短进程,排队时间相对过长。 (2) 时间片轮转调度算法RR

原理:时间片轮转法主要用于进程调度。采用此算法的系统,其程序就绪队列往往按进程到达的时间来排序。进程调度按一定时间片(q)轮番运行各个进程. 进程按到达时间在就绪队列中排队,调度程序每次把CPU分配给就绪队列首进程使用一个时间片,运行完一个时间片释放CPU,排到就绪队列末尾参加下一轮调度,CPU分配给就绪队列的首进程。 固定时间片轮转法: 1 所有就绪进程按 FCFS 规则排队。 2 处理机总是分配给就绪队列的队首进程。 3 如果运行的进程用完时间片,则系统就把该进程送回就绪队列的队尾,重新排队。 4 因等待某事件而阻塞的进程送到阻塞队列。 5 系统把被唤醒的进程送到就绪队列的队尾。 可变时间片轮转法: 1 进程状态的转换方法同固定时间片轮转法。 2 响应时间固定,时间片的长短依据进程数量的多少由T = N × ( q + t )给出的关系调整。 3 根据进程优先级的高低进一步调整时间片,优先级越高的进程,分配的时间片越长。 多就绪队列轮转法: (3) 算法类型 (4)模拟程序可由两部分组成,先来先服务(FCFS)调度算法,时间片轮转。流程图如下:

2016操作系统原理在线作业

窗体顶端 您的本次作业分数为:100分单选题 1.【第01~04章】以下描述中,()并不是多线程系统的特长。 A 利用线程并行地执行矩阵乘法运算。 B web服务器利用线程请求http服务 C 键盘驱动程序为每一个正在运行的应用配备一个线程,用来响应相应的键盘输入。 D 基于GUI的debugger用不同线程处理用户的输入、计算、跟踪等操作。 正确答案:C 单选题 2.【第01~04章】现代操作系统的基本特征是()、资源共享和异步性。 A 多道程序设计 B 中断处理 C 实现分时与实时处理 D 程序的并发执行 正确答案:D 单选题 3.【第01~04章】操作系统的进程管理模块并不负责()。 A 进程的创建和删除 B 提供进程通信机制 C 实现I/O设备的调度 D 通过共享内存实现进程间调度。 正确答案:C 单选题 4.【第01~04章】下列选择中,()不是操作系统必须要解决的问题。 A 提供保护和安全机制 B 管理目录和文件 C 提供应用程序接口

D 提供C++语言编译器 正确答案:D 单选题 5.【第01~04章】用户在程序中试图读存放在硬盘中某文件的第10逻辑块,使用操作系统提供的接口是()。 A 进程 B 系统调用 C 库函数 D 图形用户接口 正确答案:B 单选题 6.【第01~04章】操作系统的管理部分负责对进程进行调度。 A 主存储器 B 控制器 C 运算器 D 处理机 正确答案:D 单选题 7.【第01~04章】下面关于进程的叙述不正确的是()。 A 进程申请CPU得不到满足时,其状态变为就绪状态。 B 在单CPU系统中,任一时刻有一个进程处于运行状态。 C 优先级是进行进程调度的重要依据,一旦确定不能改变。 D 进程获得处理机而运行是通过调度而实现的。 正确答案:C 单选题 8.【第01~04章】下列选项中,操作系统提供给应用程序的接口是()。 A 系统调用 B 中断 C 库函数

操作系统原理实验-系统内存使用统计5

上海电力学院 计算机操作系统原理 实验报告 题目:动态链接库的建立与调用 院系:计算机科学与技术学院 专业年级:信息安全2010级 学生姓名:李鑫学号:20103277 同组姓名:无 2012年11 月28 日上海电力学院

实验报告 课程名称计算机操作系统原理实验项目线程的同步 姓名李鑫学号20103277 班级2010251班专业信息安全 同组人姓名无指导教师姓名徐曼实验日期2012/11/28 实验目的和要求: (l)了解Windows内存管理机制,理解页式存储管理技术。 (2)熟悉Windows内存管理基本数据结构。 (3)掌握Windows内存管理基本API的使用。 实验原理与内容 使用Windows系统提供的函数和数据结构显示系统存储空间的使用情况,当内存和虚拟存储空间变化时,观察系统显示变化情况。 实验平台与要求 能正确使用系统函数GlobalMemoryStatus()和数据结构MEMORYSTATUS了解系统内存和虚拟空间使用情况,会使用VirtualAlloc()函数和VirtualFree()函数分配和释放虚拟存储空间。 操作系统:Windows 2000或Windows XP 实验平台:Visual Studio C++ 6.0 实验步骤与记录 1、启动安装好的Visual C++ 6.0。 2、选择File->New,新建Win32 Console Application程序, 由于内存分配、释放及系统存储 空间使用情况均是Microsoft Windows操作系统的系统调用,因此选择An application that support MFC。单击确定按钮,完成本次创建。 3、创建一个支持MFC的工程,单击完成。

操作系统原理实验指导

操作系统实验指导 操作系统是计算机的最重要的系统软件,它在计算机中具有核心地位,其作用是对计算机系统资源进行统一的调度和管理,提供各种强有力的系统服务,为用户创造灵活而又方便的使用环境。一个精心设计的操作系统能极大地扩充计算机系统的功能,充分地发挥系统中各种资源的使用效率,提高系统工作的可靠性。 操作系统原理是计算机科学与技术专业的一门主要专业课程,它涉及计算机系统中各种软、硬资源管理的实现原理与方法,内容非常丰富,综合性非常强,并且还具有很强的实践性。只有把理论与实践紧密地结合起来,才能取得较好地学习效果。 培养计算机专业学生的系统程序设计能力,也是本课程的重要环节。系统程序要求结构清晰、合理、可读性好,有准确而简明的注释。通过实验可以培养学生正规系统程序设计能力。 本实验包括下列六个方面: 实验一几种操作系统的界面 实验二进程调度 实验三存储器管理 实验四存储器管理 实验五磁盘驱动调度 实验六文件管理系统 上述每个实验约需要10个学时。可根据实际情况选用。最好学生自己独立完成,如有困难,可参考一些示例,弄清每个实验的思想和实现方法,上机调试通过,不能完全照搬示例。 实验一几种操作系统的界面 1、目的与要求 目的:通过本实验,学生应熟悉1~2种操作系统的界面。在熟练使用的基础上,能了解各种命令和调用在系统中的大致工作过程,也就是通过操作系统的外部特性,逐步深入到操作系统的内在实质内容中去。 要求:能熟练地在1~2种操作系统环境下工作。学会使用各种命令,熟悉系统提供的各种功能。主动而有效地使用计算机。 熟悉系统实用程序的调用方法和各种系统调用模块的功能和用法。 2、示例 用1~2种操作系统提供的各种手段,建立、修改、编辑、编译和运行程序,最后撤消一个简单程序。要尽可能多地使用系统提供的各种命令和功能。 操作系统可为如下两种序列: (1)Windows 98或Windows 2000或Windows XP。 (2)Linux或Unix。 下面简要介绍一下Unix操作系统。 Unix是一个分时操作系统,面向用户的界面shell是一种命令程序设计语言,这种语言向用户提供了从低到高,从简单到复杂的三个层次的使用方式。它们是简单命令、组合命令和shell过程。 简单命令:Unix命令一律使用小写字母。 例如:ls -l 显示文件目录(长格式) rm 删除一个文件 cat 合并和传送文件、 cp 复制文件 mv 文件改名 cc 编译C语言源程序 组合命令:shell简单命令可以用管道算符|组合构成功能更强的命令。

操作系统原理作业

操作系统原理作业 第1章 1-2 批处理系统和分时系统各有什么特点?为什么分时系统的响应比较快? 答:在批处理系统中操作人员将作业成批装入计算机并由计算机管理运行,在程序的运行期间用户不能干预,因此批处理系统的特点是:用户脱机使用计算机,作业成批处理,系统内多道程序并发执行以及交互能力差。在分时系统中不同用户通过各自的终端以交互方式共同使用一台计算机,计算机以“分时”的方法轮流为每个用户服务。分时系统的主要特点是:多个用户同时使用计算机的同时性,人机问答方式的交互性,每个用户独立使用计算机的独占性以及系统响应的及时性。分时系统一般采用时间片轮转的方法使一台计算机同时为多个终端用户服务,因此分时系统的响应比较快。 1-4什么是多道程序设计技术?试述多道程序运行的特征。 答:多道程序设计技术是指同时把多个作业(程序)放入内存并允许它们交替执行和共享系统中的各类资源;当一道程序因某种原因(如 I/O 请求)而暂停执行时,CPU 立即转去执行另一道程序。多道程序运行具有如下特征:多道计算机内存中同时存放几道相互独立的程序。宏观上并行:同时进入系统的几道程序都处于运行过程中,它们先后开始了各自的运行但都未运行完毕。微观上串行:从微观上看内存中的多道程序轮流或分时地占有处理机,交替执行。 1-6操作系统的主要特性是什么?为什么会有这样的特性? 答:并发性,共享性,异步性,虚拟性,这些特性保证了计算机能准确的运行,得出想要的结果。 1-7 (1)工作情况如图。 (2)CPU有空闲等待,它发生在100 ms 150 ms时间段内,此时间段内程序A与程序B 都在进行I/O操作。 (3)程序A无等待现象,程序B在0 ms 50 ms时间段与180 ms 200 ms时间段内有等待现象。 第2章 2-1 什么是操作系统虚拟机? 答:在裸机上配置了操作系统程序后就构成了操作系统虚拟机 2-3 什么是处理机的态?为什么要区分处理机的态? 答:处理机的态,就是处理机当前处于何种状态,正在执行哪类程序。为了保护操作系统,至少需要区分两种状态:管态和用户态。 2-5 什么是中断?在计算机系统中为什么要引用中断?

实验指导(2015完全版)

操作系统上机实验指导书 (第一版) 闫大顺李晟编著 吴家培主审 计算机科学与工程学院 2014.8

操作系统实验指导 本课程是为《计算机操作系统》课所开的实验。计算机操作系统课程是一门实践性很强的技术课程,本课程实验的目的在于培养学生的实践能力,促进理论与实践的结合。要求学生通过上机编程,熟悉对操作系统原理,并熟练使用程序接口,并了解如何模拟操作系统原理的实现,从而加深对操作系统原理的领会,加深对操作系统实现方法的理解,与此同时使学生在程序设计方面也能够得到很大程度的提高。 实验的目的是使学生理论联系实际,提高学生系统理解与开发能力。这里所列的实验分为必做和选做。具体实验题的选择,不仅要考虑课程内容,而且要考虑学生目前的编程能力,要由浅入深。教师可通过运行示例或动画,帮助学生理解实验要求。学生应选择自己熟悉的语言与开发环境去完成实验。根据以往的教学经验,Delphi、C++ Builder,JBuilder由于提供了许多可重用的构件,易于学习、使用,VC++学习、使用困难较多。实验要求尽量在windows操作系统下,也可以在Linux下完成,由于多数没有专门学习Linux,在其平台下做试验比较困难。实验的硬件要求是能够支持VC++、Delphi、C++ Builder,JBuilder的微机即可。每个学生都独立在一台计算机上完成自己的实验内容,杜绝学生的抄袭。 实验报告的要求 1. 每位同学准备实验报告本,上机前作好充分的准备工作,预习本次实验的内容,事先熟悉与实验有关的软硬件环境。 2. 实验时遵守实验室的规章制度,爱护实验设备,对于实验设备出现的问题,要及时向指导老师汇报。 3. 提交实验文件格式:[班级][学号]_[实验题号].[扩展名] 例:计051班学号为03的学生第四个实验的文件名为:j05103_4.c 4. 最终的实验报告按照实验名称、实验目的、实验内容,实验过程(程序设计、实现与调试)、实验总结五部分书写,按时上交。实验总结是对于实验过程中出现的问题或疑惑的分析与思考。认真按照要求填写到实验报告纸上。

操作系统原理离线作业

浙江大学远程教育学院 《操作系统原理》课程作业 姓名:学号: 年级:学习中心:————————————————————————————— 一、单选题 6.采用段式存储管理的系统中,若地址用32位表示,其中20位表示段号,则允许每段的最大长度是 A. 224 B. 212 C. 210 D. 232 7.在一段式存储管理系统中,某段表的内容如下: 段号段首址段长 0 100K 35K 1 560K 20K 2 260K 15K 3 670K 32K 若逻辑地址为(2, 158),则它对应的物理地址为_____。 A. 100K+158 B. 260K+158 C. 560K+158 D. 670K+158 8.一个分段存储管理系统中,地址长度为32位,其中段长占8位,则最大段长是 A. 28字节 B. 216字节 C. 224字节 D. 232字节 9.有一请求分页式存储管理系统,页面大小为每页100字节,有一个50×50的整型数组按行为主序连续存放,每个整数占两个字节,将数组初始化为0的程序描述如下:int A[50][50]; for (int i = 0; i < 50; i++) for (int j = 0; j < 50; j++) A[i,j] = 0; 若在程执行时内存只有一个存储块用来存放数组信息,试问该程序执行时产生次缺页中断。 A.1 B. 50 C. 100 D. 2500

10.一台计算机有4个页框,装入时间、上次引用时间、和每个页的访问位R和修改位M,如下所示: 页装入时间上次引用时间 R M 0 126 279 0 0 1 230 260 1 0 2 120 272 1 1 3 160 280 1 1 采用FIFO算法将淘汰页; A. 0 B. 1 C. 2 D. 3 11.一台计算机有4个页框,装入时间、上次引用时间、和每个页的访问位R和修改位M,如下所示: 页装入时间上次引用时间 R M 0 126 279 0 0 1 230 260 1 0 2 120 272 1 1 3 160 280 1 1 采用NRU算法将淘汰页; A. 0 B. 1 C. 2 D. 3 12.一台计算机有4个页框,装入时间、上次引用时间、和每个页的访问位R和修改位M,如下所示: 页装入时间上次引用时间 R M 0 126 279 0 0 1 230 260 1 0 2 120 272 1 1 3 160 280 1 1 采用LRU算法将淘汰页; A. 0 B. 1 C. 2 D. 3 13.一台计算机有4个页框,装入时间、上次引用时间、和每个页的访问位R和修改位M,如下所示: 页装入时间上次引用时间 R M 0 126 279 0 0 1 230 260 1 0 2 120 272 1 1 3 160 280 1 1 采用第二次机会算法将淘汰______页; A. 0 B. 1 C. 2 D. 3 二、综合题

西安交大网络教育秋操作系统原理在线作业习题答案100分

《操作系统原理》习题答案 一、单项选择题 1、(信号量)是一种只能进行P、V操作的特殊变量。 2、一个进程是(PCB结构与程序和数据的组合)。 3、操作系统中,当(时间片完),进程从执行状态转变为就绪状态。 4,设有三个作业J1,J2,J3同时到达,运行时间分别为T1,T2,T3,且T1≤T2 ≤ T3。若它们在一台处理机上按单道运行,采用短作业优先算法,则平均周转时间为(T1+ 2/3T2 + 1/3T3)。 5、在操作系统中,死锁出现是指(若干进程因竞争资源而无限等待其他进程释放已占有的资源) 6.若系统有三个并发进程,都需要同类资源4个,试问该系统不会发生死锁的最少资源数是( 10 ) 。 7、预防死锁的论述中,(可以通过破坏产生死锁的四个必要条件之一或其中几个的方法,来预防发生死锁)条是正确的论述。 8、关于死锁与不安全状态的关系,下列描述正确的有(死锁是一种不安全状态): 9、银行家算法是一种(死锁避免)算法。 10、以下哪种算法不属于多个分区的可变分区存储管理方式的主存分配算法(最后适应分配算法) 11、在固定分区管理方式中,处理器执行作业时,对每条指令中的地址要求满足(下限地址≤绝对地址≤上限地址) 12、以下叙述中,不正确的是(采用动态和静态重定位的系统都支持“程序浮动”) 13、在页式存储管理中,假定地址用m个二进制位表示,其中页内地址部分占用了n个二进制位,那么最大的作业允许有(2(m-n) )个页面。 14、关于一个分区的存储管理,以下叙述不正确的是(一个分区的存储管理中,必须采用动态重定位的方式进行地址转换) 15、下面哪种算法不属于页式虚拟存储管理中的页面调度算法(优先数调度算法) 16、缺页中断率与哪个因素无关(作业的逻辑地址) 17、很好地解决了“零头”问题的存储管理方法是(页式存储管理) 18、在存储管理中,(可变分区管理)可与覆盖技术配合. 19、虚拟存储器的最大容量(由计算机的地址结构决定) 20、下述(先进先出)页面淘汰算法会产生BELADY现象. 21、计算机系统的二级存储包括(主存储器和辅助存储器) 22、以下关于主存空间的说法中正确的是(操作系统与硬件的接口信息、操作系统的管理信息和程序等存放在主存储器的系统区) 23、联想存储器在计算机系统中是用于(地址变换) 24、以下有关可变分区管理中采用的主存分配算法说法中错误的是(最佳适应算法是最好的算法,但后过的较大作业很难得到满足)

操作系统原理实验四

实验4 进程控制 1、实验目的 (1)通过对WindowsXP进行编程,来熟悉和了解系统。 (2)通过分析程序,来了解进程的创建、终止。 2、实验工具 (1)一台WindowsXP操作系统的计算机。 (2)计算机装有Microsoft Visual Studio C++6.0专业版或企业版。 3、预备知识 (3)·CreateProcess()调用:创建一个进程。 (4)·ExitProcess()调用:终止一个进程。 4、实验编程 (1)编程一利用CreateProcess()函数创建一个子进程并且装入画图程序(mspaint.exe)。阅读该程序,完成实验任务。源程序如下: # include < stdio.h > # include < windows.h > int main(VOID) ﹛STARTUPINFO si; PROCESS INFORMA TION pi; ZeroMemory(&si,sizeof(si)); Si.cb=sizeof(si); ZeroMemory(&pi,sizeof(pi)); if(!CreateProcess(NULL, “c: \ WINDOWS\system32\ mspaint.exe”, NULL, NULL, FALSE, 0, NULL, NULL, &si,&pi)) ﹛fprintf(stderr,”Creat Process Failed”); return—1; ﹜ WaitForSingleObject(pi.hProcess,INFINITE); Printf(“child Complete”); CloseHandle(pi.hProcess); CloseHandle(pi hThread); ﹜

南开18秋学期(1703)《操作系统原理》在线作业

(单选题) 1: 当进程执行中需要等待从磁盘上读取数据时,进程的状态将()。 A: 从就绪变为运行态 B: 从运行变为就绪态 C: 从阻塞变为就绪态 D: 从运行变为阻塞态 正确答案: (单选题) 2: 在操作系统分类中对于可靠性和安全性要求较高的是()。 A: 批处理系统 B: 分时处理系统 C: 实时处理系统 D: 个人机操作系统 正确答案: (单选题) 3: 在设备管理中引入I/O缓冲机制是为了缓和()之间的速度不匹配问题。A: 内存与处理器 B: 内存与外设 C: 处理器与外设 正确答案: (单选题) 4: 在页式存储管理中,其虚地址存储空间是() A: 一维的 B: 二维的 C: 三维的 正确答案: (单选题) 5: UNIX文件系统采用( )逻辑结构对文件进行管理。 A: 网状文件 B: 记录式文件 C: 索引文件 D: 3流式文件 正确答案: (单选题) 6: 在文件系统中,使用( )信息实现对文件的管理。 A: 文件存储位置 B: 文件目录 C: 文件内容 正确答案: (单选题) 7: 进程所具有的()及并发性是两个很重要的属性。 A: 动态性 B: 易用性 C: 顺序性 D: 静态性 正确答案: (单选题) 8: 所谓进程调度,其调度的对象和任务分别是( )。 A: 进程,从就绪队列中按一定的调度策略选择一个进程占用CPU B: 数据,将程序中使用的数据调入内存 C: 指令,将指令从外存储空间调入内存 正确答案: (单选题) 9: 计算机系统采用多道并发技术将会() A: 缩短每个程序的执行时间 B: 使系统效率随着并行道数的增加成正比增加 C: 使用设备时不发生冲突 D: 提高了系统的整体执行效率 正确答案: (单选题) 10: 在系统中增加cache可以缓解()之间的速度不匹配性。 A: 硬盘与内存

操作系统原理实验报告(终版)

操作系统原理实验报告(终版)

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

[键入文字] XX学校 实验报告 课程名称: 学院: 专业班: 姓名: 学号: 指导教师: 2011 年3 月

目录 实验1 进程管理 (3) 一、实验目的 (3) 二、实验内容 (3) 三、实验要求 (3) 四、程序说明和程序流程图 (4) 五、程序代码 (5) 六、程序运行结果及分析 (7) 七.指导教师评议 (8) 实验2 进程通信 (9) 一、实验目的 (9) 二、实验内容 (9) 三、实验要求 (9) 四、程序说明和程序流程图 (9) 五、程序代码 (11) 七.指导教师评议 (14) 实验3 存储管理 (15) 一、实验目的 (15) 二、实验内容 (15) 三、实验要求 (15) 四、程序说明和程序流程图 (16) 六、程序运行结果及分析 (23)

七.指导教师评议 (23) 实验4 文件系统 (24) 一、实验目的 (24) 二、实验内容 (24) 三、实验要求 (24) 四、程序说明和程序流程图 (24) 五、程序代码 (26) 六、程序运行结果及分析 (26) 七.指导教师评议 (27)

实验1 进程管理 一、实验目的 1. 弄清进程和程序的区别,加深对进程概念的理解。 2. 了解并发进程的执行过程,进一步认识并发执行的实质。 3. 掌握解决进程互斥使用资源的方法。 二、实验内容 1. 管道通信 使用系统调用pipe( )建立一个管道,然后使用系统调用fork( )创建2个子进程p1和p2。这2个子进程分别向管道中写入字符串:“Child process p1 is sending message!”和“Child process p2 is sending message!”,而父进程则从管道中读出来自两个子进程的信息,并显示在屏幕上。 2. 软中断通信 使用系统调用fork( )创建2个子进程p1和p2,在父进程中使用系统调用signal( )捕捉来自键盘上的软中断信号SIGINT(即按Ctrl-C),当捕捉到软中断信号SIGINT后,父进程使用系统调用kill( )分别向2个子进程发出软中断信号SIGUSR1和SIGUSR2,子进程捕捉到信号后分别输出信息“Child process p1 is killed by parent!”和“Child process p2 is killed by parent!”后终止。而父进程等待2个子进程终止后,输出信息“Parent process is killed!”后终止。 三、实验要求 1. 根据实验内容编写C程序。 2. 上机调试程序。 3. 记录并分析程序运行结果。

操作系统原理实验五

实验五线程的同步 1、实验目的 (1)进一步掌握Windows系统环境下线程的创建与撤销。 (2)熟悉Windows系统提供的线程同步API。 (3)使用Windows系统提供的线程同步API解决实际问题。 2、实验准备知识:相关API函数介绍 ①等待对象 等待对象(wait functions)函数包括等待一个对象(WaitForSingleObject ())和等待多个对象(WaitForMultipleObject())两个API函数。 1)等待一个对象 WaitForSingleObject()用于等待一个对象。它等待的对象可以为以下对象 之一。 ·Change ontification:变化通知。 ·Console input: 控制台输入。 ·Event:事件。 ·Job:作业。 ·Mutex:互斥信号量。 ·Process:进程。 ·Semaphore:计数信号量。 ·Thread:线程。 ·Waitable timer:定时器。 原型: DWORD WaitForSingleObject( HANDLE hHandle, // 对象句柄 DWORD dwMilliseconds // 等待时间 ); 参数说明: (1)hHandle:等待对象的对象句柄。该对象句柄必须为SYNCHRONIZE访问。 (2)dwMilliseconds:等待时间,单位为ms。若该值为0,函数在测试对象的状态后立即返回,若为INFINITE,函数一直等待下去,直到接收到 一个信号将其唤醒,如表2-1所示。 返回值: 如果成功返回,其返回值说明是何种事件导致函数返回。

Static HANDLE hHandlel = NULL; DWORD dRes; dRes = WaitForSingleObject(hHandlel,10); //等待对象的句柄为hHandlel,等待时间为10ms 2)等待对个对象 WaitForMultiple()bject()在指定时间内等待多个对象,它等待的对象与 WaitForSingleObject()相同。 原型: DWORD WaitForMultipleObjects( DWORD nCount, //句柄数组中的句柄数 CONST HANDLE * lpHandles, //指向对象句柄数组的指针 BOOL fWaitAll, //等待类型 DWORD dwMilliseconds //等待时间 ); 参数说明: (1)nCount:由指针 * lpHandles指定的句柄数组中的句柄数,最大数是MAXIMUM WAIT OBJECTS。 (2)* lpHandles:指向对象句柄数组的指针。 (3)fWaitAll:等待类型。若为TRUE,当由lpHandles数组指定的所有对象被唤醒时函数返回;若为FALSE,当由lpHandles数组指定的某一个 对象被唤醒时函数返回,且由返回值说明是由于哪个对象引起的函数 返回。 (4)dwMilliseconds:等待时间,单位为ms。若该值为0,函数测试对象的状态后立即返回;若为INFINITE,函数一直等待下去,直到接收到 一个信号将其唤醒。 返回值:、 如果成功返回,其返回值说明是何种事件导致函数返回。 各参数的描述如表2-2所示。

操作系统原理课程设计

操作系统原理课程设计 ——银行家算法模拟 指导老师:周敏唐洪英杨宏雨 杨承玉傅由甲黄贤英 院系:计算机学院计算机科学与技术班级:0237-6 学号:2002370609 姓名:刘洪彬 同组者:杨志 时间:2005/1/10---2005/1/14

银行家算法模拟 一、设计目的 本课程设计是学生学习完《计算机操作系统》课程后,进行的一次全面的综合训练,通过课程设计,让学生更好地掌握操作系统的原理及实现方法,加深对操作系统基础理论和重要算法的理解,加强学生的动手能力。 二、设计要求 银行家算法是避免死锁的一种重要方法,本实验要求用高级语言编写和调试一个简单的银行家算法程序。加深了解有关资源申请、避免死锁等概念,并体会和了解死锁和避免死锁的具体实施方法。 从课程设计的目的出发,通过设计工作的各个环节,达到以下教学要求:两人一组,每组从所给题目中任选一个(如自拟题目,需经教师同意),每个学生必须独立完成课程设计,不能相互抄袭,同组者文档不能相同; 设计完成后,将所完成的工作交由老师检查; 要求写出一份详细的设计报告。 三、设计内容 编制银行家算法通用程序,并检测所给状态的系统安全性。 1)银行家算法中的数据结构 假设有n个进程m类资源,则有如下数据结构: 可利用资源向量Available。这是一个含有m个元素的数组,其中的每一个元素代表一类可利用的资源数目,其初始值是系统中所配置的该类全部可用资源的数目,其数值随该类资源的分配和回收而动态地改变。Available[j]=K,则表示系统中现有Rj 类资源K个。 最大需求矩阵Max。这是一个n*m的矩阵,它定义了系统中n个进程中的每一个进程对m类资源的最大需求。如果Max[i,j]=K,则表示进程i需要Rj类资源的最大数目为K。 分配矩阵Allocation。这也是一个n*m的矩阵,它定义了系统中每一类资源当前已分配给没一进程的资源数。如果Allocation[i,j]=K,则表示进程i 当前已分得Rj类资源的数目为K。 需求矩阵Need。这也是一个n*m的矩阵,用以表示每一个进程尚需的各类资源数。如果Need[i,j]=K,则表示进程i还需要Rj类资源K个,方能完成其任务。

15春学期《操作系统原理》在线作业

15春学期《操作系统原理》在线作业 试卷总分:100 测试时间:-- 试卷得分100 一、单选题(共20 道试题,共40 分。)V 1. 文件系统采用多级目录结构可以() A. 节省存储空间 B. 解决命名冲突 C. 缩短文件传送时间 D. 减少系统开销 B 满分:2 分 2. 在下述存储管理技术中,只有()可提供虚拟存储基础 A. 动态分区法 B. 交换技术 C. 静态分页法 D. 动态分页 D 满分:2 分 3. 下列对于进程的描述哪项是错误的 A. 各进程之间的地址是相互独立的 B. 进程控制块PCB是在系统调用进程时随机生成的 C. 进程是静态的 D. 进程同程序相比具备并发和异步执行特征 C 满分:2 分 4. 程序执行时下一条执行指令的地址放在()寄存器中 A. IR B. PSW C. PC C 满分:2 分 5. 一个进程从内存中换出到外存时,该进程被称作为() A. 被阻塞 B. 被终止 C. 唤醒 D. 被挂起 D 满分:2 分 6. 在分页存储管理系统中,从页号到物理块号的地址映射是通过()实现的 A. 段表 B. 页表 C. PCB D. JCB B 满分:2 分 7. 在UNIX系统进程调度中,当计算的进程优先数越大时其优先级将() A. 越大 B. 越小 B B 满分:2 分 8. 在文件管理中,使用链式结构可以实现()

A. 磁盘驱动控制 B. 磁盘空间分配与回收 C. 文件目录查找 D. 页面置换 B 满分:2 分 9. 在时间片轮转(RR)法中,如果时间片过长,该算法会退化为()算法。 A. 短进程优先(SPN) B. 时间片轮转(RR) C. 先来先服务(FCFS) D. 优先级法(PS) C 满分:2 分 10. 当为一个新创建的进程分配资源和建立了PCB后,进程将进入() A. 运行态 B. 阻塞态 C. 就绪态 D. 退出态 C 满分:2 分 11. 在系统中增加cache可以缓解()之间的速度不匹配性。 A. 硬盘与内存 B. 内存与处理器 C. 内存与I/O设备 D. 硬盘与I/O设备 B 满分:2 分 12. 中断管理程序不包括下列哪项功能 A. 确定发生中断的特性 B. 将控制权切换到处理程序 C. 执行具体的处理过程 D. 将控制权切换到原执行程序 C 满分:2 分 13. 在时间片轮转(RR)法中,如果时间片过长,该算法会退化为()算法。 A. 短进程优先(SPN) B. 时间片轮转(RR) C. 先来先服务(FCFS) D. 优先级法(PS) C 满分:2 分 14. 下列分区管理的分配算法中,分配与释放时间性能最好的是() A. 最先匹配法 B. 最佳匹配法 C. 下次匹配法 D. 最坏匹配法 A 满分:2 分 15. 在下列的文件物理存储结构中最不便于进行文件扩充的结构是() A. 散列文件 B. 链接文件

《操作系统原理实验》试卷A及答案

《中山大学授予学士学位工作细则》第六条 考试作弊不授予学士学位 计算机科学系2012第二学期 《操作系统原理实验》期末考试试题(A) 任课教师:李才伟考试形式:开卷考试时间:2小时年级:11 班别:3 专业:计科姓名:________ 学号:___ _ 成绩___ _ 注意:答案一定要写在答卷中,写在本试题卷中不给分。本试卷要和答卷一起交回。 一.填空题(每小题2分,共30分) 1.在我们的操作系统实验中,C与汇编语言混合编程的操作系统环境为___,其所用的虚拟机为___。2.测试用软盘映像文件的大小为___MB,使用的文件系统格式为___。 3.Intel 80386新增加的两个段寄存器分别为___和___。 4.Intel处理器实模式下的中断向量表包含___个中断向量,每个中断向量有___位。 5.Linux中挂载磁盘映像的命令为___,C语言的编译器为___。 6.将程序的入口安排在指定位置的汇编操作符为___、LD的链接选项为___。 7.ELF的英文原文是___,中文译文为___。 8.在FAT的文件条目中,普通文件和子目录的文件属性值分别为___和___。 9.在IA-32的保护模式下,分段用于___,分页用于___。 10.IA-32处理器的4个系统地址寄存器分别为___。 11.IA-32中的描述符和选择符大小分别为___位和___位。 12.TSS的主要功用为___,TSS描述符只能位于___描述符表中。 13.控制保护模式的寄存器为___,激活保护标志位于其___位。 14.IA-32的三种特权级类型分别为___、___和___。 15.在Make文件中,$@ 和$< 分别表示___和___。 二.问答题(每小题5分,共30分) 1.在实模式下的进程调度中是如何实现堆栈切换的? 2.IA-32的保护模式相比实模式的主要优点有哪些? 3.给出IA-32保护模式下的段寄存器的内容、组成和功用。 4.给出GDT和LDT的英文原文和中文译文,它们有哪些主要功用和区别? 5.启动分页机制的主要步骤有哪些? 6.给出IA-32段页式保护模式下(采用4KB页面大小与两级分页方式的)逻辑地址和线性地址的构成及转 换成物理地址的方法。

计算机操作系统原理实验指导书

目录 1进程创建模拟实现 (6) 1.1实验类型 (6) 1.2实验目的 (6) 1.3实验描述 (6) 1.4实验内容 (6) 1.5实验要求 (6) 1.6测试要求 (6) 1.7相关知识 (7) 1.8实验设备 (9) 1.9实验指导 (9) 1.10实验成绩评定 (9) 1.11实验报告 (9) 1.12实验思考 (9) 2P、V原语的模拟实现 (10) 2.1实验类型 (10) 2.2实验目的 (10) 2.3实验描述 (10) 2.4实验内容 (10) 2.5实验要求 (10) 2.6测试要求 (10) 2.7相关知识 (11) 2.8实验设备 (11) 2.9实验指导 (11) 2.10实验成绩评定 (12) 2.11实验报告 (12) 2.12实验思考 (12) 3进程撤销模拟实现 (13) 3.1实验类型 (13) 3.2实验目的 (13) 3.3实验描述 (13) 3.4实验内容 (13) 3.5实验要求 (13) 3.6测试要求 (14) 3.7相关知识 (14) 3.8实验设备 (15) 3.9实验成绩评定 (15) 3.10实验报告 (16) 3.11实验思考 (16) 4FCFS进程调度模拟实现 (17)

4.2实验目的 (17) 4.3实验描述 (17) 4.4实验内容 (17) 4.5实验要求 (17) 4.6测试要求 (18) 4.7相关知识 (18) 4.8实验设备 (18) 4.9实验成绩评定 (19) 4.10实验报告 (19) 4.11实验思考 (19) 5银行家算法实现 (20) 5.1实验类型 (20) 5.2实验目的 (20) 5.3实验描述 (20) 5.4实验内容 (20) 5.5实验要求 (20) 5.6测试要求 (21) 5.7相关知识 (21) 5.8实验设备 (22) 5.9实验成绩评定 (22) 5.10实验报告 (22) 5.11实验思考 (22) 6改进型CLOCK页面置换算法实现 (23) 6.1实验类型 (23) 6.2实验目的 (23) 6.3实验描述 (23) 6.4实验内容 (23) 6.5实验要求 (23) 6.6测试要求 (24) 6.7相关知识 (24) 6.8实验设备 (24) 6.9实验成绩评定 (25) 6.10实验报告 (25) 6.11实验思考 (25) 7SCAN磁盘调度模拟实现 (26) 7.1实验类型 (26) 7.2实验目的 (26) 7.3实验描述 (26) 7.4实验内容 (26) 7.5实验要求 (26) 7.6测试要求 (27)

相关文档
最新文档