操作系统概念——第二章:操作系统结构

 


 

操作系统服务


 

1.     一组操作系统服务提供对用户很有用的函数:

  • 用户界面(一种是命令行界面;另一种是批界面,最为常用的是图形用户界面)

  • 程序执行
  • I/O操作
  • 文件系统操作
  • 通信(一个进程需要与另一个进程交换信息 )

此操作系统函数不是帮助用户而是确保系统本身高效运行。多用户系统通过共享计算机资源可以提高效率: 

  • 错误检测(操作系统需要知道可能出现的错误。

  • 资源分配(当同时有多个用户或多个作业运行时,系统必须为它们中的每一个分配资源

  • 统计(需要记录哪些用户使用了多少和什么类型的资源

  • 保护和安全。 

 

 


操作系统的用户界面


 

2. 用户与操作系统交互有两种基本的方法:

  •   命令解释程序(CLI): 在具有多个命令解释程序选择的系统中,解释程序被称为外壳(shell)—— 命令解释程序的主要作用是获取井执行用户指定的下一条命令 ,这一层中提供的许多命令都是操作文件的:创建、删除、列出、打印、复制、执行等 。
  • 图形用户界面(GUI

 

 


 

系统调用 


 

 3. 什么是系统调用:通俗的讲,说的是操作系统提供给用户程序调用的一组“特殊”接口。用户程序可以通过这组“特殊”接口来获得操作系统内核提供的服务;比如用户可以通过文件系统相关的调用请求系统打开文件、关闭文件或读写文件,可以通过时钟相关的系统调用获得系统时间或设置定时器等。

 

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

  •  通过寄存器来传递参数,不过有时,参数数量会比寄存器多。
  •   若参数数量比寄存器多,参数通常存在内存的块和表中,并将块的地址通过寄存器来传递。
  •   参数也可以通过程序放在或压入堆栈中,并通过操作系统弹出。

 

系统调用类型

5.系统调用大致可分成五大类:进程控制、文件管理、设备管理、信息维护和通信

 

 

        (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 连接或断开远程设备

 

 

6. 控制卡:一个批处理系统概念,一个管理进程执行的命令。当出现一个错误的时候,有的程序允许控制卡指出一个具体的恢复动作。

 

 7. 许多操作系统都提供程序的时间表,以表示一个程序在某个位置或某些位置执行所花的时间。时间表要求具有跟踪功能或定时时间中断。

 

 8. 消息传递模型:交换少量数据很有用,不必避免冲突,对于计算机间的通信更容易实现;但消息传递通常用系统调用来实现,因此需要更多的内核接入的时间消耗; 


共享内存模型:允许最大速度地通信,十分方便,对于计算机内的通信可以以内存的速度进行,并且仅在建立共享内存区域时需要系统调用;但在保护和同步方面存在一些问题

 

操作系统结构  

 

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

 

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

 

11.微内核:

  • 将所有非基本部分从内核中移走,并将它们实现为系统程序或用户程序。

  • 微内核通常包括最小的进程和内存管理以及通信功能

  • 主要功能是 使客户程序和运行在用户空间的各种服务之间进行通信

  • 好处:1.便于扩充系统 2. 绝大多数服务作为用户执行而不是内核进程执行=》更好的安全性和可靠性

  • 缺点:必须忍受由于系统功能总开销的增加而导致系统性能的下降。

 

12. 模块

  • 大多数现代操作系统实现内核模块:

  • 采用面向对象的方法

  • 每个核心组件是分开的

  • 每部分与已知接口的其他部分通信

  • 每部分根据需要加载到内核

  • 总之,类似于层,但更灵活。

 

13.  虚拟机

  虚拟机(VirtualMachine)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。

 

优点:

  • 通过完全保护系统资源,虚拟机提供了一个坚实的安全层
  • 虚拟机允许进行系统开发而不必中断正常的系统操作

 

 

 

posted @ 2018-08-21 16:40  涛水  阅读(828)  评论(0编辑  收藏  举报