数据结构

  • 内存分段机制详解

    通过学习内存分配的方式我们知道,用户的内存视图与实际的物理内存不一样。这同样适用于程序员的内存视图。 事实上,对操作系统和程序员来说,按物理性质来处理内存是不方便的。如果硬件可以提…

    编程笔记 2021年7月20日
  • 多处理器调度完全攻略

    迄今为止,我们主要集中讨论单处理器系统的 CPU 调度问题。如果有多个 CPU,则负载分配成为可能,但是调度问题就相应地更为复杂。许多可能的方法都已试过,但与单处理器调度一样,没有…

    编程笔记 2021年7月20日
  • 什么是CPU调度,CPU调度完全攻略

    CPU调度是多道程序操作系统的基础。通过在进程间切换 CPU,操作系统可以使得计算机更加高效。 对于单处理器系统,同一时间只有一个进程可以运行;其他进程都应等待,直到 CPU 空闲…

    编程笔记 2021年7月20日
  • 什么是死锁,死锁的原因及解决办法(含四个必要条件)

    在多道程序环境中,多个进程可以竞争有限数量的资源。当一个进程申请资源时,如果这时没有可用资源,那么这个进程进入等待状态。有时,如果所申请的资源被其他等待进程占有,那么该等待进程有可…

    编程笔记 2021年7月20日
  • 操作系统的设计和实现过程

    本节讨论操作系统设计和实现面临的问题。虽然这些问题没有完整的解决方案,但是有些方法还是行之有效的。 设计目标 系统设计的首要问题是,定义目标和规范。从高层来说,系统设计取决于所选硬…

    编程笔记 2021年7月20日
  • 操作系统组织数据的方法(详解版)

    下面讨论操作系统实现的一个核心问题:系统如何组织数据。本节简要讨论多个基本数据结构,它们在操作系统中用得很多。 列表、堆栈及队列 数组是个简单的数据结构,它的元素可被直接访问。例如…

    编程笔记 2021年7月20日
  • 操作系统的体系结构(单处理器、多处理器和集群)

    前面章节中,我们从操作系统的运行过程、存储结构以及I/O结构介绍了典型计算机系统的通用结构。计算机系统可能通过许多不同途径来组成,这里根据采用的通用处理器数量来进行粗略分类。 单处…

    编程笔记 2021年7月20日
  • ln命令_Linux ln命令:创建文件链接

    ln 是一个很神奇的命令,它可以创建一个文件的影子,也可以通过一个通道进入另一个地方。其实,所有的这些把戏都是通过软链接和硬链接来实现的。本文不会花太多篇幅来深入解释“…

    编程笔记 2021年7月20日
  • C语言指针的声明

    指针(pointer)是对数据对象或函数的一种引用。指针有多种用途,例如定义“传址调用”函数,它还可以实现动态数据结构,例如链表和树。 通常,管理大量数据的…

    编程笔记 2021年7月20日
  • C语言指针的初始化以及什么是空指针和void指针

    指针(pointer)是对数据对象或函数的一种引用。指针有多种用途,例如定义“传址调用”函数,它还可以实现动态数据结构,例如链表和树。接下来我们来介绍如何初…

    编程笔记 2021年7月20日