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

news2024/11/15 17:28:04

文章目录

  • 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.coloradmin.cn/o/1685531.html

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

相关文章

深度学习之基于Matlab的BP神经网络交通标志识别

欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 一、项目背景与意义 随着智能交通系统(ITS)的快速发展,交通标志识别&#xff0…

【DevOps】深入浅出:Jenkins 性能监控全解析

目录 一、监控指标:把握系统健康状况 1、资源利用率: 2、 任务执行效率: 3、系统稳定性: 二、监控工具:选择合适的利器 1、Jenkins 内置监控 1.1、Jenkins Performance Plugin:系统性能指标的直观展…

出谈论点云文件pcd加载01

刚写完基于potree开发地图水印效果的时候,在网上分享实例,刚发出去,竟然被人喷了,这么简单的实例,竟然好意思发群里,哎… 好无奈! 不过我还是坚持我的想法,大家看到文章后&#xff0…

赛事|基于SprinBoot+vue的CSGO赛事管理系统(源码+数据库+文档)

CSGO赛事管理系统 目录 基于SprinBootvue的CSGO赛事管理系统 一、前言 二、系统设计 三、系统功能设计 1系统功能模块 2管理员功能模块 3参赛战队功能模块 4合作方功能模块 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取&…

单片机通信协议(1):SPI简介

关于SPI SPI(串行外设接口)是板载设备间通信接口之一。它是由摩托罗拉公司(飞思卡尔半导体)推出的。由于其简单性和通用性,它被纳入各种外围设备中,并与飞利浦I2C总线并列。 SPI的三线或四线信号数量比IIC…

英伟达:AI之火还在燃烧!

昨晚,全球市场屏息以待的一家公司财报终于发布了,没有超出大家预期的是,他还是超预期了。 大家当然都知道我们要说的是——英伟达! 如今,全球大模型之Z激Z正酣,AI芯片装备竞赛需求猛烈,作为AI…

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

手撕C语言题典——轮转数组

目录 前言 一,思路 1)暴力求解 O(N^2) 2)三段逆置 二,代码实现 前言 随着C语言的深入,我们准备转向C方面学习,学习C之前我们需要搞懂时间复杂度,这个蛮重要的,我们将通过几个题…

实时沟通,即时转化:WeChat与HubSpot对接,打造高效营销闭环

在全球化和数字化的浪潮下,企业面临着前所未有的挑战和机遇。WeChat作为中国乃至亚洲市场的重要社交媒体平台,拥有庞大的用户群体和丰富的营销资源。而HubSpot,作为全球领先的客户关系管理(CRM)软件,为企业…

基于日志或 gv$sql_audit 分析 OB 异常重试 SQL

本文以 SQL 异常重试场景为例,使用基于 日志文件 和 gv$sql_aduit 视图 这两种方式,找出具体的报错原因。 作者:郑增权,爱可生 DBA 团队成员,OceanBase 和 MySQL 数据库技术爱好者。 爱可生开源社区出品,原…

1941springboot VUE 服务机构评估管理系统开发mysql数据库web结构java编程计算机网页源码maven项目

一、源码特点 springboot VUE服务机构评估管理系统是一套完善的完整信息管理类型系统,结合springboot框架和VUE完成本系统,对理解JSP java编程开发语言有帮助系统采用springboot框架(MVC模式开发),系统具有完整的源代…

深入解读HTTP状态码:分类、含义、应用场景与故障排查指南

HTTP状态码作为超文本传输协议(HTTP)响应的重要组成部分,为客户端与服务器之间的交互提供了清晰的状态反馈。本文将全面展开对HTTP状态码的深入解读,涵盖其分类、具体含义、典型应用场景以及在故障排查中的实用价值,旨在帮助开发者与运维人员更好地理解和应对各类HTTP响应…

冯喜运:5.24黄金今日能否回调?日内国际黄金美原油操作策略

【黄金消息面分析】:在过去的半个世纪里,美国国债作为买入持有的投资手段,轻松超越了黄金。然而,如今债券作为终极避险资产的地位正面临着前所未有的挑战。传统上,投资者将美国国债视为一种超安全的投资,因…

[emailprotected](7)父子通信,传递元素内容

目录 1,children 属性2,多个属性 普通对象等,可以通过变量直接传递,那类似 vue 中的 slot 插槽,如何传递元素内容? 1,children 属性 实际上,写在自定义组件标签的内部代码&#xf…

express.js--连接数据库,并且增删改查(四)

使用数据库需要在电脑安装mysql,然后使用navicat 我没有下载mysql,我使用的是小皮里面的数据库,需要破解版的navicat可以私信我 安装mysql npm i mysql 数据库的基本信息,我是直接写到配置文件里面的 config/index.js module.exports {…

css扇形菜单动画效果

菜单组件 IntelligentAnalysis.vue 中间圆形区域可以换个图片 <template><div class"intel-analysis"><div class"info" :class"{ close-animation: !showMenu }"><div class"middle"></div><div cl…

win11安装MySQL

目录[-] 1. 1. 下载2. 2. 安装 参考文档&#xff1a;MySQL :: MySQL 8.4 Reference Manual 1. 下载 mysql官网下载msi安装程序&#xff1a;MySQL :: Begin Your Download 2. 安装 运行下载的mis程序,逐步安装。 安装模式&#xff1a; complete; 进入配置&#xff1a; data di…

声明式管理方法

一.方法 1.适合于对资源的修改操作 2.声明式资源管理方法依赖于资源配置清单文件对资源进行管理 资源配置清单文件有两种格式&#xff1a;yaml&#xff08;人性化&#xff0c;易读&#xff09;&#xff0c;json&#xff08;易于api接口解析&#xff09; 3.对资源的管理&#x…

第06章 数据加载、存储与文件格式

以下内容参考自https://github.com/iamseancheney/python_for_data_analysis_2nd_chinese_version/blob/master/%E7%AC%AC05%E7%AB%A0%20pandas%E5%85%A5%E9%97%A8.md 《利用Python进行数据分析第2版》 用以学习和记录。 输入输出通常可以划分为几个大类&#xff1a;读取文本文…

代码随想录--哈希表--有效的字母异位词

题目 给定两个字符串 s 和 t &#xff0c;编写一个函数来判断 t 是否是 s 的字母异位词。 示例 1: 输入: s “anagram”, t “nagaram” 输出: true 示例 2: 输入: s “rat”, t “car” 输出: false 说明: 你可以假设字符串只包含小写字母。 思路 先看暴力的解法&am…