操作系统
文章平均质量分 55
知识积累
djykkkkkk
这个作者很懒,什么都没留下…
展开
-
操作系统 内存管理篇
装入方式:链接方式: 分配方式:分页:页面大小一致引入快表(和 cache 处理思路一致)升级到二级页表 分段:段大小不一致 分页和分段区别: 段页式: 参考:408操作系统第三章1-内存管理(分页,分段,连续存储)及真题讲解_哔哩哔哩_bilibili原创 2023-12-24 22:38:48 · 442 阅读 · 0 评论 -
程序运行时,数据分布在内存的哪些区域?
在程序运行时,可以通过像 malloc/free、new/delete 这样的函数来动态分配内存,这些内存分配的地址位于堆区。在函数调用时,会在栈上分配内存来存储这些数据,函数返回时,这些内存会被释放。这些变量的值在程序运行之前就已经被初始化,所以它们的值会保存在可执行文件中。在程序加载时,BSS段会被初始化为0或者空指针,因此不需要保存在可执行文件中。存储程序的机器指令。这部分内存通常是只读的,因为程序在运行时不应该修改自身的代码。存储全局变量和静态变量(包括全局静态变量和局部静态变量)的内存区域。原创 2023-12-13 21:45:26 · 399 阅读 · 0 评论 -
常用的线程锁
互斥锁(Mutex Lock)用于保护共享资源,一次只允许一个线程访问共享资源,其他线程需要等待锁释放后才能访问。互斥锁是最常见的锁类型,用于避免多个线程同时访问共享资源而导致的数据竞争和不一致性。读写锁(Read-Write Lock)允许多个线程同时对共享资源进行读操作,但在有写操作时需要互斥访问。读写锁可以提高并发性能,适用于读操作频繁、写操作较少的场景。自旋锁(Spin Lock)当线程尝试获取锁时,如果锁已被其他线程占用,该线程会一直循环(自旋)等待锁释放。原创 2023-12-12 21:52:57 · 1080 阅读 · 0 评论 -
进程和线程
与进程不同的是同类的多个线程共享进程的堆和方法区资源,但每个线程都有自己的程序计数器、虚拟机栈和本地方法栈,所以系统再产生一个线程,或者是在各个线程之间作切换工作时,负担都要比进程之间的切换小得多,也正因此,:进程中的一个执行任务(控制单元),负责当前进程中程序的执行。一个进程至少有一个线程,一个进程可以运行多个线程,多个线程可以共享数据。:一个内存中运行的应用程序。每个进程都有自己独立的一块内存空间,一个进程可以有多个线程。原创 2023-11-14 22:42:17 · 120 阅读 · 0 评论 -
windows常用命令
windows知识原创 2023-10-17 23:07:03 · 611 阅读 · 0 评论 -
shell 脚本工具(三剑客)
awk grep sed原创 2023-09-09 22:30:55 · 792 阅读 · 0 评论