操作系统概念学习笔记 第三章 操作系统结构

系统组成

  1 进程管理

    操作系统负责下列有关进程管理的活动:

      创建和删除用户进程和系统进程

      暂停和重启进程

      提供进程同步机制

      提供进程通信机制

      提供死锁处理机制

  2 内存管理

    操作系统负责下列有关内存管理的活动:

      记录内存的哪部分正在被使用及被谁使用

      当内存空间可用时,决定哪些进程可以装入内存

      根据需要分配和释放内存空间

  3 文件管理

    操作系统提供了统一的逻辑信息存储观点,对存储设备的物理属性进行了抽象,定义了逻辑存储单元即文件。操作系统将文件映射到物理媒介上,并通过这些存储设备访问这些文件。

    文件是由其创建者定义的一组相关信息的集合。

    操作系统负责下列有关文件管理的活动:

      创建和删除文件

      创建和删除目录

      提供操作文件和目录的原语

      将文件映射到二级存储器(辅存)上

      在稳定(非易失的)存储媒介上备份文件

  4 输入/输出系统管理

    操作系统的目标之一是为用户隐藏特定硬件设备的特质,

    I/O子系统由如下部分组成:

      包括缓冲器、高速缓存和脱机打印的内存管理部分

      一个通用设备驱动程序的接口

      用于特定硬件设备的驱动程序

  5 二级存储管理

    二级存储器主要采用硬盘作为在线存储媒介来存储程序和数据。

    操作系统负责下列有关硬盘管理的活动:

      空闲空间管理

      存储空间分配

      硬盘调度

  6 联网

    分布式系统是一组不共享内存、外设和时钟的处理器的集合。

  7 保护系统

    保护是控制程序、进程或用户访问由计算机系统定义的资源的机制。

  8 命令解释系统

    是操作系统中最为重要的系统程序之一,它是用户和操作系统之间的接口,用来读入和解释控制语句,有时称为控制卡解释程序或命令行解释程序,通常称为外壳,功能是:得到下一个命令语句并执行它。

    操作系统经常按所采用的外壳来加以划分,一个用户友好的命令解释程序会使系统更适于某些用户,

      1 基于鼠标的窗口和菜单系统,如windows,

      2 命令是通过键盘输入的,如ms-dos、linux、unix

 

 

操作系统服务

  操作系统提供一个环境以执行程序。它向程序和这些程序的用户提供一定的服务:

  1 程序执行:系统必须能将程序装入内存并运行该程序,程序必须能结束其执行,包括正常或不正常结束(指明错误)

  2 I/O操作:为了效率和保护,用户通常不能直接控制I/O设备,因此,操作系统必须提供进行I/O操作的方法。

  3 文件系统操作:程序需要读写文件,也需要根据文件名来创建和删除文件。

  4 通信:可以通过共享内存来实现,也可以通过消息交换技术来实现。

  5 错误检测:操作系统通常需要知道可能出现的错误。对于每种类型的错误,操作系统应该采取适当的行动,以确保正确和一致的计算。

  还有一组操作系统函数,不在于帮助用户而是确保系统本身高效运行,多用户系统可以通过在用户间共享计算机资源来提高效率:

  1 资源分配:操作系统管理着多种不同类型的资源,为了更好的利用资源,操作系统有各种不同的程序来调度和分配资源

  2 统计:人们需要跟踪哪些用户使用了多少和什么类型的计算机资源。使用统计数据对研究人员来讲是有价值的工具,可用于重新配置系统,以提高计算服务能力。

  3 保护:涉及到确保控制所有对系统资源的访问。保护系统不受外界侵犯的安全性很重要。

 

 

系统调用

  系统调用提供了进程与操作系统之间的接口。可以是汇编语言指令的形式,也可以是高级语言,

  向操作系统传递参数通常用三种方法:

    1 通过寄存器来传递参数,不过有时,参数数量会比寄存器多。

    2 存放在内存的块或表中,并将地址作为参数传递给寄存器,linux就是用这种方法

    3 压到栈中

  系统调用大致分成五大类:

    (1) 进程控制

      1 结束.中止

      2 装入.执行

      3 创建进程.终止进程

      4 取得进程属性.设置进程属性

      5 等待时间

      6 等待事件.唤醒事件

      7 分配和释放内存

    (2) 文件管理

      1 创建文件.删除文件

      2 打开.关闭

      3 读.写.重定位

      4 取得文件属性.设置文件属性

    (3) 设备管理

      1 请求设备.释放设备

      2 读.写.重定位

      3 取得设备属性.设置设备属性

      4 逻辑链接或断开设备

    (4) 信息维护

      1 读取时间或如期.设置时间或日期

      2 读取系统数据.设置系统数据

      3 读取进程、文件或设备属性

      4 设置进程、文件或设备属性

    (5) 通信

      1 创建、删除通信连接

      2 发送、接收信息

      3 传递状态信息

      4 连接或断开远程设备

 

 

系统程序

  在操作系统之上,在应用程序之下,提供了一个方便的环境,以开发程序和执行程序。有的只是系统调用的简单用户接口;其他的可能相当复杂,分为如下几类:

    1 文件管理

    2 状态信息

    3 文件修改

    4 程序语言支持

    5 程序装入和执行

    6 通信

 

系统结构

  系统的模块如何相互连接起来以组成内核:

    1 简单结构:有些操作系统没有明确定义的结构,现在很少见了。

    2 分层方法:操作系统分成若干层,每层建立在较低层之上。分层的主要优点是模块化,选择了分层,这样每层只能利用较底层的功能和服务。分层的主要困难涉及到对层的仔细认真的定义,而且与其他方法相比其效率稍差。解决方法:使用数量更少而功能更多的分层设计,提供了绝大多数模块化代码的优点,同时避免了分层定义和交互的困难问题。

    3 微内核:将所有非基本部分从内核中移走,并将它们当做系统级程序和用户级程序来实现,用这种方法构建操作系统。微内核通常提供最小的进程和内存管理以及通信功能。微内核的主要功能是提供客户程序和运行在用户空间的各种服务之间进行通信的能力。好处是便于扩充操作系统,修改内核时,所做的改变也会很小。

 

 

虚拟机

  通过利用cpu调度和虚拟内存技术,操作系统能创建一种幻觉,以至于进程认为有自己的处理器和自己的内存。

  优点:

    1 通过完全保护系统资源,虚拟机提供了一个坚实的安全层

    2 虚拟机允许进行系统开发而不必中断正常的系统操作

    

 

系统设计与实现

  与其他系统一样,操作系统的重要性能改善很可能是由于更好的数据结构和算法,而不是由于优秀的汇编语言代码

 

系统生成

  操作系统通常设计成能运行在一类计算机上。对于某个特定的计算机场所,必须要配置和生成系统,这一过程有时称为系统生成。

 

 

posted @ 2013-09-14 23:22  褐色键盘  阅读(264)  评论(0)    收藏  举报