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