【操作系统】02.进程管理

这篇具有很好参考价值的文章主要介绍了【操作系统】02.进程管理。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

多道程序系统

多道就是将多个程序同时装入内存,使之并发运行。操作系统也是基于多道产生的,提高了资源利用率和系统吞吐量。

进程

定义

进程是程序的一次执行
进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位

在引入线程后,线程成为调度的基本单位,进程仍是资源分配的基本单位

进程实体的组成

程序:是一组指令的组合

进程:是程序的一次执行过程,是系统进行资源分配和调度的一个独立单位

进程实体:在程序的一次执行过程,会在内存中产生 程序块、数据块、程序控制块 这三部分,这三部分构成了进程实体,又叫进程影像。

【操作系统】02.进程管理

程序块

一般也被称为代码段。
代码段是进程的程序指令在内存中的位置,包含需要执行的指令集合;

数据块

是进程的操作数据在内存中的位置,包含需要操作的数据集合

程序控制块 PCB

(Program Control Block,PCB)
包含进程的描述信息和控制信息,是进程存在的唯一标志。

【操作系统】02.进程管理

PCB的组织方式

【操作系统】02.进程管理

  • 链接方式
    【操作系统】02.进程管理
  • 索引方式
    【操作系统】02.进程管理

进程的特征

【操作系统】02.进程管理

进程的状态

状态

【操作系统】02.进程管理
除此之外,还有挂起态:就绪挂起和阻塞挂起

【操作系统】02.进程管理

进程状态的转换

【操作系统】02.进程管理

【操作系统】02.进程管理

进程的控制

进程控制主要就是要实现进程状态之间的转换

【操作系统】02.进程管理

【操作系统】02.进程管理

原语

进程控制一般是由OS的内核中的原语来实现的

为了保证PCB的状态和所处队列等信息一致,需要将这些修改操作一气呵成

【操作系统】02.进程管理
【操作系统】02.进程管理

【操作系统】02.进程管理

进程的创建与终止

【操作系统】02.进程管理

【操作系统】02.进程管理

进程的切换

【操作系统】02.进程管理

进程的阻塞与唤醒

【操作系统】02.进程管理

进程的挂起与激活

进程的通信

进程通信是指进程之间的信息交换

【操作系统】02.进程管理

共享存储

【操作系统】02.进程管理

管道通信

【操作系统】02.进程管理

消息传递

【操作系统】02.进程管理

CS系统

主要用户不同计算机之间进程的通信

  • 套接字

  • 远程过程调用和远程方法调用

进程同步

【操作系统】02.进程管理

进程同步与互斥

进程互斥的实现,是在同一个进程中先P后V
进程同步的实现,是在两个进程中先V后P

【操作系统】02.进程管理

【操作系统】02.进程管理

临界资源的访问

【操作系统】02.进程管理
【操作系统】02.进程管理

硬件实现方法

【操作系统】02.进程管理

中断屏蔽方法

【操作系统】02.进程管理

TestAndSet指令

【操作系统】02.进程管理

Swap指令

【操作系统】02.进程管理

信号量机制

【操作系统】02.进程管理

分类

  • 整型信号量
    【操作系统】02.进程管理
    【操作系统】02.进程管理

  • 记录型信号量
    【操作系统】02.进程管理
    【操作系统】02.进程管理
    【操作系统】02.进程管理

信号量的应用

【操作系统】02.进程管理

  • 实现进程互斥

【操作系统】02.进程管理

  • 实现进程同步

【操作系统】02.进程管理

  • 实现进程的前驱关系
    【操作系统】02.进程管理

管程机制

【操作系统】02.进程管理

【操作系统】02.进程管理

【操作系统】02.进程管理

eg. synchronized
【操作系统】02.进程管理

常见问题

生产者与消费者问题

【操作系统】02.进程管理

【操作系统】02.进程管理

【操作系统】02.进程管理

【操作系统】02.进程管理

多生产者与多消费者问题

【操作系统】02.进程管理

【操作系统】02.进程管理

当盘子的容量为1的时候,可以不用写mutex;当盘子的容量大于1的时候,需要mutex

吸烟者问题

【操作系统】02.进程管理

【操作系统】02.进程管理

读者与写者问题

【操作系统】02.进程管理

【操作系统】02.进程管理

【操作系统】02.进程管理

【操作系统】02.进程管理

哲学家进餐问题

【操作系统】02.进程管理

【操作系统】02.进程管理

