操作系统-第二章-操作系统结构
一、操作系统服务和接口
1.操作系统服务和接口
- 以服务形式向程序和用户提供环境执行程序
- 基本服务:
- 用户界面
- 程序执行
- I/O操作
- 文件系统操作
- 通信
- 错误检测
- 增值服务:
- 资源分配
- 统计
- 保护和安全
- 操作系统服务形式:
- 系统调用:
- 类型:进程控制、文件管理、设备管理、信息维护、通信和保护
- 操作系统服务的编程接口(面向程序)
- 高级语言编写(C or C++)
- 程序通过应用程序接口(API)访问
- 用户接口:
- 命令行接口(CLI):字符模式、用户直接输入命令、内核或系统程序实现、多种实现方式(外壳)、获取并执行用户指定的命令(内置和外置命令)
- 图形化接口(GUI):用户界面友好的桌面接口、使用鼠标键盘和监视器、常用元素(图标、窗口、滚动条等)、鼠标操作为主
- 系统程序:
- 用于管理、维护操作系统
- 为用户使用操作系统服务
- 功能:文件管理、状态管理、文件处理、程序语言支持、程序装入和执行、通信
- 系统调用:
二、操作系统结构
1.简单结构
- 无结构
- 早期操作系统采用(规模小、简单、功能有限)
- 混乱、不易维护和更新、不适合大规模系统开发
- 如:MS-DOS、早期UNIX
2.层次结构
- 操作系统划分为若干层
- 在底层上构建高层
- 底层(0层)为硬件
- 最高层(N层)为用户层
- 每层只使用低层次的功能和服务
- 优点:简化了系统设计和实现,便于调试和升级维护
- 缺点:每层内容的定义困难、效率差
- 如:THE、IOS
3.微内核
- 问题:内核越来越大,越来越难管理
- 内核微型化:内核移出尽可能多功能到用户空间
- 优点:便于扩充微内核、便于移植操作系统到新架构系统上、更稳定(更少的代码运行在核心态)、更安全
- 缺点:用户空间和内核空间通信的系统开销增加(解决方案:提出消息传递机制)
- 如:Windows 2000、windows 2003、Mach
4.模块结构
- 大部分现代操作系统采用模块结构
- 使用面向对象方法
- 每个核心部件分开
- 每个与其他模块的会话被称为接口
- 每个模块在需要时被加载到内核
- 类似于分层方法,但更灵活
- 如:UNIX(Solaris、Linux和Mas OS X)、Windows
三、虚拟机
1.定义
- 一种通过软件模拟实现,具有完整硬件系统功能,并运行在一个完全隔离环境中的完整计算机系统
- 物理计算机资源共享以创建虚拟机
- 每个虚拟机同其他虚拟机隔离
- 由于需要对物理机器进行精确复制,虚拟机实现困难
2.实现
高级语言虚拟机
- 模拟代码执行
- 目的:跨平台
- 目前,有上百种不同的高级语言虚拟机
- JAVA虚拟机:JAVA语言的解释器
- 可运行Java代码的假想计算机
- 只要根据JVM规格将解释器移植到特定的操作系统上,就能运行经过编译的任何Java代码
- 特点:平台无关性
工作站虚拟机
- 面向工作站、PC
- 目的:多个操作系统可以同时在一个计算机上使用
- 工作站虚拟机:操作系统上的虚拟机
- 宿主操作系统:安装在硬件上的OS
- 客户操作系统:安装在操作系统上的操作系统
- 工作站虚拟机安装在宿主操作系统上,在工作站虚拟机中可以安装客户操作系统
- 优点:
- 同时在一个计算机上使用多个操作系统
- 一个宿主操作系统,若干个客户操作系统
服务器虚拟机
- 多用户、多操作系统并存
- 目的:把一个物理计算机虚拟化为多个虚拟机
- 服务器虚拟化:将服务器物理资源抽象成逻辑资源,让一台服务器变成几台甚至上百台相互隔离的虚拟服务器
- 常用模式:
- 一虚多:一台服务器虚拟成多台服务器虚拟机
- 多虚一:多个独立物理器虚拟为一个服务器虚拟机
- 优点:
- 安全性好
- 资源共享
- 可扩展性好
- 便于隔离
- 相价比高
虚拟机设备
- 连接模式
- 软件形式,如远程桌面
- 硬件模式,如虚拟机终端
作者:方知有
Motto: 热爱可抵岁月漫长
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文连接,否则保留追究法律责任的权利。
所有评论和私信都会在第一时间处理,如有问题或建议,请多多赐教!
支持博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是作者坚持原创和持续写作的最大动力!