自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(4)
  • 收藏
  • 关注

原创 Linux:并发与同步(二)----排队自旋锁、互斥锁及源码分析

然而,自旋锁(spinlock)和其他锁不同,虽然它们存在于进程中,但对一个 CPU 来说,自旋锁的数量是固定的。最终,通过自旋锁和等待机制确保锁的正确获取,同时处理各种错误和信号情况。​ 顾名思义,即认为锁的持有者正在临界区执行时,可以断定锁的持有者可以很快退出临界区并且释放该锁,比起进入睡眠队列,不如像自旋锁一样等待,由于睡眠和唤醒付出的代价可能更高。MUTEX_FLAG_HANDOFF:对互斥锁的等待队列中的第一个等待者会设置这个标志位,锁持有者在解锁的时候把锁直接传递给第一个等待者。

2024-06-17 21:32:10 726 3

原创 Linux:并发与同步(一)

本博客将深入探讨Linux中的并发与同步机制,从原理到实践,逐步揭示其中的奥秘。我们将介绍Linux中常见的并发编程概念,例如进程、线程、锁和信号量,以及它们在实际应用中的使用技巧和最佳实践。​ 并发访问,指的是多个内核代码路径同时访问和操作数据,这个代码可执行路径有以下几种情况:​ 临界区指的是访问和操作共享数据的代码段,其中的资源不能被多个执行线程访问。为了防止并发访问,就需要保证访问临界区的原子性,即在临界区内不能有多个并发源同时执行。​ 在内核中产生并发访问的并发源主要有以下几种,但是分单处理器系统

2024-06-11 23:52:04 978 2

原创 打印虚拟地址空间中的字段

预处理(Prepressing)—>编译(Compilation)—>汇编(Assembly)—>链接(Linking)gcc -E test.c -o test.i命令,可以查看预处理之后的test.i文件,预处理器把所有的头文件替换为实际文件的内容,并去掉了注释等等。gcc -S test.c -o test.s命令,可以查看编译后的汇编代码:接下来是汇编,将编译后的汇编代码翻译为机器码,几乎每一条汇编指令对应一句机器码。

2023-10-16 15:50:58 114 1

原创 【哈尔滨工业大学李治军】操作系统学习笔记:系统调用及【实验 3】系统调用实现

操作系统接口连接了上层用户和操作系统软件。命令行首先应用程序编写的程序将编译成一个可执行文件。而与此同时,系统在刚开始的初始化完成后,会循环停留在shell里(可以理解为桌面,不断等你施加命令),当用户输入命令行指令后,系统将运行上面的那个可执行文件。图形按钮由getmessage函数把消息从内核的队列中抽出来,然后根据消息调用消息处理函数,做相应的反应。操作系统接口(系统调用)操作系统接口连接谁?连接操作系统和应用软件,并不是直接与硬件交互了。如何连接?

2023-10-11 13:34:52 443 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除