1. 在Linux系统中,以 文件 方式访问设备,每个用 i节点 来标识。
  2. 启动Linux Shell的时候,stdin stdout stderr 三个文件描述符会自动打开, 它们的值分别是 0 1 2
  3. 创建新进程的系统调用是 fork 创建新线程的函数是 pthread_create
  4. TCP协议里面的五层分别是 物理层 数据链路层 网络层 传输层 应用层 假设两台机器AB,以A给B发信息,作为例子解释 1> 物理层 目标:实现AB之间可以发送01信号 意义:就是物理上实现连接,AB之间用网线连接;或者无线链接 2> 数据链路层 目标:把信息编码成01,并找到B后发给它 编码:将信息封装成一个数据包,包括头和数据两部分;头里面包含了A和B的物理地址,世上任何两台机器有唯一的物理地址 发送:A以广播的形式,发给所有A可以发送到的机器,如果自己是B则拿过来,如果不是则丢弃 3> 网络层 目标:改善数据包发送的范围,减少网络负担 问题:由于A会发送给所有机器,则如果连接的机器越多负担越重 方案:将世界的机器分区域,一个区域内的网络通过广播发送,区域之间则通过新协议(IP)交流 协议:物理地址是网卡本身的地址,IP4,IP6则是人为分配的地址,可以通过子网掩码来判断AB是否属于同一个区域 4> 传输层 目标:区分AB上不同应用程序对网络的使用 方案:通过端口(0-65535),0-1023已经被系统使用了;端口好像进入一个大厦后,要进入房间的门牌号,端口的选择则通过新协议(TCP/UDP)实现 协议:TCP、UDP分别是两种可靠性级别不同的协议 5> 应用层 目标:实现对AB不同应用程序的数据编码 原因:不同应用程序根据自己的需求,对数据进行A上编码和B上解码
  5. 进程具有的基本状态为 运行 就绪 阻塞
  6. 网络IO模型有哪五种 同步IO 异步IO 阻塞IO 非阻塞IO 同步复用IO
  7. 线程信号量的类型为