操作系统
2022-02-23 20:03:39 22 举报
AI智能生成
计算机操作系统相关知识总结,面试用,考试不够用。
作者其他创作
大纲/内容
操作系统是配置在计算机上的第一层软件,是对硬件系统的首次扩充
操作系统的定义
方便性、有效性、可扩充性、开放性
目标
命令方式
系统调用方式
图标-窗口方式
1、作为用户与计算机硬件系统之间的接口
2、计算机系统资源的管理者
3、实现了对计算机资源的抽象
作用
操作系统的目标和作用
并行是指两个或多个事件在同一时刻发生。
并发是值两个或两个事件在同一时间间隔内发生
并行与并发
在多道程序环境下,并发是指在一段时间内宏观上有多个程序在同时运行,但在单机处理机系统中,每一时刻却仅能有一道程序执行,故微观上这些程序只能是分时地交替执行
并发
共享
虚拟
异步
操作系统的基本特性
操作系统引论
间断性
失去封闭性
运行结果不可再现性
程序并发执行的特征
在多道程序环境下,程序的执行属于并发执行,此时它们将失去其封闭性,并具有间断性,以及其运行结果不可再现性的特征。由此决定的通常的程序是不能参与并发执行的,否则,程序的运行也就失去了意义。为了能使程序并发执行,并且可以对并发执行的程序加以描述和控制,引入了进程的概念。
进程定义的引入
PCB是进程存在系统中的唯一标志
程序段+相关数据段+PCB
进程的结构
进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位
进程的标准定义
由创建而生,由调度而执行,有撤销而消亡
动态性
多个进程实体同时存在于内存中,且能在同一时间段内同时运行
并发性
进程实体是一个能独立运行、独立获得资源和独立接受调度的基本单位
独立性
异步性
进程的特征
创建
就绪
执行
阻塞
终止
进程的状态
原语:若干条指令组成,用于完成一定的功能的过程,它们是原子操作,要麽全部完成,要麽全部不完成
进程控制一般都是由OS内核中的原语来实现的
进程的控制
进程的描述和控制
对多个相关进程在执行次序上进行协调,使并发执行的程序之间按照一定的规则共享系统资源,使程序的执行具有可再现性
进程同步的基本概念
临界区资源没被使用,可以进程使用
空闲让进
临界区资源被使用,其他进程必须等待
忙则等待
保证等待的进程在有限的时间能获得资源的使用权,防止死等状态
有限等待
当进程获得不了资源使用权时,应该立即释放处理机,避免进程陷入忙等状态
让权等待
同步机制遵循的规则
关中断
Test and Set指令
Swap指令
硬件同步机制
整型信号量
记录型信号量
AND型信号量
信号量集
信号量机制
一个管程定义了一个数据结构和能为并发进程锁执行的一组操作,这组操作能同步进程和改变管程中的数据
管程的定义
管程机制
进程同步
生产者消费者问题
哲学家就餐问题
经典进程同步问题
共享数据结构
共享存储区
共享存储器系统
管道通信系统
直接通信
间接通信
消息传递系统
Socket
RPC
客户机-服务器系统
进程通信
抢占式
非抢占式
轮转调度算法
优先级调度算法
多队列调度算法
多级反馈队列调度算法
基于公平原则的调度算法
算法:
进程调度方式
如果说引入进程的目的是为了使程序能够并发执行,以提高资源利用率和系统吞吐量,那么,在操作系统中再引入线程,则是为了减少程序在并发执行时所付出的时空开销,使OS具有更好的并发性
线程的引入
比进程更小的基本单位,用以提高程序并发执行的程度,以进一步改善系统的服务质量
线程的基本概念
tip:一个误区:传统OS中,进程是作为独立调度和分派的基本单位,因而进程是能独立运行的基本单位。但是在引入线程的OS中,已把线程作为调度和分派的基本单位,因而线程是能独立运行的基本单位
引入线程的OS中,线程作为调度单位
调度
引入线程的OS中,进程作为资源分配单位
资源
线程之间并发
进程之间并发
系统开销
进程和线程直接的比较角度
线程的状态
TCB
程序计数器
堆栈
寄存器
线程的数据
内核支持线程
用户级线程
线程的实现方式
互斥锁mutex
信号量
条件变量
线程之间的同步机制
共享内存
消息传递
由于多线程共享地址空间和数据空间,所以多个线程间的通信是一个线程的数据可以直接提供给其他线程使用,而不必通过操作系统(也就是内核的调度),线程间通信的目的主要是用于线程同步,所以线程没有像进程通信中的用于数据交换的通信机制
线程之间的通信方式(参考juc)
线程
死锁的起因,通常是源于多个进程对资源的争夺,不仅对不可抢占资源进行争夺时会引起死锁,而且对可消耗资源进行争夺时,也会引起死锁
如果一组进程中的每一个进程都在等待仅由该组进程中的其他进程才能引发的事件,那么该组进程是死锁的
死锁的定义
一段时间内,某资源只能被一个进程占用
互斥
获得资源的进程可以发起新的资源请求,若新的资源被占用,进程被阻塞,但是原本占有的资源不会释放
请求和保持
进程已经获得的资源在未使用完成之前不能被其他进程抢占,只能自己释放
不可抢占
发生死锁时,必然有个进程——资源的循环链
循环等待
死锁产生的条件
破坏请求和保持
破坏不可抢占
破坏循环等待
预防
系统安全状态
银行家算法
避免
资源分配图
检测
抢占资源
终止进程
解除
处理死锁的方法
死锁
先来先服务
短作业优先
高响应比优先调度算法
作业调度算法
操作系统
0 条评论
回复 删除
下一页