上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 15 下一页

2012年8月4日

Chapter 11 线程

摘要: 1.线程概念一个线程由表示一个进程里的一个执行上下文所需的信息组成。这包括一个在进程里标识线程的线程ID、一组寄存器值、栈、调用优先级和策略、信号掩码、errno变量(1.7节)、和线程指定数据(12.6节)。在一个进程内的所有东西在进程里的线程间都可以共享,包括可执行程序的代码、程序的全局和堆内存、栈、和文件描述符。2.线程标识就像每个进程有一个进程ID一样,每个线程也有一个线程ID。进程ID在整个系统的唯一的,但线程ID不同,线程ID只在它所属的进程环境中有效1).下面一个函数被用来比较两个线程ID#include <pthreads.h>int pthread_equal(p 阅读全文

posted @ 2012-08-04 10:59 as_ 阅读(610) 评论(0) 推荐(1) 编辑

Chapter 10 信号

摘要: 1.信号概念信号是一种软件中断,通知程序某种事件的发生。常见的信号有SIGABRT(当进程调用abort函数的时候自动发送), SIGALRM(当timer被触发的时候自动发送),等等。下面的情况可以产生信号:按下CTRL+C产生SIGINT硬件中断,如除0,非法内存访问(SIGSEV)等等Kill函数可以对进程发送信号Kill命令。实际上是对Kill函数的一个包装软件中断。如当Alarm Clock超时(SIGURG),当Reader中止之后又向管道写数据(SIGPIPE),等等当信号发生的时候,可以有三种选择(称之为Disposition of the signal或者Action ass 阅读全文

posted @ 2012-08-04 00:25 as_ 阅读(1613) 评论(0) 推荐(0) 编辑

2012年8月3日

Chapter 9 进程关系

摘要: 1.终端登录登录过程:内核--->init[进程ID=1]--->(fork)init--->(exec)getty--->(exec)--->login登录结束过程:进程1=init->登录shell<->终端设备驱动程序<->使用终端的用户2.网络登录如下图3.进程组1).每个进程属于一个进程组,这个进程组从同样的终端获得信号 函数getpgrp返回调用进程的进程组ID,结果也用pid_t表示:#include <unistd.h>pid_t getpgrp(void);//返回调用进程的进程组ID。2)SUS定义ge 阅读全文

posted @ 2012-08-03 20:25 as_ 阅读(613) 评论(2) 推荐(0) 编辑

Chapter 8 进程控制

摘要: 1.进程标识符要点:1).每个进程都有一个非负整型表示的唯一的进程ID。因为进程ID是一个总是唯一的,常将其用作其他标示符的一部分以保证其唯一性。例如:应用程序有时包含进程ID作为文件名的一部分,来产生唯一的文件名。2).虽然唯一,但是进程ID可以重用3).进程ID 0通常是调用进程,常常称为对换程序(swapper)。在硬盘上没有对应于这个进程的程序,它是内核的一部分而被熟知为一个系统进程。进程ID 1通常是init进程,在启动过程结束后被内核调用。下列函数返回这些标识符:#include <unistd.h>pid_t getpid(void); ... 阅读全文

posted @ 2012-08-03 17:33 as_ 阅读(530) 评论(0) 推荐(0) 编辑

Chapter 7 进程环境

摘要: 1.main函数C函数总是从执行一个名为main的函数开始。main函数的原型为int main(int argc, char *argv[]); 其中 argc是命令行参数的数量而,argv是参数指针的数组。2.进程终止有8种方法终止一个进程。普通终止有5种:1).从main函数中返回;2).调用exit;3).调用_exit或_Exit;4).最后线程从启动例程(eg:start函数)返回;5).从最后线程里调用pthread_exit异常终止有3种:6).调用abort7).收到一个信号8).最后线程回应一个取消请求Exit 函数三个普通终止程序的函数:_exit和_Exit从内核立即返 阅读全文

posted @ 2012-08-03 14:26 as_ 阅读(358) 评论(0) 推荐(0) 编辑

