第三章 进程

思维导图:

进程(Process)

要解决的问题:

  • 顺序环境
    • 计算机只有一个程序在运行,该程序独占系统中所有资源,其执行不受外界影响
  • 并发环境:
    • 一定时间内,物理机器上由两个或两个以上的程序同处于开始运行但尚未结束的状态,并且次序不是事先确定的  
    • 特征
    • 多道程序设计对OS的要求
  • 进程
    • 一个进程包括:
    •  进程与程序的区别
    •  进程的特点:
    •  进程存在意味着:
  • 进程的状态
    • 进程执行时,改变状态

      • 进程的状态不是固定不变的,而是在不断变化
      • 终止(退出exit)状态
  • PCB(Process Control Block)进程控制块
    • 同进程有关的信息
    • PCB的组织方式
  • 进程的调度
    • 进程调度的队列

    • 进程调度图
    • 调度的级别
      • 长程调度(或作业调度)——选择可以进入就绪队列的进程     
      • 短程调度(或CPU调度)——选择可被下一个执行并分配CPU的进程
      • 中程调度
        • 为了缓和内存紧张的情况,将内存中处于阻塞状态的进程换至外存上(挂起),降低多道程序的度。当这些进程重新具备运行条件时,再从内存上调入内存
    • 调度可以分为
      • I/O型进程-花费I/O时间多于计算
      • CPU型进程-花费更多时间于计算,许多长CPU处理 
    • 进程间CPU的切换
      • 当CPU切换至另一个进程时,系统必须保存旧程序状态并为新进程调入所保留的状态
      • 上下文切换的时间开销较重;在切换时,系统没有做有用的工作
      • 时间取决于硬件的支持
  • 进程的操作
    • 进程状态图

    • 进程何时创建
      • 进程可以接着创建进程——构成进程树
    • 父子进程的关系
      • 资源共享
      • 执行:
      • 地址空间:
    • 进程的创建——UNIX中
      • 进程的终止

      • 进程阻塞

      • 进程唤醒
  • 进程通信:共享存储

    • Producer-Consumer Problem

  • 进程通信:消息传递
    • 逻辑上的特性
      • 连接如何建立
      • 连接可同多于两个的进程相关吗
      • 每对通信进程有多少连接
      • 一个连接的容量是多少
      • 连接可使用的固定或可变消息的大小
      • 连接是无向的还是双向
    • 直接通信
      • 变种:非对称方式,发送命名,接收时不指定
    • 间接通信
      • 限定条件
    • 同步:阻塞;异步:非阻塞
    • 缓冲
      • 消息队列附加在连接上;有以下三种实现方案
      •   

          

  

原文地址:https://www.cnblogs.com/zxj-262410/p/10451501.html

时间: 2024-07-31 18:56:54

第三章 进程的相关文章

Linux内核分析——第三章 进程管理

第三章 进程管理 3.1 进程 1.进程就是处于执行期的程序:进程就是正在执行的程序代码的实时结果:进程是处于执行期的程序以及相关的资源的总称:进程包括代码段和其他资源. 线程:是在进程中活动的对象. 2.执行线程,简称线程,是在进程中活动的对象.每个线程都拥有一个独立的程序计数器.进程栈和一组进程寄存器. 3.内核调度的对象是线程,而不是进程.Linux对线程并不特别区分,视其为特殊的进程 4.在现代操作系统中,进程提供两种虚拟机制:虚拟处理器和虚拟内存.在线程之间可以共享虚拟内存,但每个都拥

【学习笔记】 深入理解Linux内核第三版 —— 第三章 进程

