美文网首页
操作系统-进程

操作系统-进程

作者: 码农的学习笔记 | 来源:发表于2021-02-03 17:00 被阅读0次

1.1进程的定义(操作系统71页)

  • 一个正在执行的程序
  • 一个正在计算机执行的程序实例
  • 能分配给处理器并由处理器执行的实体
  • 由一组执行指令、一个当前状态和一组相关的系统资源表征的活动单元

1.2进程的元素

  • 标识符
  • 状态
  • 优先级
  • 程序计数器
  • 内存指针
  • 上下文数据
  • I/o状态信息

1.3两状态进程模型(操作系统74页)

操作系统时刻跟踪记录进程在内存空间运行轨迹,新的进程状态是未运行状态,当进程状态被中断,分派器会选择一个新进程运行,前进程由运行态转为未运行态。等待执行的进程会放在等待队列中。

1.4进程创建和终止(操作系统74页)

进程创建时,操作系统需要创建管理进程数据结构,并且分配给它对应的内存地址空间。
进程引发创建另一个进程叫派生进程。父进程派生子进程。
进程中止:多种终止原因。

1.5五状态模型(操作系统75页)

  • 运行态:当只有一个处理器,最多只有一个进程处于当前状态
  • 就绪态:已在内存中并可以执行
  • 阻塞:已在内存中等待一个事件
  • 新建态:新创建进程,操作系统未把它加入可执行进程组,通常已经创建未加载到内存中
  • 退出态:操作系统从可执行进程组中释放的进程、自身停止、某种原因被取消
  • 阻塞\挂起态:进程已在外存中等待一个事件
  • 就绪\挂起态:进程已在外存,只要载入内存可执行

新建态的进程操作系统只会把进程的信息保存到进程表,进程的执行代码不在内存中,程序保留在外存。

状态转换事件(操作系统76页)

1.6操作系统控制结构(操作系统82页)

内存表:跟踪内存和外存,包含:

  • 分配给进程的内存
  • 分配进程外存
  • 内存块虚存块任何保护属性、如那些进程可以访问某些共享内存区域
  • 管理虚存需要信息
    IO表:
  • IO设备和通道
  • IO状态(可用、已分配进程)
  • IO传送源和目标内存单元
    文件表
  • 文件是否存在
  • 文件外存位置
  • 状态和属性信息
  • 进程表
  • 进程位置
  • 进程映像:程序、数据、栈、属性的集合。

进程控制块信息分三类(操作系统83页)

  • 进程标识信息
  • 进程状态信息
  • 进程控制信息

1.7进程执行模式(操作系统87页)

  • 用户模式
    用户进程一般在该模式下运行
  • 内核模式
    完全控制操作系统重要功能:
  • 进程管理:进程创建或终止
  • 内存管理:进程分配内存空间
  • IO管理:缓冲区管理
  • 支持功能:中断管理

1.8进程切换(操作系统88页)

什么时候切换进程:

  • 系统中断
  • 时钟中断
  • IO中断
  • 内存失效

出现中断,处理器会做如下工作

  • 将程序计数器置为中断处理程序的开始地址

  • 从用户模式切换到内核模式,以便处理代码包含特权指令

  • 处理器继续取指阶段,并取中断处理进程的第一条指令来服务该中断,将已中断进程上下文保存到中断进程的进程控制块。

上下文:中断处理程序所有可能改变的信息,以及恢复被中断程序需要所有信息,必须保存进程控制块部分。

完整进程切换步骤:

  • 保存处理器上下文
  • 更新当前处于运行态进程的进程控制块
  • 把该进程的进程控制块移到相应队列
  • 选择另外一个进程执行
  • 更新所选进程的进程控制块,把进程状态改为运行态
  • 更新内存管理数据结构
  • 载入程序计数器和其他寄存器,将处理的上下文恢复为所选进程上次退出运行的上下文

2.1UNIX进程管理(操作系统91页)

UNIX有9种进程状态:

  • 用户运行
  • 内核运行
  • 就绪,并驻留在内存中
  • 休眠,并驻留在内存中
  • 就绪,被交换
  • 休眠,被交换
  • 被抢占
  • 创建
  • 僵死
    UNIX进程映像
  • 用户级上下文
  • 寄存器上下文
  • 系统级上下文

2.2进程控制(操作系统94页)

UNIX创建进程由内核系统使用fork实现

  • 在进程表为新进程分配一个空项
  • 为子进程分配一个唯一进程标识符
  • 复制父进程的进程映像,共享内存外
  • 增加父进程拥有文件的计数器
  • 将子进程处就绪态
  • 将子进程ID返回给父进程,将0返回给子进程

所有这些工作在父进程内核模式执行,完成后继续分派器例程工作一部分如下三种之一

  • 停留在父进程中,控制权返回用户模式下父进程调用fork位置
  • 处理器控制权交给子进程,子进程执行代码,执行点与父进程相同
  • 控制权交给另外一个进程,父进程和子进程就绪态

相关文章

  • 进程和线程的理解

    进程:对于操作系统而言,进程是整个现代操作系统的核心根本,操作系统是以进程为单位执行任务。 线程:随着技术的发展,...

  • 43.进程和线程和事件循环

    操作系统-进程-线程 线程和进程是操作系统中的两个概念: 进程(process):计算机已经运行的程序,是操作系统...

  • 并发编程的理论基石

    一、进程和线程 1.操作系统、进程、线程的关系 操作系统是包含多个进程的容器,而每个进程又是容纳多个线程的容器。 ...

  • 这次进程、线程、多线程和线程安全问题,一次性帮你全解决了

    1. 什么是进程 一个软件,在操作系统中运行时,我们称其为进程。 进程是操作系统分配资源的最小单元,线程是操作系统...

  • 1-3节linux系统编程

    进程创建和调度 1)进程 进程:程序的一次执行在操作系统中的影像进程控制块(PCB):对于操作系统来说,PCB即代...

  • 第9天续,进程

    @(python)[笔记] 目录 一、什么是进程 1.1 进程的概念 进程的概念起源于操作系统,是操作系统最核心的...

  • 操作系统总览

    操作系统的 操作系统的用户界面 进程管理 处理机调度 存储管理 进程和存储管理示例 windows进程和内存管理 ...

  • s9python并发编程

    python之路——操作系统的发展史python之路——博客目录 书籍推荐:现代操作系统 进程 进程 join()...

  • 进程间通讯

    进程间通讯原理 现代操作系统的运行模式都是在保护模式。进程运行在虚拟内存中,进程之间相互隔离,进程成为了操作系统分...

  • 2 操作系统的进程,处理机调度与死锁

    # 2.1 操作系统的进程 ## 2.1.1 操作系统进程的引入 ### “史前时代”——前趋图 一:最早,程序采...

网友评论

      本文标题:操作系统-进程

      本文链接:https://www.haomeiwen.com/subject/kclmtltx.html