目录
操作系统组成及作用
从上到下依次是:
用户 --- 系统和应用程序 --- 操作系统 --- 计算机硬件
操作系统目标
- 管理计算机硬件的程序;
- 在用户和计算机硬件之间的中介。
主要目标:
- 核心目标:运行用户程序
- 面向用户:更加方便使用计算机
- 面向系统:更加高效使用计算机
不用用户和系统的不同侧重点
- 早期:追求高效性
- 目前:追求方便性
操作系统作用
用户视角
系统视角
操作系统定义
极大化定义:当预定一个操作系统时零售商所装的所有东西可以统称为操作系统。
极小化定义:内核才是操作系统。
- 一直运行在计算机上的程序;
- 其他程序为系统程序和应用程序;
- 内核不运行则计算机无法运行。
现代计算机系统
- 一个或多个CPU和内存系统;
- 若干个由总线相连接的设备控制器和设备;
- 总线系统;
- CPU和设备控制器可以并行工作,也可以竞争内存。
计算机系统操作
每个设备控制器有一个本地缓冲。
CPU在内存和本地缓冲之间传输数据。
I/O控制器从设备到本地缓冲之间传输数据。
协作:控制器通过调用中断通知CPU完成操作。
- 中断:指当出现需要时,CPU暂停当前程序的执行,转而执行处理新情况的程序和执行过程。
- 中断号:外部设备进行I/O操作时产生的中断信息,发送给CPU。
系统启动
引导程序(Boostrap Program)
- 在打开电源或重启时被装载。
- 通常位于ROM或EPROM中,成为Firmware(固件)。
- 初始化所有硬件。
- 负责装入操作系统内核并开始运行。
多道程序设计和分时系统
简单批处理系统
自动作业调度
- 自动从一个运行完的作业转换到下一个作业。
常驻监控程序(Monitor)
- 控制作业传输
- 调度作业运行
单道程序设计
批处理系统
批处理
- 用户将一批作业提交操作系统后就不再干预,由操作系统控制它们自动运行。
批处理操作系统
- 采用批量作业技术的操作系统
- 分为单道批处理系统和多道批处理系统
- 不具有交互性,提高了CPU的利用率
多道程序系统
单用户通常不能总使得CPU和设备在所有时间内都忙碌。
多道程序设计:在内存中同时存在多道作业,在管理程序控制下相互穿插运行。
- 通过作业调度选中一个作业并运行。
- 当该作业必须等待时,切换到另一个作业。
- 目的:提高CPU利用率,并充分发挥计算机系统部件的并行性。
- 现代操作系统广泛采用多道程序设计技术。
并行和并发的区别
并行:指两个或多个作业同时在某一时刻运行。
并发:指两个或多个作业在同一时间间隔内依次运行。
分时系统
分时系统(或多任务)是多道程序设计的延伸。
- 一种联机的多用户交互式的操作系统。
- 采用时间片轮训方式使用一台计算机为多个用户服务。
- 在单位时间内,每个用户获得一个时间片并运行。
- 保证用户获得足够小的响应时间,并提供交互能力。
分时系统原理
- 如果某个作业在分配的时间片用完之前没有完成,该作业就暂时中断,等待下一轮;此时,处理机让给另一个作业使用。
- 每个用户好像独占一台计算机(因为时间片足够小)。
作业分类
- 批处理作业
- 交互作业:相应时间<1s;多道程序设计技术。
时间片
- 把一段CPU时间按照固定单位进行分割, 每个分割得到的时间段称为一个时间片。
- 每个任务依次轮流使用时间片。
操作系统类型
大型机系统
桌面系统
手持(移动)系统
嵌入系统
分布式系统
多处理其系统
多核处理器系统
集群系统
多核/多处理器系统分类
对称多处理系统(Symmetric Multiprocessing, SMP)
- 每个处理器运行操作系统的相同副本。
- 许多进程可以立即运行不会降低性能。
- 多数现代操作系统支持SMP。
非对称多处理系统(Asymmetric Multiprocessing, ASMP)
- 每个处理器不对等。
- 一个主处理器,若干了存储利器。
- 主处理器为从处理器安排任务。
- 一般用于特定的场景,如游戏、通讯等。
- 不适合PC,但适合手机等要求功耗的设备。
操作系统操作
双重模式操作
程序运行中的问题
- 软件错误或特定请求产生异常或者陷阱(除数为零等)。
- 其他的进程问题(死循环等)。
解决方法:双重模式
- 允许OS保护自身和其他系统部件。
- 用户模式(User mode)和内核模式(Kernel mode)。
- 由硬件提供模式位。
- 特权指令:可能引起系统崩溃的指令,智能运行在内核模式中。
模型转换方法:系统调用
I/0和内存保护
I/O保护
- 防止用户程序执行非法I/O。
- 解决方法:所有I/O指令都是特权指令。
- 用户程序通过系统调用进行I/O操作。
内存保护
- 防止内存非法访问。
- 解决方法:存储保护机制。
- 例子:基址寄存器和限长寄存器的应用。
定时器
如果操作系统不能获得CPU控制权,就无法管理系统
- 用户程序死循环。
- 用户程序不调用系统调用。
解决方法:定时器
- 在一段时间后发生中断,CPU控制权返回操作系统。
- 固定时间和可变时间定时器。
- 利用时钟和计数器实现。
操作系统功能
进程管理
操作系统核心目标:运行程序。
进程:运行中的程序。
具体内容
- 创建和删除用户和系统进程。
- 暂停和恢复进程。
- 提供进程同步、通信和死锁处理机制。
内存管理
程序运行中必须的存储设备
- CPU只能直接访问寄存器、高速缓存和内存。
- 处理前和处理后的所有数据都在内存。
- 执行的指令都在内存。
内存管理:提供内存的分配、回收、地址转换、共享和保护等功能。
- 提高内存利用率。
- 提高内存访问速度,从而提高计算机运行效率。’
文件管理
解决信息在计算机中的存储问题。
以文件为单位,以目录为组织方式构建文件系统。
内容
- 文件逻辑结果、文件物理结构。
- 目录。
- 文件检索方法,文件操作。
- 空闲空间管理,存储设备管理。
I/O系统管理
管理种类繁多的各种I/O设备,解决计算机中信息的输入和输出问题。
关键:设备无关性(独立性)
- 所有物理设备按照物理特性抽象为逻辑设备。
- 应用程序针对逻辑设备编程,且和物理设备无关。
内容
- 设备管理和设备驱动。