• [更新中] 进程和线程


      书籍的简称:

      CSPPSE: Computer System: a programmer's perspective Second Edition

      进程(process)是操作系统对一个正在运行的程序的一种抽象。在一个系统上可以同时运行多个进程, 而每个进程都好像在独占的使用硬件。而并发运行, 则是说一个进程的指令和另一个进程的指令是交错运行的。 在大多数系统中, 需要运行的进程数是多于可运行他们的CPU个数的。传统系统在一个时刻只能执行一个程序, 而先进的多核处理器同时能执行多个程序。 无论是在单核还是多核系统中, 一个CPU看上去都像是在并发地执行多个程序, 这是他通过处理器在进程间切换来实现的。 操作系统实现这种交错执行的机制成为上下文切换。(CSPPSE P11)

      独立(independent)进程, 一个进程如果不影响其他正在系统中运行的进程也不受其影响, 那么这个进程就是独立进程任何进程只要不与其他进程共享数据, 它就是独立进程。 

      合作(cooperating)进程, 一个进程如果影响其他正在系统中运行的进程或受其影响, 那么这个进程就是合作进程。 任何进程只要与其他进程共享数据, 它就是合作进程

      进程间通信IPC(Interprocess Communication)有两种模型: 共享内存(Shared-Memory)和信息传递(Message Passing)。 共享内存比信息传递快但是当系统中进程越来越多时, 信息传递对于系统IPC来说是一个更好的通信机制, 因为共享内存面临着缓存一致性问题, 需要通信的两个进程之间会建立一个共享的内存区域, 共享数据在若干个缓存中迁移时, 会引起缓冲区一致性问题。 

      生产者-消费者问题就可以利用共享内存实现。

      

        

  • 相关阅读:
    vcsa7.0可能不兼容esxi6.7
    使用livecd 更改root密码
    虚拟机初始化脚本
    一句话修改UUID
    vcsa 6.7 u1升级6.7 u2--6.7U3---6.7U3c
    【转载】:FreeRadius安装及与openldap的连接(centos 7 环境)
    freeradius 关联LDAP认证-按属性过滤LDAP目录中的用户
    使用包ldap3进行Python的LDAP操作
    2020年1月29日-学习flask第一天
    Python-xlwt库的基本使用
  • 原文地址:https://www.cnblogs.com/KarryWang/p/3420965.html
Copyright © 2020-2023  润新知