操作系统--期末总结

一、填空题

1、操作系统的4个基本特征是并发、共享、异步虚拟)。

2、在操作系统中,进程是拥有资源的基本单位,(线程)是调度的基本单位。

3、进程的三种基本状态包括 就绪、(等待)运行

4、进程死锁的四个必要条件分别是互斥条件、(请求和保持)、不可抢占条件、循环等待条件

5、进程互斥可以用若干种方式实现,硬件方式主要包括 (关中断)测试并置位指令

6、进程间通信的类型包括 共享存储器、管道通信(消息传递、信箱通信) 等。

7、CPU访问设备控制器的寄存器或数据缓冲区主要有两种方式,分别利用 特定的I/O指令内存映射I/O

二、问答题

1、请简要回答系统调用与库函数的关系。
(1)库函数:是系统提供,用户无须定义,也不必在程序中作类型说明,只需在程序前包含有该函数类型的头文件即可在程序中直接调用。
(2)系统调用:操作系统的一部分,用户应用程序访问并使用内核所提供的各种服务的途径即是系统调用。
(3)库函数是有缓冲的,库函数并不依赖于平台。
(4)系统调用是无缓冲的,系统调用依赖于平台。
2、请简要回答Windows下进程间共享内存的实现原理。
(1)采用内存映射文件机制,将对文件的读写操作转换为对内存的读写操作。
(2)不同的进程映射相同的文件就可以实现共享内存。
(3)如果只为实现进程间通信,可以映射匿名文件。
3、请简要回答操作系统下外部硬件中断的处理过程。
中断处理步骤:响应中断,保存现场 ⟶ 分析中断原因,进入中断处理程序 ⟶ 处理中断 ⟶ 恢复现场,退出中断
4、请简述I/O设备的四种控制方式
程序直接控制方式:
       是由用户进程直接控制内存或CPU和外围设备之间的信息传送。
中断方式:
       用来控制外围设备和内存与CPU之间的数据传送。
DMA方式:
       其基本思想是在外围设备和内存之间开辟直接的数据交换通道。
通道控制方式:
       与DMA方式相类似,也是一种以内存为中心,实现设备和内存直接交换数据的控制方式。与之不同的是,通道作为一种处理机,自主性较强。

三、PV操作题

1、 某博物馆最多可容纳700人同时参观,有一个出口和个入口,该出口和入口一次仅允许一个人通过。参观者的活动按照进入、参观和离开的顺序进行。请使用必要的信号量和P、V操作,以实现上述参观过程。

Semaphore empty = 700;
Semaphore mutex_enter = 1;
Semaphore mutex_leave = 1;
//参观者进程:
{
	P(empty);
	P(mutex_enter);
	进门;
	V(mutex_enter);
	参观;
	P(mutex_leave);
	出门;
	V(mutex_leave);
	V(empty);
}

2.有入水和取水人员若干,一个水缸,5个水桶,由入水人员从水井提水入缸供取水人员饮用。水缸可以容纳10桶水,每次入水、取水仅为一桶,且不可同时进行。水取自同口井中,由于水井口窄,每次只能容纳一个水桶取水。请使用必要的信号量和P、V操作,给出入水、取水的算法描述。

Semaphore empty = 10 ,full = 0;
Semaphore count_bucket = 5,mutex_well = 1,mutex_jar = 1;
//入水进程
while(1)
{
	P(empty);
	P(count_bucket);
	P(mutex_well);
	从井中取水;
	V(mutex_well);
	P(mutex_jar);
	送入水缸;
	V(mutex_jar);
	V(count_bucket);
	V(full);
}

3、桌子上有一个盘子,只能容纳一个水果。爸爸专门向盘子里放苹果,妈妈专门向盘子里放橘子。哥哥专门等吃盘子中的苹果,妹妹专门等吃盘子中的橘子。试用信号量实现上述活动。

Semaphore empty = 1,full-apple=0,full-orange=0;
void father()
{
	while(true)
	{
		P(empty);
		V(full-apple);
	}
}
void mother()
{
	while(true)
	{
		P(empty);
		V(full-orange);
	}
}
void brother()
{
	while(true)
	{
		P(full-apple);
		V(empty);
	}
}
void sister()
{
	while(true)
	{
		P(full-orange);
		V(empty);
	}
}

4、桌子上有一个盘子,最多可以容纳N个水果,每次只能放或拿一个水果。爸爸专门向盘子里放苹果,妈妈专门向盘子里放橘子。哥哥专门等吃盘子中的苹果,妹妹专门等吃盘子中的橘子。试用信号量实现上述活动。

