CSDN话题挑战赛第2期
参赛话题:学习笔记
计算机系统由硬件和软件两部分组成,操作系统是计算机系统中最重要的<font color="red">系统软件</font>,也是配置在计算机硬件上的第一层软件,<font color="red">作为计算机硬件和计算机用户之间的中介</font>,为应用程序提供使用基础,并成为整个计算机系统的控制中心
目录
1. 什么是操作系统
-
用户角度上,操作系统是一个控制软件, 管理应用程序, 为应用程序提供服务
-
从资源分配的角度来讲, 操作系统是资源管理: 管理外设,分配资源
操作系统是在硬件基础上的第一层软件,是其他软件和硬件之间的接口
操作系统层次架构
-
硬件之上
-
应用程序之下
软件分为应用软件(办公软件、视频播放软件)如和系统软件
操作系统位于应用软件之下,是系统软件
2. 主要功能
采用多道程序设计技术 => 高效使用计算机软硬件资源,提高计算机系统资源利用率和方便用户使用
指内存中同时放入多道程序交替运行并共享系统资源
1. 处理器管理
指对计算机系统的中央处理器(CPU)管理,对CPU进行分配
进程 => 正在执行的程序
通过进程管理来协调多道程序之间的关系, 使得CPU资源得到充分利用
在多道程序环境下, CPU的分配以进程为基本单位
对CPU的管理和调度最终归结为对进程的管理和调度
主要功能:
-
进程的控制和管理
-
进程同步与互斥
-
进程通信
-
进程死锁
2. 存储管理
指对内存空间的管理
多道程序被装入内存共享有限的内存资源, 为每道程序分配内存空间
当内存不够用时, 通过虚拟技术来扩充物理内存, 把当前不运行的程序和数据即使调出内存
主要功能:
-
内存分配
-
内存保护
-
地址变换
-
内存扩充
3. 设备管理
指计算机中出来CPU和内存之外的所有输入输出设备(I/O设备)的管理
任务:
-
为这些设备提供驱动程序或控制程序
-
通过中断技术, 通道技术和缓冲技术使外部设备尽可能与CPU并行工作,提高设备使用效率
主要功能:
-
外部设备的分配与释放
-
缓冲区管理
-
共享性外部设备的驱动调度
-
虚拟设备
4. 文件管理
软件资源. 程序和数据以文件的形式存放在外存储器(如磁盘, 光盘, 磁带, 优盘)上,需要时再装入内存
任务:
有效的组织, 存储和保护文件
主要功能:
-
文件存储空间管理
-
文件目录管理
-
文件存取控制
-
文件操作
5. 用户接口
接口通常以命令, 图形和系统调用等形式呈现
主要功能:
-
命令接口管理
-
图形接口管理 ( 实际上为命令的图形化表现形式)
-
程序接口管理
6. 网络与通信管理
网络操作至少应具备管理功能:
-
网络资源管理 保证资源共享,资源访问
-
数据通信管理 提供必要的网络通信协议,完成信息传输
-
网络管理 包括网络性能、网络安全、网络故障、网络配置和日志的管理
3. 特征
1. 并发
计算机系统中在一段时间内同时存在多个运行的程序,需要OS管理和调度
(PS:并行:在一个时间点有多个程序同时运行)
在某一个时间点对于某一个内存单元只有一个程序进行访问
能改善系统资源的利用率,提高系统效率
2. 共享
资源共享方式: “同时”访问,互斥共享
-
同时访问:有些资源允许在同一短时间内被多个进程同时使用, “同时”为宏观意义上的同时
-
互斥共享: 当一个进程正在使用资源时,其他欲使用该资源必须等待,仅当使用完并释放后才允许另一个进程使用
共享性和并发性是操作系统两个最基本的特征, 他们相互依存
3. 虚拟
将一个物理实体(实际存在的)映射为多个逻辑实体(虚拟的)
硬件虚拟化(CPU虚拟化成进程,磁盘虚拟化成文件,内存虚拟化成地址空间),利用多道程序设计技术,让每个用户都觉得有一个计算机专门为他服务
4. 异步
程序的执行不是一贯到底,而是走走停停,向前推进的速度不可预知
并发程序的执行结果也可能不确定
外部设备中断、I/O请求、程序运行时发生中断的时间都是不可预测的
4. 逻辑结构和运行模型
保证操作系统的重要性:采用内核态和用户态两证模式
-
内核态:操作系统程序运行的状态,该状态下可以执行操作系统的所有指令(包括特权指令),并能使用系统的全部资源
-
访问的资源多
-
可靠性、安全性要求高
-
维护和管理比较复杂
-
-
用户态:指用户程序运行的状态,该状态下能执行的指令和访问的资源都将受到限制
-
访问的资源有限
-
可靠性、安全性要求低
-
编程和维护比较简单
-
1. 逻辑结构
1. 单内核结构
-
优点:
-
结构紧密
-
模块间可以进行组合以满足不同需要
-
灵活性好
-
效率高
-
-
缺点:
-
模块功能划分不能精确确定,模块的独立性差
-
模块间调用关系复杂,正确性和可靠性不能保证,系统维护较难
-
2. 分层结构 优点:
-
以层为单位组织各模块,模块之间的依赖、调用关系清晰、规范
-
每层相互独立
-
系统的正确性容易得到保证,系统间的接口减少
缺点:
在有单向依赖关系的各分层之间实现通信时系统的开销大,影响系统效率
3. 微内核结构 内核是精心设计的、能实现现代OS最基本的核心功能的部分。通常用于:
-
实现与硬件紧密相关的处理
-
实现一些较基本的功能
-
负责客户和服务器之间的通信
优点:
-
对进程的请求提供了一致性接口,不区分内核及服务和用户及服务,所有服务均采用消息传递机制提供
-
具有较好的可扩充性和易修改性
-
可移植性好
-
对分布式系统提供支持
缺点:
运行效率比分层式结构好,但任然不高
2. 运行模型
1. 独立运行的内核模型 有自己的独立存储空间和独立运行环境,执行过程不与应用程序(进程)发生关联
2. 嵌入到用户进程中执行的模型 创建用户进程时为其分配了一个核心栈,可将操作系统和内核程序嵌入到用户进程中运行
3. 作为独立进程运行的模型
小部分核心功能任然在内核态下运行,大部分功能则在用户态由一组独立的服务器进程提供
5. 形成与发展
-
早期计算机使用纸带传输程序和数据,操作系统只起到加载的作用
-
CPU等硬件快速得到发展,批处理阶段提高
-
内存的容量越来越大,CPU执行多个程序
-
为了更好的利用计算机资源,出现了分时系统
-
网络的快速发展,出现了分布式操作系统
1. 操作系统的形成时期
-
手工操作阶段
第一代计算机:第一台计算机诞生(1946)至20世纪50年代
主要元件:电子管
操作系统尚未出现,人工操作
缺点:
-
用户独占全部计算机资源,资源利用率低
-
CPU等待人工操作
-
CPU和I/O设备串行工作
手工操作方式本身耗费了大量时间,而在这个时间里计算机只能等待,因此严重降低了计算机资源的利用率,即出现了严重的人机矛盾。
-
-
监控程序阶段(早期批处理阶段)
出现单道批处理系统
CPU和其他系统资源的利用率都得到了显著提高
2. 操作系统的成熟时期
-
多道批处理操作系统
第三代计算机特点:
-
集成电路代替分立的晶体管元件
-
半导体存储器代替磁芯存储器
多道程序指允许多个程序同时进入计算机内存,并采用交替执行方法使它们运行
正真做到了CPU的执行与I/O设备的操作是同时进行
-
-
分时操作系统
指计算机系统由若干用户共享,在一台主机上连接了多个带有显示器和键盘等设备的终端,允许多个用户同时通过自己的终端以交互方式使用计算机
3. 操作系统的进一步发展时期
Windows将操作系统划分成内核(Kernel)、执行体(Executive)、视窗和图形驱动以及可装入模块。Windows执行体又划分为I/O管理、文件系统缓存、对象管理、热插拔管理器、能源管理器、安全监视器、虚拟内存、进程与线程、配置管理器、本地过程调用等。而且,Windows还在用户层设置了数十个功能模块。
6. 主要类型
1. 批处理操作系统
-
单道批处理
-
多道批处理
2. 分时操作系统
-
分时系统为用户提供交互命令
-
分时系统采用分时方法,为多个终端用户服务
-
分时方法是将CPU的执行时间划分为若干个片段,即时间片
-
分时系统以时间片为单位轮流为各终端用户服务
特性:
-
独立性。采用时间片使一台计算机同时为多个终端服务
-
同时性。宏观上,多个终端用户同时使用一台计算机
-
交互性。终端用户可采用人机对话的方式与自己的程序对话,直接控制程序运行
-
及时性。请求能在足够短的时间内得到响应
3. 实时操作系统 具有实时性,能支持实时控制与实时信息处理的操作系统
功能 :
-
实时时钟管理
-
过载保护
-
高可靠性和安全性
特征:
-
及时响应和处理
-
安全可靠
-
交互能力有限
-
多路性
4. 微机操作系统 分类:(1)单用户单任务;(2)单用户多任务;(3)多用户多任务
特性:(1)开放性(2)通用性(3)高性能(4)采用微内核结构
5. 网络操作系统 工作模式:(1)客户-服务器(Client/Server,C/S)模式 (2)对等(Peer-to-Peer)
模式功能:(1)网络通信(2)资源管理(3)网络服务 (4)网络管理(5)互操作能力
6. 多CPU操作系统
多处理器和多核类型:
(1)主从式(2)独立监督式(3)浮动监督式
7. 分布式操作系统
通过网络将多个分散的处理单元连接起来,并在分布式处理软件的支持下构成一个整体而形成的系统。
功能:(1)分布式进程通信(2)分布式文件系统(3)分布式进程迁移(4)分布式进程同步(5)分布式进程死锁
8. 嵌入式操作系统
以应用为中心,以计算机技术为基础,软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。
特点:(1)微型化(2)可定制(3)实时性(4)易移植性
7. 安全性
有效的安全机制:
-
身份鉴别
-
存取控制
-
最小特权管理
-
硬件保护
-
安全审计
-
入侵检测
-
数据加密
8. 运行基础
1. 处理器及工作模式
1. 中央处理器
CPU构成:
-
运算器:主要负责指令中的算术和逻辑运算,由算术逻辑单元(ALU)、累加寄存器、数据缓冲寄存器和条件状态寄存器等组成,运算器是计算机计算的核心
-
控制器:计算机系统的控制中心,主要控制程序运行的流程,包括取指令、维护CPU状态、实现CPU与内存的交互等
-
寄存器:CPU内部指令处理过程中暂存数据、地址以及指令信息的存储设备,在计算机的存储系统中具有最快的访问速度
分类:
-
用户可见寄存器:由高级语言编译器通过算法分配并使用,主要包括:
-
通用寄存器:存放数据、作为寻址方式所需的寄存器
-
数据寄存器:存放操作数
-
地址寄存器:存放数据或指令的内存地址
-
条件吗寄存器:保存CPU操作结果的各种标记
-
-
控制和状态寄存器:控制CPU操作
-
程序计数器(PC):记录将要取出的指令地址
-
指令寄存器(IR):存储最近取出且马上就要执行的指令
-
存储器地址寄存器(MAR):存储欲访问的内存单元的地址
-
存储器数据寄存器(MDR):存放欲存入内存中的数据或最近由内存中独处的数据
-
程序状态字寄存器(PSW):记录CPU运行模式和状态信息
-
-
-
高速缓存:处于CPU与物理内存之间,一般由控制器中的内存管理单元(MMU)来管理理,访问速度快于内存但低于寄存器
2. 特权指令
-
特权指令:能引起系统损害的机器指令
-
非特权指令:不能引起损害
用户模式只能执行非特权指令
3. CPU状态 以CPU的工作状态划分:
-
内核态:操作系统程序运行状态
可以执行包括特权指令在内的全部指令并使用系统所有资源,具有改变CPU工作状态的能力
-
用户态:用户程序运行状态
只能执行非特权指令,且只能访问当前运行进程
状态转换:
-
用户态 ==> 内核态:中断(访问指令或系统调用)和异常
-
内核态 ==> 用户态:修改程序状态字(PSW)直接进入
2. 中断技术
中断:指程序在执行过程中CPU对系统发生的某个事件做出的一种反应
特点:
-
随机的
-
可恢复的
-
自动处理的
目的:
-
解决CPU与I/O设备的并行工作问题
-
实现实时控制
1. 中断分类
-
外中断:来自CPU之外的外部设备通过硬件请求方式产生的强迫性中断
-
可屏蔽中断:根据中断允许标志位来决定CPU是否响应中断
-
不可屏蔽中断:在当前指令结束后就无条件予以响应
-
-
内中断(异常):在执行指令过程中检测到错误或异常条件引起
-
强迫性中断:由随机事件和外部请求引发,不是程序所期待,包括:
-
硬件故障
-
程序性中断
-
外部中断
-
I/O中断
-
-
自愿性中断:程序请求系统为其提供某种功能服务,是程序所期待的
访管中断:通过执行访管指令而产生的中断
-
2. 中断向量 每个中断有一个唯一的与其对应的中断向量号,并按照中断向量号从小到大的顺序放在中断向量表中
3. 中断响应与处理
-
硬件中断装置:负责捕获中断源发出的各种中断请求,并响应中断源,将CPU控制权交给特定的中断处理程序
-
软件中断程序:负责辨别终端类型并执行相应的中断处理操作
3. 系统调用
操作系统提供用户编程使用的接口
系统调用与一般用户子程序的区别
CPU的工作状态不同
-
系统调用运行在内核态,用户子程序运行在用户态
-
系统调用的执行产生中断即访管中断(陷阱),用户子程序不会产生中断
-
系统调用子程序的代码与调用者的程序代码是分开的、各自独立的,用户子程序是在同一进程地址空间
-
不同用户程序可以共享使用同一个系统调用,用户子程序通常不能由其他用户程序调用
- 课堂上知识点的回顾总结
在本章我学习了什么是操作系统,它是硬件之上,应用程序之下的系统软件,随后了解到操作系统的六大功能、四大特征和八大类型,还有操作系统的运行基础。本次学习初步了解了操作系统的架构,后续我还会深入学习更多有关知识,以便加深对操作系统的理解