进程管理:操作系统的核心功能

发表时间: 2024-03-10 17:08

一、操作系统概述

操作系统定义:能有效的组织和管理系统中的各种软硬件资源,合理组织计算机系统工作流程,控制程序的执行,并且向用户提供一个良好的工作环境和友好的接口。

操作系统作用:

  1. 通过资源管理,提高计算机系统效率。
  2. 改善人机界面向用户提供友好的工作环境。

操作系统特征:

  1. 并发性:操作系统在处理进程的时候,宏观上是多个任务并发执行,实际微观上根据分时调度方式,每个进程分配一定的时间去处理,毫秒级别,人是无法感知的。
  2. 共享性
  3. 虚拟性:设备,打印机等。
  4. 不确定性:针对同一个程序,重复执行,可能返回的结果不同。

操作系统功能

  1. 进程管理:将CPU的时间进行合理分配,包括进程控制,进程同步,进程通信等。
  2. 文件管理:对外存,比如硬盘等管理
  3. 存储管理:对主存的管理
  4. 设备管理:输入输出设备管理
  5. 作业管理:人机交互,图形界面,虚拟现实等。

操作系统分类:

  1. 批处理操作系统:单道批处理(一个任务一个任务执行)多道批处理(同时处理多个)
  2. 分时操作系统:一个计算机系统与多个终端设备进行连接,将CPU的工作时间划分为许多很短的时间片,轮流为各个终端的用户服务。交替运行。交互性高,宏观并行,微观串行。
  3. 实时操作系统:实时是指计算机对于外来信息能够以足够快的速度进行处理,并在被控对象允许的时间范围内进行快速反应。实时性要求高,可靠性要求高,交互性要求不高。
  4. 网络操作系统:通过网络共享资源。三种模式:集中模式(多个计算机)、客户端服务器模式(C/S)、对等模式(PPP 任意计算机均可成为客户端或者服务端)
  5. 分布式操作系统:物理上分散的计算机连接起来的,无主次之分。
  6. 微型计算机系统:Windows等
  7. 嵌入式操作系统:特点:微型化、可定制、实时性、可靠性、可移植性。初始化过程按照自底向上,从硬件到软件的次序依次为:片级初始化----板级初始化----系统初始化


二、进程组成与状态

进程组成:进程控制块(PCB 唯一标识)、程序(进程主要做什么)、数据(存放进程执行时候的数据)

三态图:

描述:主要资源分为CPU资源与其他数据资源。当进程处于运行状态时候,进程不缺CPU资源与其他数据资源,运行过程中缺乏某种资源时候,进程会将运行态变为阻塞态,等待资源同步成功。资源同步成功后,进程从阻塞态变成就绪态,此时进程只缺少CPU资源。当进程被调度时候,进程从就绪态变更为运行态。同样,当进程在运行的时候,如果时间片到了,则会自动变更为就绪态。

注意:不能就绪态直接到阻塞态,因为进程未运行,你不清楚其缺乏啥资源。

不能从阻塞态直接到运行态,因为CPU被占用,无法直接接受阻塞状态的变更。

三态图

前趋图:任务间并行,任务间的先后顺序。

进程资源图:进程和资源之间分配情况。P代表进程,R代表资源。

  1. 阻塞节点:某进程请求的资源已经全部分配完毕,无法获取新的资源,该进程就被阻塞。
  2. 非阻塞节点:某进程所请求的资源还有剩余,可以分配给该进程继续运行。
  3. 所有进程都是阻塞节点时候,即陷入死锁状态。

做题要点:资源给进程后,进程执行完毕后,会释放资源,方便其他进程使用。先运行非阻塞节点,等待分阻塞节点运行完成后,释放资源,在运行阻塞节点。

三、进程同步与互斥

临界资源:各进程需要以互斥的方式访问的资源为临界资源。

临界区:本质是一段代码程序,进程中对临界资源实施操作的那段程序。

互斥:某资源在同一时间内只能给一个进程所使用,使用的时候加锁,使用完毕后解锁,使用期间不允许其他进程使用。

同步:多个任务可以并行执行,但是速度有差异。

互斥信号量:对临界资源采用互斥访问,使用互斥信号量后,其他进程无法访问,初值为1

同步信号量:针对共享资源,共享资源是有数量的限制的,初值是共享资源数量。

PV操作与生产者消费者问题:

P操作:代表申请资源,s=s-1 申请完一个资源少一个资源。s>=0的时候继续执行,s<0的时候进程进入阻塞状态,s为几则代表多个进程正等待资源。

V操作:释放资源,s=s+1 释放完资源,则增加一个资源。s>0的时候继续执行,s<0的时候则代表释放了资源,从阻塞进程中唤醒一个进程执行。

生产者与消费者:实际是从仓库中放入商品,消费者取出商品并释放仓库空闲数量问题。

解题思路:大胆假设,小心求证。

题目主要是和前趋图进行关联,每个前趋图中的每条指向的箭头,都代表了一个信号量,根据前趋图可以查看出释放了多少个信号量,申请了多少个信号量,根据前后关联关系,进行分析处理。