![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
操作系统
不舍驽马
在校学生
展开
-
对找工作功不可没——评《深入理解计算机系统》
http://book.51cto.com/art/201103/249824.htm引子:在我刚刚进入中科院计算所读研的时候,同宿舍的师兄便向我推荐了一本《深入理解计算机系统》,这本书从一个程序员的视角详细剖析了整个计算机系统,涵盖了组成原理、汇编语言、体系结构、操作系统、网络等计算机基础知识。由于时间所限,我并没有立刻阅读,而是将其列入了找工作前的复习书单。2010转载 2015-07-25 22:26:46 · 341 阅读 · 0 评论 -
四层和七层负载均衡
http://kb.cnblogs.com/page/188170/http://blog.csdn.net/caoshuming_500/article/details/7337802(一) 简单理解四层和七层负载均衡: ① 所谓四层就是基于IP+端口的负载均衡;七层就是基于URL等应用层信息的负载均衡;同理,还有基于MAC地址的二层负载均衡和基于IP转载 2015-08-18 22:57:13 · 332 阅读 · 0 评论 -
信号量、互斥体和自旋锁
http://www.cnblogs.com/biyeymyhjob/archive/2012/07/21/2602015.html一、信号量 信号量又称为信号灯,它是用来协调不同进程间的数据对象的,而最主要的应用是共享内存方式的进程间通信。本质上,信号量是一个计数器,它用来记录对某个资源(如共享内存)的存取状况。一般说来,为了获得共享资源,进程需要执行下列操转载 2015-08-03 22:52:33 · 335 阅读 · 0 评论 -
高并发网络编程之epoll详解
http://www.cricode.com/3499.html在linux 没有实现epoll事件驱动机制之前,我们一般选择用select或者poll等IO多路复用的方法来实现并发服务程序。在大数据、高并发、集群等一些名词唱得火热之年代,select和poll的用武之地越来越有限,风头已经被epoll占尽。本文便来介绍epoll的实现机制,并附带讲解一下select和转载 2015-08-03 18:54:43 · 274 阅读 · 0 评论 -
Linux写时拷贝技术(copy-on-write)
http://www.cnblogs.com/biyeymyhjob/archive/2012/07/20/2601655.htmlLinux写时拷贝技术(copy-on-write)源于网上资料COW技术初窥: 在Linux程序中,fork()会产生一个和父进程完全相同的子进程,但子进程在此后多会exec系统调用,出于效率考虑,linux中引入了转载 2015-08-03 22:55:09 · 323 阅读 · 0 评论 -
多进程和多线程的区别
http://m.blog.csdn.net/blog/leolinsheng/12979473关于多进程和多线程,教科书上最经典的一句话是“进程是资源分配的最小单位,线程是CPU调度的最小单位”。这句话应付考试基本上够了,但如果在工作中遇到类似的选择问题,那就没有那么简单了,选的不好,会让你深受其害。所以他也是面试者最喜欢考察的题目之一。我们按照多个不同的维度,来看看多进程和转载 2015-08-03 18:12:40 · 269 阅读 · 0 评论 -
Memory barrier(内存屏障)
理解 Memory barrier(内存屏障)http://name5566.com/4535.html一句话解说内存屏障 Memory barrier http://blog.chinaunix.net/uid-20384806-id-1954383.html转载 2015-08-03 12:05:41 · 437 阅读 · 0 评论 -
从一道面试题谈linux下fork的运行机制
http://www.cnblogs.com/leoo2sk/archive/2009/12/11/talk-about-fork-in-linux.html今天一位朋友去一个不错的外企面试linux开发职位,面试官出了一个如下的题目: 给出如下C程序,在linux下使用gcc编译:123456转载 2015-08-14 00:22:55 · 275 阅读 · 0 评论 -
多线程造成死锁的例子
1、假设有如下代码 pthread_mutex_t mutex; //代表一个全局互斥对象 void A() { mutex.lock(); //这里操作共享数据 B(); //这里调用B方法 mutex.unlock();原创 2015-08-13 22:51:09 · 2110 阅读 · 0 评论 -
面试常考点:虚假唤醒 Spurious wakeup
https://en.wikipedia.org/wiki/Spurious_wakeupSpurious wakeup describes a complication in the use of condition variables as provided by certain multithreading APIs such as POSIX Threads and t转载 2015-08-01 15:35:19 · 3276 阅读 · 0 评论 -
自旋锁和互斥锁区别
POSIX threads(简称Pthreads)是在多核平台上进行并行编程的一套常用的API。线程同步(Thread Synchronization)是并行编程中非常重要的通讯手段,其中最典型的应用就是用Pthreads提供的锁机制(lock)来对多个线程之间共 享的临界区(Critical Section)进行保护(另一种常用的同步机制是barrier)。Pthreads提供了多种锁机转载 2015-08-25 01:17:10 · 333 阅读 · 0 评论 -
线程上下文切换和进程上下文切换的区别
http://www.godoone.com/archives/context-thread-progress.html线程上下文切换和进程上下问切换一个最主要的区别是线程的切换虚拟内存空间依然是相同的,但是进程切换是不同的。这两种上下文切换的处理都是通过操作系统内核来完成的。内核的这种切换过程伴随的最显著的性能损耗是将寄存器中的内容切换出。另外一个隐藏的损耗是上下文的切换会扰转载 2015-07-28 13:53:27 · 625 阅读 · 0 评论 -
轻松搞定面试中的红黑树问题
http://blog.csdn.net/silangquan/article/details/186557951.stl中的set底层用的什么数据结构?2.红黑树的数据结构怎么定义的?3.红黑树有哪些性质?4.红黑树的各种操作的时间复杂度是多少?5.红黑树相比于BST和AVL树有什么优点?6.红黑树相对于哈希表,在选择使用的时候有什么依转载 2015-08-08 23:07:19 · 510 阅读 · 0 评论 -
用户空间与内核空间数据交换之mmap
在阅读以下测试程序之前先要搞清楚驱动程序中__get_free_pages的用法:unsigned long __get_free_pages(unsigned int gfp_mask, unsigned int order)This function works the same as alloc_pages(), except that it directly retur原创 2015-10-15 16:11:33 · 742 阅读 · 0 评论