计算机等级考试四级 网络工程师 之 操作系统原理2 适合懒人备考哈哈哈

本文主要是介绍计算机等级考试四级 网络工程师 之 操作系统原理2 适合懒人备考哈哈哈,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

操作系统原理

  • 第十一题
  • 第十二题
  • 第十三题
  • 第十四题
  • 第十五题
  • 第十六题
  • 第十七题
  • 第十八题
  • 第十九题
  • 第二十题

第十一题

1 间接相互制约关系:多个程序在并发执行时,由于共享系统资源导致这些并发执行程序之间形成的相互制约关系。例如打印机这些临界资源。

直接相互制约关系:通过合作而产生的制约关系。例如只有 a 执行过后,b 才能执行。而两者都是为了完成某一个功能。

临界资源是只能一个进程访问的资源。进程之间采取互斥方式,实现对这种资源的共享。 硬件临界资源有打印机、磁带机等。软件临界资源有消息缓冲队列、变量、数组、缓冲区等。不论是硬件临界资源还是软件临界资源,多个进程必须互斥地对它进行访问。人们把在每个程中访问临界资源的那段代码称为 临界区。

2 系统中有 2 个并发进程,当一个进程在等待另一个进程向它发送消息时,它们之间的关系是同步关系。同步是一种更为复杂的互斥,而互斥是一种特殊的同步。也就是说互斥是两个线程之间不可以同时运行,他们会相互排斥,必须等待一个线程运行完毕,另一个才能运行,而同步也是不能同时运行,但是必须要按照某种次序来运行相应的线程(也是一种互斥)!

3 P、V 操作可以实现进程同步、进程互斥、进程的前趋关系, 不能实现 进程共享。

4 进程并发执行时,若两个并发进程包含同一共享变量,则它们存在 同步关系。

5 在采用 P、V 操作对共享资源的使用进行保护时,对该共享资源读写的代码段称为 临界区。

6 进程访问临界区时要遵循的相关准则有如下四条:空闲让进,忙则等待,有限等待,让权等待。 无限等待 是错误的。

7 在民航网络订票系统中,作为临界资源的对象是 飞机票。在民航网络订票系统中,相同航班订票人发起的订票进程其相互之间的关系是 互斥关系。在民航订票系统中,每个订票点在票务服务器上发起了请求订票进程,这些进程相互之间的关系是 互斥关系。

8 系统在打印数据时,读数据进程、处理数据进程和打印结果进程之间的相互关系是 同步关系。进程之间是通过 缓冲区相关联的。

9 进程间的相互制约关系如下:
在这里插入图片描述
10 不同的用户在各自的电脑上打同一盘网络麻将 只存在进程同步关系。
不同的用户使用订票软件同时访问同一个订票数据库 进程间只有互斥关系而没有同步关系。
不同的用户在同一台游戏机上玩踢足球的电子游戏 进程间既有同步关系又有互斥关系。
不同的用户在各自的电脑上同时编译程序 既没有进程同步关系又没有进程互斥关系。

11 篮球比赛中,每个队员是一个进程,篮球是资源。 同步是同队队员之间的关系。

第十二题

1 用 P、V 操作管理临界区时,把信号量 mutex 的初值设定为 1。当有 k(k>1)个进程在mutex 的等待队列中时(当前需要访问临界区的进程有 k+1 个),信号量的值为-k。
2 信号量 S, 执行一次 P (S )操作后,S 的值减 1 ; 执行一次 V (S )操作后,S 的值加 加 1。 。
3 进程间通信时, 已满的邮件槽,发送进程不能再申请互斥锁。
4 当多个进程并发执行且需要相互通信时, 共享内存的方法最适合传送大量的信息。
5 对信号量有 4 种操作:初始化;等信号,也可叫做挂起,也就是 P 操作;给信号或发信号,也就是 V 操作;清理。 没有 加减操作。
6 假设系统中有 4 台打印机,某些进程用信号量 S 实现对打印机的互斥使用。又假设,系统中申请打印机的进程数量最多为 20 个,下列信号量 S 的数值范围中,[4, -16]是正确的。
7 为了保证计算机中临界资源的正确使用,进程在对临界资源访问前,必须首先调用 进入区的代码,进程在结束对临界资源的访问后必须通过 退出区才能离开。
8 解决进程同步与互斥问题时,对信号量进行 P 原语操作是在进入区完成的,V 原语操作是在退出区进行的。

9
1)进入区是用来检查可否进入临界区,如果可以进入临界区,需要设置正在访问临界区的
标志,是 while TS(&lock);//Test-and-Set 指令;
2)临界区就是程序访问临界资源的那段代码,是 while TS(&lock)和 lock=FALSE 之间的那
段代码;
3)退出区是将正在访问临界区的标志清除的代码,是 lock = FALSE;
4)剩余区就是除了上述三个区以外的剩余代码部分。

第十三题

