操作系统复习之进程管理

第二章、进程管理

目录:

      1.进程的基本概念

      2.进程的控制

      3.进程的互斥

      4.进程的同步

      5.经典进程的同步问题

      6.管程机制

      7.进程通信

      8.线程

一、进程的基本概念

     1.程序的顺序执行特性:顺序性 、封闭性、可再现性

     2.前趋图:是描述进程之间执的前后关系

     3.程序的并发执行:间断性、失去封闭性、不可再现性

       带来的问题:

            1.协调各程序的执行顺序

            2.多个执行程序共享系统资源。程序之间可能会相互影响,甚至影响输出结果。

            3.选择哪些、多少个程序进入内存运行:根据资源等情况决定。

            4.内存中的执行程序哪个先执行:根据系统采用的调度算法决定。

            5.内存如何有效分配:内存资源非常宝贵如何保证各并发程序高效、安全的使用,由内存管理模块实现。

     4.进程的特征:

          1).结构特征:程序段+相关数据+PCB

          2).动态性:进程是运行的程序。

          3).独立性

          4).异步性

        进程最基本的两个特征是动态性和并发性。

        引入进程产生的问题:

            1).增加空间的开销:为进程建立数据结构

            2).增加时间的开销:管理、协调、跟踪进程;填写和更新数据结构、切换进程、保护现场。

            3).更难控制:协调多个进程竞争和共享资源,如何预防并解决多个进程因为竞争资源而出现故障(死锁、饥饿)

            4).处理机的竞争尤为突出

      5.进程状态

         基本状态:就绪Ready(万事俱备,只欠CPU),运行Run,阻塞(等待)Block

         挂起:静止就绪、禁止阻塞

     6.进程控制块

         概念:PCB是进程存在的唯一标识符

         PCB信息:PID(进程标识符)、UID(进程的用户标识符)、进程调度信息、进程控制信息

         PCB的组织结构:链式方式、索引方式

         Linux进程控制块的基本成员:1)处理机硬件资源:用户编程可访问的寄存器、控制和状态寄存器、内存指针

        2).进程控制软件信息:进程标识、调度和状态信息、数据结构、进程间通信、进程访问权限、资源的使用和所有已打开的文件

二、进程控制

     进程控制是进程和处理机管理的一个重要任务。进程控制是指系统使用一些具有特定功能的程序段来创建、撤销进程以及完成进程各状态间的转换,从而达到多进程高效率并发执行和协调、实现资源共享的目的。

     一般来说,把系统态下执行的某些特定功能的程序段称为原语。

    用于进程控制的原语包括:创建原语、撤销原语、阻塞原语、唤醒原语、挂起原语和激活原语。

     1.进程创建

         起因:用户登录、作业调度、提供服务、应用请求。

         过程:引起创建进程的事件发生、调用原语、申请空白PCB、为进程分配资源、初始化进程控制块、将新进程插入就绪队列

     2.进程的终止

         起因:正常结束、异常结束、外界干扰

         过程:引起进程终止的事件发生、调用终止原语、获取进程PID、终止子进程、终止本进程、释放资源、释放PCB

    3.进程的阻塞和唤醒

         阻塞事件:请求系统服务、启动某种操作、新数据尚未到达、无新工作可做

         唤醒事件:进程所等待的事件发生

   4.进程的挂起和激活

        挂起:将处于内存的进程对换到外存(对换区),该进程所需资源就会被继续分配、在激活(调回内存)之前不会被调度

        激活:给被挂起的进程重新分配内存