Semaphore empty = N,full-apple=0,full-orange=0;
Semaphore mutex_plate;
void father()
{
	while(true)
	{
		P(empty);
		P(mutex_plate);
		V(mutex_plate);
		V(full-apple);
	}
}
void mother()
{
	while(true)
	{
		P(empty);
		P(mutex_plate);
		V(mutex_plate);
		V(full-orange);
	}
}
void brother()
{
	while(true)
	{
		P(full-apple);
		P(mutex_plate);
		V(mutex_plate);
		V(empty);
	}
}
void sister()
{
	while(true)
	{
		P(full-orange);
		P(mutex_plate);
		V(mutex_plate);
		V(empty);
	}
}

四、作业题

1、 一个32位地址的计算机使用两级页表,虚拟地址被分为9位的一级页表域、11位的页表域和一个页内偏移量,请问:
(1)页面大小是多少字节?
(2)一共有多少个页面?
(3)一共有多少个页表项?
在这里插入图片描述
2、某计算机采用二级页表的分页存储管理方式,按字节编址,其页大小为210B,页表项大小为2B,逻辑地址结构为:
在这里插入图片描述
逻辑地址空间大小为216页,则表示整个逻辑地址空间的一级页表中包含的表项个数至少为多少?
题目等价于:在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
3、 给定一个虚拟内存系统的如下数据:
(1) TLB有1024项,可以在1ns内访问。
(2) 页表项可以在100ns内访问
(3) 若有一个被替换的页未被修改过,则处理一个缺页中断需要8ms;
    若被替换的页已被修改过,则处理一个缺页中断需要20ms。
    假定被替换的页70%被修改过。
    如果TLB的命中率是99%,缺页中断率是0.01%,那么有效地址转换时间是多少?

在这里插入图片描述
4、 某请求分页系统的局部页面置换策略如下:系统从0时刻开始扫描,每隔5个时间单位扫描一轮驻留集(扫描时间忽略不计),本轮没有被访问过的页框将被系统回收,并放入到空闲页框链尾,其中内容在下一次分配之前不被清空。当发生缺页时,如果该页曾被使用过且还在空间页链表中,则重新发生缺页时,如果该页曾被使用过且还在空间页链表中,则重新放回进程的驻留集中;否则,从空闲页框链表头部取出一个页框。
假设不考虑其他进程的影响和系统开销。初始时进程驻留集为空。目前系统空闲页框链表中页框号依次为32、15、21、41.进程p依次访问的<虚拟页号,访问时刻>是:<1,1>、< 3,2>、<0,4>、<0,6>、<1,11>、<0,13>、<2,14>。
(1) 访问<0,4>时,对应的页框号是什么?说明理由。
(2) 访问<1,11>时,对应的页框号是什么?说明理由。
(3) 访问<2,14>时,对应的页框号是什么?说明理由。
(4) 该策略是否适合于时间局部性好的程序?说明理由。

Step1:
在这里插入图片描述

Step2:
在这里插入图片描述

Step3:
在这里插入图片描述

Step4:
在这里插入图片描述

Step5:
在这里插入图片描述

Step6:
在这里插入图片描述

Step7:
在这里插入图片描述

Step8:
在这里插入图片描述

Step9:
在这里插入图片描述

Step10:
在这里插入图片描述

Step11:
在这里插入图片描述

在这里插入图片描述



  • 10
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
操作系统是现代计算机系统中的一个重要组成部分,它负责管理计算机的硬件和软件资源,为用户和应用程序提供一个良好的运行环境。在操作系统的学习过程中,进行期末考试是对学生知识掌握和能力评估的重要方式之一。 CSDN是一个专注于IT技术的社区平台,提供丰富的技术资源、文章和论坛,并且也有一些在线课程和考试题库。在进行操作系统期末考试前,可以借助CSDN的考试题库进行练习和复习,以提高考试水平。 操作系统期末考试题库主要包括以下几个方面的内容: 1. 操作系统基本概念:包括操作系统的定义、功能、特点等基本概念的理解和解释。 2. 进程管理:包括进程的定义、进程的状态转换、进程调度算法等相关知识点。 3. 内存管理:包括内存的分段与分页管理、虚拟内存、页面置换算法等知识点。 4. 文件系统:包括文件的组织方式、文件访问控制、文件系统的实现原理等相关内容。 5. 输入输出管理:包括设备管理、磁盘调度算法、输入输出缓冲区管理等知识点。 对于操作系统期末考试的准备,可以通过以下几个步骤进行: 1. 阅读课本、笔记和相关教材,对考试范围内的知识点进行系统地复习和理解。 2. 使用CSDN的考试题库进行模拟考试和练习,找出自己的薄弱环节,并适当调整复习计划。 3. 参加线下或线上的学习班和讲座,与其他同学和老师交流和讨论,获得更多的学习资源和经验。 4. 做好时间规划和复习计划,合理分配时间和精力,保持良好的学习状态和心态。 5. 注意做好笔记和总结,将知识点简洁明了地记录下来,以便复习和回顾。 综上所述,通过合理利用CSDN的考试题库以及其他相关资源,结合自己的努力和认真复习,相信可以取得良好的成绩和对操作系统的深入理解。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值