1 管程能同步进程和改变管程中的数据。 管程只能解决进程互斥问题 这种说法是错误的。
管程的互斥是由管程本身性能实现的,管程中一次只能有一个进程可以在管程内活动。 管程
的互斥是由信号量及 PV 操作实现的 ,这种说法是错误的。
2 处理机调度算法中, 先来先服务是不可抢占的。
3 生产者往缓冲区放产品前要先使用 P 操作确保缓冲区有空闲槽。
4 在相互通信的进程间设置 一个公共内存区,一组进程向该公共内存中写,另一组进程从该
公共内存中读,通过这种方式实现两组进程间信息交换的方式称为 共享内存 。
共享内存不需要多份内容的拷贝来传递信息。
共享内存方式由操作系统提供共享内存。需要 程序员解决的问题是 处理进程间对公共内存
使用的互斥关系。
5 在直接通信方式中,系统提供的发送原语是 send (receiver, ,message) ), ,接收原语是 receive
(sender,message)。
6 利用内存中 若干公共缓冲区组织成队列,以实现进程之间信息交换的通信方式称为 消息机
制。
7 通过连接两个进程的 一个打开的共享文件,可以实现进程间的数据通信。这种通信方式称
为 管道通信。
采用管道方式可以完成进程间通信,该方式的不足是 通信速度较慢。
管道通信是一方进程发送另一方只能接收,此方式只能是 同步的。
8 消息缓冲通信机制内容包括: 消息缓冲区、消息队列首地址、同步互斥信号量、发送接收
消息原语。
9 采用信箱通信方

这篇关于计算机等级考试四级 网络工程师 之 操作系统原理2 适合懒人备考哈哈哈的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/381830

相关文章

Java编译生成多个.class文件的原理和作用

《Java编译生成多个.class文件的原理和作用》作为一名经验丰富的开发者,在Java项目中执行编译后,可能会发现一个.java源文件有时会产生多个.class文件,从技术实现层面详细剖析这一现象... 目录一、内部类机制与.class文件生成成员内部类(常规内部类)局部内部类(方法内部类)匿名内部类二、

Linux系统配置NAT网络模式的详细步骤(附图文)

《Linux系统配置NAT网络模式的详细步骤(附图文)》本文详细指导如何在VMware环境下配置NAT网络模式,包括设置主机和虚拟机的IP地址、网关,以及针对Linux和Windows系统的具体步骤,... 目录一、配置NAT网络模式二、设置虚拟机交换机网关2.1 打开虚拟机2.2 管理员授权2.3 设置子

揭秘Python Socket网络编程的7种硬核用法

《揭秘PythonSocket网络编程的7种硬核用法》Socket不仅能做聊天室,还能干一大堆硬核操作,这篇文章就带大家看看Python网络编程的7种超实用玩法,感兴趣的小伙伴可以跟随小编一起... 目录1.端口扫描器:探测开放端口2.简易 HTTP 服务器:10 秒搭个网页3.局域网游戏:多人联机对战4.

Python中随机休眠技术原理与应用详解

《Python中随机休眠技术原理与应用详解》在编程中,让程序暂停执行特定时间是常见需求,当需要引入不确定性时,随机休眠就成为关键技巧,下面我们就来看看Python中随机休眠技术的具体实现与应用吧... 目录引言一、实现原理与基础方法1.1 核心函数解析1.2 基础实现模板1.3 整数版实现二、典型应用场景2

Java的IO模型、Netty原理解析

《Java的IO模型、Netty原理解析》Java的I/O是以流的方式进行数据输入输出的,Java的类库涉及很多领域的IO内容:标准的输入输出,文件的操作、网络上的数据传输流、字符串流、对象流等,这篇... 目录1.什么是IO2.同步与异步、阻塞与非阻塞3.三种IO模型BIO(blocking I/O)NI

SpringBoot使用OkHttp完成高效网络请求详解

《SpringBoot使用OkHttp完成高效网络请求详解》OkHttp是一个高效的HTTP客户端,支持同步和异步请求,且具备自动处理cookie、缓存和连接池等高级功能,下面我们来看看SpringB... 目录一、OkHttp 简介二、在 Spring Boot 中集成 OkHttp三、封装 OkHttp

Linux系统之主机网络配置方式

《Linux系统之主机网络配置方式》:本文主要介绍Linux系统之主机网络配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、查看主机的网络参数1、查看主机名2、查看IP地址3、查看网关4、查看DNS二、配置网卡1、修改网卡配置文件2、nmcli工具【通用

使用Python高效获取网络数据的操作指南

《使用Python高效获取网络数据的操作指南》网络爬虫是一种自动化程序,用于访问和提取网站上的数据,Python是进行网络爬虫开发的理想语言,拥有丰富的库和工具,使得编写和维护爬虫变得简单高效,本文将... 目录网络爬虫的基本概念常用库介绍安装库Requests和BeautifulSoup爬虫开发发送请求解

JAVA封装多线程实现的方式及原理

《JAVA封装多线程实现的方式及原理》:本文主要介绍Java中封装多线程的原理和常见方式,通过封装可以简化多线程的使用,提高安全性,并增强代码的可维护性和可扩展性,需要的朋友可以参考下... 目录前言一、封装的目标二、常见的封装方式及原理总结前言在 Java 中,封装多线程的原理主要围绕着将多线程相关的操

kotlin中的模块化结构组件及工作原理

《kotlin中的模块化结构组件及工作原理》本文介绍了Kotlin中模块化结构组件,包括ViewModel、LiveData、Room和Navigation的工作原理和基础使用,本文通过实例代码给大家... 目录ViewModel 工作原理LiveData 工作原理Room 工作原理Navigation 工