保研面试408复习 5——操作系统(死锁)、计网(TCP和UDP)

文章目录

  • 1、操作系统
    • 一、死锁的定义、原因和必要条件
      • a.死锁的定义
      • b.死锁的原因
      • c.死锁产生的必要条件
    • 二、如何预防死锁?
  • 2、计算机网络
    • 一、TCP和UDP的相同点
    • 二、TCP和UDP的区别

标记文字记忆,加粗文字注意,普通文字理解。

1、操作系统

一、死锁的定义、原因和必要条件

a.死锁的定义

死锁是指多个进程因竞争资源而造成的一种僵局(互相等待),若无外力作用,这些进程都将无法向前推进。
在这里插入图片描述

  • 例子:

在这里插入图片描述

b.死锁的原因

  1. 系统资源的竞争
  • 必须是不可剥夺资源的竞争,对可剥夺资源的竞争是不会引起死锁的。
    • 如上面提到的例子,进程p1请求p2的打印机,p2请求p1占用的输入设备,都进入阻塞态,这两个设备都是不可剥夺资源,它们互相等待对方释放,但对方都进入阻塞态都不会释放,引起死锁。
  1. 进程推进顺序非法
  • 进程推进顺序非法指的是多个进程在执行和资源请求时的顺序可能导致系统进入无法继续执行任何进程的状态。这种情况通常涉及到进程间的资源分配和释放的顺序问题
    • 如上面提到的例子,进程p1和p2循环等待,如果系统允许这种资源请求顺序发生,就可能导致循环等待,从而形成死锁。

c.死锁产生的必要条件

产生死锁必须同时满足以下4个条件,只要其中任意一个条件不成立,死锁就不会发生。

  1. 互斥资源独占,一段时间内资源仅为一个进程所占有。
  2. 不可剥夺资源不可剥夺,一个进程获得的资源还没使用完之前,不能被其他进程抢走。
  3. 请求并保持进程手里至少有一个资源,但是又请求其他资源,而这个资源已经被其他进程占有。 进程进入阻塞态,并保持资源不放。
  4. 循环等待:例如上面提到的例子,我等你的资源,你等我的资源,或者是一条循环等待链。

记忆:互 请 不 询 (互相邀请,但不询问彼此来不来)。
互斥(资源)、请求并保持、不可剥夺(资源)、xun环等待

二、如何预防死锁?

预防:防止出现死锁
死锁预防:设置某些限制条件,破坏产生死锁的4个必要条件中的一个或几个。
方法:

  1. 进程一次分配到所有资源:破坏请求并保持,要么不拿,要么一开始就拿到所有资源,执行时不可能出现请求,因此破坏了请求并保持。
  2. 资源有序分配法:系统给每类资源赋予一个编号,每一个进程按编号递增的顺序请求资源,释放则相反(破坏环路等待条件)
  3. 可剥夺资源:即当某进程获得了部分资源,但得不到其它资源,则释放已占有的资
    源(破坏不可剥夺条件)

学有余力的家伙可以看看:
在这里插入图片描述
在这里插入图片描述


死锁面试题(什么是死锁,产生死锁的原因及必要条件)


2、计算机网络

湖科大计网:传输层

TCP
在这里插入图片描述
UDP:
在这里插入图片描述

TCP和UDP的异同点

一、TCP和UDP的相同点

  • TCP 和 UDP 都是在网络层,都是传输层协议,双方的通信都需要开放端口。
  • TCP和UDP的检验和都检验数据部分和首部。

二、TCP和UDP的区别

  • TCP是面向连接的可靠传输;UDP是无连接的不可靠传输。
  • TCP 提供超时重发,丢弃重复数据,检验数据,流量控制等功能,保证数据能从一端传到另一
    端;UDP 不提供可靠性,它只是把应用程序传给 IP 层的数据报发送出去,但是并不能保证它们能
    到达目的地
  • TCP首部都是不固定长度的;UDP的首部长度是固定的8B;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/13953.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

领域知识 | 智能驾驶安全领域部分常见概论

Hi,早。 最近想买个新能源车,这个车吧相比于之前的内燃车,新能源车与外界的交互多了很多。比如娱乐的第三方应用,OTA升级等应用。 交互带来的便利越多,暴露的风险自然也就越大,相比于手机等消费者终端设备…

