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

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

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

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

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

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


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


    4594948-dc00d442812520b5.jpg
    process_control_block.jpg

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值