diff --git a/content/408/《操作系统》操作系统发展历程.md b/content/408/《操作系统》操作系统发展历程.md deleted file mode 100644 index 3563e2f..0000000 --- a/content/408/《操作系统》操作系统发展历程.md +++ /dev/null @@ -1,70 +0,0 @@ ---- -title: "《操作系统》操作系统发展历程" -date: 2022-12-29T20:53:40+08:00 - ---- - -### 手工操作阶段 - -用户在计算机上的所有计算流程都要人工干预 - -缺点: - -1. 用户独占全机,虽然不会出现因资源已被用户占用而等待的现象,但资源利用率极低 -2. CPU等待手工操作,CPU利用不充分 - -### 批处理阶段 - -#### 单道批处理系统 - -主要在解决人机矛盾及CPU和I/O设备不匹配的问题 - -特征: - -1. 自动性,顺利的情况下,同一磁带上的同一批作业能够自动逐个运行 -2. 顺序性,磁带上的各道作业顺序地进入内存 -3. 单道性,内存中仅有一道程序运行 - -#### 多道批处理系统 - -多道程序设计的特点是多道、宏观上并行,微观上串行 - -1. 多道。计算机内存中同时存放多道相互独立的程序 -2. 宏观上并行。同时进入系统的多道程序都出于运行过程中,即先后开始各自运行但都未运行完毕 -3. 微观上串行。内存中的多道程序轮流占有CPU,交替执行 - -优点: - -资源利用率高,多道程序共享计算机资源,从而使各种资源得到充分利用;系统吞吐量打,CPU和其他资源保持“忙碌”状态 - -缺点: - -用户响应时间较长;不提供人机交互能力,用户既不能了解自己的程序的运行情况,又不能控制计算机 - - -### 分时操作系统 - -分时操作系统是指多个用户通过终端同时共享一台主机,用户可以同时与主机进行交互操作而互不干扰 - -特征: - -1. 同时性 -2. 交互性,用户能够方便进行人机对话 -3. 独立性,多个用户可以彼此独立地进行操作 -4. 及时性,用户请求能在很短的时间内响应 - -### 实时操作系统 - -根据响应时间限制分为两种: - -1. 硬实时系统:某个动作必须绝对地在规定的时刻发生 -2. 软实时系统:能够接受偶尔违反时间规定的情况且不会引起任何永久性的损害 - -特点: -1. 及时性 -2. 可靠性 - -### 网络操作系统和分布式计算机系统 - - - diff --git a/content/408/《操作系统》操作系统的基本概念.md b/content/408/《操作系统》操作系统的基本概念.md deleted file mode 100644 index f27e46e..0000000 --- a/content/408/《操作系统》操作系统的基本概念.md +++ /dev/null @@ -1,198 +0,0 @@ ---- -title: "《操作系统》操作系统的基本概念" -date: 2022-08-18T15:53:40+08:00 - ---- - -## 知识框架 - -* 概论 - * 特征 - * 并发(最基本) - * 共享(最基本) - * 虚拟 - * 异步 - * 目标和功能 - * 计算机系统资源管理者 - * 扩充机器 - * 用户与计算机系统之间的接口 - * 命令接口 - * 程序接口 - * GUI - * 发展 - * 批处理操作系统$\rightarrow$分时操作系统$\rightarrow$实时操作系统$\rightarrow$网络和分布式操作系统 - * 运行机制 - * 中断和异常 - * 系统调用 - * 体系结构 - * 大内核 - * 微内核 - - -## 操作系统的基本概念 - -### 操作系统的概念 - -操作系统是只控制和管理整个计算机系统的硬件与软件资源,合理地组织、调度计算机的工作与资源的分配,进而为用户和其他软件提供方便接口与环境的程序集合。 - -操作系统是计算机系统中最基本的系统软件 - -### 操作系统的特征 - -基本特征包括并发、共享、虚拟和异步 - -#### 并发 - -并发指两个或多个事件在同一时间间隔内发生 - -操作系统的并发性指计算机系统中同时存在多个运行的程序,因而具有处理和调度多个程序同时执行的能力。 - -同一时间间隔(并发)和同一时刻(并行)的区别: - -1. 宏观上有多道程序同时进行,微观上这些程序依旧是分时交替执行的,操作系统的并发性正是分时得以实现的 -2. 并行性则是具有同时进行运算或操作的特性,同一时刻能完成两种或两种以上的工作,需要硬件的支持 - - - -#### 共享 - -共享通常指系统中的资源可供内存中多个并发执行的进程共同使用,拥有两种资源共享方式 - -* 互斥共享方式 - -互斥式共享: - -当进程A访问某个资源时,必须先提出请求,若此时该资源空闲,则系统将其分配给进程A使用,此后有其他进程也要访问该资源时,就必须等待。仅当进程A访问完并释放该资源后,才允许另一个进程对该资源进行访问。 - -临界资源(独占资源): - -一段时间内只允许一个进程访问的资源 - -互斥共享要求一种资源在一段时间内(哪怕是很小的时间)只能满足一个请求,否则就会出现严重的问题 - -* 同时访问方式 - -宏观上存在一些资源允许多个进程同时访问,微观上这些进程是交替地对该资源进行访问,即分时共享 - ---------------------------- - -并发和共享是操作系统两个最基本的特征,两者互为存在的条件: - -1. 资源共享是以程序的并发为条件的,若系统不允许程序并发执行,则自然不存在资源共享问题 -2. 若系统不能对资源共享实施有效的管理,则必将影响到程序的并发执行,甚至根本无法并发执行 - - -#### 虚拟 - -虚拟是指把一个物理上的实体变为若干逻辑上的对应物。 - -操作系统中采用了多种虚拟技术来实现虚拟处理器、虚拟内存和虚拟外部设备等 - -虚拟技术可归纳为: - -1. 时分复用技术,如处理器的分时共享 -2. 空分复用技术,如虚拟存储器 - - -#### 异步 - -程序的异步性: - -多道程序环境允许多个程序并发执行,但由于资源有限,进程执行并非一贯到底,而是走走停停,以不可预知的速度向前推进 - -异步性导致的问题: - -异步性会使操作系统运行在一种随机的环境下,可能导致进程产生与时间有关的错误。然而在运行环境相同的情况下,操作系统就需要保证多次运行进程后得到的结果相同 - -### 操作系统的目标和功能 - -操作系统应具有以下功能来给多道程序提供良好的运行环境 - -1. 处理机管理、存储器管理、设备管理和文件管理 -2. 需向用户提供接口以方便用户使用 -3. 可用于扩充机器来提供更方便的服务、更高的资源利用率 - - -#### 操作系统作为计算机系统资源的管理者 - -* 处理机管理 - -在多道程序环境下,处理机的分配和运行都以进程(线程)为主要单位 - -处理机的管理可归结为对进程的管理,因此进程创建、撤销、管理、避免冲突、合理共享就是进程管理的主要任务 - -进程管理的主要功能: - -1. 进程控制 -2. 进程同步 -3. 进程通信 -4. 死锁处理 -5. 处理机调度 - - -* 存储器管理 - -存储器管理用于给多道程序的运行提供良好环境,便于用户使用及提高内存利用率 - -主要功能: - -1. 内存分配与回收 -2. 地址映射 -3. 内存保护与共享 -4. 内存扩充 - -* 文件管理 - -负责文件管理的部分称为文件系统 - -主要功能: - -1. 文件存储空间的管理 -2. 目录管理 -3. 文件读写管理和保护 - -* 设备管理 - -主要任务是完成用户I/O请求,方便用户使用设备,提高设备利用率 - -主要功能: - -1. 缓冲管理 -2. 设备分配 -3. 设备处理 -4. 虚拟设备 - -#### 操作系统作为用户与计算机硬件系统之间的接口 - -##### 命令接口 - -* 联机命令接口 - -联机命令接口又称为交互式命令接口,适用于分时或实时系统的接口 - -可由用户在控制台或终端输入命令,经命令解释程序解释并执行后,控制权再转交回控制台或终端,这一过程往往强调交互性 - -常见为 命令提示符中输入单条指令 - -* 脱机命令接口 - -脱机命令接口又称为批处理命令接口,适用于批处理系统 - -脱机用户不能干预作业运行,事先使用作业控制命令编写"命令清单",系统调度到该作业时,命令解释程序逐条解释并执行,从而间接控制作业的进行 - -常见为 使用命令编写脚本后运行 - -##### 程序接口 - -该接口由一组系统调用组成,用户通过在程序中使用这些系统调用来请求操作系统为其提供服务 - -常见为用户图形界面(GUI),如linux的KDE桌面 - -#### 操作系统用作扩充机器 - -没有任何软件支持的计算称为裸机,它仅是计算机系统的物质基础。操作系统提供的资源管理功能和方便用户的各种服务功能,将裸机改造成功能更强,使用更方便的机器 - -通常将覆盖了软件的机器称为扩充机器或虚拟机 - - - diff --git a/content/408/《操作系统》计算机系统概述.md b/content/408/《操作系统》计算机系统概述.md new file mode 100644 index 0000000..ad98223 --- /dev/null +++ b/content/408/《操作系统》计算机系统概述.md @@ -0,0 +1,314 @@ +--- +title: "《操作系统》计算机系统概述" +date: 2022-08-18T15:53:40+08:00 + +--- + + +## 操作系统的基本概念 + +### 操作系统的概念 + +* 负责管理协调硬件、软件等计算机资源的工作 +* 操作系统为上层用户,应用程序提供简单易用的服务 +* 操作系统是一种系统软件 + +### 操作系统的特征 + +* 并发和共享是最基本的两个性质 +* 并发和共享互为存在条件 + * 资源共享是以程序的并发为条件的,若系统不允许程序并发执行,则自然不存在资源共享问题 + * 若系统不能对资源共享实施有效的管理,则必将影响到程序的并发执行,甚至根本无法并发执行 +* 没有并发和共享就谈不上虚拟和异步 + +#### 并发 + +* 并发指两个或多个事件在同一时间间隔内发生 + +* 并行:系统具有同时进行运算或操作的特性(同时刻) + * 可并行的有【处理机与设备】【处理机与通道】【设备与设备】 + * 不可并行的有【进程与进程】 + * 真正实现并行的为多核处理机 + +同一时间间隔(并发)和同一时刻(并行)的区别: + +* 宏观上有多道程序同时进行,微观上这些程序依旧是分时交替执行的,操作系统的并发性正是分时得以实现的 +* 并行性则是具有同时进行运算或操作的特性,同一时刻能完成两种或两种以上的工作,需要硬件的支持 + + + +#### 共享 + +共享通常指系统中的资源可供内存中多个并发执行的进程共同使用,拥有两种资源共享方式 + +* 互斥共享方式 + + +当进程A访问某个资源时,必须先提出请求,若此时该资源空闲,则系统将其分配给进程A使用,此后有其他进程也要访问该资源时,就必须等待。仅当进程A访问完并释放该资源后,才允许另一个进程对该资源进行访问。 + +临界资源(独占资源): + +一段时间内只允许一个进程访问的资源 + +互斥共享要求一种资源在一段时间内(哪怕是很小的时间)只能满足一个请求,否则就会出现严重的问题 + +* 同时访问方式 + +宏观上存在一些资源允许多个进程同时访问,微观上这些进程是交替地对该资源进行访问,即分时共享 + + +#### 虚拟 + +虚拟是指把一个物理上的实体变为若干逻辑上的对应物。 + + +* 时分复用技术,如处理器的分时共享 +* 空分复用技术,如虚拟存储器 + + +#### 异步 + +* 程序异步性:多道程序环境允许多个程序并发执行,但由于资源有限,进程执行并非一贯到底,而是走走停停,以不可预知的速度向前推进 + +* 异步性导致的问题: + +异步性会使操作系统运行在一种随机的环境下,可能导致进程产生与时间有关的错误。然而在运行环境相同的情况下,操作系统就需要保证多次运行进程后得到的结果相同 + +### 操作系统的目标和功能 + +操作系统应具有以下功能来给多道程序提供良好的运行环境 + +1. 处理机管理、存储器管理、设备管理和文件管理 +2. 需向用户提供接口以方便用户使用 +3. 可用于扩充机器来提供更方便的服务、更高的资源利用率 + + +#### 操作系统作为计算机系统资源的管理者 + +* 处理机管理 + * 在多道程序环境下,处理机的分配和运行都以进程(线程)为主要单位 + * 主要功能 + * 进程控制 + * 进程同步 + * 进程通信 + * 死锁处理 + * 处理机调度 + * 处理机的管理可归结为对进程的管理,因此进程创建、撤销、管理、避免冲突、合理共享就是进程管理的主要任务 +* 存储器管理 + * 存储器管理用于给多道程序的运行提供良好环境,便于用户使用及提高内存利用率 + * 主要功能: + * 内存分配与回收 + * 地址映射 + * 内存保护与共享 + * 内存扩充 +* 文件管理 + * 计算机的信息都是以文件的形式存在的 + * 文件存储空间的管理 + * 目录管理 + * 文件读写管理和保护 +* 设备管理 + * 主要任务是完成用户I/O请求,方便用户使用设备,提高设备利用率 + * 主要功能 + * 缓冲管理 + * 设备分配 + * 设备处理 + * 虚拟设备 +#### 操作系统作为用户与计算机硬件系统之间的接口 + +* 用户使用接口 + * GUI用户界面接口 + * 命令接口 + * 联机命令接口:用户发送一次命令,系统执行一次,主要是交互性,适用于分时或实时系统 + * 脱机命令接口:用户一次性发送命令清单,系统按清单执行,无法中途干预,适用于批处理系统,可解决独占问题 +* 软件使用接口 + * 程序接口(系统调用) + +#### 操作系统用作扩充机器 + +* 裸机:没有任何软件支持的计算机 +* 扩充机器/虚拟机:覆盖了软件的机器 + +-------------------------------------------------------------------------------------- + + +## 操作系统发展历程 + +### 手工操作阶段 + +用户在计算机上的所有计算流程都要人工干预 + +#### 缺点 + +* 用户独占全机,资源利用率低 +* CPU等待手工操作,CPU利用不充分 + +### 单道批处理系统 + +#### 定义 + +* 程序封闭性,程序执行的结果只取决与进程本身,不受外界影响 +* 失去封闭性后,不同速度下的进程执行结果不同 + +#### 特点 + +* 自动性,顺利的情况下,同一磁带上的同一批作业能够自动逐个运行 +* 顺序性,磁带上的各道作业顺序地进入内存 +* 单道性,内存中仅有一道程序运行 + +#### 缺点 + +* 资源利用率低,吞吐量小 + + +### 多道批处理系统 + +#### 定义 + +* 批处理:允许多个用户将若干作业提交给计算机系统集中处理 +* 多道性则是为了提高系统利用率和吞吐量 + +#### 特点 + +* 多道,共享性,宏观上并行,微观上串行 +* 引入多道后,系统失去封闭性和顺序性 +* 制约性,程序执行因为共享资源和协同所有产生了竞争,相互制约 +* 考虑竞争的公平性,程序断续执行 + +#### 优点 + +* 资源利用率高 +* 系统吞吐量大 +* CPU利用率高 +* IO设备利用率高 + +#### 缺点 + +* 用户响应时间长 +* 不提供人机交互能力(用户无法干预批处理作业) + + +### 分时操作系统 + +#### 定义 + +* 允许多个用户以交互的方式使用计算机的操作系统 +* 快速响应用户(分时系统产生原因) +* 响应时间 = 时间片*用户 +* 进度调度通常采用抢占式的优先级优先 + + + +#### 特点 + +* 同时性 +* 交互性,用户能够方便进行人机对话 +* 独立性,多个用户可以彼此独立地进行操作 +* 及时性,用户请求能在很短的时间内响应 + +#### 优点 + +* 提供人机交互能力 + +#### 缺点 + +* 不能在规定的时间内做出处理 + +### 实时操作系统 + +#### 定义 + +* 在该操作系统下,计算机系统能够及时处理过程控制反馈的数据并给出响应 + +#### 特点 + +* 硬实时系统:必须在绝对严格的时间内完成处理(自动驾驶系统) +* 软实时系统:能接受偶尔违反时间规定(订票系统) + +#### 优点 + +* 安全可靠 +* 及时处理 +* 快速处理 + +### 网络操作系统和分布式计算机系统 + +#### 特点 + +* 分布性 +* 并行性 + +### 分布式计算机系统 + +#### 特点 + +* 网络中各种资源的关系 +* 网络中各计算机间的通信 + +--------------- + +## 操作系统结构 + +* 分层结构 + * 特性 + * 内核分多层,每层可单向调用更低一层提供的接口 + * 优点 + * 便于调试和验证,自底向上逐层调试验证 + * 易扩充和维护,各层间调用接口清晰固定 + * 缺点 + * 仅可调用相邻低层,难以合理定义各层边界 + * 效率低,不可跨层调用,系统调用执行时间长 +* 模块化 + * 特性 + * 内核 = 主模块 + 可加载内核模块 + * 主模块只负责核心功能,如进程调度,内存管理 + * 可加载内核模块:可动态加载新模块到内核,无需重新编译整个内核 + * 优点 + * 模块间逻辑清晰易维护,确定模块间接口后即可多模块同时开发 + * 支持动态加载新内核模块(如:安装设备驱动程序),增强OS适应性 + * 任何模块都可以直接调用其他模块,无需采用消息传递进行通信,效率高 + * 缺点 + * 模块间的接口定义未必合理,实用 + * 模块间相互依赖,更难调试和验证 +* 宏内核 + * 特性 + * 所有的系统功能都放在内核里 + * 优点 + * 性能高,内核内部各种功能都可以直接相互调用 + * 缺点 + * 内核庞大功能复杂,难以维护 + * 大内核中某个功能模块出错,就可能导致整个系统崩溃 +* 微内核 + * 特性 + * 只把中断,原语,进程通信等最核心的功能放入内核,进程管理,文件管理,设备管理等功能以用户进程的形式运行在用户态 + * 优点 + * 内核小功能少,易于维护,内核可靠性高 + * 内核外的某个功能模块出错不会导致整个系统崩溃 + * 缺点 + * 性能低,需要频繁切换用户/核心态,用户态下的各功能模块不可直接互相调用,只能通过内核的消息传递来间接通信 +* 外核(exokernel) + * 特性 + * 内核负责进程调度,进程通信等功能,外核负责为用户进程分配未经抽象的硬件资源,且由外核负责保证资源使用安全 + * 优点 + * 外核可直接给用户分配不虚拟,不抽象的硬件资源,使用户进程可以更灵活地使用硬件资源 + * 减少虚拟硬件资源的映射层,提升效率 + * 缺点 + * 降低系统的一致性 + * 使系统更加复杂 + +----------- + +## 操作系统引导 + + + +![](../../images/system_boot_pic.jpg) + +### 启动过程 + +1. CPU加电,CS:IP指向FFFF0H +2. 执行JMP指令跳转到BIOS +3. 登记BIOS中断例程入口地址 +4. 硬件自检 +5. 进行操作系统引导 + +### 引导流程 \ No newline at end of file diff --git a/images/system_boot_pic.jpg b/images/system_boot_pic.jpg new file mode 100644 index 0000000..711fe46 Binary files /dev/null and b/images/system_boot_pic.jpg differ