进程

第三章:进程

进程概述

  • 概念:执行中的程序
  • 进程状态:新的、运行、等待、就绪、终止
    image

进程控制块(PCD)

  • 是什么?
    process control block,包含与一个特定进程相关的信息。
  • 包含什么?
    进程状态、程序计数器、CPU寄存器、CPU调度信息、内存管理信息、记账信息、I/O状态信息。

进程操作

  • 创建:fork()

    pid进程标识符

    创建过程中的两种可能:父进程与子进程并发执行;父进程等待,直到某个或全部子进程执行完。

    新进程的地址空间两种可能:子进程是父进程的复制品(和父进程相同的程序与数据);子进程装入另一个新程序。

  • 终止:exit()

进程间通信

  • 为什么?

    信息共享、提高运算速度、模块化、方便

  • 两种机制

    共享内存:通讯速度最快

    消息传递:不需要避免冲突,更易实现

共享内存系统

有限缓冲的实现:通过循环数组和两个逻辑指针来实现,变量in指向缓冲区下一个空位,out指向缓冲中的第一个满位;当in==out,缓冲为空,当(in+1)%BUFFER_SIZE==out,缓冲为满。

消息传递系统

逻辑实现方法:

  • 直接或间接通信
  • 同步或异步通信
  • 自动或显式缓冲

QUESTION:

1.长期、中期、短期调度之间的区别?

长期调度从大容量存储设备缓冲池中选择进程,并装入内存准备执行;短期调度从准备执行的进程中选择进程,并为之分配CPU;中期调度的核心是能将进程从内存或者CPU竞争中移出,之后,进程能被重新调入内存,并从中断处继续执行。

2.描述内核在两个进程间进行上下文切换的过程?

内核将旧进程的状态保存至PCB,然后装入经调度要执行的新进程的进程上下文。

文章来源: blog.csdn.net,作者:冰水比水冰,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/luoyhang003/article/details/45314661

(完)