一、Linux进程间通信ipc(Inter-Process Communication)
几种主要手段简介:
管道(Pipe)及有名管道(named pipe):管道可用于具有亲缘关系进程间的通信,有名管道克服了管道没有名字的限制,因此,除具有管道所具有的功能外,它还允许无亲缘关系进程间的通信;
信号(Signal):信号是比较复杂的通信方式,用于通知接受进程有某种事件发生,除了用于进程间通信外,进程还可以发送信号给进程本身;linux除了支持Unix早期信号语义函数sigal外,还支持语义符合Posix.1标准的信号函数sigaction(实际上,该函数是基于BSD的,BSD为了实现可靠信号机制,又能够统一对外接口,用sigaction函数重新实现了signal函数);
报文(Message)队列(消息队列):消息队列是消息的链接表,包括Posix消息队列system V消息队列。有足够权限的进程可以向队列中添加消息,被赋予读权限的进程则可以读走队列中的消息。消息队列克服了信号承载信息量少,管道只能承载无格式字节流以及缓冲区大小受限等缺点。
共享内存:使得多个进程可以访问同一块内存空间,是最快的可用IPC形式。是针对其他通信机制运行效率较低而设计的。往往与其它通信机制,如信号量结合使用,来达到进程间的同步及互斥。
信号量(semaphore):主要作为进程间以及同一进程不同线程之间的同步手段。
套接口(Socket):更为一般的进程间通信机制,可用于不同机器之间的进程间通信。起初是由Unix系统的BSD分支开发出来的,但现在一般可以移植到其它类Unix系统上:Linux和System V的变种都支持套接字。
二、硬件设备在linux中的文件名
IDE硬盘:/dev/hd[a-d]
SATA硬盘:/dev/sd[a-d]
软驱:/dev/fd[0-1]
三、SWAP
Linux中Swap(即:交换分区),类似于Windows的虚拟内存,就是当内存不足的时候,把一部分硬盘空间虚拟成内存使用,从而解决内存容量不足的情况。Android是基于Linux的操作系统,所以也可以使用Swap分区来提升系统运行效率
四、给虚拟机上的linux系统新增硬盘空间
4.1:新加硬盘
用虚拟机经常碰到这种烦恼,刚开始设定硬盘空间的时候设小了,用了一段时间硬盘空间就不够用了,就像我今天装完了qt sdk后发现我的虚拟机可用空间是0,下面就给出如何增大你的硬盘空间的方法(以下方法的环境均为fedora7,虚拟机版本为6.0.2):
1.edit你的虚拟机配置,add一个新的硬盘,具体操作为在虚拟机主界面上点击edit virtual machine settings-》add-》hard disk-》next-》create a nes virtual disk一路下去按照默认配置,当然在disk size你可以根据你的需要来调整大小。
4.2:给新加的硬盘进行分区
1.启动虚拟机,进入fedora后打开终端,键入下列命令:“ls -l /dev/sd*”。不出意外,你能看到“/dev/sdb”,这个就是我们前面添加的硬盘。
2.接下来就是给硬盘分区了,我们使用fdisk /dev/sdb,进入fdisk操作界面“Command (m for help):”。键入“n”,创建一个新的分区;然后“p”表示创建主分区;接下来选择主分区号,再选“1”,再接下来连续敲两个回车,按默认值设定分区的柱面起始范围,即所有存贮空间都分配给前面创建的分区;最后键入“w”写分区信息。
3.格式化,格式化比较简单,一条命令就搞定mkfs /dev/sdb1,注意,我们这里的sdb后面多了一个“1”,这表示我们前一步创建的那个主分区。
4.3:把分区挂载到目录下
1.挂载硬盘到目录,例如使用mount /dev/sdb1 /disk2,就可以了,当然你得首先创建/disk2这个目录。
2.如果希望每次系统启动都能自动挂载硬盘,则还需要修改