嵌入式面试常见问题(五)— 牛客网_牛客网嵌入式面试题

3、/proc,proc可以读取内核空间的配置信息和运行状态并且设置部分属性的值。

4、文件,可以通过指定文件的读写操作来实现通信。

5、netlink,类似socket通信方式,可以读写大量的数据,实现稍微复杂。

6、ioctl,可以实现数据量比较少时候的通信

42、怎样预防死锁?

打破互斥条件:改造独占性资源为虚拟资源,大部分资源已无法改造。

打破不可抢占条件:当一进程占有一独占性资源后又申请一独占性资源而无法满足,则退出原占有的资源。

打破占有且申请条件:采用资源预先分配策略,即进程运行前申请全部资源,满足则运行,不然就等待,这样就不会占有且申请。

打破循环等待条件:实现资源有序分配策略,对所有设备实现分类编号,所有进程只能采用按序号递增的形式申请资源。

43、硬链接与软链接的区别?

硬链接与原文件公用一个inode号,他们是同一个文件,而软链接与原文件拥有不同的inode号,他们是两个不同的文件;在文件属性上软链接明确写出了是链接文件,而硬链接没有写 出来,因为在本质上硬链接文件和原文件是完全平等关系;软链接的链接数目不会增加,硬链接没增加一个,链接数目就会加1;硬链接文件显示的大小是跟原文件是一样的,软连接不一定。

44、Linux系统的挂起、待机、休眠?

挂起:CPU、内存工作,而硬盘、显示器等外部设备停止工作。

待机:只对内存供电,CPU、外设停止工作。

休眠:CPU、内存停止工作,内存中的数据保存在硬盘中,外部设备也停止工作。

45、TCP、UDP的区别?

TCP是面向连接的,UDP是面向无连接的。 TCP是面向字节流的,UDP是基于数据报的。

TCP提供可靠服务(正确性、顺序性),UDP提供不可靠服务。

TCP程序结构复杂,占用资源多;UDP程序结构简单,占用资源少。

TCP有拥塞控制;UDP没有拥塞控制。

TCP只支持一对一;UDP支持一对一、一对多、多对一、多对多。

46、简述TCP三次握手的过程。

第一次握手:客户端创建传输控制块,然后向服务器发出连接请求报文(将标志位SYN置1,随机产生一个序列号seq=x),接着进入SYN-SENT状态。

第二次握手:服务器收到请求报文后由SYN=1得到客户端请求建立连接,回复一个确认报文(将标志位SYN和ACK都置1,ack=x+1,随机产生一个序列号seq=y),接着进入SYN-RCVD状态。此时操作系统为该TCP连接分配TCP缓存和变量。

第三次握手:客户端收到确认报文后,检查ack是否为x+1,ACK是否为1,是则发送确认报文(将标志位ACK置1,ack=y+1,序列号seq=x+1),此时操作系统为该TCP连接分配TCP缓存和变量。服务器收到确认报文并检查无误后则连接建立成功,两者都进入ESTABLISHED状态,完成三次握手。

47、TCP为什么需要三次握手,第三次握手去掉行不行?

进行三次握手的主要作用就是为了确认双方的接收能力和发送能力是否正常、指定自己的初始化序列号为后面的可靠性传送做准备。第三次握手不能去掉,第三次握手能防止发生死锁,因为若为两次握手且服务器发出第二次握手而客户端没有收到,服务器开始传输数据报后客户端便不会理会,导致服务器以为丢包而源源不断地发送数据报,造成死锁。

48、简述TCP四次挥手的过程。

第一次挥手:Client发送一个FIN,用来关闭Client到Server的数据传送,Client进入FIN_WAIT_1状态。

<
  • 29
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值