【GDAL】GDAL库学习(C#版本)

1.GDAL 2.VS2022配置GDAL环境(C#) VS2022工具–NuGet包管理器–管理解决方案的NuGet程序包,直接安装GDAL包。 并且直接用应用到当前的控制台程序中。 找一张tiff格式的图片,或者用格式转换网站:https://www.zamzar.c…

MySQL 字符字段长度设置详解:语法、注意事项和示例

本文将详细介绍在 MySQL 数据库中如何设置字符字段的长度。将介绍字符字段的数据类型、长度限制、语法示例,并提供具体的示例,以正确设置和管理字符字段的长度。 1. MySQL 字符字段长度概述 在 MySQL 中,字符字段是用于存储文本型数据的列。…

TIMESTAMP之2038年

TIMESTAMP 数据类型的存储上限。实际上,TIMESTAMP 类型在不同的数据库系统中有着不同的存储上限。 TIMESTAMP占用4个字节、并且查询的时候系统会帮你自动转成(Y-m-d H:i:s),可读性强,可读性与可维护性一举两得 但是!&#xff01…

用kimi一键绘制《庆余年》人物关系图谱

《庆余年》里面人物关系复杂,如果能画出一个人物关系图谱,可以直观的理解其中人物关系,更好的追剧。 首先,用kimi下载庆余年的分集剧情,常见文章《AI网络爬虫:批量爬取电视猫上面的《庆余年》分集剧情》&am…

leetcode148-Sort List

题目 给你链表的头结点 head ,请将其按 升序 排列并返回 排序后的链表 。 示例 1: 输入:head [4,2,1,3] 输出:[1,2,3,4] 分析 这道题目的思路也比较明确,我们可以用递归排序的思路,先不断拆分链表直到只…

C++三剑客之std::any(二) : 源码剖析

目录 1.引言 2.std::any的存储分析 3._Any_big_RTTI与_Any_small_RTTI 4.std::any的构造函数 4.1.从std::any构造 4.2.可变参数模板构造函数 4.3.赋值构造与emplace函数 5.reset函数 6._Cast函数 7.make_any模版函数 8.std::any_cast函数 9.总结 1.引言 C三剑客之s…

C#如何在异步任务中调用及取消一个长时间运行的同步方法

在.Net和C#中运行异步代码相当简单,因为我们有时候需要取消正在进行的异步操作,通过本文,可以掌握 通过CancellationToken取消任务(包括non-cancellable任务) using System.Diagnostics;Console.WriteLine("Hell…

网络编程-day5

IO复用select实现TCP服务端 #define IP "192.168.125.196" #define PORT 8888 int main(int argc, const char *argv[]) {int sfd socket(AF_INET, SOCK_STREAM, 0);if(sfd -1){perror("socket");return -1;}int reuse 1;if(setsockopt(sfd, SOL_SOCKE…

外汇天眼:外汇干预是什么? 谁来做? 怎么做?

日元兑美元汇率持续下跌,市场对外汇干预的警惕性提高。 如果日本政府和日本银行(央行)进行外汇干预,会是大约1年半以来首次。 日本2022年曾进行过3次干预。 外汇干预由谁来进行,目的是什么,又采取了什么具体…

工况数据导入MATLAB及数据复用

01--数据导入 之前在Matlab/Simulink的一些功能用法笔记(二)中有介绍过数据的导入到MATLAB工作区间 本次主要是想介绍下数据的复用 我们以NEDC工况数据为例: 通过下列3种方法进行导入: 1.通过导入Excel表数据,使用F…

Date、LocalDateTime、时间戳、日期字符串互转

前言 由于历史原因,项目上使用Date、LocalDateTime、时间戳甚至日期字符串的情况五花八门,在每次参数传递的时候,遇到类型不一致的时候就会很痛苦,接下来就总结下这些类之间到底怎样互转。 1 From Date Date作为老牌的日期处理…

番外篇 | YOLOv5更换主干网络之Conformer:首个CNN + Transformer的backbone模型

前言:Hello大家好,我是小哥谈。Transformer和CNN在处理视觉表征方面都有着各自的优势以及一些不可避免的问题。因此,国科大、鹏城实验室和华为研究人员首次将二者进行了融合并提出全新的Conformer模型,其可以在不显著增加计算量的前提下显著提升了基网表征能力。论文已被IC…

Jenkins部署成功后自动发通知到钉钉群

钉钉上如何配置 选择钉钉群,找到群设置-机器人-添加机器人 选择自定义 选择【添加】 选择【加签】,复制值,后续在jenkins里配置时会用到 复制Webhook地址,后面在jenkins里配置的时候要用到 Jenkins上如何配置 系统管理-插件管…

“Excel+中文编程”衍生新型软件,WPS用户:自家孩子

你知道吗,我们中国人有时候真的挺有创新精神的。 你可能熟悉Excel表格,也可能听说过中文编程,但你有没有脑洞大开,想过如果把这两者结合起来,会碰撞出什么样的火花呢? 别不信,跟着我来看看吧&a…

云WAF:网络安全的未来之选

在数字化时代,网络安全面临着前所未有的挑战。云WAF(Web Application Firewall)作为一种创新的网络安全解决方案,正以其独特的优势引领网络安全的新潮流。云WAF(Web Application Firewall)作为保护Web应用安…

flutter出现kotlin版本问题解决办法

.kotlin_module: Module was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.9.0, expected version is 1.7.1. 在android的settings.gradle下 plugins {id "dev.flutter.flutter-gradle-plugin" version "1.0.0…

几个速度比较快的 Linux 开源镜像站

搜狐开源镜像站 https://mirrors.sohu.com/ File Name CPAN/ FreeBSD/ QpenBSD/ RockyL apache/ archlinux/ centos/ ceph/ cygwin/ debian/ debian–cd/ debian-security/ deepin/ deepin-cd/ docker-ce/ fedora/ fedora-epel/ gentoo/ lib/ mysql/ nginx/ opensuse/ php/ ubu…

计算机视觉中-语义分割

语义分割 语义分割是计算机视觉中的一个关键技术,它涉及对图像中的每个像素进行类别划分,从而识别出图像中的不同物体或区域。具体来说,语义分割就是按照“语义”给图像上目标类别中的每一点打上一个标签,使得不同种类的东西在图像…

力扣-LCR 169. 招式拆解 II

文章目录 力扣题目代码 力扣题目 某套连招动作记作仅由小写字母组成的序列 arr,其中 arr[i] 第 i 个招式的名字。请返回第一个只出现一次的招式名称,如不存在请返回空格。 示例 1: 输入:arr “abbccdeff” 输出:‘…