📝 操作系统教程
321篇技术文档📅  最后修改于: 2022-05-13 01:56:11.297000        🧑  作者: Mango
流程管理介绍程序与过程进程是一个正在执行的程序。例如,当我们用 C 或 C++ 编写程序并编译它时,编译器会创建二进制代码。原始代码和二进制代码都是程序。当我们实际运行二进制代码时,它就变成了一个进程。进程是一个“主动”实体,而不是被视为“被动”实体的程序。一个程序多次运行可以创建多个进程;例如,当我们多次打开 .exe 或二进制文件时,会开始多个实例(创建多个进程)。进程在内存中是什么样子的?文...
📅  最后修改于: 2022-05-13 01:56:11.300000        🧑  作者: Mango
分布式操作系统中访问矩阵的实现如前所述,访问矩阵可能非常稀疏并占用大量内存。因此,直接实现访问矩阵进行访问控制是存储效率低下的。可以通过将访问矩阵分解为行或列来消除低效率。可以通过删除空值等来折叠行以提高效率。从这些分解方法中可以形成三种被广泛使用的访问矩阵的实现。它们如下:因此,我们将简要讨论上述实现。值得记住的是,我们用s表示主语,用O表示宾语,并将它们分别放在列和行上。能力:该方法是指访问矩...
📅  最后修改于: 2022-05-13 01:56:11.304000        🧑  作者: Mango
什么是随机存取机?在顺序计算机上解决问题所需的算法称为顺序算法。为解决并行计算机上的问题而编写的算法称为并行算法。顺序算法是以步骤的形式编写的,由PE顺序完成,即顺序算法使用顺序步骤来解决问题。在并行算法中,我们必须看到通信发生在哪里,我们必须将特定步骤的输出移动到哪里。为特定架构编写的算法不能应用于另一种架构,换句话说,要在不同的并行计算机上解决相同的问题,必须基于并行计算机架构编写不同的算法。...
📅  最后修改于: 2022-05-13 01:56:11.307000        🧑  作者: Mango
Linux Shell 和 Shell 脚本简介如果您正在使用任何主要操作系统,您将间接与shell交互。如果您正在运行 Ubuntu、Linux Mint 或任何其他 Linux 发行版,则每次使用终端时都在与 shell 交互。在本文中,我将讨论 linux shell 和 shell 脚本,因此在理解 shell 脚本之前,我们必须熟悉以下术语 -核心贝壳终端什么是内核内核是一个计算机程序,...
📅  最后修改于: 2022-05-13 01:56:11.312000        🧑  作者: Mango
文件分配方法分配方法定义了文件在磁盘块中的存储方式。有三种主要的磁盘空间或文件分配方法。连续分配关联分配索引分配这些方法背后的主要思想是提供:有效的磁盘空间利用率。快速访问文件块。这三种方法各有优缺点,如下所述:1. 连续分配在这个方案中,每个文件都占据磁盘上一组连续的块。例如,如果一个文件需要 n 个块,并且给定一个块 b 作为起始位置,那么分配给该文件的块将是:b、b+1、b+2、……b+n-...
📅  最后修改于: 2022-05-13 01:56:11.315000        🧑  作者: Mango
速率单调调度速率单调调度是一种优先级算法,属于实时操作系统的静态优先级调度范畴。它本质上是先发制人的。优先级是根据所涉及进程的循环时间决定的。如果进程的作业持续时间较短,则它具有最高优先级。因此,如果具有最高优先级的进程开始执行,它将抢占其他正在运行的进程。进程的优先级与它将运行的时间段成反比。一组进程只有在满足以下等式时才能被调度:其中 n 是进程集中的进程数,Ci 是进程的计算时间,Ti 是进...
📅  最后修改于: 2022-05-13 01:56:11.318000        🧑  作者: Mango
操作系统中“调度延迟”和“上下文切换”的区别多任务系统中的进程从辅助存储器带到主存储器,有时又切换回辅助存储器。因此,一个过程在其整个生命周期中有多种状态。上下文切换是整个生命周期的重要组成部分。Dispatcher是一个模块,它将 CPU 控制权交给短期调度程序选择的进程,这包括:切换上下文切换到用户模式跳转到用户程序中的适当位置以继续执行该程序。上下文切换:它是存储旧进程状态并通过上下文切换为...
📅  最后修改于: 2022-05-13 01:56:11.321000        🧑  作者: Mango
虚拟内存和作业池的区别虚拟内存 :虚拟内存是操作系统中的一种内存管理技术,它给用户一种错觉,即他们正在使用的内存等于二级存储介质的内存(即非常大的内存)。因此,这允许程序员编写需要比实际内存更多的内存的程序。工作池:作业池是批处理系统中的一种数据结构,其中当所有资源都可供系统使用时,各种作业会排队等待执行。它决定接下来将执行哪个作业。这里的主要思想是,每当创建一个新作业时,它都会存储在作业池中,当...
📅  最后修改于: 2022-05-13 01:56:11.324000        🧑  作者: Mango
分布式文件系统中的文件缓存文件缓存增强了 I/O 性能,因为以前读取的文件保存在主内存中。由于文件在本地可用,因此当重复请求这些文件时,网络传输将归零。文件系统的性能改进基于文件访问模式的局部性。缓存还有助于提高可靠性和可扩展性。当今的大多数分布式文件系统都采用某种形式的缓存。文件缓存方案由许多标准决定,包括缓存数据粒度、缓存大小(大/小/固定/动态)、替换策略、缓存位置、修改传播机制和缓存验证。...
📅  最后修改于: 2022-05-13 01:56:11.329000        🧑  作者: Mango
实时系统的基本模型实时系统是用于执行某些特定任务的系统。这些任务与时间限制有关,需要在该时间间隔内完成。实时系统的基本模型:实时系统的基本模型展示了实时系统中涉及的所有组件的概览。实时系统包括嵌入的各种硬件和软件,可以在允许的时间限制内执行特定任务。实时系统涉及的准确性和正确性使模型变得复杂。实时系统的模型多种多样,比较复杂,难以理解。在这里,我们将讨论实时系统的基本模型,其中包含一些常用术语和硬...
📅  最后修改于: 2022-05-13 01:56:11.332000        🧑  作者: Mango
操作系统中的远程过程调用 (RPC)远程过程调用 (RPC)是一种强大的技术,用于构建基于客户端-服务器的分布式应用程序。它基于对传统本地过程调用的扩展,因此被调用过程不必与调用过程存在于相同的地址空间中。这两个进程可能在同一个系统上,也可能在不同的系统上,通过网络连接它们。进行远程过程调用时:1.调用环境暂停,过程参数通过网络传递到过程执行的环境,在那里执行过程。2.当过程完成并产生结果时,其结...
📅  最后修改于: 2022-05-13 01:56:11.335000        🧑  作者: Mango
系统可以处理的最大僵尸进程数Zombie Process或Defunct Process是那些已通过 exit() 系统调用完成执行但在Process Table 中仍有条目的进程。它是一个处于终止状态的进程。当在 UNIX 中使用fork()系统调用创建子进程时,如果不知何故父进程无法从进程表中获取子进程,则会出现这种情况。基本上,Zombie Process既不是完全死也不是完全活着,但它介于...
📅  最后修改于: 2022-05-13 01:56:11.337000        🧑  作者: Mango
典型的多处理配置多处理是指多个处理器同时工作的情况。因此,它们必须经过良好配置,以免产生任何类型的问题。通常有 3 种类型的配置:主/从配置、松耦合配置和对称配置。这些解释如下。1.主/从配置:主/从配置是一个单处理器系统,其中额外的从处理器正在工作,由主主处理器管理。这是一个不对称的系统。主处理器的工作是管理由文件、设备、主存储器和从处理器组成的整个系统。它维护所有进程的状态,调度从处理器的工作...
📅  最后修改于: 2022-05-13 01:56:11.341000        🧑  作者: Mango
公平共享 CPU 调度公平份额调度是一种调度算法,最早由悉尼大学的 Judy Kay 和 Piers Lauder 在 1980 年代设计。它是一种用于计算机操作系统的调度算法,可将时间量“平均”地动态分配给其用户。时间量是允许进程运行的处理器时间。但是在循环调度中,时间片或时间份额以循环顺序平均分配,由于时间片以循环方式分配,任何相等数量的时间份额都会产生相似的输出,因此,任意在这种情况下需要分...
📅  最后修改于: 2022-05-13 01:56:11.344000        🧑  作者: Mango
操作系统中的内存管理术语内存可以定义为特定格式的数据集合。它用于存储指令和处理过的数据。存储器由一个大数组或一组字或字节组成,每个字或字节都有自己的位置。计算机系统的主要动机是执行程序。这些程序以及它们访问的信息在执行期间应该在主内存中。 CPU根据程序计数器的值从内存中取指令。为了实现一定程度的多道程序设计和正确利用内存,内存管理很重要。存在多种内存管理方法,反映了各种方法,每种算法的有效性取决...