zoukankan      html  css  js  c++  java
  • 三、操作系统知识(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.死锁解除:资源剥夺法、撤销进程法

    线程 

      进程

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

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

       线程:

        即,轻型进程

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

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

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

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

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

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

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

       

       

        

         

          

          

  • 相关阅读:
    IntelliJIDEA永久注册使用
    并行设计模式(二)-- Master-Worker模式
    Guava之CaseFormat
    solr6.3.0升级与IK动态词库自动加载
    算法思维
    并发库应用之一 & ThreadLocal实现线程范围的共享变量
    filecoin里程碑事件
    博客园 增加打赏功能
    session-token-cookie讲解
    golang原生的RPC实现
  • 原文地址:https://www.cnblogs.com/panpanwelcome/p/5648706.html
Copyright © 2011-2022 走看看