一、操作系统概述
操作系统定义:能有效的组织和管理系统中的各种软硬件资源,合理组织计算机系统工作流程,控制程序的执行,并且向用户提供一个良好的工作环境和友好的接口。
操作系统作用:
- 通过资源管理,提高计算机系统效率。
- 改善人机界面向用户提供友好的工作环境。
操作系统特征:
- 并发性:操作系统在处理进程的时候,宏观上是多个任务并发执行,实际微观上根据分时调度方式,每个进程分配一定的时间去处理,毫秒级别,人是无法感知的。
- 共享性
- 虚拟性:设备,打印机等。
- 不确定性:针对同一个程序,重复执行,可能返回的结果不同。
操作系统功能:
- 进程管理:将CPU的时间进行合理分配,包括进程控制,进程同步,进程通信等。
- 文件管理:对外存,比如硬盘等管理
- 存储管理:对主存的管理
- 设备管理:输入输出设备管理
- 作业管理:人机交互,图形界面,虚拟现实等。
操作系统分类:
- 批处理操作系统:单道批处理(一个任务一个任务执行)多道批处理(同时处理多个)
- 分时操作系统:一个计算机系统与多个终端设备进行连接,将CPU的工作时间划分为许多很短的时间片,轮流为各个终端的用户服务。交替运行。交互性高,宏观并行,微观串行。
- 实时操作系统:实时是指计算机对于外来信息能够以足够快的速度进行处理,并在被控对象允许的时间范围内进行快速反应。实时性要求高,可靠性要求高,交互性要求不高。
- 网络操作系统:通过网络共享资源。三种模式:集中模式(多个计算机)、客户端服务器模式(C/S)、对等模式(PPP 任意计算机均可成为客户端或者服务端)
- 分布式操作系统:物理上分散的计算机连接起来的,无主次之分。
- 微型计算机系统:Windows等
- 嵌入式操作系统:特点:微型化、可定制、实时性、可靠性、可移植性。初始化过程按照自底向上,从硬件到软件的次序依次为:片级初始化----板级初始化----系统初始化。
二、进程组成与状态
进程组成:进程控制块(PCB 唯一标识)、程序(进程主要做什么)、数据(存放进程执行时候的数据)
三态图:
描述:主要资源分为CPU资源与其他数据资源。当进程处于运行状态时候,进程不缺CPU资源与其他数据资源,运行过程中缺乏某种资源时候,进程会将运行态变为阻塞态,等待资源同步成功。资源同步成功后,进程从阻塞态变成就绪态,此时进程只缺少CPU资源。当进程被调度时候,进程从就绪态变更为运行态。同样,当进程在运行的时候,如果时间片到了,则会自动变更为就绪态。
注意:不能就绪态直接到阻塞态,因为进程未运行,你不清楚其缺乏啥资源。
不能从阻塞态直接到运行态,因为CPU被占用,无法直接接受阻塞状态的变更。
三态图
前趋图:任务间并行,任务间的先后顺序。
进程资源图:进程和资源之间分配情况。P代表进程,R代表资源。
- 阻塞节点:某进程请求的资源已经全部分配完毕,无法获取新的资源,该进程就被阻塞。
- 非阻塞节点:某进程所请求的资源还有剩余,可以分配给该进程继续运行。
- 所有进程都是阻塞节点时候,即陷入死锁状态。
做题要点:资源给进程后,进程执行完毕后,会释放资源,方便其他进程使用。先运行非阻塞节点,等待分阻塞节点运行完成后,释放资源,在运行阻塞节点。
三、进程同步与互斥
临界资源:各进程需要以互斥的方式访问的资源为临界资源。
临界区:本质是一段代码程序,进程中对临界资源实施操作的那段程序。
互斥:某资源在同一时间内只能给一个进程所使用,使用的时候加锁,使用完毕后解锁,使用期间不允许其他进程使用。
同步:多个任务可以并行执行,但是速度有差异。
互斥信号量:对临界资源采用互斥访问,使用互斥信号量后,其他进程无法访问,初值为1
同步信号量:针对共享资源,共享资源是有数量的限制的,初值是共享资源数量。
PV操作与生产者消费者问题:
P操作:代表申请资源,s=s-1 申请完一个资源少一个资源。s>=0的时候继续执行,s<0的时候进程进入阻塞状态,s为几则代表多个进程正等待资源。
V操作:释放资源,s=s 1 释放完资源,则增加一个资源。s>0的时候继续执行,s<0的时候则代表释放了资源,从阻塞进程中唤醒一个进程执行。
生产者与消费者:实际是从仓库中放入商品,消费者取出商品并释放仓库空闲数量问题。
解题思路:大胆假设,小心求证。
题目主要是和前趋图进行关联,每个前趋图中的每条指向的箭头,都代表了一个信号量,根据前趋图可以查看出释放了多少个信号量,申请了多少个信号量,根据前后关联关系,进行分析处理。