C1_计算机系统概述
计算机系统概述
操作系统的基本概念
操作系统的概念
计算机系统
- 硬件
- 中央处理器、内存、输入/输出设备
- 提供基本的计算资源
- 操作系统:计算机系统中最基本的系统软件
- 管理各种计算机硬件
- 为应用程序提供基础
- 并充当计算机硬件和用户之间的中介
- 控制和协调各用户的应用程序对硬件的分配和使用
- 应用程序
- 字处理程序、电子制表软件、编译器、网络浏览器
- 规定按何种方式使用这些资源来解决用户的计算问题
- 用户
操作系统
- 控制和管理整个计算机系统的硬件与软件资源
- 合理地组织、调度计算机地工作与资源地分配
- 进而为用户和其他软件提供方便接口与环境地程序集合
操作系统的特征
并发:两个或多个事件在同一时间间隔内发生
- 并发:同一时间间隔
- 操作系统地并发性:计算机系统同时存在多个运行的程序,因此它具有处理和调度多个程序同时执行的能力,即并发性。引入进程的目的是使程序能并发执行。
- 并行:同一时刻
- 单处理机:不具并行性,同一时刻仅一道程序执行,微观上分时交替,实现并发行
- 多处理机/多流水线:具备并行性,系统同时进行运算或操作,在同一时刻可完成两种或以上的工作
共享:资源共享,系统中的资源可供内存中多个并发执行的进程共同使用
- 互斥共享方式:一段时间内只允许一个进程访问
- 临界资源
- 一段时间内只允许一个进程访问的资源
- 物理设备、打印机、栈、变量、表格
- 临界资源
- 同时访问方式:以段时间内允许多个进程”同时“共享
- 宏观上:同时共享
- 微观上:交替访问,分时共享
- 磁盘
- 并发与共享的关系
- 资源共享使以程序并发为前提的,若不存在并发,自然不谈共享
- 系统不对共享实施有效管理,必将影响程序的并发性,甚至根本无法并发执行
虚拟:把一个物理上的实体变为若干逻辑上的对应物
- 通过虚拟技术可以让原来允许在一段时间内由一个用户访问的设备(临界资源)变为在一段时间内允许多个用户同时访问的共享设备。
- 虚拟技术
- 时分复用技术:处理器分时共享
- 空分复用技术:虚拟存储器
- 虚拟处理器技术
- 通过多道程序设计技术,采用让多道程序并发执行的方法,来分时使用一个处理器
- 虚拟存储器技术
- 通过把物理存储器变为虚拟存储器,实现在逻辑上扩充存储器容量
- 虚拟设备技术
- 通过把一台I/O设备虚拟为多台逻辑上的I/O设备,并允许每个用户占用一台逻辑上的I/O设备
异步:进程以不可预知的速度向前推进
- 多道程序环境运行多个程序并发执行,不知何时开始、何时暂停、何时结束
- 异步性导致
- 运行结果可能不唯一
- 进程产生与时间有关的错误
操作系统的目标和功能
操作系统作为计算机系统资源的管理者
- 处理机管理:多道程序进程管理
- 进程控制
- 进程同步
- 进程通信
- 死锁处理
- 处理机调度
- 存储器管理:为多道程序提供良好的环境,方便用户使用及提高内存利用率
- 内存分配
- 地址映射
- 内存保护
- 共享和内存扩充
- 文件管理:计算机信息以文件的形式存在
- 文件存储空间的管理
- 目录管理
- 文件读写管理和保护
- 设备管理:完成用户I/O请求,方便用户使用各种设备,并提高设备利用率
- 缓冲管理
- 设备分配
- 设备处理
- 虚拟设备
操作系统作为计算机硬件系统与用户之间的接口
- 命令接口:用户利用这些命令来组织和控制作业的执行
- 联机控制方式(交互式命令接口):适用于分时或实时系统,由一组键盘操作命令组成
- 脱机控制方式(批处理命令接口):适用于批处理系统,由一组作业控制命令组成
- 程序接口:编程人员可以使用它们来请求操作系统服务
- 程序接口:由一组系统调用命令(广义指令)组成。系统调用命令是操作系统的一部分
操作系统用作扩充机器
- 裸机:没有任何软件支持
- 扩充机器/虚拟机:覆盖了软件的机器
操作系统的发展与分类
手工操作阶段
- 缺点
- 用户独占全机,不会出现因资源已被用户占用而等待的现象,但资源利用率低
- CPU等待手工操作,CPU的利用不充分,即CPU和I/O设备之间速度不匹配
批处理阶段
- 解决:CPU和I/O设备之间速度不匹配
- 单道批处理系统:系统对作业的处理是成批进行的,但内存中始终保持一道作业
- 自动性:自动逐个运行,无须人工干预
- 顺序性:先进先出
- 单道性:内存中仅由一个程序运行
- 多道批处理系统:允许多个程序同时进入内存并允许它们在CPU中交替进行,这些程序共享系统中的各种硬件/软件资源
- 多道:计算机内存中同时存放多道相互独立的程序
- 宏观上并行:同时进入系统的多道程序都处于允许过程中,即它们先后开始各自的允许,但都未允许完毕
- 微观上串行:内存中的多道程序轮流占有CPU,交替执行
- 优点
- 资源利用率高,多道程序共享计算机资源,从而使各种资源的到充分利用
- 系统吞吐量大,CPU和其他资源保持“忙碌”状态
- 缺点
- 用户响应的时间较长
- 不提供人机交互能力,用户既不能了解自己的程序运行情况,又不能控制计算机
分时操作系统
- 分时技术:把处理器的运行时间分成很短的时间片,按时间片轮流把处理器分配给各个联机作业使用
- 同时性:允许多个终端用户同时使用一台计算机
- 交互性:用户通过终端采用人机对话的方式直接控制程序运行,与同程序近线交互
- 独立性:系统多个用户可以彼此独立地进行操作,互不干扰,单个用户感觉不到别人也在使用这台计算机
- 及时性:用户请求能在短时间内获得响应
实时操作系统
- 解决:能在某个时间限制内完成某些紧急任务而不需要时间片排队
- 硬实时系统:某个动作必须绝对地在规定时刻(或规定地时间范围)发生(导弹发射系统)
- 软实时系统:能够接受偶尔违反时间规定且不会引起永久性损害(飞机订票系统、银行管理系统)
- 及时性
- 可靠性
网络操作系统和分布式计算机系统
- 网络操作系统
- 特点:网络中各种资源地共享及各台计算机之间地通信
- 分布式计算机系统
- 特点:分布性,并行性
- 分布式操作系统中的若干计算机相互协同完成同一任务
个人计算机操作系统
操作系统的运行环境
操作系统的运行机制
- 计算机程序
- 系统内核程序
- 用户自编程序
- CPU状态
- 核心态(又称管态、内核态)
- 管理程序(内核程序)
- CPU可以执行特权指令
- 核心态指令:系统调用类指令和一些针对时钟、中断和原语的操作指令
- 用户态(目态)
- 被管理程序(用户自编程序)
- CPU只能执行非特权指令
- 核心态(又称管态、内核态)
- 操作系统内核(核心态)
- 硬件模块
- 时钟管理
- 中断处理
- 设备驱动
- 高频程序
- 进程管理
- 存储器管理
- 设备管理
- 硬件模块
时钟管理
- 功能
- 计时,通过时钟管理,向用户提供标准的系统时间
- 通过时钟中断的管理,可以是实现进程的切换(时间片轮转调度)
中断机制
- 初衷:提高多道程序运行环境中CPU的利用率,且主要针对外部设备
- 实例:键盘或鼠标信息的输入;进程的管理和调度;系统功能调用;设备驱动;文件访问
- 内核:中断机制中,负责保护和恢复中断现场信息,转移控制权到相关处理程序的功能属于内核。这样可以减少中断的处理时间,提高系统的并行处理能力
原语
- 特点:
- 处于操作系统的最低层,是最接近硬件的部分
- 这些程序的运行具有原子性,其操作只能一气呵成(主要从系统安全性和便于管理考虑)
- 这些程序的运行时间都比较短,且频繁调用
- 定义原语:关闭中断,让其动作不可分割地完成后再打开中断
- 实例:设备驱动;CPU切换;进程通信(内核组成部分)
系统控制的数据结构及处理
- 系统中用来登记状态信息地数据结构
- 作业控制块 JCB
- 进程控制块 PCB
- 设备控制块 DCB
- 各类链表
- 消息队列
- 缓冲区
- 空闲区登记表
- 内存分配表
- 基本操作
- 进程管理:进程状态管理、进程调度和分派、创建与撤销进程控制块
- 存储器管理:存储器的空间分配和回收、内存信息保护程序、代码对换程序
- 设备管理:缓冲区管理、设备分配和回收
中断和异常的概念
- 发生中断或异常时,运行用户态的CPU会立即进入核心态
- 中断
- 内中断(异常)
- 自愿中断——指令中断
- 强迫中断
- 硬件故障
- 软件中断
- 外中断(强迫中断)
- 外设请求
- 人的干预
- 内中断(异常)
- 中断也称外中断,指来自CPU执行指令以外的事件的发生,通常与当前运行程序无关
- 实例:
- I/O结束中断:表示设备I/O处理完成,希望处理机能够向设备发下一个I/O请求
- 时钟中断:表示一个固定时间片已到
- 异常也称内中断、例外或陷入,指源自CPU执行指令内部的事件
- 实例
- 程序非法操作码
- 地址越界
- 算术溢出
- 虚存系统的缺页
- 专门的陷入指令
- 对异常的处理一般要依赖于当前程序的运行现场,而且异常不能被屏蔽,一旦出现应立即处理
系统调用
- 系统调用:用户在程序中调用操作系统所提供的一些子功能(公共子程序)
- 资源掌管者:系统中的各种资源都由操作系统同一掌管,因此用户程序调用资源必须通过系统调用的方式向操作系统提出服务请求,并由操作系统代为完成
- 资源请求:
- 存储分配
- I/O传输
- 管理文件
- 系统调用功能
- 设备管理:完成设备的请求或释放,已经设备启动等功能
- 文件管理:完成文件的读、写、创建及删除等功能
- 进程控制:完成进程的创建、撤销、阻塞及唤醒等功能
- 进程通信:完成进程之间的消息传递或信号传递等功能
- 内存管理:完成内存的分配、回收及获取作业占用内存区大小及始址等功能
- 发起系统调用
- 用户程序执行陷入指令(又称访管指令或trap指令)
- 访管指令在用户态下调用,不是特权指令
- 用户态专向核心态实例
- 用户要求操作系统服务,即系统调用
- 发生一次中断
- 用户程序中产生了一个错误状态
- 用户程序中企图执行一条特权指令
- 从核心态转向用户态由一条指令实现,这条指令也是特权指令,一般是中断返回指令
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ifD2RoMD-1594547461819)(C:\Users\Autonomy\AppData\Roaming\Typora\typora-user-images\image-20200712173303311.png)]
内存的分配、回收及获取作业占用内存区大小及始址等功能
- 发起系统调用
- 用户程序执行陷入指令(又称访管指令或trap指令)
- 访管指令在用户态下调用,不是特权指令
- 用户态专向核心态实例
- 用户要求操作系统服务,即系统调用
- 发生一次中断
- 用户程序中产生了一个错误状态
- 用户程序中企图执行一条特权指令
- 从核心态转向用户态由一条指令实现,这条指令也是特权指令,一般是中断返回指令