热门标签 | HotTags
当前位置:  开发笔记 > 开发工具 > 正文

进程控制:创建与终止、阻塞与唤醒、挂起与激活

1.进程的创建  ① 进程的结构层次(操作系统中允许一个进程创建另一个进程,最终形成一个进程的层次结构)    (Windows中不存在进程层次结构,所有进程地位相同,一个进程在创

1. 进程的创建

  ①  进程的结构层次(操作系统中允许一个进程创建另一个进程,最终形成一个进程的层次结构 )

    (Windows中不存在进程层次结构,所有进程地位相同,一个进程在创建另外的进程同时,获得一个句柄,可以控制被创建进程,句柄是可传递的)

    父进程:创建进程的进程

    子进程:被创建的进程(子进程继承了父进程所拥有的资源,子进程撤销时,应归还从父进程所获取的资源 撤销父进程,同时撤销其所有子进程)

    孙进程:子进程创建的进程

    

    进程图:即一棵有向树,结点表示进程,有向边表示父子关系

  ③ 引起进程调度的事件:用户登录、作业调度、提供服务、应用请求

  ②  进程创建过程:操作系统调用 创建原语Creat

   申请空白PCB并为新进程申请获得唯一数字标识符

    为新进程分配运行所需的资源

    初始化PCB

      初始化标志信息:将系统分配标识符与父进程标识符填入PCB

      初始化处理机状态信息:使PC指向程序入口地址,栈指针指向栈顶

      初始化处理机控制信息:将进程的状态设为就绪或静止就绪

    将新进程插入就绪队列


2. 进程的终止

 ① 引发进程终止的事件:

    正常结束:进程任务结束,退出运行

    异常结束:进程在运行时发生某种异常事件,程序无法继续运行

      越界错:程序访问的存储器,越出进程区域

      保护错:进程在试图访问一个不允许的资源、文件

      非法指令:

      特权指令错:

      运行超时,等待超时,算术运算错,I/O故障

   外界干预:进程应外界请求终止运行

      操作员/操作系统干预

      父进程请求

      因父进程终止

  ②  进程终止的过程

    根据被终止进程的标识符

    被终止进程正处于执行状态,终止执行,置调度标志为真(指示终止后应该重新调度)

    终止其子孙进程

    归还资源给父进程或系统

    将该PCB从队列中移出


3. 进程的阻塞、唤醒

 ① 引发阻塞、唤醒的事件

    向系统请求共享资源失败

    等待某种操作完成

    新数据尚未到达

    等待新任务到达

  ② 进程阻塞:是进程自身的一种主动行为,调用阻塞原语Block

    找到被阻塞进程标识号对应的PCB

    若该进程为运行态,保护现场,转为阻塞态

    把该PCB插入等待队列,将处理机资源调度给其他就绪进程

  ③ 进程唤醒:调用唤醒原语Wakeup

    在该事件的等待队列找到相应进程的PCB

    从等待队列中移出,将该状态修改为就绪态

     PCB插入就绪队列,系统调度程序调度


4. 进程的挂起和激活

  ① 进程的挂起:调用挂起原语 Suspend

  ② 进程的激活:调用激活原语 Active

 

TRANSLATE with x

English
















































































ArabicHebrewPolish
BulgarianHindiPortuguese
CatalanHmong DawRomanian
Chinese SimplifiedHungarianRussian
Chinese TraditionalIndonesianSlovak
CzechItalianSlovenian
DanishJapaneseSpanish
DutchKlingonSwedish
EnglishKoreanThai
EstonianLatvianTurkish
FinnishLithuanianUkrainian
FrenchMalayUrdu
GermanMalteseVietnamese
GreekNorwegianWelsh
Haitian CreolePersian 

TRANSLATE with

COPY THE URL BELOW



Back

EMBED THE SNIPPET BELOW IN YOUR SITE



Enable collaborative features and customize widget: Bing Webmaster Portal

Back



推荐阅读
  • Vue 2 中解决页面刷新和按钮跳转导致导航栏样式失效的问题
    本文介绍了如何通过配置路由的 meta 字段,确保 Vue 2 项目中的导航栏在页面刷新或内部按钮跳转时,始终保持正确的 active 样式。具体实现方法包括设置路由的 meta 属性,并在 HTML 模板中动态绑定类名。 ... [详细]
  • 本文探讨了如何通过最小生成树(MST)来计算严格次小生成树。在处理过程中,需特别注意所有边权重相等的情况,以避免错误。我们首先构建最小生成树,然后枚举每条非树边,检查其是否能形成更优的次小生成树。 ... [详细]
  • Valve 发布 Steam Deck 的新版 Windows 驱动程序
    Valve 最新发布了针对 Steam Deck 掌机的 Windows 驱动程序,旨在提升其在 Windows 环境下的兼容性、安全性和性能表现。 ... [详细]
  • Windows服务与数据库交互问题解析
    本文探讨了在Windows 10(64位)环境下开发的Windows服务,旨在定期向本地MS SQL Server (v.11)插入记录。尽管服务已成功安装并运行,但记录并未正确插入。我们将详细分析可能的原因及解决方案。 ... [详细]
  • 深入理解 Oracle 存储函数:计算员工年收入
    本文介绍如何使用 Oracle 存储函数查询特定员工的年收入。我们将详细解释存储函数的创建过程,并提供完整的代码示例。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • PyCharm下载与安装指南
    本文详细介绍如何从官方渠道下载并安装PyCharm集成开发环境(IDE),涵盖Windows、macOS和Linux系统,同时提供详细的安装步骤及配置建议。 ... [详细]
  • 在 Windows 10 中,F1 至 F12 键默认设置为快捷功能键。本文将介绍几种有效方法来禁用这些快捷键,并恢复其标准功能键的作用。请注意,部分笔记本电脑的快捷键可能无法完全关闭。 ... [详细]
  • 本文总结了2018年的关键成就,包括职业变动、购车、考取驾照等重要事件,并分享了读书、工作、家庭和朋友方面的感悟。同时,展望2019年,制定了健康、软实力提升和技术学习的具体目标。 ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • 在计算机技术的学习道路上,51CTO学院以其专业性和专注度给我留下了深刻印象。从2012年接触计算机到2014年开始系统学习网络技术和安全领域,51CTO学院始终是我信赖的学习平台。 ... [详细]
  • CSS 布局:液态三栏混合宽度布局
    本文介绍了如何使用 CSS 实现液态的三栏布局,其中各栏具有不同的宽度设置。通过调整容器和内容区域的属性,可以实现灵活且响应式的网页设计。 ... [详细]
  • Linux 系统启动故障排除指南:MBR 和 GRUB 问题
    本文详细介绍了 Linux 系统启动过程中常见的 MBR 扇区和 GRUB 引导程序故障及其解决方案,涵盖从备份、模拟故障到恢复的具体步骤。 ... [详细]
  • 本文介绍了如何使用jQuery根据元素的类型(如复选框)和标签名(如段落)来获取DOM对象。这有助于更高效地操作网页中的特定元素。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
author-avatar
吴碧菱乐其怡伶
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有