linux多进程编程
在linux中,运行的一个进程,会占去linux的三个地方,代码区,堆栈区和数据区.如果同时运行多个相同的程序,他们就会使用相同的代码区,代码区中存放的就程序的代码,但是数据区和堆栈区分别存放的是程序的数据,全局变量和局部变量,因此即使是相同的程序,也不可同时使用相同的数据和堆栈区.
#include<stdio.h>
#include<unistd.h>
int main()
{
if(fork() == 0)
{
printf("First.\n");
if(fork() == 0)
{
printf("Second.\n");
}
else
{
printf("Third.\n");
}
}
else
{
printf("Fourth.\n");
if(fork() == 0)
{
printf("Fivth.\n");
}
else
{
printf("Sixth.\n");
}
}
}
可以关注下程序的运行结果,以及输出的顺序,并理解为什么是这种输出结果
相关文档:
高级 Linux 命令精通指南,第 3 部分:资源管理
作者:Arup Nanda
2009 年 1 月发表
在此部分中,了解用于监视物理组件的高级 Linux 命令
Linux 系统由若干主要物理组件组成,如 CPU、内存、网卡和存储设备。要有效地管理 Linux 环境,您应该能够以合理的精度测量这些资源的各种指标 — 每个组件处理多少资源、 ......
Intel 集成显卡的Linux驱动安装
目前使用Intel 集成显卡的计算机主要集中在中低端商务台式机和中低端笔记本电脑。这里介绍一下Linux下显卡驱动安装方法。Intel针对集成显示芯片提供了两种驱动程序:i915Graphics和i810Graphics。
一、 使用82830M, 82845G, 82852GM, 82855GM, 82865G, 82915G芯 ......
1. modprobe 加载内核模块
a) 在 /etc/module.conf 中查找别名
b) 在 lib/modules/version/module.dep 中判断是否有依赖模块需要被提前加载(该文件被depmod-a建立)
2. 2.4内核中不一定非用init_module和cleanup_module做开始和结束的函数,但需要用module_init和
module_exit申明。
......
一、cd用来进入指定的某个目录。
说cd这个命令是Linux上使用率最高的两个命令之一不为过吧(另一个当然是ls了),前两天看到了一个cd命令的小技巧是我一直都不知道的,呵呵,这里顺便记下来。
cd - #回到上次所在目录,感觉还是比较有用,省略了很多输入。
cd !$ ......
在上一部分提到过了,vivi作为bootloader,向内核传递启动参数是其本职工作之一。要把这个情景分析清楚,不仅仅需要分析vivi的参数机 制,而且要分析Linux kernel的接收机制。因为这是一个简单的通信过程,比起本科所学习的TCP/IP来简单的多,但是因为简单,所以在协议上并不规范,理解上反而不如 TCP/IP协议。下面就分为两 ......