操作系统
文章平均质量分 95
_Jerry_...
明心见性,Github:https://github.com/jerry609
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
并发笔记-并发问题与事件驱动模型(五)
ostep并发章节笔记以及设计思想总结。原创 2025-05-12 15:49:59 · 1426 阅读 · 0 评论 -
并发笔记-信号量(四)
信号量是一个具有整数值sem_wait()尝试减少信号量的值。如果信号量的值在减少后变为负数,则调用线程将被阻塞 (block)并进入休眠状态,直到其他线程通过sem_post()增加信号量的值使其不再为负。如果信号量的值在减少后大于等于零,则线程继续执行。sem_post()增加信号量的值。如果增加后,有其他线程因为等待该信号量而阻塞,则系统会唤醒其中一个(或多个,取决于实现)等待的线程。在使用信号量之前,必须将其初始化为一个特定的整数值。这个初始值决定了信号量的行为。原创 2025-05-12 15:26:00 · 1063 阅读 · 0 评论 -
并发笔记-条件变量(三)
条件变量 (Condition Variable - CV)是一种显式的队列,线程可以在某个条件不满足时,将自己放入这个队列中并进入休眠状态(通过等待该条件)。当其他线程改变了可能影响该条件的状态时,它可以通知 (signal)一个或多个正在等待该条件的休眠线程,唤醒它们以重新检查条件并继续执行。条件变量的思想可以追溯到 Dijkstra 的“私有信号量 (private semaphores)”和 Hoare 在其监视器 (Monitors) 工作中提出的“条件变量”。(还需要正确初始化)原创 2025-05-11 20:59:31 · 1016 阅读 · 0 评论 -
并发笔记-给数据上锁(二)
并发数据结构的相关笔记。参考ostep原创 2025-05-11 20:54:56 · 1259 阅读 · 0 评论 -
AQS(AbstractQueuedSynchronizer)解析
AQS是包下的一个抽象类,它是构建锁和同步组件(如ReentrantLock, Semaphore, CountDownLatch, ReentrantReadWriteLock, FutureTask等)的基础框架。理解AQS是掌握Java并发包高级用法的关键。在深入AQS的队列之前,有必要了解一下原始的CLH锁(Craig, Landin, and Hagersten lock)。CLH锁是一种基于链表的可扩展、高性能、公平的自旋锁。原始CLH锁的核心思想:隐式链表结构。原创 2025-05-11 19:24:20 · 1102 阅读 · 0 评论 -
并发笔记-锁(一)
并发基础-锁的概念笔记。原创 2025-05-11 14:56:56 · 969 阅读 · 0 评论 -
虚拟内存笔记(三)虚拟内存替换策略与机制
虚拟内存策略和机制总结笔记。详细代码见:https://github.com/jerry609/Lab.git原创 2025-05-11 09:25:49 · 1232 阅读 · 0 评论 -
LINUX CFS算法解析
linux cfs算法解析笔记。原创 2025-05-09 20:36:01 · 1354 阅读 · 0 评论 -
缓冲区溢出分析
回顾核心发现:独立运行时buffer的实际起始地址是0xffffcf90。基于此,计算出 NOP Sled 的预期起始地址应该是。你的exploit.c(在使用时) 成功地将返回地址覆盖为了0xffffcfac。并且,你的exploit.c在构造 payload 时,紧跟在0xffffcfac(作为返回地址写入) 之后的就是 NOP Sled 的0x90字节。当bof函数ret时,EIP 寄存器确实被设置成了0xffffcfac(如你预期的那样)。然而,CPU 并没有从。原创 2025-05-08 18:52:24 · 1339 阅读 · 1 评论 -
虚拟内存笔记(二) TLB
TLB原创 2025-05-03 16:01:08 · 1158 阅读 · 0 评论 -
虚拟内存笔记(一)
虚拟内存管理是操作系统的重要功能,它允许程序使用超过物理内存的内存空间。分段和分页是两种主要的技术,分段将内存分为可变大小的段,而分页则将内存分为固定大小的页。研究表明,操作系统从分段转向分页是为了解决分段的局限性,如外部碎片和低效的内存交换。分页:将物理内存和虚拟内存划分为固定大小的页(例如4KB)。进程的地址空间被划分为页,操作系统通过页表将虚拟页映射到物理页框(frame)。这种方法允许非连续内存分配,适合现代操作系统。分段。原创 2025-04-30 10:51:26 · 826 阅读 · 0 评论 -
CPU 虚拟化机制——受限直接执行 (LDE)
=第 二个阶段(运行进程时),==在使用从陷阱返回指令开始执行进程之前,内核设置了一些内容(例 如,在进程列表中分配一个节点,分配内存)。这通常会返回到一些存根代码,它将正确退 出该程序(例如,通过调用 exit()系统调用,这将陷入 OS 中)。通过 LDE 机制解释了如何虚拟化 CPU的核心思想是让程序直接运行,但预先设置好硬件限制(用户/内核模式、陷阱处理、时钟中断),就像给房间做“宝宝防护 (baby proofing)”一样。,内核初始化陷阱表,并且 CPU 记住它 的位置以供随后使用。原创 2025-04-24 19:55:04 · 720 阅读 · 0 评论 -
操作系统进程管理笔记
进程就是运行中的程序。程序本身是没有生命周期的,它只是存在磁盘上面的一些指令(也可能是一些静态数据)。是操作系统让这些字节运行起来,让程序发挥作用。ASLR是一种安全技术,通过随机化进程的内存地址布局,防止攻击者利用已知的内存地址执行恶意代码。原创 2025-04-24 19:36:38 · 1766 阅读 · 0 评论
分享