何为进程 进程(分享资源 单位)/线程(执行的单位)/轻量级进程(共享部分资源) Linux中线程通过pthead 标准库实现,其中存在实现轻量级进程的方法,方法也可针对线程组执行. 静态:进程如何描述 进程描述符:task_struct数据类型 进程与进程描述符一一对应.进程描述符指针指向进程描述符地址,内核由此来引用进程. PID(process id)可用来标识进程(linux维护pidbitmap-array位图来管理分配PID),同一个线程组的线程使用相同的PID(与第一个线程的值相同

第三章 进程管理笔记

20135109 高艺桐 3.1进程 1.程序本身并不是进程,进程是处于执行期的程序以及相关资源的总称. 2.执行线程,简称线程,是进程中活动的对象.每个线程都拥有一个独立的计数器.进程栈和一组进程计数器. 3.内核调度的对象是线程而不是进程,对Linux而言,线程是一种特殊的进程. 4.进程在创建它时开始存活,系统调用通过复制一个现有的进程来创建一个全新的进程,调用fork()的进程为父进程,新产生的进程为子进程. 5.fork()系统调用从内核返回两次:一次回到父进程,一次回到新产生的子进程

操作系统学习笔记--第三章--进程

1.1 定义 一个正在执行的程序 一个正在计算机上执行的程序实例 能分配给处理器并由处理器执行的实体 一个具有以下特征的活动单元:一组指令系统的执行.一个当前状态和相关的系统资源集 进程的两个基本元素是程序代码和代码相关联的数据集. 进程控制块,由操作系统创建和管理,进程控制块包含充分的信息,这样就可以中断一个进程的执行,并且再后来恢复进程执行时, 就好像进程从来未中断过一样.   1.2 进程的状态 1.2.1 两状态进程模型 运行态和未运行态 进程创建的原因: 进程终止的原因: 1.2.2

课本学习笔记4:第三章 20135115臧文君

第三章 进程管理 注:作者:臧文君,原创作品转载请注明出处. 一.进程 1.进程管理是所有操作系统的心脏所在. 2.进程:是处于执行期的程序以及相关的资源的总称,实际上,进程就是正在执行的程序代码的实时结果. 3.执行线程:简称线程thread,是在进程中活动的对象. 4.内核调度的对象是线程,而不是进程. 5.对Linux而言,线程是一种特殊的进程. 6.进程提供两种虚拟机制:虚拟处理器和虚拟内存. 同一个进程中的线程之间可以共享虚拟内存,但每个都拥有各自的虚拟处理器. 7.Linux系统中,

Linux内核设计与实现读书笔记——第三章

Linux内核设计与实现读书笔记——第三章 进程管理 20135111李光豫 3.1进程 1.进程即处于执行期的程序,并不局限于一个可执行的代码,是处于执行期程序以及其相关资源的总称. 2.Linux系统中,对于进程和线程并没有明显的区分,线程是一种特殊的进程. 3.Linux系统中,常用fork()进程创建子进程.调用fork()进程的成之为其子进程的父进程. 4.fork()继承实际上由clone()系统调用实现.最后通过exit()退出执行. 3.2任务描述符及任务结构 1.任务队列实质上

linux第三章学习笔记

第三章 进程管理 进程是Unix操作系统抽象概念中最基本的一种. 进程管理是所有操作系统的心脏所在. 一.进程 1. 进程是处于执行期的程序.除了可执行程序代码,还包括打开的文件.挂起的信号.内核内部数据.一个或者多个执行线程等多种资源 线程是在进程活动中的对象:内核调度的对象是线程而不是进程 在Linux系统中,并不区分线程和进程 可能存在两个或者多个进程执行的是同一个程序:甚至N个进程共享打开的文件.地址空间之类的资源 2. 线程:是进程中活动的对象.每个线程都有一个独立的程序计数器,进程栈

《Linux内核设计与实现》第三章学习笔记

第三章  进程管理 姓名:王玮怡  学号:20135116 一.进程 1.进程的含义 进程是处于执行期的程序以及相关资源的总称,程序本身并不是进程,实际上就是正在执行的代码的实时结果.Linux内核通常把进程也叫“任务”. 2.线程的含义 执行线程简称线程,是在进程中互动的对象.内核调度的对象是线程而不是进程.Linux系统不区分线程和进程,线程只是一种特殊的进程. 3.进程的执行过程 (1)clone()调用fork(),通过复制一个现有进程来创建一个全新的进程,进程开始存活.其中调用fork

操作系统思考 第三章 虚拟内存

第三章 虚拟内存 作者:Allen B. Downey 原文:Chapter 3 Virtual memory 译者:飞龙 协议:CC BY-NC-SA 4.0 3.1 简明信息理论 比特是二进制的数字,也是信息的单位.一个比特有两种可能的情况,写为0或者1.如果是两个比特,那就有四种可能的组合,00.01.10和11.通常,如果你有b个比特,你就可以表示2 ** b个值之一.一个字节是8个比特,所以它可以储存256个值之一. 从其它方面来讲,假设你想要储存字母表中的字母.字母共有26个,所以你