码迷,mamicode.com
首页 > 其他好文 > 详细

操作系统概述(二)

时间:2018-09-26 22:13:09      阅读:190      评论:0      收藏:0      [点我收藏+]

标签:制作   设计思想   流水线   方法   实体   网络   硬件   很多   play   

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

基本特征:

技术分享图片

           注:多道并发是最根本的特征, 并发引出五大管理功能,同时也使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)采用面向对象技术

 

微内核的优点

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

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

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

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

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

操作系统概述(二)

标签:制作   设计思想   流水线   方法   实体   网络   硬件   很多   play   

原文地址:https://www.cnblogs.com/lls101/p/9709971.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!