☰
八股学习笔记 主要是 os 的内容
2026/10/1 21:25:43 网站建设 项目流程

一、八股

OS

1.内存分配过程中的错误

第一种是内存分配失败,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 等根据响应判断连接是否有效决定后续怎么做。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询