OS-1-操作系统概述
2021-08-09 17:43:55 17 举报
AI智能生成
操作系统第一章,操作系统概述 知识点梳理
作者其他创作
大纲/内容
OS运行机制
两种指令
特权指令
只允许内核程序使用
非特权指令
两种处理机状态
CPU设计时就划分了指令类型,因此执行指令前就可判断类型<br>CPU的状态用于指导CPU限制程序使用特权指令<br>
内核态/核心态/管态<br>
运行的是内核程序,PSW某一位存储
用户态/目态
运行的是应用程序
两种程序
内核程序
内核程序让出CPU前,用一条特殊指令将CPU设为用户态
应用程序
只能使用非特权指令
若应用程序试图使用特权指令,会引起CPU中断并立即进入核心态<br>同时停止当前应用程序,转而执行处理中断的内核程序<br>
内核是OS的核心部分
由很多内核程序组成OS的内核
中断和异常<br>
中断的作用
没有中断就会一直运行同一个程序,失去并发性
中断的类型
内中断“异常”<br>信号来自CPU内部<br>每条指令执行时CPU都<br>会检查是否有异常发生
用户程序试图使用特权指令(终止Abort)<br>
指令非法或参数非法(终止Abort)
错误条件引起,可能被内核程序修复,若修复会<br>把CPU使用权还给原来的程序,如缺页故障(故障Fault)<br>
用户程序执行特殊的“Trap”指令<br>试图请求Kernel服务(陷入Trap)<br>
外中断“中断”<br>信号来自CPU外部<br>每条指令执行后CPU都<br>会检查是否有外中断信号<br>
时钟中断<br>每隔一段时间发送<br>
处理时钟中断的程序处理后把CPU<br>设为用户态,交还用户程序使用<br>
I/O中断
中断机制基本原理
中断信号产生后,CPU检测到,根据信号值查询中断向量表<br>据此找到对应的中断处理程序在内存中的存放位置<br>
系统调用
程序中进行系统调用以使用程序接口
设备管理<br>
设备请求、释放、启动……
文件管理
文件读写、创建、删除……
进程控制
进程创建、撤销、阻塞、唤醒……
进程通信
消息传递、信号传递……
内存管理
内存分配、回收……
是程序请求OS服务的唯一方式,但是程序并不是一定要进行系统调用
只要要使用系统资源就需要系统调用<br>
过程
明确传递的参数(系统调用类型,参数等)
使用Trap指令(在用户态下执行,不是特权指令)
处理请求
CPU切换到内核态,OS启动系统调用入口程序,检查对应的寄存器
调用指定的系统调用对应的处理程序<br>
执行结束后,回到原有的用户程序
OS的体系结构<br>
大内核 vs. 微内核<br>
微内核的用户态和内核态切换频繁,浪费了部分性能
典型大内核:Linux、UNIX
典型微内核:WindowNT
概念
OS是最基本的系统软件
<br>
偶尔也把覆盖了软件的机器称为虚拟机(扩充机器)
控制和管理计算机的软件和硬件资源<br>组织调度计算机工作和资源分配
管理<br>
处理机
存储器
载入<br>
文件管理
设备管理
摄像头、鼠标....
目标:安全高效
给用户和其他软件提供接口和环境
OS将不直观、复杂的硬件功能封装成简单易用的服务<br>
GUI(Graphical User Interface)图形化用户接口
命令接口
联机命令接口(即交互式命令接口):Windows命令行
脱机命令接口(即批处理文件借口)
程序接口
程序中进行系统调用以使用程序接口
是程序请求OS服务的唯一方式
程序接口不提供给用户直接使用
(偶尔被称为广义指令)
OS的特征<br>C.S.V.A<br>
并发Concurency
多个事件宏观上同时发生,微观上交替发生<br>
Compare:并行:并行微观上也同时发生
多核CPU可以核间并行,核内并发,但是单核CPU只能并发
共享Share
资源共享:系统中资源可以提供给内存中多个并发执行的进程共同使用
方式
互斥共享
只能同时分配给一个进程
同时共享
宏观上同时访问、微观上交替访问<br>
部分设备可以被同时访问 (扬声器)<br>
虚拟Virtualization
把物理上的实体变为若干逻辑上的对应物
虚拟存储器的“空分复用技术”
CPU的“时分复用技术”<br>
异步Asynchronization
进程的执行不是一贯到底的
进程的运行速度是不可预知的
发展分类
手工操作阶段
主要问题:用户独占全机,人机速度矛盾导致资源利用率极低
纸带机
批处理阶段
单道批处理系统
引入脱机输入输出技术<br>由监督程序控制IO<br>
主要问题:缺少并发性,IO效率还是很低
多道批处理系统<br>
可以一次读入多个程序,引入并发性
标志OS的正式诞生
主要问题:缺少交互性<br>
分时操作系统
以时间片为单位轮流为不同用户/作业服务
请求可以在一轮时间内得到响应
主要问题:不能响应紧急任务
实时操作系统
可以优先响应紧急任务,不需要排队
硬实时系统
必须在时间内完成,否则会造成严重后果
软实时系统
偶尔的超时是可以接受的
网络操作系统
分布式操作系统
PC操作系统<br>
0 条评论
下一页