三、进程的互斥

    1.与时间有关的错误(如:订票系统)

    2.互斥的概念:多个进程访问公共变量时,当一个进程正在进行访问时,就不允许其他进程对该临界资源访问,它们必须互斥的使用这个临界资源,这种约束关系就叫做互斥。

   互斥访问应遵循的准则:

     1).不能假设各并发进程的相对执行速度。各并发进程享有平等的、独立的竞争共有资源的权利,且在不采取任何措施的条件下,在临界区内任一指令结束时,其他并发进程可以进入临界区。

     2).某一时间只能有一个进程在临界区执行。

     3)并发进程中的某个进程不在临界区内时,它不阻止其他进程的进入。

     4)并发进程中的若干个进程申请进入临界区时,只能允许一个进程进入。

     5)并发进程中的某一个进程申请进入临界区时开始,应在有限时间内得以进入临界区。

   3.互斥加锁实现

     要实现互斥,一种可能的办法时对临界区加锁已实现互斥。并发进程再申请进入临界区时,首先测试该临界区是否是上锁的。

     尽管上锁的方式可以实现进程之间的互斥,但这种方法仍然存在着一些影响系统可靠性和执行效率。

四、进程同步

   1.同步的概念

         异步环境:相互合作的一组并发进程,其中每一个进程都以各自独立的、不可预知的速度向前推进;但它们又需要密切合作,已完成共同的任务。

         直接制约:一组在异步环境下的并发进程,若各自的执行结果互为对方的执行条件,而限制各进程的执行速度的过程称为并发进程间的直接制约。

         同步:把因直接制约而互相发送消息、互相等待,使得各进程按一定的速度执行的过程称为进程间的同步。

   2.同步机制应遵循的规则:空闲让进、忙则等待、有限等待、让权等待

   3.信号量机制

        1)整型信号量:wait()和signal()

              优点:是解决与时间相关的好方法

              缺点:单CPU系统中会出现“忙等”状态

        **2)记录信号量:P、V操作

              优点:让权等待,解决了忙等问题

              缺点:当申请多类资源时,存在“请求与保持”现象

        3)and型信号量

              优点:解决了记录型信号量机制存在的申请多类资源存在的“ 请求与保持”现象的问题,要么不要,要么全得。

              缺点:申请多类多个资源时功能退化

       4)信号量集

              优点:解决and信号量机制存在得问题

              缺点:每个要访问临界资源的进程须自备wait()和signal()操作、系统管理麻烦、会因同步操作使用不当而导致死锁、产生与时间有关的错误、为此引入了管程

**五、经典同步问题

   1.生产者-消费者问题

   2.读者-写者问题

   3.哲学家进餐问题

 注: 将另写一篇关于该问题的博文,增强记忆!

六、管程机制

   1.管程的引入:信号量机制是一种方便而有效的进程同步机制,但每个要访问临界资源的进程须自备wait和signal操作。这样不仅给系统管理造成麻烦,而且会因同步操作使用不当而导致死锁,甚至产生与时间有关的错误。

    2.管程的基本概念

       管程的三部分组成:局部用于管程的共享变量说明、对该数据进行操作的一组过程、对局部于管程的数据设置初始值的语句。

      

   3.管程的定义,组成和条件变量

七、进程间通信

    1.通信类型:共享存储器系统、消息传递系统、管道通信

    2.通信方法:直接通信方式、间接通信方式:信箱、信箱操作原语、信箱的种类(私用信箱,公用信箱,共享信箱)

    3.通信机制

八、线程

    1.线程的概念:是一个进程中的一个运行实体,是一个CPU调度单位,而资源的拥有者还是进程或者任务。

         事实上,引入线程的主要目的是为了提高系统的执行效率,减少处理机的空转时间和调度切换的时间,以便于管理。

     2.线程的属性:1)轻型实体 2)独立调度和分派的基本单位 3)可并发执行 4)共享进程资源

     3.进程、线程的关系


     4.执行特征:1)基本状态:执行、就绪、堵塞

                         2)基本操作:派生、堵塞、激活、调度、结束

       线程的另一个特征就是同步。线程中所使用的同步控制机制与进程中所使用的同步控制机制相同。

     5.分类:用户级线程、系统级线程(核心级线程)

      操作系统内核给应用程序提供对应的系统调用和应用程序接口API,以使用户程序可以创建、执行及撤销进程。

     6.不同平台的线程:UNIX International线程、POSIX线程、Win32线程、c++11线程、c11线程

        

        















  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值