美文网首页
Java并发编程整理之进程讲解(2)

Java并发编程整理之进程讲解(2)

作者: 二月夜 | 来源:发表于2017-11-24 19:11 被阅读0次

    Java并发编程整理之进程讲解

      进程可看做是正在执行的程序。进程需要一定的资源(如 CPU时间、内存、文件 和 I/O设备)来完成其任务。这些资源在创建进程或执行进程时被分配。
    进程是大多数系统中的工作单元。这样的系统由一组进程组成:操作系统进程执行系统代码,用户进程执行用户代码。所有这些进程可以并发执行。
      虽然从传统意义上讲,进程运行时只包含一个控制线程,但目前大多数现代操作系统支持多线程进程。
      操作系统负责进程和线程管理,包括用户进程与系统进程的创建与删除,进程调度,提供进程同步机制、进程通信机制与进程死锁处理机制。

    [基础知识之进程管理]http://blog.csdn.net/ajian005/article/details/18370511)

    • 进程包含当前的状态,这由程序计数器和处理器中寄存器表示。进程通常包含了进程栈(Process stack)(如方法参数[method parameters]、返回地址和本地变量和一个数据段(存储全局变量)。
        我们强调程序本身不是进程;程序是静态实体(就像是存储在磁盘上的文件),进程是动态实体,它有一个程序计数器指明下一条要执行的指令,并且拥有一组相关的资源。

      如,Java虚拟机是操作系统下的一个进程: jvm_tu_1.jpg
    • 进程状态


      process_state.jpg
    • 进程控制块(PCB Program Control Block)
      操作系统通过进程控制块(PCB)表示进程,进程控制块也被称为任务控制块。


      process_control_block.jpg

      描述了一个进程控制块。它存储了某一具体进程的信息,这包括:

      1. 进程状态:该状态可能是新、就绪、运行、等待、停止等等。
      2. 程序计数器:该计数器指明了该进程要执行的下一条指令的地址。
      3. CPU 寄存器:基于计算机体系结构,这些寄存器的数量和类型很不相同。这包括了累加器、变址寄存器、栈指针、通用寄存器以及条件信息(condition-code information)。连同程序计数器,在中断发生时必须要保存这些状态信息,这样便于后来进程继续正确执行(图4.3)。
      4. CPU 调度信息:包括进程优先权、指向调度队列的指针和其它的调度参数。(第六章描述进程调度。)
        存储器管理信息:可能包括诸如基址寄存器和界限寄存器值、页表或段表,这取决于操作系统所选用的存储系统(第九章)。
      5. 记账信息(accounting information):包括CPU 数量和实时使用量、时间限制、账户数目、作业或进程数目等等。
      6. I/O 状态信息:包括分配给该进程的I/O 设备的列表、打开的文件的列表等等。

    相关文章

      网友评论

          本文标题: Java并发编程整理之进程讲解(2)

          本文链接:https://www.haomeiwen.com/subject/vkifbxtx.html