数据结构

  • C++链表及其创建

    链表是由一系列连接在一起的结点构成,其中的每个结点都是一个数据结构。 链表的结点通常是动态分配、使用和删除的,允许链表在程序运行时增大或缩小。如果需要将新信息添加到链表中,则程序只…

    编程笔记 2021年7月20日
  • STL是什么(STL简介)

    本节主要讲述 STL 历史、STL 组件、STL 基本结构以及 STL 编程概述。 STL 历史可以追溯到 1972 年 C 语言在 UNIX 计算机上的首次使用。直到 1994 …

    编程笔记 2021年7月20日
  • 什么是C++面向对象编程

    目前最常用的编程方法有两种,即:过程式编程和面向对象编程(Object-Oriented Programming, OOP)。 过程式编程是一种以执行程序操作的过程或函数为中心编写…

    编程笔记 2021年7月20日
  • 连续分配、链接分配和索引分配详解

    磁盘直接访问的特点在文件实现时提供了灵活性。在几乎每种情况下,很多文件都是存储在同一个磁盘上的。主要的问题是,如何为这些文件分配空间,以便有效使用磁盘空间和快速访问文件。 磁盘空间…

    编程笔记 2021年7月20日
  • 磁盘管理(磁盘格式化,引导块和坏块)详解

    操作系统还负责磁盘管理的其他几个方面。本节讨论磁盘初始化、磁盘引导、坏块恢复等。 磁盘格式化 一个新的磁盘是一个空白盘,它只是一个磁性记录材料的盘子。在磁盘可以存储数据之前,它必须…

    编程笔记 2021年7月20日
  • 伙伴系统和slab内存分配机制详解

    当在用户模式下运行进程请求额外内存时,从内核维护的空闲页帧列表上分配页面。这个列表通常使用页面置换算法来填充,如前所述,它很可能包含散布在物理内存中的空闲页面。也要记住,如果用户进…

    编程笔记 2021年7月20日
  • 什么是系统抖动,系统抖动及解决方法详解

    如果低优先级进程所分配的帧数低于计算机体系结构所需的最小数量,那么必须暂停该进程执行。然后,应调出它的所有剩余页面,以便释放所有分配的帧。这个规定引入了中级 CPU 调度的换进换出…

    编程笔记 2021年7月20日
  • 页面置换算法及其优缺点详解

    本节,讨论几种页面置换算法。为此,假设有 3 个帧并且引用串为: 7,0,1,2,0,3,0,4,2,3,0,3,2,1,2,0,1,7,0,1 FIFO页面置换 FIFO 算法是…

    编程笔记 2021年7月20日
  • 页表结构完全攻略

    本节我们将探讨组织页表的一些最常用技术,包括分层分页、哈希页表和倒置页表。 分层分页 大多数现代计算机系统支持大逻辑地址空间(232〜264)。在这种情况下,页表本身可以非常大。例…

    编程笔记 2021年7月20日
  • 内存分页机制完全攻略

    分段允许进程的物理地址空间是非连续的。分页是提供这种优势的另一种内存管理方案。然而,分页避免了外部碎片和紧缩,而分段不可以。 不仅如此,分页还避免了将不同大小的内存块匹配到交换空间…

    编程笔记 2021年7月20日