操作系统-第二章-操作系统结构

一、操作系统服务和接口


1.操作系统服务和接口

  • 以服务形式向程序和用户提供环境执行程序
  • 基本服务:
    • 用户界面
    • 程序执行
    • I/O操作
    • 文件系统操作
    • 通信
    • 错误检测
  • 增值服务
    • 资源分配
    • 统计
    • 保护和安全
  • 操作系统服务形式:
    • 系统调用
      • 操作系统服务的编程接口(面向程序)
      • 高级语言编写(C or C++)
      • 程序通过应用程序接口(API)访问
    • 用户接口
      • 命令行接口(CLI):字符模式、用户直接输入命令、内核或系统程序实现、多种实现方式(外壳)、获取并执行用户指定的命令(内置和外置命令)
      • 图形化接口(GUI):用户界面友好的桌面接口、使用鼠标键盘和监视器、常用元素(图标、窗口、滚动条等)、鼠标操作为主
    • 系统程序
      • 用于管理、维护操作系统
      • 为用户使用操作系统服务
      • 功能:文件管理、状态管理、文件处理、程序语言支持、程序装入和执行、通信

二、操作系统结构


1.简单结构

  • 无结构
  • 早期操作系统采用(规模小、简单、功能有限)
  • 混乱、不易维护和更新、不适合大规模系统开发

2.层次结构

  • 操作系统划分为若干层
    • 在底层上构建高层
    • 底层(0层)为硬件
    • 最高层(N层)为用户层
    • 每层只使用低层次的功能和服务
  • 优点:简化了系统设计和实现,便于调试和升级维护
  • 缺点:每层内容的定义困难、效率差

3.微内核

  • 问题:内核越来越大,越来越难管理
  • 内核微型化:内核移出尽可能多功能到用户空间
  • 优点:便于扩充微内核、便于移植操作系统到新架构系统上、更稳定(更少的代码运行在核心态)、更安全
  • 缺点:用户空间和内核空间通信的系统开销增加(解决方案:提出消息传递机制)

4.模块结构

  • 大部分现代操作系统采用模块结构
  • 使用面向对象方法
  • 每个核心部件分开
  • 每个与其他模块的会话被称为接口
  • 每个模块在需要时被加载到内核
  • 类似于分层方法,但更灵活


三、虚拟机


1.定义

  • 一种通过软件模拟实现,具有完整硬件系统功能,并运行在一个完全隔离环境中的完整计算机系统
  • 物理计算机资源共享以创建虚拟机
  • 每个虚拟机同其他虚拟机隔离
  • 由于需要对物理机器进行精确复制,虚拟机实现困难

2.实现

高级语言虚拟机

  • 模拟代码执行
  • 目的:跨平台
  • 目前,有上百种不同的高级语言虚拟机
  • JAVA虚拟机:JAVA语言的解释器
    • 可运行Java代码的假想计算机
    • 只要根据JVM规格将解释器移植到特定的操作系统上,就能运行经过编译的任何Java代码
    • 特点:平台无关性

工作站虚拟机

  • 面向工作站、PC
  • 目的:多个操作系统可以同时在一个计算机上使用
  • 工作站虚拟机:操作系统上的虚拟机
    • 宿主操作系统:安装在硬件上的OS
    • 客户操作系统:安装在操作系统上的操作系统
    • 工作站虚拟机安装在宿主操作系统上,在工作站虚拟机中可以安装客户操作系统
  • 优点:
    • 同时在一个计算机上使用多个操作系统
    • 一个宿主操作系统,若干个客户操作系统

服务器虚拟机

  • 多用户、多操作系统并存
  • 目的:把一个物理计算机虚拟化为多个虚拟机
  • 服务器虚拟化:将服务器物理资源抽象成逻辑资源,让一台服务器变成几台甚至上百台相互隔离的虚拟服务器
  • 常用模式:
    • 一虚多:一台服务器虚拟成多台服务器虚拟机
    • 多虚一:多个独立物理器虚拟为一个服务器虚拟机
  • 优点:
    • 安全性好
    • 资源共享
    • 可扩展性好
    • 便于隔离
    • 相价比高

虚拟机设备

  • 连接模式
    • 软件形式,如远程桌面
    • 硬件模式,如虚拟机终端

原文地址:https://www.cnblogs.com/fangzhiyou/p/13696614.html