2020校招后端笔试题(一)

1. 假设现在有P个进程,每个进程最多需要m个资源,并且有r个资源可用。什么样的条件可以保证死锁不会发生?
解:
	如果一个进程有m个资源它就能够结束,不会使自己陷入死锁。因此最差的情况就是每个进程都只有m-1个资源并且需要另外一个资源。如果有一个资源可用,那么其中某个进程就能够结束并释放它的所有资源,使其他进程也能够结束。所以避免死锁发生的条件就是:
	r>=p(m-1)+1
例:某系统中有3个并发进程,都需要同类资源4个,试问该系统不会发生死锁的最少资源数是多少?

根据上面的式子,最少资源数>=并发进程数*(单个进程最多需要资源数-1)+1,所以该题目答案是
3 ∗ ( 4 − 1 ) + 1 = 10 3*(4-1)+1=10 3(41)+1=10

2. 计算机的用户态与内核态之间的切换
详细可参考:https://blog.csdn.net/weixin_30917213/article/details/99056150
(1)用户态与内核态的理解

要想理解用户态内核态,就先了解特权级

特权级:

计算机硬件上执行的每条指令都具有对应的特权级,用来确保最关键性的权力必须由高特权级的程序来执行,做到集中管理,减少有限资源的访问和使用冲突。就Intel x86架构的CPU来说一共有0~3四个特权级,0级最高,3级最低,而对于Unix/Linux来说,只使用了0级特权级和3级特权级。

用户态:

当程序运行在3级特权级上时,就可以称之为运行在用户态,因为这是最低特权级,是普通的用户进程运行的特权级,大部分用户直接面对的程序都是运行在用户态。

内核态:

当程序运行在0级特权级上时,就可以称之为运行在内核态。
(2)用户态和内核态之间的切换方式

用户态内核态之间切换有3种方式

①系统调用(主动)

用户态进程主动要求切换到内核态的一种方式,用户态进程通过系统调用申请使用操作系统提供的服务完成工作。
	例如:创建一个新进程

②异常(被动)

当CPU在执行运行在用户态下的程序时,发生了某些事先不可知的异常,这时就会触发当前运行进程切换到处理此异常的内核相关程序中,也就转到了内核态。
	例如:缺页异常

③外围设备的中断(被动)

当外围设备完成用户请求的操作后,会向CPU发出响应的中断信号,这是CPU会暂停执行吓一跳即将要执行的指令转而去执行与中断信号对应的处理程序,如果说当前是用户态,那么就会发生用户态到内核态的切换。
	例如:硬盘读写操作完成,系统会切换到硬盘读写的中断处理程序中执行后续操作等。
3. OSI七层网络模型
详细可参考:https://blog.csdn.net/wangking407/article/details/91897914

OSI七层网络模型.png

这是OSI七层网络模型,自上而下分为应用层表示层会话层传输层网络层数据链路层物理层七层。

(1)应用层
这一层的协议直接为端用户服务,提供分布式处理环境。这一层协议的例子有在不同系统间传输文件的协议、电子邮件协议和远程作业输入协议等。
(2)表示层
表示层的用途是提供一个可供应用层选择的服务的集合,使得应用层可以根据这些服务功能解释数据的含义。表示服务的例子有统一的数据编码、数据压缩格式和加密技术等。
(3)会话层
会话层支持两个表示层实体之间的交互作用。它提供的会话服务可分为以下两类。
(1)把两个表示实体结合在一起,或者把它们分开,这叫会话管理
(2)控制两个表示实体间的数据交换过程例如分段、同步等
(4)传输层
这一层在低层服务的基础上提供一种通用的传输服务。传输层用多路复用或分流的方式优化网络的传输效率。传输层协议是真正的源端到目标端的协议,它由传输连接两端的传输实体处理。

传输层下面的功能层协议都是通信子网中的协议
主要协议:TCP和UDP
主要功能:会话的多路复用、数据的分段、流量控制

多路复用:一个协议可谓多个上层协议提供统一的服务,通过不同的端口号区分不同的上层应用,端口号的功能就是tcp/udp协议用来实现多路复用的。

TCP:面向连接的,双向的,顺序的,可靠的(校验),差错恢复

UDP:面向非连接的,非顺序的,效率高(一般用于语音,视频的传输)

OSI各层协议结构图.png

​ OSI各层协议结构图

三次握手.png

​ TCP三次握手流程图

三次握手:

