多任务编程01.ppt

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
多任务编程01

基 础 知 识 多任务编程 第一章 基础知识 第二章 Windows内核对象 第三章 线程的创建和运行 第四章 线程通信 第五章 同步与互斥 第一章 基础知识 1.1 进程 1.2 (多)线程 1.3 进程的控制 1.4 任务调度 1.5 多任务及其同步 1.6 任务间通信 1.7 死锁 1.8 优先级倒置 1.1 进程 进程(Process) 1960年在MIT的MULTICS和IBM公司的TSS/360系统中提出 名称 MIT称进程(Process) IBM公司称任务(Task) Univac公司称活动(Active) 定义 由数据结构以及在其上执行的程序(语句序列)组成是程序在这个数据集合上的运行过程,是操作系统进行资源分配和保护的基本单位 进程的属性 结构性 进程包含了数据集合和运行于其上的程序 共享性 同一程序同时运行于不同数据集合上时,构成不同的进程 动态性 进程是程序在数据集合上的一次执行过程,是动态概念同时,它还有生命周期,由创建而产生,由撤销而消亡 独立性 进程既是系统中资源分配和保护的基本单位,也是系统调度的独立单位(单线程进程) 制约性 并发进程之间存在着制约关系需要相互等待或互通消息 并发性 进程可以并发地执行 *进程与程序 程序 计算机指令的集合,它以文件的形式存储在磁盘上。 进程 通常被定义为一个正在运行的程序的实例,是一个程序在其自身的地址空间中的一次执行活动。 进程是资源申请、调度和独立运行的单位,因此,它使用系统中的运行资源;而程序不能申请系统资源,不能被系统调度,也不能作为独立运行的单位,因此,它不占用系统的运行资源。 进程由两个部分组成: 进程的内核对象 操作系统用它来对进程实施管理。 内核对象也是系统用来存放关于进程的统计信息的地方。 地址空间 它包含所有可执行模块或DLL模块的代码和数据。 它还包含动态内存分配的空间。如线程堆栈和堆分配空间。 可再入程序和不可再入程序 具有多进程(线程)的操作系统必须考虑可再入问题 可再入程序 “可再入”程序是指能被多个程序同时调用的程序 它是纯代码的,即它在执行中自身不改变(例如只是用了堆栈变量) 不可再入程序 被调用过程中具有自身修改,在调用它的程序退出以前是不允许其它程序来调用它的 比如操作共享变量/内存等,也称可再用程序 程序与计算(程序的执行)不再一一对应 *进程地址空间 系统赋予每个进程独立的虚拟地址空间 对于32位进程来说,这个地址空间是4GB。 每个进程有它自己的私有地址空间 进程A可能有一个存放在它的地址空间中的数据结构,地址是0而进程B则有一个完全不同的数据结构存放在它的地址空间中,地址是0当进程A中运行的线程访问地址为0内存时,这些线程访问的是进程A的数据结构。当进程B中运行的线程访问地址为0内存时,这些线程访问的是进程B的数据结构。 进程A中运行的线程不能访问进程B的地址空间中的数据结构,反之亦然。 4GB是虚拟的地址空间,只是内存地址的一个范围。 在你能成功地访问数据而不会出现非法访问之前,必须赋予物理存储器(包括物理内存和页文件pagefile.sys),或者将物理存储器映射到各个部分的地址空间。 4GB虚拟地址空间分三部分 内核方式分区--2GB 供内核代码、设备驱动程序、设备I/O高速缓冲、非页面内存池的分配和进程页表等使用 用户方式分区--约为2GB 进程的私有地址空间所在的地方。 一个进程不能读取、写入、或者以任何方式访问驻留在该分区中的另一个进程的数据。 对于所有应用程序来说,该分区是维护进程的大部分数据的地方。 空指针分区 进程内存映像(Process Image) 进程时机 当一个程序进入计算机的主存储器进行计算就构成了进程 进程上下文(Context) 操作系统中把进程物理实体和支持进程运行的环境合称为进程上下文(context) 系统调度新进程占有处理器时,新老进程随之发生上下文切换 进程的运行被认为是在上下文中执行 进程上下文组成 用户级上下文 由用户程序块、用户数据块(含共享数据块)和用户堆栈组成的进程地址空间 系统级上下文 包括进程的标识信息、现场信息和控制信息,进程环境块,以及系统堆栈等组成的进程地址空间 寄存器上下文 由程序状态字寄存器和各类控制寄存器、地址寄存器、通用寄存器组成 进程程序块 纯代码,作为一种系统资源可被多个进程共享 进程数据块 全局变量、局部变量和常量等 系统/用户堆栈 过程调用或系统调用时的地址存储和参数传递 进程控制块(PCB) 用来存储进程的标志信息、现场信息和控制信息。进程创建时,建立一个PCB;进程撤销时,回收PCB,它与进程一一对应 进程控制块(PCB) 每一个进程都有一个也只有一个

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档