什么是操作系统
1、是计算机硬件和应用之间的一层软件
2、方便我们使用硬件,如使用显存... 高效的使用硬件,如开多个终端(窗口)

CPU管理
CPU核心就是取指执行,指针就是PC指针,指令就是内存中的汇编指令。
程序纯计算的执行时间和中间参杂io等操作的执行时间相差特别大,不同的程序串行执行的话效率就很慢,CPU利用率会很差,所以引入了多进程的概念。当程序需要等待的时候进行下一个程序的执行

并行程序执行会有很多问题需要一一的去解决
权限问题
程序直接调用系统函数拿到系统信息,通过一个标志为将程序分为内核态和用户态

如何调用:

状态问题
一个程序执行过程中切换到另一个程序,cpu中的寄存器等都会设置为另一个进程的数据。此时切换回当前程序时,寄存器就需要恢复之间运行时候的状态,所以引入PCB,PCB就是记录线程切换时线程的状态,如PC指针,各个寄存器的值等


管理多进程问题
就是进程的调度,是FIFO还是优先级还是有更好的方法
各个中方法
FIFO
cpu利用效率不高,短作业可能需要等长作业做完才能完成
优先级
可能导致一直有优先级高的导致低优先级的进程没有响应
时间片轮转
原理如:

时间片大,响应时间长,时间片小吞吐量下,因为要切换
通过时间片和优先级的结合来确保进程调度保证吞吐量和响应时间
算法:

进程的同步合作问题
比如生产和消费,如何保证不乱
通过信号量
网友评论