【操作系统】02.进程管理

【操作系统】02.进程管理

线程

【操作系统】02.进程管理

  • 进程是资源分配的基本单位,线程是调度的基本单位
  • 一个进程可以有多个线程

线程的属性

【操作系统】02.进程管理

线程的实现方式

【操作系统】02.进程管理

Java语言采用的就是多对多模型

处理机调度

当有一堆任务要处理,但由于资源有限,这些事情没法同时处理。这就需要确定某种规则来决定处理 这些任务的顺序,这就是“调度”研究的问题。

【操作系统】02.进程管理

处理机调度的层次

【操作系统】02.进程管理

高级(作业)调度

【操作系统】02.进程管理
高级调度主要用于多批到批处理系统中,而在分时和实时系统中不设置高级调度。

中级(内存)调度

【操作系统】02.进程管理

低级(进程)调度

【操作系统】02.进程管理

调度的准则

  • 周转时间短
  • 响应时间短
  • 系统吞吐量大
  • 资源利用率高
  • 公平
    【操作系统】02.进程管理

进程调度

【操作系统】02.进程管理

进程调度的时机

【操作系统】02.进程管理

内核程序临界区
【操作系统】02.进程管理

普通代码(普通临界区)访问普通临界资源(例如IO设备),可以进行处理机调度
内核程序(内核程序临界区)访问内核数据结构(例如就绪队列),不可以进行处理机调度

进程调度的方式

【操作系统】02.进程管理

进程的切换与过程

【操作系统】02.进程管理

广义进程调度:

  • 选择一个进程(狭义进程调度)
  • 进程切换:
    • 保存原来进程的数据
    • 恢复新进程的数据

调度算法

评价指标

【操作系统】02.进程管理

  • CPU利用率
    【操作系统】02.进程管理

  • 系统吞吐量

【操作系统】02.进程管理

  • 周转时间
    【操作系统】02.进程管理

  • 带权周转时间
    【操作系统】02.进程管理

  • 等待时间

【操作系统】02.进程管理

  • 响应时间

【操作系统】02.进程管理

早期批处理算法

下面三种算法适用于早期批处理算法

【操作系统】02.进程管理

先来先服务

FCFS是最简单的调度算法,该算法既可用于作业调度,也可以用于进程调度
【操作系统】02.进程管理

eg
【操作系统】02.进程管理

短作业优先

【操作系统】02.进程管理

  • 非抢占
    【操作系统】02.进程管理

  • 抢占
    【操作系统】02.进程管理

【操作系统】02.进程管理

注意事项
【操作系统】02.进程管理

高响应比优先

【操作系统】02.进程管理

eg

【操作系统】02.进程管理

现代交互算法

【操作系统】02.进程管理

时间片轮转

【操作系统】02.进程管理
【操作系统】02.进程管理

一般来说,设计时间片时要让切换进程的开销占比不超过1%

eg
【操作系统】02.进程管理

优先级调度

【操作系统】02.进程管理

  • 非抢占式
    【操作系统】02.进程管理

  • 抢占式
    【操作系统】02.进程管理
    注意事项
    【操作系统】02.进程管理

多级反馈队列

【操作系统】02.进程管理

eg
【操作系统】02.进程管理

对于实时调度:

  1. 最早截止时间优先:任务截止时间越早,优先程度越高
  2. 最低松弛度优先:任务越紧急,优先程度越高

死锁

【操作系统】02.进程管理

【操作系统】02.进程管理

产生死锁的条件

【操作系统】02.进程管理

【操作系统】02.进程管理

处理策略

预防死锁

【操作系统】02.进程管理

  • 破坏互斥条件

【操作系统】02.进程管理

  • 破坏不剥夺条件

【操作系统】02.进程管理

  • 破坏请求和保持条件

【操作系统】02.进程管理

  • 破坏循环等待条件
    【操作系统】02.进程管理

避免死锁

安全序列

【操作系统】02.进程管理
【操作系统】02.进程管理

银行家算法

【操作系统】02.进程管理

死锁的检测与解除

【操作系统】02.进程管理

死锁检测算法

【操作系统】02.进程管理

解除死锁

【操作系统】02.进程管理文章来源地址https://www.toymoban.com/news/detail-472675.html

