操作系统基础概念

进程基础

进程的基本概念

  • 程序顺序执行的特征:
    1. 顺序性
    2. 封闭性
    3. 可再现性
  • 程序并发执行的特征:
    1. 间断性
    2. 失去封闭性:各程序共享系统资源
    3. 不可再现性:必须想办法避免
  • 进程的概念:具有独立功能的程序在某一个数据集合上的执行过程。它是系统进行资源分配和调度的一个独立单位
  • 进程的特征:
    • 结构特征:
      1. PCB(进程控制块):与进程共存亡,用于记录进程的基本情况和活动过程,一般常驻内存
      2. 程序段:描述要完成的功能,需要的时候动态调入内存
      3. 数据段:操作的对象即工作区,需要的时候动态调入内存
    • 动态性:进程是动态的。由创建产生,由调度(进程调度而非作业调度)执行,由撤销而消亡
    • 并发性:多个进程实体在内存中,能在同一时间段内执行
    • 独立性:进程实体是一个能独立运行,独立获得资源独立接收调度的基本单位
    • 异步性:指进程以不可预知的速度向前推进
  • 进程的三种基本状态:
    • 就绪状态:进程已经分配到了除CPU外的所有资源,获得CPU即可执行
    • 执行状态:已经获得CPU,正在执行的进程(单处理机同一时刻只能有一个进程,多处理机则相反)
    • 阻塞/等待状态:在执行的过程中由于发生某些事件(I/O请求、申请缓存等),暂时无法执行的进程。进入阻塞态的进程被调离内存,进入外存。
  • 进程的创建状态和终止状态:
    • 创建状态:就绪状态之前的状态
    • 终止状态:自然结束、遇到无法克服的问题、被操作系统终结,即进入终止状态

进程与程序的区别与联系

  • 区别:
    • 进程是一个动态的概念,程序是静态的概念
    • 进程可以具有并行性,但是程序没有
    • 进程是竞争系统资源的基本单位
  • 联系:一个程序可以对应多个进程,一个进程又可以为多个程序服务

进程同步

  • 进程同步的基本概念:
    • 进程同步的目的:
      • 按照一定的规则共享系统资源
      • 对多个相关进程在执行次序上进行协调,使程序具有可再现性
    • 两种形式的制约关系:
      • 间接相互制约关系:多个进程在并发执行时,由于共享系统的临界资源而相互制约(互斥)
      • 直接相互制约关系:多个进程为完成统一任务而相互合作(同步)
    • 临界资源:一次仅允许一个进程使用的共享资源
    • 互斥和同步的概念:
      • 互斥:并发的多个进程由于竞争同一资源,而产生的互相排斥的关系
      • 同步:进程间共同完成一项任务时,直接发生相互作用的关系
    • 信号量机制:
      • 信号量:
        • 仅与P,V操作有关。P为等候原语wait(S),V为释放原语signal(S)
        • wait操作即在申请资源,signal操作即在释放资源
      • 整型信号量:
        • 定义:一个用于表示资源数目的整形量。当申请资源时死循环等待有空闲,然后将资源数-1。释放时将资源数+1。
        • 优缺点:实现简单;违背了同步机制中的让权等待原则,死循环浪费资源。
      • 记录型信号量:
        • 定义:使用结构体,记录资源空闲数或被阻塞的进程数和阻塞列表。当申请资源时将变量-1,若变量小于0,则将进程加入阻塞队列。释放时将变量+1,并可能会唤醒一个阻塞的进程。
        • 优缺点:通过链表弥补整形信号量的缺点。只适用于对单一资源的管理,无法管理一个进程需要请求多类资源的情况,可能会发生死锁。
      • AND型信号量:
        • 定义:类似地,可以同时申请多个资源,当全部满足时分配,否则进入阻塞态。释放时将所有处于阻塞态的其它任务唤醒。
      • 信号量集:
        • 定义:类似地,可以同时申请多个资源,且可以要求至少需要的资源数量。