操作系统(Operating System, OS)
一共七章到文件管理,必不断更,从今天5.30日更到6.5
乃自己一个95+,只要敢想,没啥不可能
文章目录
定义、目标和作用
定义
- 资源管理的观点:操作系统是控制和管理计算机的软、硬件资源,合理地组织计算机的工作流程,以及方便用户的程序集合。
- 机器扩充的观点:操作系统是配置在计算机硬件上的第一层软件,是对硬件系统的第一次扩充。
目标
- 方便性
- 有效性:
- 提高系统资源利用率
- 提高系统的吞吐量
- 可扩充性
- 开放性
由于计算机网络的迅速发展,为使来自不同厂家的计算机和设备能通过网络加以集成化,并能正确、有效地协同工作,实现应用的可移植性和互操作性,要求操作系统必须提供统一的开放环境,具有开放性
作用
- OS作为用户与计算机硬件系统之间的接口
- 命令方式
- 系统调用方式
- 图标窗口方式
在”主要功能“部分的“用户接口“部分会详细解释
- OS作为计算机系统资源的管理者
- 处理机管理,用于分配和控制处理机
处理机状态保证了特权指令的正确使用,把OS与用户程序区别开来 - 存储器管理,主要负责内存的分配与回收
- I/O设备管理,负责I/O设备的分配与操纵
- 文件管理,负责文件的存取、共享和保护
- 处理机管理,用于分配和控制处理机
- OS作为计算机系统资源的管理者
OS是铺设在计算机硬件上的多层软件的集合,它们不仅增强了系统的功能,还隐藏了对硬件操作的具体细节,实现了对计算机硬件操作的多个层次的抽象模型。
不仅可在底层对一个硬件资源加以抽象,还可以在高层对该资源底层已抽象的模型再次抽象,成为更高层的抽象模型。
主要动力
- 不断提高计算机资源的利用率:多道批处理系统、SPOOLing系统、虚拟存储器技术
- 方便用户:人机交互的分时系统、图形用户界面
- 器件的不断更新换代:CPU、外设
- 计算机体系结构的不断发展:多处理器、计算机网络
发展过程
无操作系统的计算机系统
- 人工操作方式:穿孔卡片
- 脱机输入/输出方式
输入和输出都是在外围机的控制下完成的,或者说,脱离主机的情况下。主要优点(相对前者):减少了CPU的空闲时间;提高了I/O速度
单道批处理系统
通常是把一批作业以脱机方式输入到磁带上,并在系统中配上监督程序(Monitor),在它的控制下使这批作业能一个接一个地连续处理
特征:自动性、顺序性、单道性
多道批处理系统
在该系统中,用户所提交的作业都先存放在外存上并排成一个队列,称为“后备队列”;然后,由作业调度程序按一定的算法从后备队列中选择若干个作业调入内存,使它们共享CPU和系统中的各种资源
- 优点:
- 提高CPU的利用率
- 可提高内存和I/O设备利用率
- 增加系统吞吐量
- 缺点:
- 平均周转时间长
- 依然无交互能力
分时系统(Time Sharing System)
- 关键问题:
- 及时接收:多路卡缓冲区
- 及时处理:作业直接进入内存;轮转运行
- 关键概念:
- 分时(Timing Sharing)
- 时间片(time slice)
- 响应时间(response time)
- 特征:
- 多路性
- 独立性
- 及时性
- 交互性
实时系统
- 分类:
- 周期性实时任务 & 非周期性实时任务
- 硬实时任务 & 软实时任务
批处理系统、分时系统、实时系统比较
表格来自课上ppt的填空,有些部分实在不大好比较,也意义不大(而且实时和分时的资源利用率较低?)以上仅为个人观点哈
可参考批处理系统,分时系统,实时系统
以及批处理、分时、实时操作系统的特点
微机操作系统的发展
- 单用户单任务:只允许一个用户上机,且只允许用户程序作为一个任务运行
- 单用户多任务:只允许一个用户上机,但允许用户把程序分为若干个任务,使它们并发执行,从而有效地改善了系统的性能
- 多用户多任务:允许多个用户通过各自的终端使用同一台机器,共享主机系统中的各种资源,而每个用户程序又可进一步分为几个任务,使它们能并发执行,从而可进一步提高资源利用率和系统吞吐量
- 网络操作系统
- 分布式操作系统
- 嵌入式操作系统
基本特性
并发
- 并发与并行
- 并行性是指两个或多个事件在同一时刻发生;而并发性是指两个或多个事件在同一时间间隔内发生
- 单处理机系统:并发
- 多处理机:并行
- 引入进程
- 程序是静态实体(Passive Entity),在多道程序系统中,它们是不能独立运行的
- 进程是指在系统中能独立运行并作为资源分配的基本单位
- 剧本与演出的关系
- 引入线程
在引入线程的OS中,通常都是把进程作为分配资源的基本单位,而把线程作为独立运行和独立调度的基本单位。
共享
- 互斥共享
- 同时访问:宏观同时,微观交替(单处理机)
- 并发和共享是操作系统的两个最基本的特征,它们又是互为存在的条件
- 一方面,资源共享是以程序(进程)的并发执行为条件的,若系统不允许程序并发执行,自然不存在资源共享问题
- 另一方面,若系统不能对资源共享实施有效管理,协调好诸进程对共享资源的访问,也必然影响到程序并发执行的程度,甚至根本无法并发执行
虚拟
- 时分复用
- 虚拟处理机
- 虚拟设备
- 空分复用
- 虚拟磁盘
- 虚拟存储器
异步
在单处理机环境下,由于系统中只有一台处理机,因而每次只允许一个进程执行,其余进程只能等待。由于资源等因素的限制,使进程的执行通常都不是“一气呵成”,而是以“停停走走”的方式运行。
主要功能
前四个后面章节会详细解释,这里不做赘述
处理机管理
- 进程控制
- 进程同步
- 进程通信
- 进程调度
存储管理
- 内存分配
- 内存保护
- 地址映射
- 内存扩充
设备管理
- 缓冲管理
- 设备分配
- 设备处理
文件管理
- 文件存储空间的管理
- 目录管理
- 文件的读/写管理和保护
用户接口
- 用户接口(命令接口)
- 联机用户接口:交互式命令接口(一句一句)
- 脱机用户接口:批处理命令接口(一堆一堆)
- 图形用户接口
- 程序接口(系统调用)
现代操作系统的新功能
系统安全、网络的功能和服务、支持多媒体
结构设计
传统的操作系统结构
- 无结构操作系统
- 模块化结构OS
- 模块-接口法:
- 模块的独立性:内聚性、耦合度
- 在OS设计阶段,设计者必须做出一系列的决定(决策),每一个决定必须建立在上一个决定的基础上。但在模块化结构设计中,各模块的设计齐头并进,无法寻找到一个可靠的决定顺序,造成各种决定的“无序性”,这将使程序设计人员很难做到“设计中的每一步决定都是建立在可靠的基础上”,因此,“模块-接口法”又被称为“无序模块法”
- 模块-接口法:
- 分层式结构OS
系统效率降低,由于层次间通信开销
客户/服务器模式
- 组成
- 交互:完整的交互过程可分为四步
- 优点
- 数据的分布处理和存储
- 便于集中管理
- 灵活性和可扩充性
- 易于改编应用软件
面向对象的程序设计
老生常谈,为了引出后面内容,这里略过
微内核OS结构
提高操作系统的“正确性”、“灵活性”、“易维护性”和”可扩充性”
-
基本概念:
- 足够小的内核
- 基于客户/服务器模式
- 应用“机制与策略分离”原理
机制,是指实现某一功能的具体执行机构;
策略,则是在机制的基础上,借助于某些参数和算法来实现该功能的优化,或达到不同的功能目的;
微内核操作系统中,通常只将机制放在OS的微内核中 - 采用面向对象技术
-
基本功能:
在微内核OS中,是将进程管理、存储器管理以及I/O管理这些功能一分为二,属于机制的很小一部分放入微内核中,另外绝大部分放在微内核外的各种服务器中来实现。- 进程(线程)管理
- 低级存储器管理
- 中断和陷入管理
-
优点:
- 提高了系统的可扩展性
- 增强了系统的可靠性
- 可移植性
- 融入面向对象技术
-
问题:
复习所用,侵删