三、操作系统知识(1)

1.基础知识

软件分类:应用软件、系统软件

操作系统

  作用:1.通过资源管理(CPU管理、存储管理、设备管理、文件管理),提高计算机系统的效率。

     2.改善人机界面,向用户提供友好的工作环境。

  特征:并发性、共享性、虚拟性、不确定性

  功能:

    1.处理机管理(进程控制、进程同步、进程通信、进程调度)

    2.文件管理,即信息管理(存储空间管理、目录管理、读写管理、存取管理)

    3.存储管理(分配与回收、存储保护、地址映射、贮存扩充)

    4.设备管理(分配、启动、完成、回收)

    5.作业管理

  接口:系统命令级接口、编程级接口

  类型:

    1.批处理操作系统:单道批处理操作系统、多道批处理操作系统(多道、宏观上并行运行、微观上串行运行)

      作业组成:用户程序、数据、作业说明书(作业控制语言)

    2.分时操作系统:将CPU的工作时间划分为许多很短的时间片,轮流为各个终端的用户服务。

      特点:多路性、独立性、交互性、及时性

      UNIX,多用户、多任务的分时操作系统

    3.实时操作系统:

      分类:实时控制系统、实时信息处理系统

      特点:快速的相应时间(中断方式、“事件驱动”方式)、有限的交互能力、高可靠性(双机系统、多级容错)

      与分时系统的区别:

      1.设计目标不同。分时:多用户的通用系统,交互能力强;实时:专用系统

      2.交互性强弱不同。分时:交互能力强;实时:仅允许操作、访问有限的专用程序,不能随便修改,交互能力差

      3.相应时间敏感度不同。分时:以人能接受的等待时间;实时:以被测物体所能接受的延迟,响应时间敏感度强

    4.网络操作系统:使联网计算机共享网络资源

    5.分布式操作系统:网络操作系统的更高级形式(+透明性、可靠性、高性能……)

      与网络操作系统的差别:

      1.网络:用户必须知道网址;分布:不必知道计算机的确切地址

      2.分布:负责全系统的资源分配,很好地隐藏系统内部的实现细节(物理位置、并发控制、系统故障……对用户透明)

    6.微机操作系统:配置在微机上

    7.嵌入式操作系统:运行在嵌入式智能芯片环境中

2.处理机管理      

即进程管理,重点:进程之间的并发、进程间相互合作与资源竞争问题

进程:是资源分配、独立运行的基本单位

基本概念

  程序顺序执行特征:顺序性、封闭性、可再现性

  

  程序并发执行特征:失去程序的封闭性;程序与执行活动不再一一对应;并发程序间相互制约

    引发问题:进程间同步、互斥

  进程:程序的一次执行,可以与其他程序并发执行。

    组成:程序、数据、进程控制块(PCB)

    进程控制块:进程存在的唯一标志

      

    进程状态:

      终止分为两个阶段:1.等待操作系统进行善后处理;2.释放主存

        活跃就绪:进程在主存,且可被调度的状态

      静止就绪:进程对兑换到辅存的状态

  进程控制:由操作系统内核(Kernel)中的原语实现的

    内核:是计算机系统硬件的首次延伸,是基于硬件的第一层软件扩充,为系统对进程控制、管理提供了良好的环境。

    原语:由若凡条机器指令组成,用于完成特定功能的程序段。特点:在执行时不能被分割,即原子操作要么都做,要么都不做。 

  进程通信:各个进程交换信息的过程

    多道系统中,多进程并发执行,进程间存在资源共享、相互合作的问题。

    同步:合作进程间的直接制约问题。进程间完成一项任务时,直接发生相互作用的关系

    互斥:申请临界资源进程间的间接制约问题。系统中各进程互斥使用临界资源。

    临界区(Critical Section,CS):进程中对临界资源实施操作的那段程序。

      管理原则:有空即进、无空则等、有限等待、让权等待

    信号量机制:一种有效的进程同步、互斥工具

      分类:整型信号量、纪录型信号量、信号量集机制

      公用信号量:实现进程间的互斥,初值为1,或资源的数目

      私用信号量:实现进程间的同步,初值为0,或某个正整数

        信号量S:S>=0,表示某资源的可用数;S<0,绝对值表示阻塞队列中等待该资源的进程数。

    进程执行正确:1.自身的正确性;2、执行中与其他相关进程正确同步、互斥

    PV操作:实现进程同步、互斥的常用方法。低级通信语言,执行期间不可分割。

      P操作:申请一个资源;

      

      V操作:释放一个资源

       

      PV操作实现:令信号量mutex初值为1,当进入临界区执行P操作,退出临界区执行V操作

      

      典型:单缓冲区的生产者和消费者的同步问题

      

      

      

      PV操作缺点:1、编程难度大,通信不透明,易死锁,利用低级通信工具实现;2、效率低,每次只能操作一个消息

    进程通信:低级方式(PV操作)、高级方式

    高级通信方式:共享存储模式、消息传递模式、管道模式

