精华内容
下载资源
问答
  • 重难点答疑进程基本概念的理解进程是操作系统进行资游分配和独立运行的基本单位,理解进程需掌握以下几个问题: 进程引入的目的引入进程的主要目的是使内存中的多道程序能够正确的并发执行。...重难点答疑进程基本...

    重难点答疑进程基本概念的理解进程是操作系统进行资游分配和独立运行的基本单位,理解进程需掌握以下几个问题: 进程引入的目的引入进程的主要目的是使内存中的多道程序能够正确的并发执行。...

    重难点答疑

    进程基本概念的理解

    进程是操作系统进行资游分配和独立运行的基本单位,理解进程需常握以下几个问题:

    • 进程引入的目的
      引入进程的主要目的是使内存中的多道程序能够正确的并发执行。为保证进程能够正确的并发执行,进程实体具由自己的数据结构及同步机制,进程实体的数据结构包括:PCB(进程的唯一标识符)、程序段和数据段,各个进程通过宏观上进程同步(互斥访问)的方式实现进程间的通信,保证进程并发执行。
    • 进程和程序的区别与联系
      进程是程序的运行过程,它们之间既有联系又有区别,除了从结构上区分外,还主要从动态性并发性、独立性、和异步性上比较进程和程序的区别。结构上:进程是有PCB、程序段和数据段组成,而程序是组有序的指令的集合。动态性:进程和程序的基本区别。进程是程序的一次执行过程,是动态创建及消亡的过程,具有生命周期,是动态的;而程序是一组代码的集合,是静态的,是长期保存的。并发性:同一段时间间隔内由多个进程实体同时存在千内存中,并且正确地运行,提高系统资源的利用率,也是引入进程的主要目的,而程序是静态,不存在运行并发性。独立性:进程是操作系统进行资源分配和独立运行的基本单位,拥有独立的资源,进程可以创建进程,而程序不仅具有独立的资源,也不能创建新的程序。异步性:多个进程实休能够在同一时间段同时运行,一个任务完成可能不是按照正常顺序一次性运行完毕,而是走走停停完成的。程序不具有该特征。
    • 进程基本状态。
      执行、就绪、阻塞之间的状态转换及转换的条件。
    • 进程控制块
      进程的唯一标识,如果没有进程控制块,说明进程没有创建成功,就不能进行并发执行。

    进程同步的基本概念

    对进程同步的理解,重点是对以下概念较好的理解及掌握:

    • 临界资源
      指同一段时间内只允许 一个进程访问的资源,该资源包括可抢占资源和不可抢占资源,进程同步实质是对临界资源进行互斥的访问。死锁即访问不可抢占资源而进入阻塞状态的情况。
    • 临界区
      进程访问临界资源的那段代码称为临界区。为了实现互斥的访问临界资源,两个或多个进程不能同时进入临界区,这就引出了同步机制及后期的经典同步问题。
    • 同步机制应遵循的准则
      “空闲让进” “忙着等待” “有限等待” “让权等待“ 4个准则,考生要理解每一个准则如果不遵循,系统会出现什么后果。

    经典进程的同步问题

    以生产者和消费者为例,分析经典进程的同步问题的解题方法:

    • 确定进程
      首先根据问题的含义,确定问题中有哪些进程,因为进程是动作的主体,在生产者——消费者问题中,每个生产者和每个消费者都是动作的主体,所以他们都是独立的进程。然后考虑每个进程应该完成哪些动作。比如生产者的动作就是不断地生产下一个产品,把产品放到空闲缓冲区中。最后,根据进程所做的动作为每个进程写出不同的同步算法。因所有的生产者和消费者的动作都一样,所以算法是一样的。
    • 确定互斥和同步的关系
      进程间相互制约的关系有两种:一种是进程之间竞争使用临界资源,只允许单个使用,称互斥关系(竞争关系);另一种是进程之间协同完成任务,在关键点上等待另一个进程发来的消息,以便协同一致,是一种协作关系,也称同步关系。首先考虑问题中哪些资源属于临界资源,需要互斥;哪些地方有哪些进程在哪些地方协调完成哪些动作,需要同步。如生产者-消费者问题中的空闲缓冲区满缓冲区(或缓冲区中的产品)以及in、out变量(in、out变量被当作一个组合,看成一个资源)均是临界资源,对它们的访问都需要互斥。
    • 整理实现进程互斥的思路
      为实现临界资源的互斥访问,可以为每类临界资源设置一个信号量,初值为临界资源的初始个数,并在算法中访问资源以前的位置插入信号量的wait操作,完成临界资源访问的位置插入信号址的signal操作,另外,要为每一类同步关系设置一个初值为0的信号最,在算法中等待动作的位置插入信号址的wait操作,在被等待的动作完成的位置插入信号址的signal操作。如生产者-消费者问题的空闲缓冲区,需为它设置一个初值为n的信号鼠empty;生产者放产品时要使用它,所以,在放产品之前加wait(empty);产品从缓冲中取走后,该缓冲就不再被使用,它被消费者释放,归还给系统,所以取走产品之后要加signal(empty)
    • 正确的程序书写及阅读方式
      根据上述分析过程的思路书写程序,同时根据互斥和同步的关系,正确阅读程序。如由于生产者-消费者问题属于并发互斥访问,因此在阅读时应采取交替阅读的方式。

    死锁的基本概念

    死锁概念主要从以下三方面理解:

    • 死锁产生的原因
      死锁产生的根本原因是资源竞争和进程推进顺序非法。操作系统的基本特征是并发和共享,因为多道程序的并发操作,使进程推进顺序是异步进行的,因此就为死锁产生提供了条件;共享资源是提高操作系统资源利用率的最根本方法,但同时也为多个进程同时访问共享资源出现竞争提供了条件。所以资源竞争和进程推进顺序异步是操作系统不可避免的,可见死锁产生的可能性是不可避免的。
    • 产生死锁的必要条件
      死锁产生的四个必要条件:“互斥条件” “请求与保持条件” “不可剥夺条件” “环路等待条件” ,考生重点思考,为什么任一条件不满足就不会产生死锁。
    • 预防死锁的策略
      依据产生死锁的四个必要条件,预防死锁的方法通常采用破坏四个必要条件的其中一个即可,其中互斥条件不能破坏,其它三种条件都可以通过什么样的方式方法破坏,是考生学习应思考的问题。
    • 死亡与饥饿的区别
      所谓死锁是指多个进程(至少两个进程及以上)因竞争不可剥夺性资源(或系统共享资源)而使多个进程处于相互等待状态(僵局),若无外力作用,所有进程都将无法向前执行。所谓饥饿是指一个或多个进程无限期阻塞(lndefiniteBlocking)称饥饿(Starvation),即一个进程多个在信号最内无穷等待的情况。饥饿产生的原因是指系统在动态分配资源的过程中,根据分配策略,有的进程可能会出现长时间等待,或者长时间某些进程不能完成任务或者完成任务没有意义的现象称为饥饿。饥饿不一定会出现死锁。其中死锁和饥饿的主要区别:一是进入饥饿状态的进程可能只有一个,而处于死锁状态至少两个进程。二是饥饿状态可能是就绪状态,只是在长时间等待,而死锁状态的进程处于阻塞状态。
    • 银行家算法理解
      避免死锁的算法中最有代表性的算法是银行家算法,对银行家算法重点从以下二点内容理解:

    首先明白避免死锁的实质在于如何防止系统进入不安全状态。不安全状态的检测通过安全算法来实现。考生要理解不安全状态不等于死锁状态,也不是必定会导致死锁;然后进一步理解,不安全状态会使某些进程因请求的资源无法满足而进入饥饿状态,如若多个进程进入不安全状态极易出现死锁状态。在分配资源之前首先通过安全性检查算法找出安全序列,然后再分配资源,如若不满足安全序列,则不分配资源。

    在银行家算法中用到的可利用资源向量Availab但最大需求矩阵Max、分配矩阵Allocation、需求矩阵Need等数据结构,以及在安全性检查算法中用到的工作向量Work和完成向量Finish等数据结构,考生应对它们的物理意义和相互关系有较好的理解。

    安全性检查算法的目的是寻找一个安全序列。考生应了解,进程在满足什么条件时,其对应资源的最大需求可以得到满足,则可顺利完成;当进程完成后,考生应理解如何修改工作向最Work和完成向最 Finish。

    在利用银行家算法避免死锁时,考生要了解什么时候系统可以为提出资源请求的进程实行分配资源;什么时候才可以正式将资源分配给进程。

    b3026a634c18dd9ffeddf1bd78a01cef.png
    展开全文
  •  2、进程引入目的:使多个程序并发执行,改善资源利用率、提高系统吞吐量  3、进程三个基本状态:就绪态、运行态、等待态  4、进程的静态描述由三部分组成:进程控制块(PCB),有关程序段,数据结构集  5...

    一、进程

      1、进程:功能完整的程序在处理机上的执行过程

      2、进程引入的目的:使多个程序并发执行,改善资源利用率、提高系统吞吐量

      3、进程三个基本状态:就绪态、运行态、等待态

      4、进程的静态描述由三部分组成:进程控制块(PCB),有关程序段,数据结构集

      5、在PCB中主要包含以下几方面:
        5.1、进程描述信息:标识
        5.2、进程控制信息:进程当前状态,进程优先级,程序开始地址,各种计时信息,通信信息
        5.3、资源信息
        5.4、CPU现场保护信息(进程上下文)

      6、进程的两个基本属性:
        6.1、资源的拥有者:给每个进程分配一虚拟地址空间,保存进程映像,控制一些资源(文件、I/O设备),有状态、优先级、调度
        6.2、调度单位:进程是一个执行轨迹

    二、线程

      1、线程:是进程内的一个相对独立的可调度的执行单元

      2、线程引入的目的:减少程序并发执行时所付出的时间开销

      3、线程的特点
        3.1、有执行状态(状态转换)
        3.2、不运行时保存上下文
        3.3、有一个执行栈
        3.4、有一些局部变量的静态存储
        3.5、可存取所在进程的内存和其他资源
        3.6、可以创建、撤销另一个线程

      4、线程控制块(TCB):包含了寄存器映像,线程优先数和线程状态信息

    三、线程与进程的比较
      1、调度

       同一进程中的线程切换不引起进程的切换

      2、并发性

       同一进程内多个线程

      3、拥有资源

       线程自己不拥有系统资源,可以访问其隶属进程的资源

      4、系统开销

       进程:分配、回收资源(内存、I/O设备)、切换(保护、恢复现场)

    转载于:https://www.cnblogs.com/zjzsky/p/3540417.html

    展开全文
  • 以我个人的意见来看,进程的抽象解决了这样的一个问题:使同一台计算机上可以运行多道不相关联的任务,而进程的引入主要目的在于提高同一个任务完成的效率。如果围绕这个进程和线程的目的来看分析进程和线程的区别就...

    1. 进程与线程

    首先,应该考虑的是引入进程和线程需要解决的问题是什么?
    以我个人的意见来看,进程的抽象解决了这样的一个问题:使同一台计算机上可以运行多道不相关联的任务,而进程的引入主要目的在于提高同一个任务完成的效率。如果围绕这个进程和线程的目的来看分析进程和线程的区别就比较容易总结了。

    1.1 进程:

    由于需要解决多个任务的问题,进程首先需要的就是资源分组处理执行能力。这些资源和能力定义了进程。
    通常来说从进程的实现来看,进程模型的实现需要操作系统维护一个进程表。表中每个进程占用一个进程表项(进程控制块)。这个进程表项中包括了进程的信息,包括程序计数器,堆栈指针,内存分配情况,所打开的文件,账号和调度信息,以及其他进程的状态信息。这些内容不仅相互独立而且是与操作系统的实现是密切相关的。
    也因为与操作系统密切相关,进程创建销毁和切换的代价是很大的,也就说是很慢的。

    • 进程与中断、定时器和上下文切换:
      首先,在微机原理里面说过中断、定时器和上下文切换,而进程是对这部分更加底层内容的抽象。

    1.2 线程:

    线程与进程不同的地方在于它强调的是资源共享执行能力上。

    • 为何需要进程,根本原因有两个:

      1. 是任务中有多种活动而其中某些活动可能存在阻塞线程的情况(比如说IO读取,网络信息传递等等)这样的情况下,将程序分解称为多个可以并行执行的任务可以有效的提高效率
      2. 当然上面说的可以是单核的意义,对于多核的计算机,多线程可以确实的实现并行系统,更具有现实意义。
    • 在何种情况下需要使用多线程:

      1. 并行实体共享同一个地址空间和所有可用数据的能力,这是多进程模型无法提供的。比如说进程提供了共享的全局变量,拥有相同的地址空间,相同的打开文件,相同的信号与信号处理程序,子进程和账号信息。应该说除了进程内部的局部变量之外,大部分的资源都是共享的,这些资源都 服务于需要共同完成一项任务。
      2. 线程更加轻量级,建立和撤销也更快,通常来说快1-2数量级
      3. 从性能的角度上考虑,多进程模型对于存在大量IO操作的任务更有意义,对于CPU密集型的任务提升可能有限,而且还可能由于平凡的任务切换导致效率降低
      4. 在多核系统中实现真实的并行运行。

    1.3 线程和进程的相同点:

    除了上面所说的进程和线程的不同之外应该说两种之间的共同点还是很多的。
    对于状态信息、进程间通信IPC,和调度都有很多相似之处可以一起讨论

    展开全文
  • 作业调度和进程调度区别

    千次阅读 2011-01-02 16:06:00
    处理机调度是操作系统的主要功能之一,它的实现策略决定了操作系统的类型,其调度算法的优劣直接影响整个系统的性能。处理机调度的任务是选出待分派的作业或进程,为之...引入中级调度的主要目的是为了提高内存的利用率

    处理机调度是操作系统的主要功能之一,它的实现策略决定了操作系统的类型,其调度算法的优劣直接影响整个系统的性能。处理机调度的任务是选出待分派的作业或进程,为之分配处理机。

    一般来说,处理机调度可分为三个级别,分别是高级调度、中级调度和低级调度。

    高级调度又称作业调度,作业就是用户程序及其所需的数据和命令的集合,作业管理就是对作业的执行情况进行系统管理的程序的集合。作业调度程序的主要功能是审查系统是否能满足用户作业的资源要求以及按照一定的算法来选取作业。

    引入中级调度的主要目的是为了提高内存的利用率和系统吞吐量,使得暂时不运行的进程从内存对换到外存上。

    低级调度又称进程调度,其主要功能是根据一定的算法将cpu分派给就绪队列中的一个进程。进程调度是操作系统中最基本的一种调度,其调度策略的优劣直接影响整个系统的性能。

    展开全文
  • 主要内容 进程 为什么引入进程? 最开始操作系统是单道批处理(一个程序处理完,再处理下一个程序)而IO是低速,就会出现cpu要等待IO情况;...引入进程模型,目的就是为了满足多道编程(程序并发执行
  • 操作系统的主要功能

    千次阅读 2019-01-13 16:01:08
    引入OS的主要目的是,为多道程序的运行提供良好的运行环境,以保证多道程序能有条不紊地,高效地运行,并能最大程度地提高系统中各个资源的利用率,方便用户的使用。 处理机管理功能  处理机管理的主要功能有:...
  • 引入OS的主要目的是为多道程序的运行提供良好的运行环境,提高系统资源利用率。 1.4.1 处理机管理功能 进程控制 进程控制的主要功能也就是为作业创建进程,撤销已结束的进程,以及控制进程在运行过程中过的转换 进程...
  • CPU进程调度分类

    2020-08-01 20:04:05
    1、高级调度bai高级调度又称为作业调度。...3、中级调度引入中级调度的目的是为了提高内存利用率和系统吞吐量。其功能是,让那些暂时不能运行的进程不再占用宝贵内存资源,而是调其到外存上等候。此时
  • 引入操作系统的主要目的: 为多道程序的运行提供良好的运行环境,保证多道程序能有条不紊、高效的运行 并且能够最大程度的提高系统中各种资源的利用率,方便用户的使用 1.处理机管理功能 在传统的多道程序系统中...
  • 在多道程序中, 调度的实质是资源的分配, 处理机调度即对处理机资源的分配。 处理机调度的层次 高级调度 又称长程调度和作业调度,调度的对象为作业。...主要用于多道批处理系统...引入的主要目的是提高内存利用...
  • 作业调度与进程调度

    千次阅读 2017-09-10 14:06:08
    调度分为 长程调度,又称作业调度,用于决定把外存上处于后备队列中的哪些作业调入内存,并为它们创建...中程调度,从就绪挂起到就绪,从阻塞挂起到阻塞,引入中程调度的主要目的,是为了提高内存利用率和系统吞吐量
  • 目的:为了保证多个进程能有条不紊地运行,在多道程序系统中,必须引入进程同步机制。 主要任务:对多个相关进程在执行次序上进行协调,使并发执行诸进程之间能按照一定规则(或时序)共享系统资源,并能很好地...
  • 一、进程相关知识点大纲图二、知识体系框图三、要掌握的基本要点1.进程是一个程序对某个数据集的一次运行活动。进程是动态概念,而程序是...4.在操作系统中引入线程概念的主要目的是减少程序并发执行时所需要付出的时
  • 进程及多线程比较

    2017-02-17 16:59:10
    进程及多线程比较 http://www.perlcn.com/rjgc/1428.html 2013年10月21日 ⁄ 软件工程 ⁄ 共 964字 ⁄ 字号 小 中 大 ⁄ 评论 2 条 ⁄ 阅读 1,209 次 ... 而引入线程的目的,我认为主要有以下四个优点: (1
  • 进程和多线程这件事

    千次阅读 2013-05-14 20:11:50
    接触多线程多进程也有一...而引入线程的目的,我认为主要有以下四个优点: (1)易于调度。 (2)提高并发性。通过线程可以方便有效地实现并发。 (3)开销小。 (4)有利于发挥多处理器功能。通过创建多线程,每
  • 二、全局锁的主要作用 因为多线程的编程方式,使得线程之间的数据的一致性和状态同步难以把控,为了解决这一数据不能同步的问题,设计了GIL全局解释器锁。 三、全局解释器锁如何发挥作用的 在Cpython解释器中...
  • 微型图书馆 微服务库 目的 摆脱坏处,保持好处。 像任何体系结构一样,微服务... 通过引入模块联合,可以动态导入远程库,就像您在本地导入远程库一样,只需几个简单配置步骤即可。 MicroLib利用这项技术来支持一个框
  • 处理器调度

    2020-04-25 10:46:04
    2、中级调度:引入中级调度的主要目的是为了提高内存的利用率和系统的吞吐量。内存中不能有太多的进程,把进程从内存移到外存,当内存有足够空间时,再将合适的进程换入内存,等待进程调度。中级调度实际上就是...
  • 并发:操作系统中引入进程的目的就是为了使程序能并发执行。 虚拟:把物理上的一台设备变成逻辑上的多台设备。虚,可以理解为是用户感觉上的。 异步:在多道程序环境下,允许多个程序并发执行。但由于资源有限,...
  • 引入中程调度的主要目的是为了提高内存利用率和系统吞吐量。中级调度实际上就是存储器管理中的对换功能。 3.低级调度:低级调度通常也称为进程调度或短程调度,它所调度的对象是进程(或内核级线程),进程调度是最...
  • 第三章 处理机调度与死锁 ...就绪队列上准备执行 2低级调度主要任务是决定就绪队列中的哪个进程 将获得处理机然后由分派程序执行把处理机分配给该进程的操作 3引入 中级调度的主要目的是为了提高内存的利用率和系统吞吐
  • 多线程共享一个进程的地址空间,虽然线程间通信容易进行,但是多线程同时访问共享对象时需要引入同步和互斥机制。 线程同步:多个任务按照约定的顺序相互配合完成一件事,基于信号量的概念提出了一种同步机制,由...
  • 操作系统第三章习题

    2020-02-05 21:27:24
    1. 高级调度与低级调度的主要任务是什么? 为什么要引入中级调度? 答:高级调度的主要任务:用于决定把外存上处于后背队列中的哪些作业调入内存...引入中级调度的主要目的是为了提高系统资源的利用率和系统吞吐量。 ...
  • 第三章 处理机调度与死锁 1. 高级调度与低级调度的主要任务是什么?为什么要引入中级调度? 高级调度的主要任务:用于决定把外存上处于后备队列中...引入中级调度的主要目的:是为了提高系统资源的利用率和系统吞吐量。
  • Linux-应用编程-学习笔记(19):...我们知道进程技术发明的主要目的是用来实现多任务系统需求(多任务的需求是客观的)。 进程技术的主要功能是为了实现CPU的分时复用,从而实现宏观上的并行。但是要知道进程之间...
  • 数据库原理相关总结

    2018-12-05 18:59:57
    数据库原理 物理层:操作系统之上,对磁盘文件系统操作的层,是最底层 数据库组织架构核心: ...数据库系统多进程模式: ...在多进程模式中,数据库系统会为...引入事务的主要目的:事务会把数据库从一种一致状态转...
  • OS

    2020-09-21 07:58:08
    进程同步的主要内容 规则 信号量分类 记录型信号量、and信号量(用于申请多个资源,一次性申请,一次性释放) 理解 临界资源 临界区 信号量的应用(注意信号量的意义和初值) 进程互斥 前驱关系 同步(一般为1,...
  • 第三章处理机调度与死锁 ...引入中级调度的主要目的是为了提高内存利用率和系统吞吐量。使那些暂时不能运行的进程不再占用内存资源,将它们调至外存等待,把进程状态改为就绪驻外存状态或挂起状...

空空如也

空空如也

1 2 3 4 5
收藏数 87
精华内容 34
关键字:

引入进程的主要目的