Linux下的数据类型
内核使用的基本数据类型主要有: int : 标准的C语言整数类型 u32 : 32位整数类型 pid_t : 特定内核对象pid的类型 在不同CPU体系结构上,C语言的数据类型所占用的空间是不一样的。在x86系列结构下,数据类型占用的字节数如下表所示: arch char short int long ptr long long u8 u16 u32 u64 i686 1 2 4 4 4 8 1 2 4 8 在linux下,内核中的地址是unsigned long 类型,指针的大小与long类型的大小相同。 内核提供的所有数据类型在头文件<asm/types.h>中声明,这个文件又被<Linux/types.h>所包含。 Linux使用有前缀的类型用于将变量显露给用户空间,如__u32。 内核中很多数据类型是由typedef声明,这样便于移植。
相关文档:
互斥量从本质上说就是一把锁, 提供对共享资源的保护访问.
1. 初始化:
在Linux下, 线程的互斥量数据类型是pthread_mutex_t. 在使用前, 要对它进行初始化:
对于静态分配的互斥量, 可以把它设置为PTHREAD_MUTEX_INITIALIZER, 或者调用pthread_mutex_init.
对于动态分配的互斥量, 在申请内存(malloc)之 ......
1 引言
线程(thread)技术早在60年代就被提出,但真正应用多线程到操作系统中去,是在80年代中期,solaris是这方面的佼佼者。传统的Unix也支持线程的概念,但是在一个进程(process)中只允许有一个线程,这样多线程就意味着多进程。现在,多线程技术已经被许多操作系统所支持,包括Windows/NT,当然,也包括Linux。
......
一个用户、一个组
我们来看一看 Linux 权限和所有权模型。我们已经看到每个文件属于一个用户和一个组。这正是 Linux 中权限模型的核心。您可以在 ls -l 清单中查看用户和组:
$ ls -l /bin/bash
-rwxr-xr-x 1 root wheel 430540 Dec 23 18:27 /bin/bash
在这个特殊的示例中,/bin/bash 可执行文件属于 ro ......
转自:http://www.91linux.com/html/article/kernel/20090102/15232.html
select系统调用是用来让我们的程序监视多个文件句柄的状态变化的。程序会停在select这里等待,直到被监视的文件句柄有一个或多个发生了状态改变。关于文件句柄,其实就是一个整数,我们最熟悉的句柄是0、1、2三个, ......