到了这里,关于【操作系统】02.进程管理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 操作系统(第二章-进程管理)

    目录 一、程序执行 1. 前趋图  2. 程序的顺序执行  3. 程序的并发执行  二、进程的描述      (一)、进程的概念  1. 进程的定义  2. 进程的特征      (二)、进程的状态极其转换  1. 进程的三种基本状态 (1)就绪状态  (2)运行状态 (3)等待状态 2. 进程状态的转换

    2024年01月22日
    浏览(35)
  • 软考学习笔记--操作系统-进程管理

    进程管理是一个具有独立功能的程序关于数据集合的一次可以并发执行的运行活动,是系统进行资源分配和调度的基本单位。相对于程序,进程是动态的概念,而程序是静态的概念,是指令的集合。进程具有动态性和并发性,需要一定的资源来完成任务。在大多数操作系统中

    2024年01月18日
    浏览(28)
  • 操作系统实验——进程管理的算法实现

    笔者在大学下属的事业单位上班,最近去帮着带下操作系统的实验课,这里随手水点参考代码,欢迎各位领导老师莅临指正 编写一个简单的进程调度器 进程控制块(PCB)的定义与管理 进程调度算法的实现 进程创建、销毁和切换 给定一批进程对比3-4种调度算法的时间(自选

    2024年02月06日
    浏览(29)
  • 软考:中级软件设计师:操作系统,进程管理,前趋图,进程同步互斥,PV操作,

    提示:系列被面试官问的问题,我自己当时不会,所以下来自己复盘一下,认真学习和总结,以应对未来更多的可能性 关于互联网大厂的笔试面试,都是需要细心准备的 (1)自己的科研经历, 科研内容 ,学习的相关领域知识,要熟悉熟透了 (2)自己的实习经历,做了 什

    2024年02月12日
    浏览(35)
  • 操作系统课程设计(作业调度、内存管理、进程调度、进程阻塞等)

    资源下载: https://download.csdn.net/download/fufuyfu/85811450 操作系统是计算机系统配置的基本软件之一。它在整个计算机系统软件中占有中心地位。其作用是对计算机系统进行统一的调度和管理,提供各种强有力的系统服务,为用户创造既灵活又方便的使用环境。本课程是计算机及

    2024年02月03日
    浏览(33)
  • 【JavaEE】简单了解操作系统、进程&内存管理

    目录 前言:  一、操作系统: 操作系统的定位: 应用程序: 系统调用: 操作系统内核: 驱动程序: 硬件设备:  二、进程:  什么是进程?  进程的描述与组织:  描述: 组织: PCB中的 特征(属性) CPU分配——进程调度:  进程调度的相关属性:  三、内存管理:

    2024年02月03日
    浏览(25)
  • Linux操作系统-06-进程与服务管理

    使用ps命令查看进程。包括过滤进程信息 使用systemctl命令管理和运行Linux服务 进程(Process):操作系统正在运行的应用程序。任意一个进程,都会消耗CPU和内存资源, 服务(Service):通过服务控制面板直接启动的应用程序,也可能是操作系统启动时自启动的后台应用程序。

    2024年03月12日
    浏览(38)
  • 二、操作系统进程管理(10)——用信号量机制实现进程互斥、同步、前驱关系

        (1)分析并发进程的关键活动,划定临界区。(如对临界区资源打印机的访问就应放在临界区)     (2)设置互斥信号量mutex,初值为1。     (3)在临界区之前执行P(mutex)。      //即使用资源前先申请(P操作)     (4)在临界区之后执行V(mutex)。     (5)对不

    2023年04月08日
    浏览(26)
  • 【Linux操作系统】深入探索Linux进程:创建、共享与管理

    进程的创建是Linux系统编程中的重要概念之一。在本节中,我们将介绍进程的创建、获取进程ID和父进程ID、进程共享、exec函数族、wait和waitpid等相关内容。 在Linux系统中,进程的创建使用 fork() 系统调用。 fork() 系统调用会创建一个与当前进程相同的子进程,子进程会复制父进

    2024年02月12日
    浏览(36)
  • 【Linux操作系统】探秘Linux奥秘:进程与任务管理的解密与实战

    🌈个人主页: Sarapines Programmer 🔥 系列专栏: 《操作系统实验室》 🔖诗赋清音:柳垂轻絮拂人衣,心随风舞梦飞。 山川湖海皆可涉,勇者征途逐星辉。 目录 🪐1 初识Linux OS 🪐2 进程与任务管理的解密与实战 🌍1. 实验目的 🌍2. 实验准备 🌍3. 实验内容 🌍4. 实验心得 📝

    2024年02月03日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包