基本概念 并行程序设计语言都要解决: 并行进程的描述与管理 进程间数据分布、传递的描述与管理 以及进程间同步协同的描述与管理问题
基本概念 • 并行程序设计语言都要解决: – 并行进程的描述与管理 – 进程间数据分布、传递的描述与管理 – 以及进程间同步协同的描述与管理问题
基本概念 一个程序的一次执行叫做一个进程( process 进程执行控制流如下所示: 外部中断 中断处理器原语例程调度器 内部中断
基本概念 • 一个程序的一次执行叫做一个进程(process)。 • 进程执行控制流如下所示: 外部中断 内部中断 中断处理器 原语例程 调度器
基本概念 线程是共享资源的轻量级进程( lightweight process),它也有线程执行状态,也有其静态 存储和局部变量。 ·传统的OS支持单线程的计算模式。单用户的 MS-DOS和多用户的UNⅨ就是例子,即使 UNX是多线程交互,每一进程之中只有一线 程
基本概念 • 线程是共享资源的轻量级进程(lightweight process),它也有线程执行状态,也有其静态 存储和局部变量。 • 传统的OS支持单线程的计算模式。单用户的 MS-DOS和多用户的UNIX就是例子,即使 UNIX是多线程交互,每一进程之中只有一线 程
右侧上图,一个进程多个线程对应为Java虚机的计算模式 而当今所有OS均发展为右下角的多进程和多线程的计算模式。 MS-DOS ava UNIX Windows nt Solaris Mach OS/2
MS-DOS Java UNIX Windows NT Solaris Mach OS/2 右侧上图,一个进程多个线程对应为Java虚机的计算模式。 而当今所有OS均发展为右下角的多进程和多线程的计算模式
基本概念 原子动作是一次“立即”执行完的“顺序”动作。至 于是否真正不再分就不一定了。原子动作一般定义在 语句级的事件( event)上事件是本程序表示的状态有了 变化。 例:PL/1的多任务 PLl的并发进程是任务TASK,它可以定义语句级的事件。P是一个进程,它并 行执行Q进程,则P进程的正文可以写为 DECLARE X EVENT CALL Q(APT)TASK(X)/激活Q
基本概念 • 原子动作是一次“立即”执行完的“顺序”动作。至 于是否真正不再分就不一定了。原子动作一般定义在 语句级的事件(event)上事件是本程序表示的状态有了 变化。 • 例: PL/1的多任务 PL/1的并发进程是任务TASK, 它可以定义语句级的事件。P是一个进程, 它并 行执行Q进程, 则P进程的正文可以写为: DECLARE X EVENT : CALL Q(APT) TASK (X) //激活Q