学习笔记—八股—操作系统
操作系统操作系统中的进程有哪几种状态操作系统中的进程的基础状态也5种新建就绪运行阻塞终止什么是僵尸进程他有什么危害僵尸进程就是已经终止但父进程没有调用wait函数读取其退出状态的进程他不占用CPU或内存资源但仍然保留PCB和PID导致系统资源表项浪费大量存在会影响新的进程创建。什么是孤儿进程系统如何处理它孤儿进程就是父进程提前终止后仍然运行的子进程。Linux系统会将其收养给init进程由init进程负责监控调用wait清除其退出状态防止变成僵尸进程。进程和线程有什么区别进程是操作系统分配资源的最小单位拥有独立的内存空间线程是CPU调度最小的单位属于进程共享进程资源但有自己独立的栈和寄存器线程之间如何通讯需要注意什么线程间可以直接读写共享变量进行通讯因为他们是共享堆内内存和全局数据。注意同步问题比如使用互斥锁就是防止多个线程同时访问临界资源避免竞态条件。进程之间如何通讯常见的方法有那些由于进程内存隔离必须通过专业的进程间通讯机制如管道命名管道消息队列信号量共享内存套接字等其中共享内存效率最高但需要配合同步机制使用什么是线程池为什么要使用线程池线程池是一组预先创建并等待任务的线程集合。他可以避免频繁创建和销毁线程带来的性能开销提高响应速度和资源利用率适合高并发场景如web服务器处理请求什么是用户态和内核态主要区别有那些用户态和内核态是操作系统中的两种运行模式用户态是应用程序运行的模式权限低不能直接访问硬件或执行特权指令不许通过系统调用请求内核代为操作内核态是操作系统内核运行的模式具有最高权限可以直接访问所有硬件资源和内存负责管理系统的核心功能。权限访问资源稳定性用户态程序崩溃只能影响单个程序内核态崩溃会导致整个系统宕机。什么是管道他适合用于那些场景管道是一种单向通讯机制用于具有亲缘关系的进程之间传递信号。它分为匿名进城和命名进程匿名进程只能用于有亲属关系的进程间通讯而命名管道则通过文件系统的一个特殊文件路径实现无亲属关系进程间通讯。信号量的作用是什么它如何实现进程同步信号量是一种用于控制对共享资源访问的同步原语。通过P操作和V操作可以管理资源使用状态防止多个进程同时访问临界资源区常用于实现互斥和进程的协调同步。l