管程:

  为了解决分散编程带来的困难。提供的以中国可以允许都进程安全、有效地共享抽象数据类型的机制(由“条件结构”所提供)

  基本思想:采用资源集中管理的方法,将系统中的资源用某种数据结构抽象地表示出来。由于临界区是访问共享资源的代码段,建立一个管程管理进程提出的访问请求

  组成:共享数据、能为并发进程所执行的作用在共享数据上的操作的集合、初始代码、存取权 

  结构:每个管程都要有一个名字以供标识

    

    生产者—消费者问题

    

      

      

进程调度

  当有更高优先级的进程到来时如何分配CPU

  方式分类:可剥夺、不可剥夺

  三级调度:

    1.高级调度:即长调度、作业调度、接纳调度。哪个后备作业调入主系统,成为就绪进程。系统中一个作业只需经过一次高级调度

    2.中级调度:即中程调度、对换调度。哪个就绪进程调入内存,内存紧张时,将内存阻塞进程与盘交换区的进程互换位置。

    3.低级调度:即短程调度、进程调度。那个内存中就绪进程占用CPU。是操作系统中最活跃、最重要的调度程序

  调度算法:

    1.先来先服务:作业提交次序、就绪状态次序。利于长作业,不利于短作业;利于CPU繁忙的作业,不利于I/O繁忙的作业。主要用于宏观调度

    2、时间片轮转:提高进程并发性、相应时间,从而提高资源(除CPU之外)利用率。主要用于微观调度。固定时间片、可变时间片

    3、优先级调度:每个进程都拥有一个优先数,大的占用CPU。静态优先级、动态优先级

    4、多级反馈调度算法:时间片轮转算法和优先级算法的综合。短进程,提高系统吞吐量、缩短平均周转时间;I/O型进程,获得较好的I/O设备利用率,缩短相应时间;不必估计进程的执行时间,动态调节优先级

    

  优先级:

    1.I/O型进程:最高优先级队列,小的时间片,执行后转入阻塞队列。以及时响应需要I/O交互的进程

    2.计算型进程:最大时间片,最少调度次数,执行后转入更低级队列。

    3.I/O请求不多,主要是CPU处理的进程:执行后转入优先I/0请求时离开的队列

    5.I/O完成时,提高优先级;时间片用完,降低优先级。

死锁:两个以上的进程相互都要去对方已经占有的资源(硬件、软件)导致无法继续运行下去的现象

  1.进程推进顺序不当

  2.同类资源分配不当

  3.PV操纵不当

  原因:竞争资源、进程推进顺序非法

  产生的必要条件:互斥、请求保持、不可剥夺、环路

  

   处理策略:

    1.鸵鸟策略(不理睬策略)

    2.预防策略:限制并发进程对资源的请求,严格防止死锁产生。预先静态分配法(破坏“不可剥夺”条件)、资源有序分配法(破坏“环路”条件)

    3.避免策略:不那么严格防止死锁产生。

      银行家算法:如果进程发出可以满足的资源请求,检测分配后,系统是否进入安全状态,来决定是否分配资源。

      安全状态:系统能按某种顺序(安全序列)为每个进程分配其所需资源,直至最大需求,使每个进程都可顺利完成

 

    4.死锁检测:允许死锁,形同定时运行一个死锁检测程序,如果发现死锁,设法解除

    5.死锁解除:资源剥夺法、撤销进程法

线程 

  进程

    基本属性:独立分配资源的单位

    系统时空开销大(进程创建、撤销、切换),系统中设置进程的数目不宜过多,进程切换频率不宜太高,限制了并发程度的提高。

   线程:

    即,轻型进程

    基本属性:拥有资源的独立单位,独立调度、分配的基本单位

    减少程序并发执行时付出的时空开销

    是进程中的一个实体,是被系统独立发你陪、调度的基本单位。线程基本上不拥有资源,只拥有一点运行中必不可少的资源(程序计数器、寄存器、栈),与同属一个进程的其他县城共享进程中所拥有的全部资源

    基本状态:就绪、运行、阻塞

    可创建另一个咸亨,同一个进程中的多个线程可并发执行。

    用户级线程、内核支持线程:是否依赖内核,系统的创建、撤销、切换是否通过系统调用来实现。

    系统进程、用户进程:都依赖于内核中的进程调度,且在内核支持下进行切换的

   

   

 

 

 

    

 

 

     

 

      

      

 

posted @ 2016-07-07 08:25  PanPan003  阅读(344)  评论(0编辑  收藏  举报