📝 操作系统教程

321篇技术文档
  Linux 内核

📅  最后修改于: 2022-05-13 01:56:11.644000        🧑  作者: Mango

Linux 内核计算机的主要用途是运行预定义的指令序列,称为程序。正在执行的程序通常称为进程。现在,大多数专用计算机旨在运行单个进程,但在诸如通用计算机这样的复杂系统中,旨在同时运行多个进程。任何类型的进程都需要硬件资源,例如内存、处理器时间、存储空间等。在同时运行多个进程的通用计算机中,我们需要一个中间层来有效、公平地管理计算机硬件资源在计算机上运行的所有进程之间的分配。这个中间层被称为内核。内...

  通用实时任务调度器

📅  最后修改于: 2022-05-13 01:56:11.647000        🧑  作者: Mango

通用实时任务调度器通用实时任务调度器:用于处理或调度所有三种类型的实时任务,即周期性、偶发性和非周期性任务的调度器,被称为广义任务调度器。它以最熟练的方式安排定期、零星和非定期任务。为什么是通用任务调度器?基本上,循环调度器用于适应零星和非周期性任务,但零星和非周期性任务的到达时间是统计说明的。因此,在不显着降低系统整体利用率的情况下,不能将非周期性和零星任务分配给帧。因此,为了有效地调度所有三种...

  安德鲁文件系统

📅  最后修改于: 2022-05-13 01:56:11.649000        🧑  作者: Mango

安德鲁文件系统莫里斯等人。 1986 年创建了一个分布式计算环境,用作卡内基梅隆大学 (CMU) 的校园计算机和信息系统。企业使用 AFS 使位于不同位置的 AFS 客户端工作站更容易访问存储的服务器文件。它通过一组可信赖的服务器向所有客户端工作站提供同质的、与位置无关的文件命名空间。登录到分布式计算基础设施内部通信的工作站后,用户交换数据和程序 (DCI)。目标是通过减少客户端-服务器通信来促进...

  无期限调度

📅  最后修改于: 2022-05-13 01:56:11.653000        🧑  作者: Mango

无期限调度什么是调度?调度是计算机科学领域的另一个流行问题。调度问题是针对给定请求有效调度资源的问题。在操作系统中,通常计算机系统的单个处理器可能会遇到许多作业或用户程序。人们可以将调度问题可视化为作业的最佳排序,从而使作业周转时间最小化。简而言之,目标是以最佳顺序安排作业,以便更快地执行作业。Let’s visualize scenario of scheduling :In a library...

  页表和倒排页表的区别

📅  最后修改于: 2022-05-13 01:56:11.656000        🧑  作者: Mango

页表和倒排页表的区别分页是操作系统中存储管理的概念,它从辅助存储中检索进程并将它们作为页面存储在主内存中。分页背后的主要概念是将每个进程划分为页面。帧也将用于划分主存储器。进程的一页将保存在其中一个内存帧中。在各个位置,我们可以将页面存储在整个内存中,但我们的优先级始终是找到连续的帧。 Page Table 存储进程页面所在的帧号。 Page Table Entry 包含各种与页面相关的信息。页表...

  基于雷蒙德树的算法

📅  最后修改于: 2022-05-13 01:56:11.659000        🧑  作者: Mango

基于雷蒙德树的算法先决条件——分布式系统中的互斥Raymond 的基于树的算法是基于锁的算法,用于分布式系统中的互斥,其中如果站点具有令牌,则允许其进入临界区。在该算法中,所有站点都被安排为一棵有向树,这样树的边缘被指定为朝向持有令牌的站点的方向。持有令牌的站点也称为树的根。数据结构和符号:每个站点 Si都有一个 FIFO 队列,称为request_q该队列存储所有相邻站点的请求,这些站点已向站点...

  操作系统的不同方法或结构

📅  最后修改于: 2022-05-13 01:56:11.662000        🧑  作者: Mango

操作系统的不同方法或结构操作系统可以借助各种结构来实现。操作系统的结构主要取决于操作系统的各种通用组件如何互连并融合到内核中。基于此,我们具有以下操作系统结构:结构简单:此类操作系统没有明确定义的结构,并且是小型、简单和有限的系统。接口和功能级别没有很好地分开。 MS-DOS 就是这种操作系统的一个例子。在 MS-DOS 中,应用程序能够访问基本的 I/O 例程。如果用户程序之一失败,这些类型的操...

  一对一线程模型的优势

📅  最后修改于: 2022-05-13 01:56:11.665000        🧑  作者: Mango

