摘要:        
套接字编程基础一种双向的通信端口。位于网络中的主机通过连接的套接字提供的接口进行数据传输。套接字与端口套接字是一种使用标准UNIX文件描述符(file descriptor)与其他程序通信的方式。套接字可以看作是处于不同主机之间的两个程序的通信连接端点。一方面程序将要传输的信息写入套接字中,而另一方面则通过读取套接字内的数据来获得传输的信息。图所示为使用套接字进行通信的示意图。假设存在两台主机A与...    阅读全文
posted @ 2009-06-18 18:39
辛勤耕耘
阅读(931)
评论(0)
推荐(0)
        
            
        
        
摘要:        
当你面对着 MS 的 Visual Studio 头晕眼花加四肢无力的时候,一定绝望过、无助过,为什么微软要拿像怪物一样的 MFC 和令人费解的 COM 技术来吸取 Windows 开发人员的精力,因为你可以用它来谋生,在 Windows 独霸桌面操作系统的时代,人们需要它。如果你只想把开发软件当作混口饭吃的差事来做,你可以在混乱的 Windows 架构下继续开发,要是有更崇高一些的理想,比如说要...    阅读全文
posted @ 2009-06-18 17:33
辛勤耕耘
阅读(220)
评论(0)
推荐(1)
        
            
        
        
摘要:        
守护进程也称精灵进程是生存期长的一种进程,它们常常在系统引导装入时启动,在系统管比时终止。精灵进程没有控制终端,所以它们是在后台运行的。守护进程是一种很有用的进程。 Linux的大多数服务器就是用守护进程实现的。比如,Internet服务器inetd,Web服务器httpd等。同时,守护进程完成许多系统任务。比如,作业规划进程crond,打印进程lpd等。  所有精灵进程都以超级用户(用户ID为0...    阅读全文
posted @ 2009-06-18 16:54
辛勤耕耘
阅读(336)
评论(0)
推荐(0)
        
            
        
        
摘要:        
一.记录锁1.记录锁的功能 当一个进程正在读或修改文件的某个部分时,它可以阻止其他进程修改同一文件区。我们不应该从字面上去理解记录锁,实际上它应该叫“区域锁”,因为它锁定的只是文件的一个(也可能是整个文件)。这个区域用来存放多用户的共享区。2.记录锁的分类 记录锁分为共享读锁和独占写锁,前者也叫做共享锁后者也叫做排他锁。3.加锁规则 如果一个进程对共享区加了共享读锁,其他进...    阅读全文
posted @ 2009-06-18 16:53
辛勤耕耘
阅读(302)
评论(0)
推荐(0)
        
            
        
        
摘要:        
1.什么是Linux的终端I/O,它分为几种类型。 终端是一种字符型设备,有多种类型,通常使用tty来简称各种类型的终端设备。终端特殊设备文件一般有以下几种: 串行端口终端(/dev/ttySn) ,伪终端(/dev/pty/),控制终端(/dev/tty) ,控制台终端(/dev/ttyn, /dev/console).1. 串行端口终端(Serial Port Terminal)是使用计算机串...    阅读全文
posted @ 2009-06-18 16:46
辛勤耕耘
阅读(521)
评论(0)
推荐(0)
        
            
        
        
摘要:        
1、信号本质与来源信号是在软件层次上对中断机制的一种模拟,在原理上,一个进程收到一个信号与处理器收到一个中断请求可以说是一样的。信号是异步的,一个进程不必通过任何操作来等待信号的到达,事实上,进程也不知道信号到底什么时候到达。信号是进程间通信机制中唯一的异步通信机制,可以看作是异步通知,通知接收信号的进程有哪些事情发生了。信号机制经过POSIX实时扩展后,功能更加强大,除了基本通知功能外,还可以传...    阅读全文
posted @ 2009-06-18 16:44
辛勤耕耘
阅读(397)
评论(0)
推荐(0)
        
            
        
        
摘要:        
一、主要内容:1.进程如何启动和退出的(main函数,初启函数,exit函数,atexit函数)。(1).Linux创建进程的唯一方法就是利用shell的fork系统调用。(2).编译C程序时,连接器会将初启函数和main函数一起装入内存形成可执行文件,指定该初起函数为该初启函数的开始执行点。(3).初启函数负责从UNIX SHELL获得命令行参数和系统的环境变量,将它们组织成main函数需要的形...    阅读全文
posted @ 2009-06-18 16:40
辛勤耕耘
阅读(316)
评论(0)
推荐(0)
        
            
        
        
摘要:        
一.文件的时间对每个文件保存三个时间字段,它们是:1.名称::utime功能:修改文件的存取和修改时间头文件:#include <utime.h>#include <sys/types.h>函数原形: int utime(const char *filename,const struct utimbuf buf);参数:pathname 文件名buf 文件时间信息返回值:若...    阅读全文
posted @ 2009-06-18 16:34
辛勤耕耘
阅读(379)
评论(0)
推荐(0)
        
            
        
        
摘要:        
一、etc/passwd文件 1. 名称:: getpwuid/getpwnam 功能: Getpassword file entry 头文件: #include 函数原形: struct passwd *getpwuid(uid_t uid); struct passwd *getpwnam(const char *name); 参数: Uid ...    阅读全文
posted @ 2009-06-18 16:32
辛勤耕耘
阅读(365)
评论(0)
推荐(0)
        
            
        
        
摘要:        
1.名称::perror功能:该函数在stderr流中输出错误信息头文件:#include <stdio.h>函数原形: void perror(const char *message)参数:message 返回值:无  如果调用perror是使用的message参数是一个空指针或者一个空字符串,则perror函数将打印与errno相对的错误信息,以及一个换行符。如果提供的messag...    阅读全文
posted @ 2009-06-18 16:29
辛勤耕耘
阅读(263)
评论(0)
推荐(0)
        
            
        
        
摘要:        
一、打开/关闭文件1 名称:open目标: 打开一个文件。头文件:#include <sys/types.h>#include <sys/stat.h>#include < fcntl.h>函数原形:int open(const char * pathname,int flags);int open(const char * pathname,int flags...    阅读全文
posted @ 2009-06-18 16:18
辛勤耕耘
阅读(392)
评论(0)
推荐(0)
        
            
        
        
摘要:        
一、什么是共享内存区共享内存区是最快的可用IPC形式。它允许多个不相关的进程去访问同一部分逻辑内存。如果需要在两个运行中的进程之间传输数据,共享内存将是一种效率极高的解决方案。一旦这样的内存区映射到共享它的进程的地址空间,这些进程间数据的传输就不再涉及内核。这样就可以减少系统调用时间,提高程序效率。共享内存是由IPC为一个进程创建的一个特殊的地址范围,它将出现在进程的地址空间中。其他进程可以把同一...    阅读全文
posted @ 2009-06-18 14:56
辛勤耕耘
阅读(1067)
评论(0)
推荐(0)
        
            
        
        
摘要:        
一、什么是条件变量 与互斥锁不同,条件变量是用来等待而不是用来上锁的。条件变量用来自动阻塞一个线程,直到某特殊情况发生为止。通常条件变量和互斥锁同时使用。 条件变量使我们可以睡眠等待某种条件出现。条件变量是利用线程间共享的全局变量进行同步的一种机制,主要包括两个动作:一个线程等待"条件变量的条件成立"而挂起;另一个线程使"条件成立"(给出条件成立信号)。条件的检测是在互斥锁的保护下进行的。如果一个...    阅读全文
posted @ 2009-06-18 14:51
辛勤耕耘
阅读(562)
评论(0)
推荐(0)
        
            
        
        
摘要:        
一、什么是互斥锁 另一种在多线程程序中同步访问手段是使用互斥量。程序员给某个对象加上一把“锁”,每次只允许一个线程去访问它。如果想对代码关键部分的访问进行控制,你必须在进入这段代码之前锁定一把互斥量,在完成操作之后再打开它。 互斥量函数有 pthread_mutex_init 初始化一个互斥量 pthread_mutex_lock 给一个互斥量加锁 pthread_mute...    阅读全文
posted @ 2009-06-18 14:48
辛勤耕耘
阅读(644)
评论(0)
推荐(0)
        
            
        
        
摘要:        
一,信号灯Posix有名信号灯 函数sem_open创建一个新的有名信号灯或打开一个已存在的有名信号灯。有名信号灯总是既可用于线程间的同步,又可以用于进程间的同步。1.posix有名信号灯函数1.名称::sem_open功能:创建并初始化有名信号灯头文件:#include <semaphore.h>函数原形:sem_t *sem_open(const char *name,int of...    阅读全文
posted @ 2009-06-18 14:46
辛勤耕耘
阅读(640)
评论(0)
推荐(0)
        
            
        
        
摘要:        
线程的结构  线程包含了表示进程内执行环境必需的信息,其中包括进程中标识线程的线程ID,一组寄存器值、栈、调度优先级和策略、信号屏蔽子,errno变量以及线程私有数据。进程的所有信息对该进程的所有线程都是共享的,包括可执行的程序文本,程序的全局内存和堆内存、栈以及文件描述符。线程标识  就像每个进程有一个进程ID一样,每个线程也有一个线程ID,进程ID在整个系统中是唯一的,但线程不同,线程ID只在...    阅读全文
posted @ 2009-06-18 14:36
辛勤耕耘
阅读(825)
评论(0)
推荐(1)
        
            
        
        
摘要:        
主要手段     1.管道(Pipe)及有名管道(named pipe):管道可用于具有亲缘关系进程间的通信; 有名管道克服了管道没有名字的限制,除具有管道所具有的功能外,它还允许无亲缘关系进程间的通信。     2.信号(Signal):信号是比较复杂的通信方式,用于通知接受进程有某种事件发生,除了用于进程间通信外,进程还可以发送信号给...    阅读全文
posted @ 2009-06-18 12:22
辛勤耕耘
阅读(2192)
评论(0)
推荐(3)
        
 
                    
                     
                    
                 
                    
                
 
 
         浙公网安备 33010602011771号
浙公网安备 33010602011771号