zoukankan      html  css  js  c++  java
  • 操作系统概述(二)

    操作系统的基本特征、功能及结构

    基本特征:

               注:多道并发是最根本的特征, 并发引出五大管理功能,同时也使OS有了更多的特征

    1.并发concurrence

    并行性:两个或多个事件在同一时刻发生

    并发性:两个或多个事件在同一时段发生

      理解CPU并发:

                  单处理器系统中,多道程序在宏观上看似并行,实际在微观上是多道程序占用cpu交替执行的,并不是真正的“并行”。多处理器系统才有CPU并行。

      单处理器系统中的并行:

                  在硬件技术支持的条件下,CPU 和 I/O操作能实现并行,这也是多道程序设计能够提高效率的原因之一。

    注: 并发和进程是现代OS最重要的基本概念

     

    2.共享sharing

         互斥共享方式:

           对临界资源(如打印机)采用该方式,资源分配给某进程后未释放前,不能被其他进程所用。

      临界资源(独占资源):一段时间内只允许一个进程访问的资源。

           同时访问方式:

           对允许“同时”访问的资源(如磁盘)采用该方式,但“同时”仍然是“宏观并行微观串行”的,不是真正的同时

    注:

    并发和共享互为存在的条件

    多个程序并发才导致了资源需要共享

    资源共享若没有协调好,必然影响程序的并发执行

    3. 虚拟virtual

                  通过某种技术把一个物理实体变为若干个逻辑对应物(用户感觉上的东西),两种实现方式:

      时分复用

                  一个物品被多人分时使用,在一段时间内就表现为每个人都有一个该物品可用,1虚拟为n。

    空分复用

                  一个物品划分为多个部分,多个人每人都有一部分可用,主观上看也是1虚拟成n。

    4.异步性asynchronism

    指进程的执行顺序和执行时间的不确定性

          进程的运行速度不可预知

                  由于资源等因素限制,进程通常不能一气呵成地执行完,多个进程并发执行是“时走时停”的,不可预知每个进程的运行推进快慢;

          允许异步,但结果应正确

                  只要环境相同,无论快慢,结果应该相同(可再现性),这需要进程互斥和同步手段来保证。

    操作系统的主要功能

      处理机管理功能(作业管理)

      存储器管理功能

      设备管理功能

      文件管理功能

      用户接口

    1.

    处理机管理功能

    1)进程控制:

      为作业创建进程、撤销已结束的进程,控制进程在运行过程中的状态转换。以及线程的创建撤销等。

    (可理解为对单个进程基本信息进行管理)

    2)进程同步:

      为多个进程运行进行协调(包括互斥和同步)

    3)进程通信:

    用来实现在相互合作进程间的信息交换;(直接通信和网络通信)

    4)调度:

      作业调度(入内存)和进程调度(分配CPU)

    2.  存储器管理功能

    1)内存分配:为每道程序分配内存空间(包产到户)具体分配涉及许多细节:

    分配方式:动态、静态

    分配机制需要的数据结构、分配算法、回收内存功能

    2)内存保护:确保每道用户程序都只在自己的内存空间中运行

      需要一个硬件——界限寄存器,存放正在执行进程的内存上下界,每条指令的访问地址都要进行越界检查,一般用硬件实现检查

    3)地址映射(变换):进程的逻辑地址到内存物理地址的映射。

      程序编译形成的目标程序地址都是从0开始,是逻辑地址

     真正调入内存某个空间存放的地址是物理地址

    4)内存扩充:用虚拟存储技术解决内存容量不足的问题;

      请求调入功能

      页面置换功能

    3.  设备管理功能

      1)缓冲管理:匹配CPU和外设的速度,提高两者的利用率和并行操作程度;

      2)设备分配:按某种设备分配策略,为之分配所需的设备;

        应设置设备控制表等数据结构记录设备及其控制器的标识符和状态;不同的设备,分配方式不同

    3)设备处理:设备处理程序即驱动程序,及时X响应设备控制器请求,实现CPU和设备控制器之间的通信。

      4.  文件管理功能

      1)存储空间的管理:分配外存空间,提高外存的利用率,提高文件系统的运行速度;

        需要相应的数据结构,记录文件存储空间的使用情况;要有对存储空间分配和回收的功能

     2)目录管理:为文件建立目录项,并有效组织,实现方便的按名存取;提供快速的目录查询手段,提高文件检索速度;还需实现文件共享。

     3)文件的读写管理和保护:读写操作与有效的存取控制功能。

    5.  用户接口

    1)命令接口

           用户可通过键盘终端发出命令以控制作业的运行。

      联机用户接口:由一组磁盘操作命令和命令解释程序组成。

     脱机用户接口:由一组作业控制语言组成,如批处理文件。

    2)程序接口

     用户程序在执行中访问系统资源而设置,由一组系统调用组成。  早期汇编语言才能使用,后高级语言及C语言中都给出了系统调用对应的库函数。

    3)图形接口

    操作系统的结构

    操作系统的结构

    开发OS的过程中,先后引入了分解、模块化、抽象、屏蔽等方法,OS结构不断更新换代。

      无结构OS

      模块化OS结构

      分层式OS结构

      微内核OS结构

    1.传统的OS结构

    1)无结构OS

      早期开发OS,只追求实现和效率,缺乏贯穿的设计思想。是一组过程的集合。

    问题:

     过程互相调用,没有清晰的结构

      程序错误很多,调试复杂,阅读维护困难

    2)模块化OS结构

                  20世纪60年代出现的一种程序设计技术。基于“分解”和“模块化”原则来控制大型软件的复杂度。

      制定功能模块

      规定各模块接口

      划分子模块

           称为模块——接口的设计方法,关键是模块的划分和规定接口。

    3)分层式OS结构

      改进设计方式,变无序为有序——分层的思想

                  在物理机器上逐渐添加具有一定功能的软件层,每一层仅使用底层提供的功能和服务。(功能流水线)

    优点:

      易保证系统正确性

      易扩充和维护

    缺点:

    分层单向依赖,执行一个功能,总要自下而上地穿越多层,增加系统通信开销,降低了效率

    2.微内核OS结构

      Micro Kernel操作系统结构于20世纪80年代后期发展起来。尤其在多处理机环境下,更适用微内核技术。

      与客户/服务器技术,面向对象技术同时发展起来的。微内核OS结构以OS为核心,以C/S为基础,采用了面向对象程序设计方法。

           1)客户/服务器技术

           2)面向对象技术

           3)微内核

    1)Client/Server模式

      三部分组成:客户端、服务器、网络系统

      交互方式:客户请求,服务器接收消息,回送消息,客户接收消息,四步。

    优点:数据分布处理和存储;灵活可扩充,易于修改维护,仍方便集中管理

    微内核

    1)足够小的内核

           微内核并非一个完整的OS。与硬件紧密相关,实现较基本功能,复杂客户和服务器通信。

    2)基于C/S模式

    3)应用”机制与策略分离“原理

           机制——实现某一功能的具体执行机构,位于基层;策略——借助某些参数和算法实现功能优化或达到不同功能目标,位于系统高层。

    4)采用面向对象技术

    微内核的优点

      灵活、可扩充:可选配功能服务器模块

     增强可靠性:内核是稳定的核心,只有它能直接访问硬件。服务器在用户态出错绝不会导致系统瘫痪。

     可移植性:操作系统绝大部分(各种服务器程序)与硬件平台无关,在不同硬件平台间移植时修改比较小。

     该机制尤其适用于分布式系统

    采用面向对象技术,减少开发开销

  • 相关阅读:
    总结下JavaWeb应用里正确显示中文需要的设置
    JDBC连接MySQL数据库的示例代码
    ZT:CSS实现水平|垂直居中漫谈
    今天整理了下所有博文
    关于后台数据库正常存储中文通过Ajax方式传递到前台变成问号的处理
    回顾以前的线程安全的类
    同步解决线程安全问题的三种实现
    如何判断一个程序是否会有线程安全问题?
    Java中如何通过一个类名来调用另一个类的静态方法?
    作为一个程序员,数学对你到底有多重要?!
  • 原文地址:https://www.cnblogs.com/lls101/p/9709971.html
Copyright © 2011-2022 走看看