多任务:单核Vs多核
并发:
并行:
进程:运行中的程序特点:
优缺:
进程状态:
进程的控制结构 pcb包含了进程什么信息:
如何组织信息:
进程的控制创建进程:
终止进程:
阻塞进程:
唤醒进程:
回收进程资源为什么要回收资源:
僵尸与孤儿:
进程的上下文切换切换内容:
切换的场景:
进程的调度 调度程序:阻塞运行态进程后,选择一个进程运行,称为调度程序
调度时机: 调度原则:原则一:不然cpu空闲
原则二:提高吞吐率
原则三:避免周转时间长
原则四:进程等待时间
原则五:响应时间
调度算法先来先服务:
短时间优先:
高响应比优先:
时间片轮转:
高优先级优先:
多级反馈:
进程的通信管道,消息队列,共享内存,信号量,信号,socket。
进程的通信 管道如何创建,原理:
缺点:
消息队列原理:
缺点:
存在用户态到内核态的数据拷贝
共享内存原理:
解决了:
缺点:
信号量原理:
解决什么
解决过程
信号作用:
用法:
socket函数原型
TCP与UDP在socket的过程:(引出网络编程)
线程:是进程中执行的一条流程特点:
优缺:
有了进程为什么用线程:
线程的共享资源问题线程的同步
线程的创建函数原型:
线程的状态
进程与线程的比较单位,资源,状态,时间
为什么线程开销小时间:
空间:
cpu的上下文切换作用:
进程的上下文切换切换内容:
切换的场景:
线程的上下文切换同一进程?
线程的三种实现方式 用户线程是什么:
优缺点:
内核线程是什么:
优缺点:
轻量级线程是什么。
线程同步的具体实现 为什么会发生竞争?例如:
互斥的概念为什么有互斥,原因?
同步概念 在关键点相互等待,互通消息,称线程同步:临界区的入口与结尾同步与互斥都通过锁来实现
锁 忙等待锁:自旋锁死循环实现
无等待锁通过创建线程锁等待队列,先进先出
信号量线程的同步互斥访问如何实现?
生成者消费者问题:
哲学家就餐问题:
读者与写者问题:
锁:不可避免的死锁问题概念:
同时满足四个条件:
互斥条件 持有并等待条件 不可剥夺条件 环路等待条件 简单模拟死锁问题 工具定位死锁linux:pstack
:显示跟踪栈(函数的调用) gdb
避免死锁:破坏其中一个条件。



