文章目录
操作系统复习笔记对应xmind思维导图
链接:https://pan.baidu.com/s/15pN70QQByWeU-G172J3nNQ
提取码:vfbi
–来自百度网盘超级会员V4的分享
1. 计算机系统概述
1.1 操作系统的概念
1.1.1 操作系统的概念
-
操作系统的层次结构
- 负责管理和协调软件、硬件等计算机资源的工作
- 为上层的应用程序,用户提供简单易用的服务
- 操作系统是系统软件
-
操作系统的概念
- 是系统最基本最核心的软件,属于系统软件
- 控制和管理整个计算机的硬件和软件资源
- 合理的组织、调度计算机的工作与资源的分配
- 为用户和其它软件提供方便的接口和环境
-
操作系统的功能和目标
-
作为计算机系统资源的管理者
-
处理器(CPU)管理
- 在多道程序环境下,cpu的分配和运行都以进程(或线程)为基本单位,因此对cpu的管理可理解为对进程的管理。进程管理的主要功能包括进程控制、进程同步、进程通信、死锁处理、处理机调度等。
-
存储器管理
- 为多道程序的运行提供良好的环境,方便用户使用及提高内存的利用率,主要包括内存分配与回收、地址映射、内存保护与共享和内存扩充等功能
-
文件管理
- 计算机中所有的信息都是以文件的形式存在的,操作系统中负责文件的管理的部分称为文件系统,文件管理包括文件存储空间的管理、目录管理及文件读写管理和保护等
-
设备管理
- 设备管理的主要任务是完成用户的I/O请求,方便用户使用各种设备,并提高设备的利用率,主要包括缓存管理、设备分配、设备处理和虚拟设备等功能。
-
-
作为用户与计算机硬件系统之间的接口
-
为了让用户方便、快捷、可靠的操作计算机硬件并执行自己的程序,操作系统提供了用户接口
-
操作系统提供的接口分为两类:命令接口和程序接口
-
命令接口:用户可以直接使用的,利用这些操作命令来组织和控制作业的执行。
-
联机命令接口:又称交互式命令接口,适用于分时或实时系统的接口,由一组键盘操作命令组成。用户输入一条指令,操作系统就执行一条指令;
-
脱机命令接口:又称批处理接口,使用于批处理系统,由一组作业控制命令组成。用户输入一堆指令,操作系统运行一堆指令。在操作系统运行这些命令时用户不可干预。
- 批处理(Batch),也称为批处理脚本。顾名思义,批处理就是对某对象进行批量的处理,通常被认为是一种简化的脚本语言,它应用于DOS和Windows系统中。批处理文件的扩展名为bat 。
-
-
程序接口:用户通过程序间接使用的,编程人员可以使用它们来请求操作系统服务
- 程序接口:由一组系统调用(也称广义指令)组成
- 用户通过在程序中使用这些系统调用来请求操作系统为其提供服务,只能通过用户程序间接调用
- 如使用各种外部设备、申请分配和回收内存及其它各种要求
-
-
-
作为扩充机器(虚拟机)
- 没有任何软件支持的计算机称为裸机
- 覆盖了软件的机器称为扩充机器或虚拟机
-
1.1.2操作系统的特征
-
并发
- 并发:两个或多个事件在同一时间间隔内发生,这些事件在宏观上是同时发生的,在微观上是交替发生的, 操作系统的并发性指系统中同时存在着多个运行的程序
- 并行:两个或多个事件在同一时刻发生
- 一个单核(CPU)同一时刻只能执行一个程序,因此操作系统会协调多个程序使他们交替进行(这些程序在宏观上是同时发生的,在微观上是交替进行的)
- 操作系统是伴随着“多道程序技术出现的”,因此操作系统和并发是一同诞生的
- 在如今的计算机中,一般都是多核cpu的,即在同一时刻可以并行执行多个程序,比如计算机是8核的,计算机可以在同一时刻并行执行8个程序,但是事实上我们计算机执行的程序并不止8个,因此并发技术是必须存在的,并发性必不可少。
-
共享
-
资源共享即共享,是指系统中的资源可以供内存中多个并发执行的进程共同使用
-
共享分为两类:互斥共享和同时共享
-
互斥共享
- 计算机中的某个资源在一段时间内只能允许一个进程访问,别的进程没有使用权
- 临界资源(独占资源):在一段时间内只允许一个进程访问的资源,计算机中大多数物理设备及某些软件中的栈、变量和表格都属于临界资源,它们被要求互斥共享
-
同时共享
- 计算机中的某个资源在在一段时间内可以同时允许多个进程访问
- 同时共享通常要求一个请求分为几个时间片段间隔的完成,即交替进行,“分时共享”
- 这里的同时指在宏观上是同时的,在微观上是交替进行访问的,只是cpu处理速度很快,我们感觉不到,在宏观上感觉是在同时进行
-
-
-
虚拟
-
多道程序设计:是指在计算机内存中同时存放几道相互独立的程序,使它们在管理程序控制之下,相互穿插的运行。 两个或两个以上程序在计算机系统中同处于开始到结束之间的状态。这就称为多道程序设计。多道程序技术运行的特征:多道、宏观上并行、微观上串行。
-
虚拟是把一个物理上的实体变为若干逻辑上的对应物。
-
物理实体(前者)是实际存在的;而后者是虚的,是用户感觉上的事务
-
虚拟处理器(CPU):通过多道程序设计技术,采用让多道程序并发执行的方法,分时来使用一个CPU,实际物理上只有一个CPU,但是用户感觉到有多个CPU
-
虚拟存储器:从逻辑上扩充存储器容量,用户感觉到的但实际不存在的存储器
-
虚拟设备:将一台物理设备虚拟为逻辑上的多台设备,使多个用户在同一时间段内访问同一台设备,即同时共享,用户宏观上感觉是同时的,但实际上是微观交替访问同一台设备的
-
操作系统的虚拟技术科归纳为:
- 时分复用技术:如处理器的分时共享
- 空间复用技术:如虚拟存储器
-
-
异步
- 异步:多道程序环境允许多个程序并发执行,但由于资源有限,如cpu只有一个,进程的执行并不是一贯到底的,而是走走停停的,它以不可预知的速度向前推进。
- 比如A进程正在占用CPU计算,B进程这时也想占用CPU计算,B进程只有等,等A进程算完了,A进程去访问磁盘资源了,这时B进程再占用CPU进行计算,B进程还没计算完,A进程从磁盘取出资源了,A进程发现B这时在占用CPU,这时A进程就需要等待,等B算完后再继续到CPU中进行计算。由于每个进程占用资源的时间不固定,所以进程的执行以不可预知的速度前进
1.1.3操作系统的发展和分类
1.2 操作系统的发展和分类
手工操作阶段
- 工作方式∶ 用户在计算机上算题的所有工作都要人工干预,如程序的装入、运行、结果的输出等
- 缺点︰用户独占计算机,人机速度矛盾导致资源利用率极低
批处理阶段 (操作系统开始出现)
-
单道批处理技术
-
工作方式:引入脱机输入技术(用磁带完成)、并监督程序(操作系统的雏形)控制作业的输入和输出
-
特征
- 自动性 磁带上的作业自动逐个运行
- 顺序性 作业完成的顺序与进入内存的顺序在正常情况下相同
- 单道性 内存中仅有一道程序运行
-
优点︰缓解人机矛盾
-
缺点︰资源利用率依然很低
-
-
多道批处理技术
-
工作方式∶ 在内存中多道程序并发执行,在CPU中交替进行
-
特征
- 多道: 内存中同时放入多道相互独立的程序
- 宏观上并行 :进入系统的多道程序都处在运行过程中,给人的感觉就像同一时刻都在运行
- 微观上串行:内存中的多道程序轮流占有CPU,交替执行
-
优点︰多道程序并发执行、资源利用率高
-
缺点︰用户相应时间长,没有人机交互,用户不知道自己的程序运行进展如何
-
分时操作系统
-
工作方式∶ 计算机以时间片为单位轮流为各个用户/作业提供服务,各个用户通过终端与计算机进行交互
-
特征
- 同时性:也称多路性。指允许多个终端用户同时使用一台计算机
- 交互性:用户能够与系统进行人机交互
- 独立性:系统中的多个用户可以彼此独立的进行操作,互不干扰,单个用户感受不到其他用户的存在
- 及时性:因为有了交互,采用时间片轮流为多个终端服务,用户请求能在很短时间内获得响应
-
优点∶解决了人机交互,用户请求被即时响应
-
缺点:对于一切突发紧急情况不能优先及时处理
实时操作系统
-
工作方式:能够优先响应一些紧急的任务,不用等待时间片排队
-
分类
- 硬实时系统:对某个动作必须绝对的在规定时间内完成
- 软实时系统:对某个动作可以接受偶尔违反时间规定,且不会引起任何永久性的损害
-
特征
- 及时性: 能对紧急事务及时作出反应
- 可靠性: 要求对紧急事件进行及时处理,所以必须可靠性强
网络操作系统
- 工作方式:把计算机网络中的各台计算机有机的结合起来,提供统一、经济而有效的使用各台计算机的方法、实现各台计算机之间的数据互相传送
- 特点:有主从关系、网络中资源共享、网络中的计算机通过协议通信
分布式操作系统
-
工作方式︰系统中的各计算机相互协同并行完成同一任务
-
特征
- 系统中任意两台计算机通过通信方式交换信息系统中的计算机都具有同等地位,无主从关系
- 每台计算机上的资源为所有用户共享
- 系统中的任意台计算机都可以构成一个子系统,并且还能重构
- 任何工作都可以分布在几台计算机上、由他们并行工作、协同完成
-
特点:分布性和并行性
嵌入式操作系统
- 固话在硬件里面的系统、比如手机、路由器等
- 特点:完成某一项特定的功能、不具有通用性
个人计算机操作系统
- 广泛用于文字处理、电子表格、游戏中等
- 常见的有Windows、Linux、Macintosh等
1.3 操作系统的运行机制和体系结构
运行机制
-
两种命令
-
特权指令 : 不允许用户直接使用的命令,比如:I/O指令、置中断指令、存取用于内存保护的寄存器、送程序状态字到程序状态寄存器、内存清零等的指令
-
非特权指令 :加减乘除等普通的运算指令
-
-
两种处理器状态
-
核心态(管态): 特权指令和非特权指令都可以执行
-
用户态(目态): 只能执行非特权指令
-
两种状态的切换
- 用程序状态寄存器PSW中的某标志位来标识处理器处于什么状态如:0用户态,1核心态
- 用户态是通过中断切换到核心态的,并且中断是唯一的途径。
- “核心态→用户态”的切换是通过执行一个特权指令,将程序状态字(PSW)的标志位设置为“用户态”
-
-
两种程序
-
内核程序(管理程序):操作系统内核程序是系统管理者,特权指令和非特权指令都可执行,运行在核心态
-
用户程序(用户程序):为了保证系统能够安全运行,用户程序只能执行非特权指令,运行在用户态
-
操作系统的内核
-
内核是指计算机配置在底层的软件,是操作系统的最核心的部分。实现操作系统内核功能的程序是内核程序
- 第一功能用于计时;向用户提供标准的系统时间;通过时钟中断管理,可以实现进程的切换
- 例如∶分时操作系统中采用时间片轮转制度;实时操作系统中按截至时间控制运行;批处理系统中通过时钟管理来衡量一个作业的运行程度等
-
时钟管理(最基本功能)
- 第一功能用于计时;向用户提供标准的系统时间;通过时钟中断管理,可以实现进程的切换
- 例如∶分时操作系统中采用时间片轮转制度;实时操作系统中按截至时间控制运行;批处理系统中通过时钟管理来衡量一个作业的运行程度等
-
中断机制(最基本功能)
- 初衷是为了提高多道程序运行环境中汇总cpu的利用率;后成为操作系统各操作的基础;
- 例如∶键盘或鼠标信息的输入;进程的管理和调度;系统功能的调用、设备驱动、文件访问等
-
原语(最基本功能)
-
系统中的设备驱动、cpu切换、进程通信等功能中的部分操作都可定义为原语
-
特点
- 是一种特殊的程序,处于操作系统最底层,是最接近硬件的部分
- 这种程序的运行具有原子性,其操作一气呵成(主要从系统安全性和便于管理考虑)
- 程序运行时间都较短,调用频繁
-
-
对资源进行管理的功能
- 进程管理:进程状态管理、进程调度和分派、创建与撤销进程控制块等
- 存储器管理:存储器的空间分配和回收、内存信息保护程序、代码对换程序等
- 设备管理;缓冲区管理、设备分配和回收等
操作系统的体系结构
-
大内核
- 将内核的主要功能模块都作为一个紧密联系的整体运行在核心态
- 优点:高性能
- 缺点∶内核代码庞大,结构混乱,难以维护
-
微内核
- 将内核中最基本的功能保留在内核,而将那些不需要运行在核心态执行的功能转移到用户态执行
- 优点:内核功能少,结构清晰,方便维护
- 缺点:需要频繁在用户态和核心态之间切换,性能低
-