- 博客(3)
- 收藏
- 关注
原创 Linux内核设计与实现学习笔记(十二)
12.1页内核把物理页作为内存管理的基本单位。处理器的最小可寻址单位为字节。然而从虚拟内存的角度看,页就是最小单位。内核用struct page结构表示系统中的吗每个物理页,位于<linux/mm_types.h>中。struct page{ unsigned long flags;//页的装填 atomic_t _count;//页的引用计数 atomic_t _mapcount; u
2022-05-12 13:49:47
211
原创 Linux内核设计与实现学习笔记(九-十)
(九)内核同步介绍9.1临界区和竞争条件临界区:访问和操作共享数据的代码段。多个执行线程并发的访问同一资源通常是不安全的,为了避免在临界区中并发的访问,必须保证这些代码原子的执行。避免并发和防止竞争条件称为同步。9.2加锁以请求队列为例,可以使用一个单独的锁进行保护,每当有一个新请求要加入队列,线程会首先站住锁,这样就可以安全的将请求加入请求队列中,结束操作后在释放锁。可见锁机制可以防止并发执行,并且保护队列不受竞态条件的影响。造成并发执行的原因:用户空间需要同步,因为用户程序会被调度程
2022-05-11 20:38:55
371
原创 常见排序算法(迭代及递归)
归并排序(递归):#include <iostream>#include <stdlib.h>#include <stdio.h>#include <string.h>#include <vector>using namespace std;void MergeSort(int* arr,int left,int right,int* temp);int main(){ int arr[]={44,3,38,5
2022-05-11 19:19:59
194
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人