导图社区 操作系统
操作系统:第一章:导论,os的作用用户&硬件的中介/接口、需要做what固观点不一、计算机系统组织(原理:使CPU能够响应异步事件(设备控制器准备好服务时))等等
社区模板帮助中心,点此进入>>
论语孔子简单思维导图
《傅雷家书》思维导图
《童年》读书笔记
《茶馆》思维导图
《朝花夕拾》篇目思维导图
《昆虫记》思维导图
《安徒生童话》思维导图
《鲁滨逊漂流记》读书笔记
《这样读书就够了》读书笔记
妈妈必读:一张0-1岁孩子认知发展的精确时间表
操作系统
第一章:导论
介绍
os的作用
用户&硬件的中介/接口
需要做what固观点不一
计算机系统组件
硬件
cpu/内存/I-O/通信
程序软件
用户
os视图
os提供服务
程序创建
程序执行
访问I/O,文件
系统访问
os三大经典观点
资源管理器
控制程序
命令执行器
现代化解释:虚拟机
虚拟机是一个程序,它完美地虚拟了硬件配置的每个细节
os定义
提供虚拟机抽象处理硬件
协调资源并保护用户彼此不受影响
os演变
早期系统(1950)
早期软件
大量的设置时间
I/O极慢
cpu利用率低
高安全
20世纪60年代
简单批处理系统
内存保护
特权指令
中断
1970之后
组成
计算机硬件结构
冯诺依曼
X86
哈佛建筑
ARM9,MIC
计算机系统组织
os与硬件交互的关键
过程:硬件传达信号---cpu--触发中断(ISR)
原理:使CPU能够响应异步事件(设备控制器 准备好服务时)
中断类型
陷阱(异常)
外部中断
系统调用
中断属性
异步/同步
外部/硬件与内部/软件
显式/隐式
存储结构
主存
唯一大型存储介质
是CPU可以直接访问的
容量不够
易失
辅助存储器
大容量
非易失(NVM,nonvolatile memory)
子主题
硬盘
HDD
缓存
most of time 缓存特别是指CPU内的SRAM
主存管理
初始内存管理
最低限度管理
内存分割split
内存分区division
动态内存管理
共享系统资源要求:错误的程序不导致其他程序错误执行
常驻监控程序是一个“受信任的程序”,但是如何保护它不受 用户程序的破坏呢? 解决方案:使用界限寄存器(Fence Register)和寻址访问逻辑。 1.用户程序可以读取任何地址,但寻址访问逻辑确保它只能写入大于界限寄存器值的地址。 2.加载界限寄存器的指令必须具有特权(它只能由常驻监控程序执行) 但如何确保这一点呢? so 双模式操作
保护常驻监控程序
界限寄存器
寻址访问逻辑
双模操作
用户程序永远无法在内核模式下控制计算机。 当发生任何类型的中断时,中断硬件切换到内核模式,执行内 核地址空间中的正确ISR 特权指令只能在内核模式下执行。 解决方案:在计算机硬件中添加一个模式位指示当前模式 ◌ 模式位保存在状态寄存器中 ◌ 内核/系统/监控程序/管理员(0)或用户(1)。
用户模式:代表用户执行
内核模式:代表操作系统执行
内存分区保护
base register
limit register
保护硬件
内核模式下执行时,os可以不受限制地访问系统和用户的内存
基址寄存器和限制寄存器的加载指令是特权指令,特权指令只能在内核模式下发出
陷阱traps
陷阱/异常是由程序错误引起的软件生成的中断。它使用中断硬件切换到内核模式。
实列:算术溢出/下溢,除零, 执行非法指令, 用户内存空间之外的引用
总结:
如何保护内存空间中的作业? ——使用界限寄存器和寻址访问逻辑 如何保护界限寄存器? ——使用特权界限加载指令 如何确保特权执行? ——使用模式位 但是如何保护模式位呢? —— 仅通过中断硬件更改为内核模式!
I/O
大部分os代码用来管理I/O
中断驱动I/O
直接存储器存取(DMA)
计算机系统组织&环境
多道程序批处理系统
分时系统
实时系统
计算机系统的体系结构
单处理器系统
多处理器系统
增加吞吐量
规模经济
增加可靠性
集群系统
os功能视图
计算机动力学
带中断的指令
同步I/O
异步I/O
硬件保护
双模保护
I/O保护
CPU保护
基本os概念
线程
地址空间
进程
双模式操作/保护
资源管理
进程管理
内存管理
文件系统管理
大容量存储管理
缓存管理
I/O系统管理
自由和开源os
GNU项目
BSD UNIX
操作系统结构
操作系统服务
用户界面(UI)
命令行界面
批处理界面
图形用户界面(GUI)
os将程序加载到内存 运行 结束执行它
I/O操作
用户不能够直接执行I/O操作
文件系统
通信
进程间通信(IPC)
错误检测
资源分配
会计
跟踪哪些用户使用间了哪些资源
保护和安全
os组件
资源管理(上面有概括)
网络
处理器通过通信网络连接
访问共享资源允许
命令行解释器
比如:shell
GUI
错误检测与响应
系统调用和API
系统程序
文件和目录管理/修改
状态信息
编程语言支持
编译程序
汇编程序
调试器
解释程序
程序加载和执行
为进程/使用者/计算机系统 创建虚拟连接机制
应用程序
os设计与实现
机制和策论的分离
策论:将采取什么措施
机制:如何做
系统实现-使用高级语言
开源操作系统:反对拷贝保护和数字版权管理运动
os的结构/组织/布局
单片
MS-DOS-最少的空间内提供最多的功能
UNIX
内核
谷歌的Android
分层
硬件-cpu-内存-Device Drivers-I/O-应用
微核
可扩展/可靠性
可移植
分布式系统支持
面向对象
虚拟机(VM)
多个受保护的执行环境共享同一硬件
对开发和测试有用
很难实现