计算机操作系统(一)绪论

1.绪论
1.1操作系统的概念、功能
1.1.1操作系统的概念
操作系统:是系统资源的管理者、向上层提供方便易用的服务、最接近硬件的一层软件
- 控制和管理整个计算机系统的硬件和软件资源
- 合理组织调度计算机的工作和资源分配
- 提供给用户和其他软件方便的接口和环境
- 计算机系统中最基本的系统软件
1.1.2操作系统的功能和目标
作为系统资源的管理者
作为系统资源的管理者
- 提供的功能
- 处理机管理
- 存储器管理
- 文件管理
- 设备管理
- 目标:安全、高效
向上层提供方便易用的服务
封装,操作系统将不友好的硬件功能封装成简单易用的服务,使用户能更方便的使用计算机
用户无需关心底层硬件的管理,只需要对管理操作系统发出命令即可
GUI:图形化用户接口
不需要记忆复杂的命令
联机命令接口=交互式命令接口
脱机命令接口=批处理命令接口
程序接口:可以在程序中进行系统调用来使用程序接口
普通用户不能直接使用程序接口,只能通过程序代码间接使用
最接近硬件的层次
需要实现对硬件机器的拓展
没有任何软件支持的计算机:裸机
裸机上安装操作系统,将硬件机器的功能拓展
通常把覆盖了软件的机器称为扩展机器,又称为虚拟机
1.1.3 操作系统的特征
- 并发
- 共享
- 虚拟
- 异步
并发
并发:同一时间间隔内发生
宏观上同时发生,微观上交替发生
并行:同一时刻同时发生
操作系统的并发性:同时运行多个程序,宏观同时运行,微观交替运行
操作系统和程序并发是一起诞生的
单核CPU只能并发运行程序
多核CPU才能并行运行
并发性是操作系统的一个最基本的特性
共享
共享:资源共享,系统中资源可供内存中多个并发执行的程序同时使用
两种资源共享方式
- 互斥共享方式
- 同时共享方式(宏观上同时)
并发性和共享性:互为存在条件
虚拟
虚拟:把一个物理上的实体变为若干个逻辑上的对应物
物理上的(实际存在),逻辑上(感受到的)
虚拟技术
- 空分复用技术(虚拟存储器)
- 时分复用技术(虚拟处理器)
有并发才有虚拟
异步
异步:程序执行不是一贯到底的,而是走走停停,以不可预知的速度推进,即进程的异步性
有并发才有异步
1.2操作系统的发展与分类
手工操作阶段
批处理阶段
- 单道批处理系统
- 多道批处理系统(OS开始出现)
分时操作系统
实时操作系统
网络操作系统
分布式操作系统
个人计算机操作系统
各类操作系统主要解决什么问题,优缺点
手工操作阶段
主要缺点:用户独占全机,人机速度矛盾导致资源利用率极低
单道批处理系统
引入脱机输入/输出技术,并由监督程序负责控制作业的输入、输出
主要优点:环节一定程度的人机速度矛盾,资源利用率有所提升
主要缺点:内存中仅能有一道程序运行
CPU有大量的时间在空闲等待I/O完成
资源利用率还是很低
多道批处理系统
每次读入多道程序,支持多道程序并发运行
主要优点:多道程序并发执行,共享计算机资源
资源利用率大幅提升
主要缺点:用户相应时间长,没有人机交互功能
分时操作系统
以时间片为单位轮流为各个用户/作业服务
主要优点:用户请求可以被即时相应,解决了人机交互问题
允许多个用户同时使用一台计算机,且感受不到别人存在
主要缺点:不能优先处理一些紧急任务
实时操作系统
主要优点:能够优先相应一些紧急任务,某些紧急任务无需时间片排队
实时操作系统控制下,接收外部信号后及时进行处理,且要在严格的时限内处理完成事件
主要特点:及时性和可靠性
实时操作系统
- 硬实时系统:必须在绝对严格的规定时间内完成处理
- 软实时系统:能接收偶尔违反时间规定
其他几种操作系统
网络操作系统:实现网络中各种资源的共享和各台计算机之间的通信
分布式操作系统:分布性和并行性,任何工作都可以分布在这些计算机上,并行、协同的完成这个任务
1.3操作系统运行机制
1.3.1操作系统的运行机制
- 两种指令
- 特权指令
- 非特权指令
- 两种处理器状态
- 核心态
- 内核态
- 两种程序
- 内核程序
- 应用程序
应用程序与内核程序
普通程序员写的程序应用程序
使用非特权指令
操作系统开发者编写的内核程序
使用特权指令
CPU设计和生产时就划分了特权指令和非特权指令
CPU有两种状态:内核态(核心态、管态)、用户态(目态)
处于内核态时:此时正在运行内核程序,可以执行特权指令
处于用户态时:此时正在运行应用程序,只能执行非特权指令
CPU中:程序状态寄存器PSW,有表示内核态与用户态的二进制位
内核态、用户态切换
内核态->用户态:执行特权指令:修改PSW标志位
用户态->内核态:中断引发,硬件自动完成状态切换
开机:内核态
内核让出CPU前,会用特权指令将PSW的标志位设置为用户态
1.3.2中断和异常
- 中断的作用
- 中断的类型
- 内中断(异常)
- 外中断
- 中断机制的基本原理
中断的作用
让操作系统内核夺回CPU使用权的唯一途径
没有中断,就没有并发
中断的类型
- 内中断
- 与当前执行的命令有关
- 中断信号来源于CPU内部
- 应用程序执行特权指令(终止abort)、除0等异常(故障fault)、调用陷入指令完成系统调用(陷阱、陷入trap)
- 外中断
- 与当前执行指令无关
- 中断信号来源于CPU外部
- 时钟中断、I/O中断请求
中断机制的基本原理
不同的中断信号,需要不同的中断处理程序来处理
CPU检测到中断信号后,查询中断向量表,找到内存中中断处理程序的位置
1.3.3系统调用
- 什么是系统调用
- 与库函数的区别
- 为什么是必须的
- 什么功能需要系统调用
- 系统调用的过程
什么是操作系统
应用程序可以通过系统调用来请求获得操作系统内核的服务
系统调用与库函数的区别
库函数-调用->系统调用
有些库函数不使用系统调用
什么功能需要系统调用
按功能分类
- 设备管理
- 文件管理
- 进程控制
- 进程通信
- 内存管理
凡是与共享资源有关的操作,都必须通过操作系统调用的方式向操作系统提出请求
系统调用的过程
传参指令(传递系统调用的参数)
陷入指令(陷入内核) 非特权指令,会引发内中断
系统调用
返回
用户态发出系统调用请求
内核态执行系统调用相应处理
1.4操作系统体系结构
- 大内核(宏内核/单内核)
- 微内核
- 分层结构
- 模块化
- 外核
所有功能都包含:大内核
只包含与硬件关系最紧密的部分:微内核
不属于内核的功能会运行在用户态(反复调用系统调用),会影响系统性能(需要频繁陷入内核)
大内核
- 主要功能模块都包含
- 优点:高性能
- 缺点:内核代码庞大,结构混乱,难以维护
微内核
- 只保留最基本的功能
- 优点:内核功能少,结构清晰,方便维护
- 缺点:需要频繁在内核态和用户态之间切换,性能低
分层结构
- 每层调用更低层的功能
- 优点:
- 便于调试和验证
- 易于扩充和维护,功能清晰稳定
- 缺点:
- 仅能调用相邻低层,难以合理定义各层边界
- 效率低,不可跨层调用,系统调用执行时间长
模块化
- 将内核划为多个模块,各个模块相互协作
- 内核=主模块+可加载内核模块
- 主模块:只负责核心功能
- 可动态加载内核模块,无需重新编译整个内核
- 优点:
- 模块间逻辑清晰易于维护,确定模块间接口后即可多模块同时开发
- 支持动态加载新的内核模块,增强OS适应性
- 任何模块都可以直接调用其他模块,无需消息传递进行通信,效率高
- 缺点:
- 模块间接口定义未必合理、实用
- 模块间相互依赖,更难以调试和验证
外核
- 内核负责进程调度,进程通信等功能
- 外核负责为用户进程分配未经抽象的硬件资源,且保证资源使用安全
- 优点:
- 不虚拟,不抽象的硬件资源,用户进程可以更灵活的使用硬件资源
- 减少了虚拟硬件资源的映射层,提高效率
- 缺点:
- 降低了系统的一致性
- 使系统变得更复杂
1.5操作系统引导
- 什么是操作系统引导(boot)
- 磁盘里有哪些数据
- 操作系统引导的过程
主引导记录MBR
磁盘引导程序和分区表
系统盘
引导记录PBR
根目录
其他
RAM中
- ROM(BIOS)
- 引导程序,进行自举
开机->跳转执行bios->从主引导记录中读取磁盘引导程序,扫描分区表
->从活动分区读取分区引导记录,执行其中的程序
->从根目录下找到完整系统初始化程序,执行,完成开机
1.6虚拟机
传统计算机
一台物理机器上只能运行一个操作系统
虚拟机
使用虚拟化技术,将一台物理机虚拟化为多台虚拟机
第一类VMM:直接运行在硬件上
- 能直接控制和分配物理资源
- 性能更好
- 可迁移性更差
第二类VMM:运行在宿主操作系统上 - 依赖宿主OS为其分配物理资源
- 标题: 计算机操作系统(一)绪论
- 作者: GuangYing
- 创建于 : 2025-06-25 18:45:00
- 更新于 : 2025-06-25 19:02:42
- 链接: http://quebo.cn/2025/06/25/计算机操作系统-1绪论/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。