From 87ac91b7863cef1911519c5ed6ee2a4b9dfc4c0e Mon Sep 17 00:00:00 2001 From: Didnelpsun <2675350965@qq.com> Date: Wed, 11 Aug 2021 23:46:03 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E6=A6=82=E8=AE=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Operate-System/0-summary-ex.md | 34 ++++++++++++++++++++++++ Operate-System/0-summary.md | 47 +++++++++++++++++----------------- 2 files changed, 58 insertions(+), 23 deletions(-) diff --git a/Operate-System/0-summary-ex.md b/Operate-System/0-summary-ex.md index 9905486..3f2ab59 100644 --- a/Operate-System/0-summary-ex.md +++ b/Operate-System/0-summary-ex.md @@ -1,2 +1,36 @@ # 概述习题 +## 基本概念 + +### 特征 + +### 功能 + +**例题** 单处理机系统中,可并行的是()。 + +Ⅰ.进程与进程 + +Ⅱ.处理机与设备 + +Ⅲ.处理机与通道 + +Ⅳ.设备与设备 + +$A.$Ⅰ、Ⅱ、Ⅲ + +$B.$Ⅰ、Ⅱ、Ⅳ + +$C.$Ⅰ、Ⅲ、Ⅳ + +$D.$Ⅱ、Ⅲ、Ⅳ + +系统调用是由操作系统提供给用户的,它()。 + +$A.$直接通过键盘交互方式使用 + +$B.$只能通过用户程序间接使用 + +$C.$是命令接口中的命令 + +$D.$与系统的命令一样 + diff --git a/Operate-System/0-summary.md b/Operate-System/0-summary.md index 18bcf06..6268b6d 100644 --- a/Operate-System/0-summary.md +++ b/Operate-System/0-summary.md @@ -15,7 +15,7 @@ #### 处理器(CPU)管理 -在多道程序环境下,CPU的分配和运行都以进程(或线程)为基本单位,因此对CPU的管理可理解为对进程的管理。进程管理的主要功能包括进程控制、进程同步、进程通信、死锁处理、处理机调度等。 +在多道程序环境下,$CPU$的分配和运行都以进程(或线程)为基本单位,因此对$CPU$的管理可理解为对进程的管理。进程管理的主要功能包括进程控制、进程同步、进程通信、死锁处理、处理机调度等。 #### 存储器管理 @@ -27,7 +27,7 @@ #### 设备管理 -设备管理的主要任务是完成用户的I/O请求,方便用户使用各种设备,并提高设备的利用率,主要包括缓存管理、设备分配、设备处理和虚拟设备等功能。 +设备管理的主要任务是完成用户的$I/O$请求,方便用户使用各种设备,并提高设备的利用率,主要包括缓存管理、设备分配、设备处理和虚拟设备等功能。 ### 用户与计算机硬件系统之间的接口 @@ -44,7 +44,7 @@ + 联机命令接口:又称交互式命令接口,适用于分时或实时系统的接口,由一组键盘操作命令组成。用户输入一条指令,操作系统就执行一条指令。 + 脱机命令接口:又称批处理接口,使用于批处理系统,由一组作业控制命令组成。用户输入一堆指令,操作系统运行一堆指令。在操作系统运行这些命令时用户不可干预。 -批处理(Batch),也称为批处理脚本。顾名思义,批处理就是对某对象进行批量的处理,通常被认为是一种简化的脚本语言,它应用于DOS和Windows系统中。批处理文件的扩展名为bat。 +批处理($Batch$),也称为批处理脚本。顾名思义,批处理就是对某对象进行批量的处理,通常被认为是一种简化的脚本语言,它应用于$DOS$和$Windows$系统中。批处理文件的扩展名为$bat$。 #### 程序接口 @@ -54,7 +54,7 @@ #### 图形用户接口 -即图形用户界面GUI。指采用图形方式显示的计算机操作用户界面。 +即图形用户界面$GUI$。指采用图形方式显示的计算机操作用户界面。图形接口不算操作系统的一部分,但是其调用的系统调用命令是操作系统的一部分。 ### 作为扩充机器(虚拟机) @@ -70,9 +70,9 @@ + 并发:两个或多个事件在同一时间间隔内发生,这些事件在宏观上是同时发生的,在微观上是交替发生的,操作系统的并发性指系统中同时存在着多个运行的程序。 + 并行:两个或多个事件在同一时刻发生。 -+ 一个单核(CPU)同一时刻只能执行一个程序,因此操作系统会协调多个程序使他们交替进行(这些程序在宏观上是同时发生的,在微观上是交替进行的)。 ++ 一个单核($CPU$)同一时刻只能执行一个程序,因此操作系统会协调多个程序使他们交替进行(这些程序在宏观上是同时发生的,在微观上是交替进行的)。 + 操作系统是伴随着“多道程序技术”出现的,因此操作系统和并发是一同诞生的。 -+ 在如今的计算机中,一般都是多核CPU的,即在同一时刻可以并行执行多个程序,比如计算机是八核的,计算机可以在同一时刻并行执行八个程序,但是事实上计算机执行的程序并不止八个,因此并发技术是必须存在的,并发性必不可少。 ++ 在如今的计算机中,一般都是多核$CPU$的,即在同一时刻可以并行执行多个程序,比如计算机是八核的,计算机可以在同一时刻并行执行八个程序,但是事实上计算机执行的程序并不止八个,因此并发技术是必须存在的,并发性必不可少。 ### 共享 @@ -83,14 +83,14 @@ + 计算机中的某个资源在一段时间内只能允许一个进程访问,别的进程没有使用权。 + 临界资源(独占资源):在一段时间内只允许一个进程访问的资源,计算机中大多数物理设备及某些软件中的栈、变量和表格都属于临界资源,它们被要求互斥共享。 -+ 比如QQ和微信视频。同一段时间内摄像头只能分配给其中一个进程。 ++ 比如$QQ$和微信视频。同一段时间内摄像头只能分配给其中一个进程。 #### 同时共享 + 计算机中的某个资源在在一段时间内可以同时允许多个进程访问。 -+ 同时共享通常要求一个请求分为几个时间片段间隔的完成,即交替进行,“分时共享”。 -+ 这里的同时指在宏观上是同时的,在微观上是交替进行访问的,只是cpu处理速度很快,我们感觉不到,在宏观上感觉是在同时进行。 -+ 举个例子:比如QQ在发送文件A,微信在发送文件B,宏观上两个进程A和B都在访问磁盘,在我们看来是同时进行的,但是在微观上两个进程A和B是交替进行访问磁盘的,只是时间太短,CPU处理速度太快,我们感觉不到。 ++ 同时共享通常要求一个请求分为几个时间片段间隔的完成,即交替进行,微观上“分时共享”。 ++ 这里的同时指在宏观上是同时的,在微观上是交替进行访问的,只是$CPU$处理速度很快,我们感觉不到,在宏观上感觉是在同时进行。 ++ 举个例子:比如$QQ$在发送文件$A$,微信在发送文件$B$,宏观上两个进程$A$和$B$都在访问磁盘,在我们看来是同时进行的,但是在微观上两个进程$A$和$B$是交替进行访问磁盘的,只是时间太短,$CPU$处理速度太快,我们感觉不到。 + 有时候多个进程可能真的是在同时进行资源访问,比如玩游戏时可以放音乐,游戏声音和音乐声音都能听见。 ### 虚拟 @@ -100,7 +100,7 @@ + 虚拟是把一个物理上的实体变为若干逻辑上的对应物。 + 物理实体(前者)是实际存在的;而后者是虚的,是用户感觉上的事务。 + 虚拟技术:用于实现虚拟的技术。 -+ 虚拟处理器(CPU):通过多道程序设计技术,采用让多道程序并发执行的方法,分时来使用一个CPU,实际物理上只有一个CPU,但是用户感觉到有多个CPU。 ++ 虚拟处理器($CPU$):通过多道程序设计技术,采用让多道程序并发执行的方法,分时来使用一个$CPU$,实际物理上只有一个$CPU$,但是用户感觉到有多个$CPU$。 + 虚拟存储器:从逻辑上扩充存储器容量,用户感觉到的但实际不存在的存储器。 + 虚拟设备:将一台物理设备虚拟为逻辑上的多台设备,使多个用户在同一时间段内访问同一台设备,即同时共享,用户宏观上感觉是同时的,但实际上是微观交替访问同一台设备的。 + 操作系统的虚拟技术科归纳为: @@ -109,8 +109,9 @@ ### 异步 -+ 异步指多道程序环境允许多个程序并发执行,但由于资源有限,如CPU只有一个,进程的执行并不是一贯到底的,而是走走停停的,它以不可预知的速度向前推进。 -+ 比如A进程正在占用CPU计算,B进程这时也想占用CPU计算,B进程只有等,等A进程算完了,A进程去访问磁盘资源了,这时B进程再占用CPU进行计算,B进程还没计算完,A进程从磁盘取出资源了,A进程发现B这时在占用CPU,这时A进程就需要等待,等B算完后再继续到CPU中进行计算。由于每个进程占用资源的时间不固定,所以进程的执行以不可预知的速度前进。 ++ 异步指多道程序环境允许多个程序并发执行,但由于资源有限,如$CPU$只有一个,进程的执行并不是一贯到底的,而是走走停停的,它以不可预知的速度向前推进。 ++ 比如$A$进程正在占用$CPU$计算,$B$进程这时也想占用$CPU$计算,$B$进程只有等,等$A$进程算完了,$A$进程去访问磁盘资源了,这时$B$进程再占用$CPU$进行计算,$B$进程还没计算完,$A$进程从磁盘取出资源了,$A$进程发现$B$这时在占用$CPU$,这时$A$进程就需要等待,等$B$算完后再继续到$CPU$中进行计算。由于每个进程占用资源的时间不固定,所以进程的执行以不可预知的速度前进。 ++ 操作系统必须在运行环境相同的条件下保证运行结果的一致性。 ## 操作系统的发展阶段 @@ -127,14 +128,14 @@ + 缓解了一定的人机速度矛盾,资源利用率得到提升。 + 缺点: + 内存只能有一道程序运行。只能串行执行。 - + CPU大量时间用于等待I/O的完成,资源利用率低。 + + $CPU$大量时间用于等待I/O的完成,资源利用率低。 ### 多道批处理系统 + 操作系统正式诞生,引入中断技术,从而能并发执行程序。 + 优点: + 多道程序并发执行,共享计算机资源。 - + 资源利用率提升,CPU和其他资源基本上忙碌,系统吞吐量增大。 + + 资源利用率提升,$CPU$和其他资源基本上忙碌,系统吞吐量增大。 + 缺点: + 用户响应时间长,无法人机交互,不能控制作业执行。 @@ -206,7 +207,7 @@ + 时钟管理:进程等的计时功能。 + 中断处理:负责实现中断机制。 -+ 原语:是一种特殊的程序,是最接近硬件的部分,这种程序的运行具有原子性,运行时间短,调用次数频繁,如设备驱动、CPU切换等。 ++ 原语:是一种特殊的程序,是最接近硬件的部分,这种程序的运行具有原子性,运行时间短,调用次数频繁,如设备驱动、$CPU$切换等。 + 系统资源管理功能:可能包含在内核中也可能不包含: + 进程管理。 + 存储器管理。 @@ -233,18 +234,18 @@ + 用户态道核心态之间的转换是通过中断实现的,且是唯一的途径。 + 而核心态道用户态之间的切换只用执行一个特权指令,将程序状态字PSW的标志位设置为用户态。 -1. 当中断发生时,CPU立刻进入核心态。 +1. 当中断发生时,$CPU$立刻进入核心态。 2. 当中断发生后,当前运行的进程暂停,并由操作系统内核对中断进行处理。 3. 对于不同的中断信号会进行不同的处理。 ### 中断的分类 -+ 内中断(异常、例外、陷入)信号来自CPU内部,与当前执行的命令有关。 ++ 内中断(异常、例外、陷入)信号来自$CPU$内部,与当前执行的命令有关。 + 自愿中断:指令中断。如系统调用时使用的访管指令(陷入指令、trap指令) + 强迫中断: + 硬件故障。(缺页) + 软件中断。(整数除0) -+ 外中断(中断)信号来自CPU外部,与当前执行的命令无关。 ++ 外中断(中断)信号来自$CPU$外部,与当前执行的命令无关。 + 外设请求。(I/O操作完成时发出的中断信号) + 人工干预。 @@ -256,10 +257,10 @@ ### 外中断的处理过程 -1. 执行外每个指令后,CPU都要检查当前是否有外部中断信号。 -2. 若检测到外部中断信号,则需要保护呗中断进程的CPU环境(如程序状态字PSW、程序计数器PC、各种通用寄存器)。 +1. 执行外每个指令后,$CPU$都要检查当前是否有外部中断信号。 +2. 若检测到外部中断信号,则需要保护呗中断进程的$CPU$环境(如程序状态字PSW、程序计数器PC、各种通用寄存器)。 3. 根据中断信号类型转入相应的中断处理程序。 -4. 恢复原进程的CPU环境并退出中断,返回原进程继续往下执行。 +4. 恢复原进程的$CPU$环境并退出中断,返回原进程继续往下执行。 ## 系统调用 @@ -278,7 +279,7 @@ 3. 执行系统调用相应服务程序(核心态)。 4. 返回用户程序。 -+ 陷入指令在用户态执行,执行陷入指令后立刻引发一个内中断,从而CPU进入核心态。 ++ 陷入指令在用户态执行,执行陷入指令后立刻引发一个内中断,从而$CPU$进入核心态。 + 发出系统调用请求的是在用户态,而对系统调用的相应处理在核心态下进行。 + 陷入指令是**唯一一个**只能在用户态执行,而不能核心态执行的指令。