
Linux笔记
文章平均质量分 68
画上折枝
小小咸鱼
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Linux笔记记录1 fork()
当当当~fork()的使用原创 2017-09-01 11:29:48 · 338 阅读 · 0 评论 -
Linux笔记记录3 exec
(≡ω≡.)笔记记得乱七八糟的 整理的时候总是发表完才想起来好像少了什么。 ------------------------------------------------------------------------------------------------ 看完fork就要轮到exec函数族了。 其实我们用fork创建完子进程后还需要调用一种exec函数,fork+exec得到的原创 2017-09-01 16:49:41 · 286 阅读 · 0 评论 -
Linux笔记记录2 do_fork
(´・ω・`)给自己的小小提醒:刚才看了一个大大写的关于fork的博文超级棒 加收藏了,要记得看啊 ---------------------------------------------------------------------------------------------------------------------------------- 首先来看三个系统调用: sys原创 2017-09-01 15:08:59 · 368 阅读 · 0 评论 -
Linux笔记记录5 写时拷贝
首先可以先看一下《LINUX内核设计与实现》中相关内容: 传统的fork()系统调用创建子进程会把所有的资源也复制给新的进程。这种实现效率低下,因为他拷贝的数据也许可以共享。 如果新进程打算立即执行一个新的映像那么所有的拷贝都将前功尽弃。 Linux的fork()使用写时拷贝页实现。 所谓的写时拷贝,是fork()时并不复制整个进程地址空间,而是先让父子进程共享同一拷贝,只有需要写入即才会原创 2017-11-06 18:59:40 · 255 阅读 · 0 评论 -
CPU的CAS操作
CAS(compare and wasp)比较并操作,解决多线程并行情况下使用锁造成性能损耗的机制。 所以在写CAS之前先说说基于锁的编程的都有哪些缺点。 以下内容参考网上现有资料。 锁的缺点: 多线程编程中 我们一般会使用各种锁来确保对共享资源的访问和操作,需要共享的数据要对它的访问串行化。 修改共享数据的操作必须以原子操作的形式出现才能保证不被其它线程破坏相应数据。原创 2017-11-07 18:48:16 · 5418 阅读 · 0 评论 -
Linux笔记记录4 kmalloc/vmalloc
malloc(开辟用户内存) kmalloc(开辟内核内存) 1、保证分配的内存物理连续 2、能分配的大小有限 3、使用slab内存分配机制 #include void *kmalloc(size_t size,int flags); 它的第一个参数是要分配的块大小,第二个参数是分配标志。 4、最大能开辟128k-16 16个字节被页描述符占用 5、通过分配非连续的物理原创 2017-11-05 20:55:27 · 221 阅读 · 0 评论