1.2 操作系统的形成与发展
- 硬件的发展
- 执行系统阶段
- 多道程序系统阶段
- 操作系统的形成
硬件的发展
摩尔定律: 集成电路上可容纳的元器件的数量每隔18至24个月就会增加一倍,性能也将提升一倍
执行系统阶段
两项硬件技术被引入: 1. 通道技术 2.中断技术
通道是一种芯片(输入输出处理芯片), 它能够控制一台或多台外部设备工作, 负责外部设备和内存之间的信息传输;
通道能独立于cpu工作, 这样cpu和通道就可以并行工作, cpu和外部设备也就可以并行工作;
提高了系统中设备的运行效率;
中断是指主机接收到相关信号之后, 停止原来的工作, 转而去处理相关的事件;
处理完毕之后, 主机会回到原来的断定继续工作;
执行系统的定义:
由于新技术的引入, 监督程序的功能被扩大了, 不仅要负责调度作业自动的运行, 还要提供输入输出控制功能, 这使得输入输出可在主机控制下完成。因此用户不必直接启动外设, 用户的输入输出请求必须通过系统去执行;
功能扩展后的监督系统常驻内存, 称为执行系统;
多道程序系统阶段
在多道程序设计技术出现之前, 只有单道程序系统;
在单道系统中, 若当前作业因等待IO而暂停, cpu只能空转直至IO完成;
多道程序设计是指允许多个程序同时进入一个计算机系统的主存储器并启动进行计算的方法;
宏观上并行, 微观上串行;
这提高了资源利用率和系统吞吐率, 但是延长用户的响应时间;
优点:
提高cpu, 内存和IO设备的利用率
改进了系统的吞吐率
充分发挥了系统的并行性
缺点:
作业周转时间变长
操作系统的形成
在多道程序系统出现不久后出现了分时系统, 分时系统将cpu划分为一个一个的时间片提供给不同的任务使用;
在分时系统和多道程序的出现, 标志现代操作系统的正式形成;
1.3 操作系统的结构设计
- 整体式结构
- 层次式结构
- 虚拟机结构
- 客户/服务器结构
- 微内核结构
整体式结构:
又叫 模块组合法, 将很多的模块组合到一起构成一个系统, 是基于结构化程序设计的软件结构设计方法;
模块作为操作系统的基本组成单位;
按照功能需要而不是根据程序和数据特性把整个系统分解为若干模块;(如处理器管理模块, 内存管理模块等)
每个模块可以进一步分成子模块, 所有模块连结成一个完整的系统;
优点:
结构紧密,组合方便,针对不同的需求可以组合不同的模块, 很灵活
系统效率高
缺点:
模块独立性差, 模块之间的牵扯多
形成了复杂的调用关系,甚至有循环调用
系统结构不清晰, 正确性可靠性降低
系统功能的增删改十分困难
层次式结构:
模块按照功能的调用次序排列成若干层次;
操作系统划分为内核和若干模块;
各层之间只能是单向依赖或者 单向调用;
层次结构两种类型:
全序类型:
各层之间单向依赖 (上层可以调用下层, 下层不能调用上层)
层内模块之间保持独立, 没有联系半序类型:
各层之间单向依赖
层内允许有互相调用或通信的关系
优点:
把整体问题局部化
层次结构和单向依赖性, 使得模块之间的依赖和调用关系更为清晰规范
Linux操作系统的整体就是层次式结构;
但是其内核又是整体式结构(这样有利于不同的人对内核的完善);
虚拟机结构 (可以看成是层次式结构):
虚拟化是计算机资源的抽象方法;
虚拟机是通过软件模拟出来的, 运行在隔离环境中的计算机系统;
实体计算机能完成的工作, 在虚拟机中都能实现;
客户/服务器结构:(借用了计算机网络中的结构设计)
操作系统分成两大部分:
1. 运行在用户态并以客户/服务器方式活动的进程 (有一部分进程是客户进程,一部分是服务器进程)
2. 运行在核心态的内核
除了内核外, 操作系统的其他部分, 都被分成了相对独立的进程;
如果有些进程能够实现一类服务的进程, 这称这些进程为服务器进程;
而需要获取这些服务来完成一些应用的进程被称为用户进程;
客户进程可以发出消息, 内核将消息传送给服务器进程, 服务器进程执行客户进程提出的请求,并通过内核发送消息把结果返回给用户进程;
微内核结构:
把操作系统中的内存管理, 设备管理, 文件系统等功能尽可能地从内核中分离出来;
内核只保留少量最基本的功能, 使得内核变得简洁可靠;
优点:
充分地模块化, 因为这些模块都是在内核之外,更换一个模块对其他模块的影响很小;
没被使用的模块不必运行, 可以减小系统内存的需求;
可移植性强;
微内核结构可以和用户/服务器结构结合使用, Windows操作系统就是这样的结构;
就爱看这个
以后就更这个了
已收藏(来收集考研资料了)
哈哈学弟还太早了啊