一对一线程模型的优势在本文中,我们将了解一对一线程模型的优点。在开始之前,您必须具备线程、线程类型和多线程模型类型的基本知识。线程概述:线程是通过方法代码的执行流,其个人软件计数器继续播放接下来要执行的指导音乐,机器寄存器保存其当前运行变量,以及包含执行历史的堆栈。线程是多线程中的最小单位,被称为轻量级进程。通过并行性,它提供了一种增强软件整体性能的方式。每个线程代表一个单独的控制浮动。线程被有效...

  操作系统中的三态进程模型

📅  最后修改于: 2022-05-13 01:56:11.668000        🧑  作者: Mango

操作系统中的三态进程模型先决条件:操作系统中进程的状态,操作系统中的两态进程模型在本文中,我们将讨论操作系统中的三态进程模型,并讨论对这种进程模型的需求、进程如何执行、可能发生的转换以及它的持续优势和一些缺点。之前,学习下面的三态流程模型,推荐阅读前面的二态流程模型。需要三态过程模型两态进程模型是一个惊人的进程模型,它只包含两种状态,即运行和非运行,这意味着当进程运行时,它将执行,否则不执行,CP...

  互斥的彼得森算法设置 1(基本 C 实现)

📅  最后修改于: 2022-05-13 01:56:11.672000        🧑  作者: Mango

互斥的彼得森算法设置 1(基本 C 实现)问题:给定 2 个进程 i 和 j,您需要编写一个程序,无需任何额外的硬件支持即可保证两者之间互斥。解决方案:可以有多种方法来解决这个问题,但大多数都需要额外的硬件支持。最简单和最流行的方法是使用彼得森算法进行互斥。它是由 Peterson 于 1981 年开发的,尽管在这个方向上的最初工作是由 Theodorus Jozef Dekker 完成的,他在 ...

  工作、任务和流程之间的区别

📅  最后修改于: 2022-05-13 01:56:11.677000        🧑  作者: Mango

工作、任务和流程之间的区别先决条件:操作系统中的进程管理、帮派调度介绍介绍 :工作是需要完成的工作。任务是需要完成的一项工作。该过程是为特定目的而执行的一系列操作。工作和任务定义了要完成的工作,而流程定义了工作的完成方式或工作应该如何完成。进入他们三个的计算意义,这里是一个简单的介绍——1. 过程:进程是一个正在执行的程序。程序可以定义为一组指令。程序是被动实体,进程是主动实体。当我们执行一个程序...

  进程同步中的监视器

📅  最后修改于: 2022-05-13 01:56:11.681000        🧑  作者: Mango

进程同步中的监视器监视器是实现进程同步的方式之一。监视器由编程语言支持,实现进程间的互斥。例如Java同步方法。 Java提供了 wait() 和 notify() 构造。它是条件变量和过程的集合,它们组合在一种特殊的模块或包中。在监视器外运行的进程不能访问监视器的内部变量,但可以调用监视器的过程。一次只有一个进程可以执行监视器内的代码。句法:条件变量:对监视器的条件变量执行两种不同的操作。假设我...

  I/O 软件的目标

📅  最后修改于: 2022-05-13 01:56:11.684000        🧑  作者: Mango

I/O 软件的目标I/O 软件用于与鼠标、键盘、USB 设备、打印机等 I/O 设备交互。 I/O 软件按以下方式组织:用户级库——提供一个简单的界面来为输入输出功能编程。内核级模块- 提供设备驱动程序以与设备独立 I/O 模块和设备控制器交互。硬件- 包括硬件控制器和与设备驱动程序交互的实际硬件的层。I/O 软件的目标这里讲一下I/O软件的目标统一命名:例如,操作系统中文件系统的命名是以用户不必...

  使用监视器(pthreads)的读写器问题

📅  最后修改于: 2022-05-13 01:56:11.688000        🧑  作者: Mango

使用监视器(pthreads)的读写器问题先决条件——监视器,读写器问题有一个共享资源可供多个进程访问,即读取器和写入器。任意数量的读者可以同时从共享资源中读取,但一次只有一个写入者可以写入共享资源。当写入者将数据写入资源时,其他进程无法访问该资源。如果当时有任何读者访问资源,则作者无法写入资源。类似地,如果有作者访问资源或有任何等待的作者,则读者无法读取。使用监视器的读写器问题可以使用 pthr...

  死锁、饥饿和活锁

📅  最后修改于: 2022-05-13 01:56:11.692000        🧑  作者: Mango

死锁、饥饿和活锁先决条件 - 死锁和饥饿当两个或多个进程不断重复相同的交互以响应其他进程的变化而不做任何有用的工作时,就会发生活锁。这些进程不处于等待状态,它们是并发运行的。这与死锁不同,因为在死锁中所有进程都处于等待状态。例子:想象一下使用两种资源的一对进程,如图所示:这两个进程中的每一个都需要这两种资源,并且它们使用轮询原语 enter_reg 来尝试获取它们所需的锁。如果尝试失败,该过程将再...