OS概述
2022-09-06 15:55:52 0 举报
AI智能生成
计算机操作系统深度解密
作者其他创作
大纲/内容
OS,是管理硬件和软件资源的计算机程序
常见操作系统
用户
应用程序
操作系统
硬件【裸机】
【计算机系统】构成
概念
硬件交互
对资源共享进行调度管理
解决并发操作处理中存在的协调问题
数据结构复杂,外部接口多样化,便于用户反复使用
系统软件
管理与配置内存
管理网络,文件系统等基本事务
管理IO设备
决定系统资源供需的优先次序
提供GUI界面
主要作用
1.什么是操作系统?
1.有效性
2.方便性
3.可扩展性
4.开放性
目标
1.进程控制
2.进程同步
3.进程通信
4.进程调度
1.CPU管理
1.内存分配
2.内存保护
3.内存扩充
4.内存地址映射
2.内存管理
1.缓冲管理
2.设备分配
3.设备处理
1.人机交互设备
2.大多以字符为单位发送和接收数据
3.通信速度较慢
4.键鼠、扫描仪、打印机
1.字符设备
外部存储器,用于实现程序和数据的长期保存。如:硬盘
2.块设备
用于与远程设备通信
常见:网卡、调制解调器
优缺:传输速度较字符设备高,但是较外部存储低
3.网络通信设备
4.常见IO设备
3.IO管理
1.文件存储空间的管理
2.目录管理
3.文件的读写管理和保护
4.文件系统管理
1.OS作为资源管理者
1.GUI,图形界面接口
2.程序接口,系统调用
3.命令接口,cmd
2.OS作为用户与硬件之间的接口
将具体的计算机硬件资源抽象成软件资源,方便用户调用
3.OS实现对计算机资源的抽象
功能
2.操作系统有哪些功能?
同一时间段内,执行个调度多个程序的能力
宏观,CPU同时执行多道程序
微观,CPU在多道程序之间高速切换(分时交替执行)
关注单CPU上下文切换的速度能力
特点
同一时间点,设备(多个cpu)执行和调度多个程序的能力。(当然,设备仅一个CPU,就谈不上并行了)
关注有多少个CPU可以同时执行任务的能力
并行
相似概念
1.并发(concurrence)
系统资源供多个应用程序使用
允许多个程序在同一个共享资源上独立而互不干扰的工作
资源在某一时间段被某个程序独占
如:打印机、磁带机
互斥共享方式
宏观,“同时访问”
微观,高速切换,交替访问磁盘
如:多个程序对磁盘“同时访问”
同时访问方式
共享方式
【并发】和【共享】互为存在条件
2.共享(sharing)
将一个物理实体,转变为多个逻辑上的对应物
将时间划分为若干时间片,并将时间片分配给每一个任务使用
生活常见,4个物理内核,8个逻辑内核
1.虚拟处理机技术
将一台物理打印机转变为多台逻辑上的打印机,供多人“同时”打印。
2.虚拟设备技术
实例
时分复用技术
利用空间分割实现复用
将一块硬盘,虚拟为多个虚拟磁盘(若干卷),既方便又安全
1.虚拟磁盘技术
利用空闲空空间存放其他程序,以提高内存利用率
2.虚拟存储技术
空分复用技术
种类
3.虚拟(virtual)
不可预知性
4.异步(asynchronism)
3.操作系统有哪些特征?
1.无操作系统的计算机系统
1.单道批处理系统
2.多道批处理系统
2.批处理阶段
3.分时系统
4.实时系统
5.网络操作系统和分布式计算机系统
6.微机操作系统
7.推动操作系统发展的动力
4.操作系统是怎么发展过来的?
内核程序和应用程序
核心态/管态/内核态/系统态/特权态
内核程序->核心态
用户态/目态
用户程序->用户态
中断(访管指令或系统调用)
目态->管态
CPU运行模式
一般不提供给用户进程使用
1.改变系统工作方式
2.检测用户的访问权限
3.修改虚拟存储器管理的段表,页表
4.完成任务的创建和切换
系统资源的分配和管理
特权指令
基本概念
计时
外中断
时钟中断
时钟管理
提高多道程序运行环境中CPU的利用率
意义
指外中断,即来自CPU执行指令以外时间的触发
IO设备处理完成
键鼠/打印机/网络/磁盘
外部设备请求
键鼠输入
进程调度和管理
设备驱动
文件访问
常见中断场景
中断
指内中断、例外或者陷入(trap),指源自CPU执行指令内部的事件
陷入指令是CPU产生,不给用户直接调用
由陷入指令引发
调用系统服务,比如读文件
应用程序主动引发
陷阱/陷入(trap)
缺页故障
由错误条件引发
可能会被内核修复
修复后该程序可以继续获得CPU执行权
故障(fault)
除数为0
存储器越限
非法使用特权指令
由致命错误引发
不可修复
直接终止
终止(abort)
异常
分类
关中断
保存断点
引出中断服务程序
中断隐指令
开中断
执行中断服务程序
开中断,中断返回
中断服务程序
中断处理过程
中断机制
1.由若干指令组成
2.用来完成某个特定功能
3.执行过程不会被中断
执行过程中不会被中断
可包含多个操作,也可以是单个操作
原子操作
原语
进程状态管理,进程调度和分派、创建、撤销进程控制块等
进程管理
存储器空间分配与回收、内存信息保护程序、代码对换程序等
内存管理
缓冲区管理、设备分配和回收
设备管理
系统数据结构
内核
1.由操作系统实现
2.提供给应用程序调用
3.用以访问内核功能
4.所有接口集合
进程的创建、撤销、阻塞、唤醒等
进程控制
进程之间的消息、信号的传递
进程通信
内存的分配、回收,获取作业占用内存区大小及始址
文件的读、写、创建、删除等操作
文件管理
IO设备的请求、释放,以及设备的启动
IO设备管理
命令分类
系统调用
5.操作系统的运行机制是怎样的?
结构混乱,任意调用。差
1.无结构OS
1.将操作系统按照功能划分为多个模块。如:进程管理模块、内存管理模块、文件管理模块、IO管理模块
2.各模块之间规定好接口,进行通信
1.提高了OS的正确性、可理解性、可维护性
2.增强了OS的可扩展性
3.加速了OS开发过程
优势
难以满足实际需求
每一个设计决定建立在上一个决定的基础上,注定了不可靠性
劣势
优劣
各模块间的接口定义
关键问题
高内聚
低耦合
两个标准
2.模块化结构OS
采用自底向上法来铺设中间层。每步设计都是建立在可靠的基础上。
1.增强OS正确性
2.增强扩展性、可维护性
优点
3.分层式结构OS
1.传统操作系统结构(大内核)
1.可与硬件交互
2.可实现基本功能
3.可实现CS通信
1.足够小的内核
2.基于CS模式
3.应用“机制与策略分离”原理
采用面向对象技术
1.基本概念
机制与策略分离
1.进程管理
2.低级内存管理
3.中断和陷入管理
2.基本功能
2.微内核OS结构
6.操作系统的结构是怎么设计的?
OS概述
0 条评论
下一页