声明:本blog基于Theacher yebl, NJU OS 整理而成
操作系统概论
1、操作系统概观
- 硬件层:提供基本的可计算资源
- 软件层:由程序、数据及文档组成
软件层分类:
- 系统软件(操作系统):直接和硬件交互,将复杂性封装起来,管理和控制硬件并对其做首次扩充和改造;与上层支撑软件和应用软件交互,将它们与硬件隔离,为程序员提供编程接口、功能及环境支撑
- 支撑软件层:利用操作系统提供的扩展指令集,实现编译、汇编、语言处理等其他使用程序,支持应用软件开发
- 应用软件层:解决特定的或者不同应用所需的信息处理问题
操作系统的主要目标:
- 扩大机器功能
- 管理系统资源:相互竞争的应用程序之间协调资源共享,其资源管理技术有:
- 资源复用——解决物理资源数量不足:
时分复用——时分独占:进程执行完整时间周期、时分共享:使用权限可能被随时剥夺
空分复用——将更小划分的空间分配给不同进程 - 资源虚拟——解决物理资源数量不足:
创建无需共享的多个独占资源的假象。
复用是分割实际存在的物理资源,而虚拟实现假设的虚拟同类资源 - 资源抽象——处理系统的复杂性:
重点解决资源的易用性,通过创建软件来屏蔽硬件资源物理特性和接口细节,简化对硬件资源的操作、控制和使用的一类技术,具体实现有单级资源抽象(wirte()函数调用)和多级资源抽象(fprintf()函数调用)。
- 提高系统效率
- 构筑开发环境
- 方便用户使用
物理资源分类
- 计算类资源:处理器
- 存储类资源:内存、外存
- 接口类资源:外部设备
现代操作系统的基础抽象
- 进程抽象(处理器的抽象):进程是对于进入内存的执行程序在处理器上操作的状态集的一个抽象,可为用户提供多任务操作系统和分时操作系统。
- 虚存抽象(内存的抽象):提供用户独占了一个连续地址空间的假象
- 文件抽象(设备的抽象):文件是通过将文件中的字节映射到存储设备的物理块中来实现文件抽象,让用户感觉到总能满足自己对设备上信息的存取需求,而且使用十分方便。
操作系统基本任务:
- 防止硬件资源被失控的应用程序滥用
- 屏蔽复杂的硬件操作细节,为应用程序提供使用硬件资源的简单且一致的方法
操作系统虚拟机:
- 由操作系统对物理计算机实施仿真而获得的一种更有利于用户使用的简单计算机模型,虚拟机每种虚拟资源都是物理资源通过复用、虚拟或抽象而得到的产物,提供了进程运行的逻辑计算环境。
(操作系统虚拟机 = 虚拟处理器 + 虚拟内存 + 虚拟辅存 + 虚拟设备)
操作系统定义:
- 为用户方便有效地使用计算机提供良好运行环境的一种系统软件
- 共享一套计算机系统资源的一种系统软件
操作系统作用:
- 把硬件裸机改造成为完善的虚拟机(使得机器功能得到扩展,运行环境得到改善&#x