1、文件如何在Linux中存储Linux中任何事物都可以用一个文件来表示,或者通过特殊的文件提供。一个文件由目录项、inode和数据块组成。硬盘的最小存储单位叫做"扇区"(Sector),每个扇区储存512字节(相当于0.5KB)。操作系统读取硬盘的时候,不会一个扇区一个扇区地读取,这样效..
分类:
系统相关 时间:
2015-10-13 01:53:28
阅读次数:
244
此示例是在Linux环境下(使用Linux系统编程线程相关函数)测试,文件说明如下:ThreadBase.cpp, ThreadBase.h为线程基类ThreadDerive.cpp, ThreadDerive.h为测试派生类main.cpp为测试程序ThreadBase.h内容如下:#ifndef __THREADBASE_H__
#define __THREADBASE_H__
#includ...
分类:
编程语言 时间:
2015-09-29 18:58:28
阅读次数:
271
一,开发工具 编译器 GCC 调试工具 GDB 代码编辑 Vim1. 编译命令gcc hello.c -o hello # 第二个hello为新生成的可执行文件名 -o 为生成的可执行文件指定名称。 -Wall 打印所有警告。 -E 把用户定义的所有的预定义#define展开,...
分类:
系统相关 时间:
2015-09-16 17:38:02
阅读次数:
219
写在开篇:出于对未来职业规划的考虑(其实还是一团糟),制定了一个基本的学习方向,那就是从系统编程学习API慢慢的深入内核,这是一个比较成熟的学习路线。所以从本篇开始,在这段时间会陆续记录Linux系统编程的学习笔记,除了供学习之余复习只用,同时也期望能记录初入职场..
分类:
系统相关 时间:
2015-09-01 00:07:18
阅读次数:
231
#include
#include
#include
#include
int main(void)
{
int i;
time_t the_time;
for(i = 1; i<= 10; i++)
{
the_time = time((time_t *)0);
printf("The time is %ld\n", the_time);
sleep(2);
...
分类:
系统相关 时间:
2015-08-29 06:22:51
阅读次数:
272
信号量广泛用于进程或线程间的同步和互斥,信号量本质上是一个非负的整数计数器,它被用来控制对公共资源的访问。
编程时可根据操作信号量值的结果判断是否对公共资源具有访问的权限,当信号量值大于 0 时,则可以访问,否则将阻塞。PV 原语是对信号量的操作,一次 P 操作使信号量减1,一次 V 操作使信号量加1。
在实际应用中两个进程间通信可能会使用多个信号量,因此 System V 的信号量以集合的概念来管理,具体操作和 Posix 信号量大同小异,详情请点此链接:http://blog.csdn.net/te...
分类:
系统相关 时间:
2015-08-20 20:57:34
阅读次数:
366
在 Windows 平台下,我们可以通过双击运行可执行程序,让这个可执行程序成为一个进程;而在 Linux 平台,我们可以通过 ./ 运行,让一个可执行程序成为一个进程。
但是,如果我们本来就运行着一个程序(进程),我们如何在这个进程内部启动一个外部程序,由内核将这个外部程序读入内存,使其执行起来成为一个进程呢?这里我们通过 exec
函数族实现。
exec...
分类:
系统相关 时间:
2015-08-16 19:53:21
阅读次数:
223
什么是信号?
信号是 Linux 进程间通信的最古老的方式。信号是软件中断,它是在软件层次上对中断机制的一种模拟,是一种异步通信的方式 。信号可以导致一个正在运行的进程被另一个正在运行的异步进程中断,转而处理某一个突发事件。
“中断”在我们生活中经常遇到,譬如,我正在房间里打游戏,突然送快递的来了,把正在玩游戏的我给“中断”了,我去签收快递( 处理中断...
分类:
系统相关 时间:
2015-08-13 14:30:21
阅读次数:
321
僵尸进程(Zombie Process)
进程已运行结束,但进程的占用的资源未被回收,这样的进程称为僵尸进程。
在每个进程退出的时候,内核释放该进程所有的资源、包括打开的文件、占用的内存等。
但是仍然为其保留一定的信息,这些信息主要主要指进程控制块的信息(包括进程号、退出状态、运行时间等)。直到父进程通过 wait() 或 waitpid() 来获取其状态并释放(具体用...
分类:
系统相关 时间:
2015-08-13 12:16:19
阅读次数:
192
线程同步-信号量(semaphore)
生产者与消费者问题再思考
在实际生活中,只要有商品,消费者就可以消费,这没问题。但生产者的生产并不是无限的,例如,仓库是有限的,原材料是有限的,生产指标受消费指标限制等等。为了进一步,解决好生产者与消费者问题,引入信号量进机制。
信号量
信号量(semaphore)是互斥量的升级版:互斥量的状态为0或1,而信号量可以为n。也就是说,使用互斥量时,最多允许一个线程进入关键区,而信号量允许多个,具体值是信号量当前的内部值。
相关函数...
分类:
编程语言 时间:
2015-07-26 19:17:13
阅读次数:
175