5月23日 网络编程day6

 1.IO多路复用的原理?

答:将文件描述符放入一个集合中,当集合中有事件产生,移除其他文件描述符,执行剩下的文件描述符所对应的任务,往复循环。

2.实现IO多路复用可以使用哪些函数完成?

答:select、poll、epoll。

3.select和poll的区别?

答:①文件描述符数量:select支持文件描述符的数量为1024个;poll支持的文件描述符数量是无限制的。

        ②数据结构:select是读、写、异常文件描述符的集合;poll是将文件描述符放入一个结构体中。

        ③事件重置:select每次调用完之后需要重置在调用;poll不会修改结构体中的文件描述符,调用完后不需要重置。

        ④效率:select的效率较低,因为它每次调用都需要重新检查所有的文件描述符。poll的效率相对较高,因为它使用数组结构,且不需要在每次调用时重新设置。

4.在UDP通信过程中,是否使用connect函数?为什么?有什么好处?

答:可以使用,可以使俩个端点建立唯一通道,其通信时不会受到其他端点的影响。

5.OSI七层网络体系结构有哪些?

答:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。

6.四层网络体系结构?

答:以太网层、网络层、传输层、应用层

7.ARP、HTTP、TFTP、IP、UDP、TCP的全称和所在层?

答:ARP:地址解析协议:在以太网层;

        HTTP:超文本传输协议:在应用层;

        TFTP:简单文件传输协议:在应用层;

        IP:网际协议:在网络层;

        UDP:用户数据报协议:在传输层;

        TCP:传输控制协议:在传输层;

8.100.0.125.2对应默认的子网掩码是多少?

答:255.0.0.0。

9.顺序表和链表的区别?

答:①存储方式:顺序表是连续的存储空间;链表是不连续的内存块和指针组成。

       ②空间分配:顺序表创建时要预先分配固定的空间;链表可以动态的分配和释放节点。

       ③时间复杂度:顺序表插入删除时时间复杂度为O(n);链表插入删除时间复杂度为O(1)。

       ④访问地址和值:顺序表支持随机访问,时间复杂度为O(1);链表需要每个元素都遍历时间复杂度为O(n)

       ⑤内存利用:顺序表空间未被完全利用,可能会造成内存浪费。链表按需动态分配内存,可以更有效地利用内存空间。

       ⑥使用的场景:顺序表适用于频繁访问元素和随机访问的场景;链表适合频繁插入和删除元素的场景。

10.进程和线程的区别?

答: ①:进程是操作系统分配资源的最小单位,线程是进程最小的基本单位;

     ②:进程的资源空间是独立的,线程的资源空间是共享的整个进程;

     ③:进程相互独立,不会影响其他的进程,线程独立性低,可能会彼此影响;

    ④:进程间通信方式有管道、消息队列、共享内存、信号量等方式,线程通信为互斥锁条件变量、共享内存等方式;

    ⑤:进程适用于需要高独立性、隔离性和稳定性的场景,如服务器程序、后台服务。线程适用于需要高并发和共享资源的场景,如图形用户界面、Web服务器。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值