保研面试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…

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

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

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…

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

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

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

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

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

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

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

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

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

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

几个速度比较快的 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…

计算机视觉中-语义分割

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

EI会议的投稿流程是什么?

EI会议是工程技术领域的学术会议,为研究人员提供展示研究成果、交流学术观点的平台。下面是EI会议投稿的详细流程: EI会议论文的投稿流程是什么? 确定会议信息: 首先,确定你感兴趣的EI会议的相关信息,包括…

数据结构:树(3)【二叉树链式结构实现】【二叉树的前序,中序,后序遍历】【求二叉树全部结点个数】【求二叉树叶子结点个数】【求二叉树的深度】【单值二叉树】

一.二叉树链式结构的实现 二叉树的链式结构的实现相对于顺序结构的实现就没有那么多的讲究了。就是普通的链表,只不过多了一个指向的指针。 具体结构如下: typedef int BTDataType; typedef struct BinaryTreeNode {BTDataType data;struct BinaryTre…

消息号 KI261 成本中心 XXXX/123123 冻结而不能直接对 2020.10.08 收入记帐

做AR凭证遇到如上图所示的报错,检查之后发现是科目的成本要素类别与成本中心的控制面板-锁定中的类型不匹配,现在科目的成本要素类别是11,控制面板中锁定了“实际销售收入”与“计划收入”。 成本要素类别“11”代表主营收入或者库存收入&…

WEB攻防【1】——ASP应用/HTTP.SYS/短文件/文件解析/Access注入/数据库泄漏

#知识点: 1、ASP-SQL注入-Access数据库 2、ASP-默认安装-数据库泄漏下载 3、ASP-IIS-CVE&短文件&解析&写入 windows iis asp access (sqlsever) 常见组合:winiisaspaccess php一般是和mysql搭配 access 数据库 一…

SQL刷题笔记day1

1题目 我的代码: select * from employees order by hire_date desc limit 2,1 标准代码: select * from employees where hire_date (select distinct hire_date from employees order by hire_date desc limit 2,1) 复盘:因为按照入…

excel里如何将数据分组转置?

这个表格怎样转换为下表?按照国家来分组,把不同年份对应的不同序列值进行转置?? 这演示用数据透视表就完成这个数据转换。 1.创建数据透视表 选中数据中任意单元格,点击插入选项卡,数据透视表,…

202472读书笔记|《首先你要快乐,其次都是其次》——快乐至上,允许一切发生

202472读书笔记|《首先你要快乐,其次都是其次》——快乐至上,允许一切发生 《首先你要快乐,其次都是其次》作者林小仙,挺轻松的小漫画,清新的文字。 生而为人,我很抱歉,大可不必。 生活已经很难…

【正点原子Linux连载】 第四十五章 SATA硬盘驱动实验摘自【正点原子】ATK-DLRK3568嵌入式Linux驱动开发指南

1)实验平台:正点原子ATK-DLRK3568开发板 2)平台购买地址:https://detail.tmall.com/item.htm?id731866264428 3)全套实验源码手册视频下载地址: http://www.openedv.com/docs/boards/xiaoxitongban 第四十…

快速搭建SpringMvc项目

一、什么是springMvc 1、介绍 Spring Web MVC是基于Servlet API构建的原始Web框架,从一开始就包含在Spring Framework中。正式名称“Spring Web MVC”来自其源模块的名称( spring-webmvc ),但它通常被称为“Spring MVC”。 在控制…