ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

八股学习笔记 主要是 os 的内容

八股学习笔记 主要是 os 的内容 一、八股OS1.内存分配过程中的错误第一种是内存分配失败malloc 的指针是 nullptr 的直接访问错误第二种是内存分配成功但是未初始化误以为默认有零值存在第三种是内存分配成功但是访问越界。第四种是内存没有释放出现内存泄漏第五种是内存释放了但是还在访问。2.多处理器是怎么实现原子性操作的主要是通过缓存锁或者总线锁首先通过缓存一致性协议保证进程对缓存行的独占如果获取了独占权其他进程访问会失效或者等待如果是不能获得缓存行的情况需要对总线加锁在持有锁期间其他进程不能访问内容优先使用缓存锁次选总线锁。3.交换区有哪些注意点交换区位于磁盘通常是一块连续的区域用于存储完整的进程。进程执行的时间要比交换的时间长当出现系统负载升高或者缺页频繁发生的时候需要把一部分进程换出直到性能不再下降。4.线程池有哪些参数有核心线程数最大线程数任务队列非核心线程的存活时间拒绝策略CPU 密集型任务线程数接近核心的数量通常多 1如果是 IO 密集型的任务可以有更多线程当系统负载升高就增加最大线程数。复习计网1.一次完整的 RPC 请求的过程首先请求方像调用本地函数一样去调用 RPC然后序列化内容包括函数名和参数然后去由 TCP 封装成段并经过 ip 层的路由等由驱动网卡异步发送在接收方把数据反序列化并去调用对应的业务服务业务服务的结果再序列化返回给客户端由客户端反序列化得到最终结果。2.由应用层到发送发生了什么首先是序列化然后 TCP 协议把数据根据 MSS 分段并增加头部字段包括序号确认号然后进行 ip层路由并在数据链路里封装成帧并由驱动网卡把数据异步发送给对端。3.TCP 连接对端进程退出机器崩溃或者网络不通分别发生什么如果是进程正常退出会发送 FIN可以 read 到 0 判断连接断开如果是异常退出会发送 RST可以放弃或者重建连接。机器崩溃或者网络不通可以通过心跳机制发现TCP 的 keepalive 或者应用层使用 ping 等根据响应判断连接是否有效决定后续怎么做。
返回列表