文章目录
- 计算机系统概述
- 进程与线程
- 进程
- 条件变量与信号量
- 死锁
- 内存管理
计算机系统概述
分析CPU时间利用率的问题,可以利用甘特图解决【横轴为时间,纵轴为不同进程,每个时间点作垂线分隔,用不同的线代表对不同资源的占用】。
脱机技术是在主机以外的设备上进行输入输出操作,需要时再送主机处理,以提高设备的利用率。
多道程序技术是用于同时在主存中运行多个程序,在一个程序等待时,可以去执行其他程序,提高了系统资源的利用率。
虚拟技术和交换技术都是以多道程序技术为前提。
计算机通过硬件完成操作系统由用户态转到核心态,通过中断机制实现,发生中断事件时,由硬件中断机制将计算机状态设为核心态。
进程与线程
进程
运行态到阻塞态的转换是由进程决定的。
运行态和就绪态的转换都是由调度程序完成的。
阻塞态到就绪态的转换是由协作进程决定的。
进程的通信分为高级通信和低级通信【PV操作】。
高级通信分为,1)共享存储;2)消息传递【直接通信、间接通信】;3)管道【一种特殊的文件,只允许单向通信】。
触发进程创建的事件主要有,1)用户登录;2)作业调度;3)系统提供服务;4)用户程序的应用请求。
条件变量与信号量
条件变量的
wait/signal
操作类似于信号量的P/V
操作,可以实现进程的阻塞和唤醒。
条件变量是没有值的,仅实现了排队等待的功能。
信号量是有值的,信号量反应了剩余资源数,而在管程中,剩余资源数用共享数据结构记录。
多线程技术具有明显的优越性,如速度快,通信简便,设备并行性高【线程能独立执行,充分利用和发挥处理器与外围设备并行的工作能力】。
死锁
死锁产生的四个条件【必要条件】,1)互斥条件;2)不可剥夺条件;3)请求并保持条件;4)循环条件。
互斥资源不互斥破坏互斥条件。
申请资源无法满足时,释放已有资源破坏不可剥夺条件。
一次申请完所有资源破坏请求并保持条件。
资源编号,按序申请,资源有序分配破坏了循环等待条件。
死锁的充分必要条件是资源分配图含圈,且每类资源都只有一个。
\