04 2023 档案
摘要:一.初识Linux 1.Linux系统内核 内核提供了Linux系统的主要功能,如硬件调度管理的能力。 Linux内核是免费开源的,任何人都可以查看内核的源代码,甚至是贡献源代码。 2.Linux系统发行版 内核无法被用户直接使用,需要配合应用程序才能被用户使用。在内核之上,封装系统级应用程序,组合
阅读全文
摘要:一.基础认知 1.个人理解 替换算法是用于管理高速缓存(Cache)中数据的一种策略,当高速缓存已满并需要为新的数据腾出空间时,替换算法会决定哪些数据应该被从高速缓存中替换出去。 2.基础认知 首先,我们需要知道计算机的组成原理,在其中计算机可以划分为cache-主存和主存-辅存两种层级结构,而平时
阅读全文
摘要:一.认识链接库 1.1库 计算机中,有些文件专门用于存储可以重复使用的代码块,例如功能实用的函数或者类,我们通常将它们称为库文件,简称“库”(Library)。 以 C 语言为例,如下为大家展示的就是一个函数库: //Math.c int add(int a, int b) { return a +
阅读全文
摘要:一.队列 队列是一种具有先进先出(FIFO)特性的线性数据结构,它只允许在队列的两端进行插入和删除操作。队列的一端称为队尾(rear),另一端称为队头(front)。新元素总是插入在队列的队尾,而从队列中删除元素时则总是删除队头元素。 由于队列具有FIFO特性,因此队列通常用于需要按照顺序处理数据的
阅读全文
摘要:
一.银行家算法 1.由来 银行家算法最初是由荷兰计算机科学家艾兹赫尔·迪杰斯特拉(Edsger W. Dijkstra)于1965年提出的。当时他正致力于解决多道程序设计中产生的死锁问题。在多道程序设计中,由于不同进程之间共享有限的系统资源,如内存、I/O设备等,因此存在一个进程等待其他进程释放资源
阅读全文

摘要:一.多线程 1.什么是线程 要了解线程,首先需要知道进程。一个进程指的是一个正在执行的应用程序。线程对应的英文名称为“thread”,它的功能是执行应用程序中的某个具体任务,比如一段程序、一个函数等。 线程和进程之间的关系,类似于工厂和工人之间的关系,进程好比是工厂,线程就如同工厂中的工人。一个工厂
阅读全文