Chapter 6 系统数据文件和信息

摘要: 1.口令文件出于安全考虑,用户登录密码在/etc/shadow文件中加密。由spwd结构描述,加密是one-way加密算法,意思是你不能通过加密后的密码得出原密码,而只能通过原密码去验证是否正确,提供了相似的访问函数。但是shadow中的用户加密密码是不可读出的。1).POSIX.1只定义了两个获取口令文件相的函数。在给出用户登录名或者数值用户ID,这两个函数允许我们通过查找相关项#include <pwd.h>struct passwd *getpwuid(uid_t uid);struct passwd *getpwnam(const char *name);//两者成功都返回 阅读全文

posted @ 2012-08-03 13:04 as_ 阅读(631) 评论(0) 推荐(0) 编辑

Chapter 5 标准I/O库

摘要: 1.流和FILE对象对于国际字符集,一个字符可以由一个以上的字节来表示。标准I/O文件流可以用来操作单字节和多字节(宽,wide)字符集。一个流的方向(orientation)决定了字符是以单字节还是多字节的方式读取,当一个流被创建时,它没有方向。如一个多字节I/O函数(见<wchar.h>)用在了没有方向的流上,那么流的方向会设为面向宽字符的。如果一个字节I/O函数用在一个没有方向的流上,那么流的方向会设为面向字节的。只有两个函数可以在设置后改变这个方向。freopen函数(简单说明)将会清除一个流的方向,而 fwide函数用来设置一个流的方向。#include <stdi 阅读全文

posted @ 2012-08-03 11:46 as_ 阅读(759) 评论(0) 推荐(0) 编辑

2012年8月2日

Chapter 4 文件和目录

摘要: 1.stat、fstat和lstat函数获取一些文件相关的信息。函数原型:#include <sys/stat.h> int stat(const char *restrict pathname, struct stat *restrict buf); //提供文件名字,获取文件对应属性。int fstat(int filedes, struct stat *buf); //通过文件描述符获取文件对应的属性。int lstat(const char *restrict pathname, struct stat *restrict b... 阅读全文

posted @ 2012-08-02 21:00 as_ 阅读(845) 评论(0) 推荐(0) 编辑

2012年8月1日

Chapter 3 文件I/O

摘要: 1.文件描述符文件描述符是一个非负整数,当打开一个现有文件或创建一个新文件时候,内核向进程返回一个文件描述符。Unix系统shell使用文件描述符0与进程的标准输入相关联,文件描述符1与进程的标准输出相关联,文件描述符2与进程的标准出错相关联,在POSIX标准中,幻数0、1、2应当替换为符号常量STDIN_FILENO、STDOUT_FILENO和STDERR_FILENO,另外文件描述符变化范围:0~OPEN_MAX,现在很多系统将OPEN_MAX置为632.open函数调要open函数可以打开或创建一个文件。函数原型#include <fcnt1.h>int open(cons 阅读全文

posted @ 2012-08-01 18:49 as_ 阅读(699) 评论(0) 推荐(0) 编辑

Chapter 1 Unix基础知识

摘要: 以下仅列出相对比较重要的内容1.文件和目录1).文件系统 Unix文件系统是目录和文件组成的一种层次结构。目录是一个包含许多目录项的文件,而逻辑上,可以认为每个目录项都包含着文件名。文件属性是指文件类型(是普通文件还是目录)、文件的大小、文件的所有者、文件权限以及文件的修改时间等等。如获取相应信息可以用stat和fstat函数2).文件名3).路径名由斜线和文件名组成的序列构成路径名,以斜线开头的路径名称为绝对路径名,否则为相对路径名。注:文件根系统的名字(/)是个特殊的绝对路径,不含文件名4).工作目录 每一个进程都有一个工作目录(又称当前工作目录),所有绝对路径名都从工作目录开始2.输入和 阅读全文

posted @ 2012-08-01 14:19 as_ 阅读(617) 评论(0) 推荐(0) 编辑

上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 15 下一页

导航