2 进程(下)

建议先看2 进程(上)

https://blog.csdn.net/whdehcy/article/details/136059022

  1. 管程机制:一个管程(monitor)定义了一种数据结构和并发进程在该数据结构上执行的一组操作,这组操作用来实现进程间的同步和改变管程中的数据。
    1. 功能模块
    2. 互斥得使用管程
    3. 入口等待队列
    4. 管程特性:
    模块化、抽象数据类型、信息隐藏、使用的互斥性
    5. 管程与进程的比较:
    (1)管程定义的是公用数据结构,而进程定义的是私有数据结构
    (2)二者都存在对各自数据结构上的操作,但进程是由顺序程序执行有关操作,而管程主要是进行同步操作和初始化操作。
    (3) 设置进程的目的是在于实现系统的并发性,而管程的设置则是解决共享资源的互斥使用问题。
    (4)进程通过调用管程中的过程对共享数据结构实行操作,该过程就如通常的子程序一样被调用。因而管程为被动工作方式,进程则为主动工作方式。
    (5)进程之间能并发执行,而管程则不能与其调用者并发。
    (6)进程具有动态性,由创建而诞生,由撤销而消亡,而管程则是操作系统中的一个资源管理模块,供进程调用。

  2. 经典进程的同步问题

    1. 利用记录型信号量/AND信号量/管程解决生产者-消费者问题
  3. 进程通信

    1. 是指进程之间的信息交换(低级进程通信(控制信息:例:信号量机制))

    2. 进程之间传送大量数据利用OS提供的高级通信工具(方便、通信过程对用户透明、高效)

    3. 进程通信的类型:

      1. 共享存储器系统

        1. 基于共享数据结构的通信方式
        2. 基于共享存储区的通信方式
      2. 管道通信系统pipe

        1. 互斥
        2. 同步
        3. 确定对方是否存在
      3. 消息传递系统

        进程不必借助共享存储区域或者数据结构,以格式化的消息为单位,将通信数据封装在消息中,利用OS提供的通信命令(原语),进行进程之间的通信。

        1. 直接通信方式
        2. 间接通信方式
      4. 客户机-服务器系统

        1. 套接字(Socket)
        2. 远程过程(函数)调用和远程方法调用
    4. 消息传递通信的实现方式:

      1. 直接消息传递系统

        直接通信原语:

        (1)对称寻址方式(一对一)

        (2)非对称寻址方式(多对一)

        消息格式:

        (1)定长消息格式(办公自动化xit)

        (2)变长消息格式

        进程的同步方式:

        (1)都阻塞

        (2)都不阻塞

        (3)收阻发不阻

        通信链路

        (1)由发送进程在通信之前请求系统为之建立一条通信链路,在链路使用完后拆除链路

        (2)发送进程无需明确提出建立链路的请求,只需利用系统提供的发送命令,系统会自动地为之建立一条链路

      2. 间接通信方式:信箱通信

        信箱的结构:信箱头 + 信箱体

        信箱通信原语:

        1)邮箱的创建和撤销

        2)消息的发送和接收

        信箱的类型:

        1)私用邮箱

        2)公用邮箱

        3)共享邮箱(1对1 1对多 多对1 多对多)

  4. 线程----作为调度和分派的基本单位

    在操作系统中再引入线程,则是为了减少程序在并发执行时所付出的时空开销,使OS具有更好的并发性

    1. 什么是线程?

      线程是现代操作系统引入的一种执行实体
      线程称“轻型进程”,是进程的组成部分
      进程是资源占有单位,线程只是CPU调度单位

    2. 一个进程运行过程中可以创建多个线程

    3. 线程与进程的比较:

      1)调度的基本单位2)并发性3)拥有资源4)独立性5)系统开销6)支持多处理机系统

    4. 线程运行三个状态:

      (1)执行状态

      (2)就绪状态

      (3)阻塞状态

    5. 线程控制块TCB

    6. 多线程OS中的进程属性

      1)进程是一个可拥有资源的基本单位

      2)多个线程可并发执行

      3)进程已不是可执行的实体

    7. 多线程结构进程的优点:

      1)快速线程切换

      2)通信易于实现

      3)减少管理开销

      4)并发程度提高

    8. 线程的实现方式:

      1. 内核支持线程KST

      2. 用户级线程ULT(用户空间中实现的)

        1)运行时系统

        2)内核控制线程(轻型进程LWP)

      3. 组合方式

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cwn_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值