主机A要想与主机B建立TCP连接
	1.主机A发送一个SYN请求并协商一个序列号
	2.主机B收到主机A发送的SYN请求,必须确认主机A的SYN,同时自己发送一个SYN包,即SYN+ACK包
	3.主机A收到主机B发送的SYN-ACK包,向主机B发送一个确认包ACK,完成3次握手
(5)网络层

主要功能:ip编址和路由

mac编址存在的问题:
1、所有的设备处在同一个广播域(易被攻击)
2、设备查找困难
3、难以区分设备

IP地址是32位,一共制定了5种IP地址的等级。一般最常用到的便是A、B、C类这三种等级的IP地址。IP地址是由网络地址与主机地址两部分所组成。下面是5类IP地址的分布图

五类IP地址.png

IP地址根据网络号和主机号来分,分为A、B、C三类及特殊地址D、E。 全0和全1的都保留不用。

A类:(1.0.0.0-126.0.0.0)(默认子网掩码:255.0.0.0或 0xFF000000)第一个字节为网络号,后三个字节为主机号。该类IP地址的最前面为“0”,所以地址的网络号取值于1~126之间。一般用于大型网络。

B类:(128.0.0.0-191.255.0.0)(默认子网掩码:255.255.0.0或0xFFFF0000)前两个字节为网络号,后两个字节为主机号。该类IP地址的最前面为“10”,所以地址的网络号取值于128~191之间。一般用于中等规模网络。

C类:(192.0.0.0-223.255.255.0)(子网掩码:255.255.255.0或 0xFFFFFF00)前三个字节为网络号,最后一个字节为主机号。该类IP地址的最前面为“110”,所以地址的网络号取值于192~223之间。一般用于小型网络。

D类:是多播地址。该类IP地址的最前面为“1110”,所以地址的网络号取值于224~239之间。一般用于多路广播用户 。

E类:是保留地址。该类IP地址的最前面为“1111”,所以地址的网络号取值于240~255之间。

在IP地址3种主要类型里,各保留了3个区域作为私有地址,其地址范围如下:

A类地址:10.0.0.0~10.255.255.255 
B类地址:172.16.0.0~172.31.255.255 
C类地址:192.168.0.0~192.168.255.255

回送地址:127.0.0.1。 也是本机地址,等效于localhost或本机IP。一般用于测试使用。

特殊的IP地址

1)广播地址:所有主机号部分为1的地址是广播地址。广播地址分为两种:直接广播地址和有限广播地址。
	(1)在一特定子网中,主机地址部分为全I的地址称为直接广播地址。
	(2)32个比特全为l的IP地址(即255.255.255.255)被称为有限广播地址或本地网广播地址,该地址			被用作在本网络内部广播。
	
2)组播地址:D类IP地址就是组播地址,即在224.0.0.0~239.255.255.255范围内的每个IP地址,实际上		   代表一组特定的主机。

3)0地址:主机号为0的IP地址从来不分配给任何一个主机,单个的主机号为0。
	    0.0.0.0代表本主机地址。网络上任何主机都可以用它来表示自己。
	    
4)回送地址:任何一个以数字127开头的IP地址(127.x.x.x)都叫做回送地址。它是一个保留地址,最常见的	       表示形式为127.0.0.1。

路由:
路由.png

网关:路由器的IP地址,网段的进出口,所有该网段的数据必须经过网关进出。

DHCP:动态主机地址配置
DNS:域名解析协议
ARP:地址转换协议,用于三层IP地址转换二层MAC地址,原理是发送一条arp命令去获取对应ip的mac地址,可用arp - a命令查看。
ICMP:Internet控制报文协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。,ping命令底层就是用的这个协议。

(6)数据链路层

第二层的主要设备是交换机,局域网(LAN)一般是通过交换机连接的。

MAC地址:保存在网卡的ROM中,不可改变

​ MAC地址为48位,前24位是厂商标识,后24位为厂商分配的唯一标识

以太网传输数据的方式
1、单播:一对一发送
2、广播:一对所有发送
3、组播:一对多发送

(7)物理层

​ 100Base-tx 双绞线
​ 100Base-fx 光纤

双绞线的线序:

网线的颜色顺序.png

双绞线的线序分为两种:

​ 1)568A:绿白-绿-橙白-蓝-蓝白-橙-棕白-棕

​ 2)568B:橙白-橙-绿白-蓝-蓝白-绿-棕白-棕

一般网线的传输距离是100米左右,超过的话可用增强器(hub)
单模光纤(LX):传输距离长
多模光纤(SX):传输距离短

直通:两端线序相同,应用在不同设备之间的连接
平行:两端线序不同,应用在相同设备之间的连接

  • 1
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值