zoukankan      html  css  js  c++  java
  • 操作系统-进程管理~

    未配置操作系统  程序是顺序执行。

    多道程序系统的 程序是并发执行。

       有间断性

       失去封闭性

       不可再现性

    间断性又 导致 进程有 三个基本状态。

    就绪状态(多个进程等待,就绪队列)获得除cpu以为的全部资源,只要一得到cpu立刻执行。

    执行状态  

    阻塞状态(正在执行的进程因为发生事件无法执行 阻塞)

           挂起状态是新增的最重要的状态。(可以定义为暂时被淘汰出内存的进程)

         引起挂起的原因:

       工作负荷比较重

      终端用户请求

      父进程请求(a进程创建了b进程,那么a进程就是b进程的父进程),挂起某个子进程以协调各子进程的关系。

        操作系统请求 需要检查运行资源

     

    除了以上状态,还有两个比较常见的 创建 和终止

       创建状态:新建一个进程,分配一个PCB(进程管理和控制信息,进行控制块。多道程序并发时根据pcb控制多个程序并发。),填写进程标识符等信息。但是此时主存等还没分配,暂时不能调度。就是创建状态。

    当获得主存等资源后以及对其初始化后,就能变成就绪状态。

        终止状态::等操作状态做善后,清零pcb,返还资源。

          进程控制块:系统将所有的 PCB 组织成若 干个链表(或队列),存放在操作系统中专门开辟的 PCB 区内。例如在 Linux 系统中用 task_struct 数据结构来描述每个进程的进程控制块,在 Windows 操作系统中则使用一个执行 体进程块(EPROCESS)来表示进程对象的基本属性。 

              进程控制块主要包含下面四个信息:

      进程标识符

        内标识符:进程编号

        外标识符:描述进程家族之间关系。

      CPU状态信息:由寄存器的内容决定(比如通用寄存器:用于传送和暂存数据,也可参与算术逻辑运算,并保存运算结果。除此之外,它们还各自具有一些特殊功能。 指令计数器, 程序状态字  用户栈指针,)。如果突然中断,保存在PCB的信息可以从断点处接着执行。

      调度信息:进程状态,优先级,进程其他信息(已等待cpu时间总和等)事件(阻塞原因等)

      进程控制信息:

    数据和程序地址,需要的资源清单,进程同步和通信机制,链接指针---指向下一个PCB的地址。

    进程控制块的组织方式:

      链接方式  :相同状态Pcb组成一个队列。因此有阻塞队列,就绪队列,空白队列等

    (线性表方式:不论进程的状态如何,将所有的PCB连续地存放在内存的系统区。这种方式适用于系统中进程数目不多的情况。)
    索引表方式:该方式是线性表方式的改进,系统按照进程的状态分别建立就绪索引表、阻塞索引表 。
     
     
     
    进程控制:  创建一个新进程,终止一个进程,终止一个因为某事件无法执行的进程。实现进程之间状态转换。
  • 相关阅读:
    二叉树【基础算法题】
    大话数据结构笔记——第五章 串
    大话数据结构笔记——第四章 栈与队列
    矩阵【基础算法题】
    大话数据结构笔记——第三章 线性表
    十大经典排序算法(Javascript版)
    比较器
    荷兰国旗问题
    好听的字
    mongodb 命令
  • 原文地址:https://www.cnblogs.com/yizhizhangBlog/p/10087102.html
Copyright © 2011-2022 走看看