
操作系统
wuyue五月
这个作者很懒,什么都没留下…
展开
-
IPC通信比较
IPC通信1、单工单工就是指A只能发信号,而B只能接收信号,通信是单向的,就象灯塔之于航船——灯塔发出光信号而航船只能接收信号以确保自己行驶在正确的航线上。 2、半双工半双工就是指A能发信号给B,B也能发信号给A,但这两个过程不能同时进行。最典型的例子就象我们在影视作品中看到的对讲机一样:3、全双工比半双工又进了一步。在A给B发信号的同时,B也可以给A发信号。典型的例转载 2014-04-03 15:54:45 · 997 阅读 · 0 评论 -
进程的虚拟内存,物理内存,共享内存
想必在Linux上写过程序的同学都有分析进程占用多少内存的经历,或者被问到这样的问题——你的程序在运行时占用了多少内存(物理内存)?通常我们可以通过top命令查看进程占用了多少内存。这里我们可以看到VIRT、RES和SHR三个重要的指标,他们分别代表什么意思呢?这是本文需要跟大家一起探讨的问题。当然如果更加深入一点,你可能会问进程所占用的那些物理内存都用在了哪些地方?这时候top命令可能不能给到你转载 2016-10-23 17:37:43 · 11129 阅读 · 1 评论 -
UNIX 如何使用交换空间
所有 UNIX 操作系统都支持某种虚拟内存 (VM) 系统。使用 VM 系统,您有两个主要区域来存储有关活动应用程序及其使用的数据的信息——物理随机访问存储器 (RAM) 和硬盘驱动器上分配的空间。在具有 VM 的计算机中,可加载到内存中的应用程序和数据量可以大于物理 RAM,因为没有活动地使用的应用程序和信息被交换 到了磁盘上(交换空间 这个术语由此得名)。VM 系统的优点在于,转载 2016-09-06 20:15:23 · 622 阅读 · 0 评论 -
内存区域分配与ELF 之类的关系
转载地址:http://blog.youkuaiyun.com/love_gaohz/article/details/41310597一.在学习之前我们先看看ELF文件。ELF分为三种类型:.o 可重定位文件(relocalble file),可执行文件以及共享库(shared library),三种格式基本上从结构上是一样的,只是具体到每一个结构不同。下面我们就从整体上看看这转载 2016-08-30 13:22:34 · 4138 阅读 · 0 评论 -
用户级线程和内核级线程
转载地址:http://blog.sina.com.cn/s/blog_aed82f6f0102vxm9.html1.内核级线程:(1)线程的创建、撤销和切换等,都需要内核直接实现,即内核了解每一个作为可调度实体的线程。(2)这些线程可以在全系统内进行资源的竞争。(3)内核空间内为每一个内核支持线程设置了一个线程控制块(TCB),内核根据该控制块,感知线程的存在转载 2016-06-26 19:18:11 · 4787 阅读 · 0 评论 -
信号
最近有个child process block main process的问题,希望能够用信号跳出block,所以搜索到了一个比较好的资料,在这里mark!来源:http://www.crazyhadoop.com/2011/04/04/%E5%85%AB%E4%BF%A1%E5%8F%B7/===========================================转载 2015-03-29 21:19:28 · 529 阅读 · 0 评论 -
守护进程的单实例实现
守护进程的单实例实现为了正常工作,守护进程应该实现为单实例的,也就是在任一时刻只运行该守护进程的一个副本,因为这个守护进程要排它的访问一个设备。这里需要用到文件锁的机制,如果守护进程创建一个文件,并且在整个文件上加上一把锁,那就只允许创建一把这样的写锁,在此之后如果试图再创建一把这样的写锁就将失败,以此向续守护进程副本指明已经有一个副本正在运行。而这个锁文件通常都放在/var/run目转载 2015-03-28 21:24:04 · 499 阅读 · 0 评论 -
内核信号的实现
信号的概念大家不陌生。经常使用的kill命令,可以先运行的进程发送信号,运行进程在收到信号后,做出相应的处理。在用户态程序中关于信号的编程,主要有如下的特点1、程序可以给不同的信号安装特定的handler程序,这个handler有一定的格式,由用户程序提供2、应用程序可以配置,阻塞一些信号,使得程序可以不响应这些信号3、信号一般有默认的handler处理流程,应用程序如果不主动设置ha转载 2015-03-26 23:07:37 · 694 阅读 · 0 评论 -
分享实用工具源码--实现Windows IDE中查看Linux下编译信息
作者:fbysss msn:jameslastchina@hotmail.comblog:blog.youkuaiyun.com/fbysss 声明:本文由fbysss原创,转载请注明出处关键字: 实用工具源码 Windows下查看Linux编译信息一、背景:本人写C程序不多,更不用说Linux下了。偶然一个机会,接了个这样的活,vi我用的还马马虎虎,但程序超过一千行,看起来就有些眼花了转载 2014-10-30 22:47:10 · 1267 阅读 · 0 评论 -
SecureCRT连接VMWare中Linux
转者严正声明:网络上关于SecureCRT连VMWare中linux的博客大部分都带有误导人的意味,我也深受其害,当然也不能怪别人,至少我在看博客的时候学到了不少的东西,之前按照下面的博客配置,确实能用SecureCRT连VMWare中的linux,但是导致了意外的一个问题,就是VMWare中的linux将不能上网。现在总结下来,其实真的很简单,要实现既能用SecureCRT连VMWare中的li转载 2014-11-10 14:04:15 · 589 阅读 · 0 评论 -
C++ 内存分配方式 堆与栈的区别
在C++中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清楚的变量的存储区。里面的变量通常是局部变量、函数参数等。堆,就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个delete。如果程序员没有释放掉,那么在程序结束后,操作系统会自动回收。原创 2014-04-08 22:39:18 · 725 阅读 · 0 评论 -
程序占用的内存分析
转载地址:http://blog.youkuaiyun.com/luansxx/article/details/7702030OP显示的占用内存是进程的虚拟内存,我们需要了解的是程序实际占用内存的量,也就是物理内存占用。虚拟内存的地址和实际物理内存的地址之间有对应关系,这个关系是操作系统维护的,CPU负责根据这个对应关系进行地址转换。这种对应关系标准的说法叫“内存映射”。内存映射以页面映射形式转载 2016-10-23 17:38:29 · 3506 阅读 · 0 评论