软件评测师:操作系统基础知识(一)
文章目录
前言
开始学习操作系统基础知识
一、操作系统概述
1、操作系统的位置
应用软件
其他系统软件: 数据库系统、编译软件、驱动程序
操作系统
硬件
2、操作系统的作用
- 管理软硬件资源
- 改善人机交互
3、操作系统的分类
- 批处理操作系统
- 分时操作系统
- 实时操作系统
- 网络操作系统
- 分布式操作系统 --地理位置分散,网络操作系统的更高级别
- 嵌入式操作系统
二、P、V、S机制
1、基础概念
- 进程:程序在数据集合上的运行过程,系统进行数据分配和调度的单位
- 进程控制:进程从创建到销毁的整个过程的管理,由操作系统内核原语负责
- 原语:所谓原语,一般是指由若干条指令组成的程序段,用来实现某个特定功能,在执行过程中不可被中断
- 互斥:在同一时刻某一资源只允许一个进程访问(间接制约关系)
- 同步:进程之间的协作关系(直接制约关系)
- 临界资源:同一时刻只允许一个进程使用的资源(也称为互斥资源,可以有多个互斥资源)
- 临界区:代码
2、P、S、V操作
- 信号量:可用资源数量
- 共用信号量:互斥模型,对应着互斥资源的数量
- 私用信号量:同步模型,不定
- 信号量为负:绝对值表示在队列中排队等待资源的进程数量
- P操作:申请操作,使信号量-1,如果执行P操作之后S<0,意味系统没有资源分配给这个进程,标明进程需要进入队列中排队等待
- V操作:释放操作,使信号量+1,如果执行V操作之后,如果S<=0,标明队列中有进程排队等待
3、典型
典型互斥模型:多人共享打印机
典型同步模型:消费者生产者模式
PV必须成对出现,否则容易出现死锁
4、判断同步资源还是互斥资源:
如果在某一程序段中,PV操作成对出现,且针对同一资源(即同一信号量S),则为互斥资源
5、消费者生产者同步
生产者——》市场——》消费者
消费者先行:消费者P操作用来判断市场上有没有产品,正常情况下消费者先行时,市场上没有产品,故S2=0,消费者执行P操作后,S2=-1,等待资源;直到市场上存在资源
三、三态模型
1、三态模型概念
在多道程序系统中,进程在处理器上交替运行,状态也不断地发生变化。进程一般有3种基本状态:运行、就绪和阻塞。
(1)运行:进程正在运行,获取到cpu资源
(2)就绪:程序已经准备到位,只欠东风。东风即cpu资源。
(3)阻塞:等待或睡眠。程序等待用户输入或外设输入,即使此时获取cpu资源,也无法运行
什么情况下进程会进入阻塞状态?
引起阻塞的原因是缺乏运行的条件
P操作,申请资源操作,如果此时资源不足,可能导致程序不具备运行的条件。故状态变化为:运行态——》阻塞态
四、死锁
1、概念
两个或两个以上进程,需要占用同一资源且不释放的情况
2、死锁条件
- 资源是互斥的
- 保持和等待
- 不剥夺
- 环路等待
3、死锁的预防和避免
打破四大条件
- 银行家算法:安全状态
- 有序资源分配法
不会引起死锁的最小资源数
假设每个进程需要n个资源,如果有m个进程,如果此时系统资源给每个进程分配资源后仍剩一个资源,则系统此时是不会产生死锁的。故不会引起死锁的最小资源数为:
(n-1)*m + 1
安全序列
五、进程资源图
文件多层结构
绝对路径和相对路径