当前位置:首页 » 专业资讯
开发技术指南» 文章正文
    引言: 在传统的Unix模型中,当一个进程需要由另一个实体执行某件事时,该进程派生(fork)一个子进程,让子进程去进行处理。
 

 

 ·linux系统防御abc    »显示摘要«
    摘要:随着网络技术的不断发展,网络安全已经成为人们日益关注的一个话题,特别是在电子商务,网上银行这些涉及人们切身利益方面显的更为重要; linux是多用户,多任务,分时操作系统,在这样的环境中,需要对文件的控制权限,系统应用程序,守护进程,服务以及其它的一些任务管理,比如用户管理,磁盘配额,以及内核的更新升级。正确的配置这些文件,可以防止大部分的外来攻击。本文主要内容是向你介绍如何防止外来的访客非法的进入你的系统从面达到安全的目的,由于篇幅的限制,不可能面面具到......
 ·读核日记socket篇    »显示摘要«
    摘要:今天被一个sock_fd的值的问题折磨了半天靠,干脆花了1个小时看了一下内核貌似效果不错,做个笔记pblog的缩进还挺麻烦的,不管它了可以直接找我要文件,如果看起来不爽的话/* 网络编程中要注意描述符的边界问题比如socket描述符等描述符等于0的情况也是正常的if (sock >= 0) //应该按照 sock >= 0的情况来判断 ...如果是if (sock > 0) ... //可能出现的问题是,tcp连接不能建立,包不能正确传送......


Linux下实现多线程客户/服务器
在传统的unix模型中,当一个进程需要由另一个实体执行某件事时,该进程派生(fork)一个子进程,让子进程去进行处理。

unix下的大多数网络服务器程序都是这么编写的,即父进程接受连接,派生子进程,子进程处理与客户的交互。 【相关文章:Linux教程:locate用法

【扩展阅读:今天总算把上海的搞完了

----虽然这种模型很多年来使用得很好,但是fork时有一些问题: 【扩展信息:陪Yangyh买笔记本

----1. fork是昂贵的。内存映像要从父进程拷贝到子进程,所有描述字要在子进程中复制等等。目前有的unix实现使用一种

叫做写时拷贝(copy-on-write)的技术,可避免父进程数据空间向子进程的拷贝。尽管有这种优化技术,fork仍然是昂贵的。

----2. fork子进程后,需要用进程间通信(ipc)在父子进程之间传递信息。fork之前的信息容易传递,因为子进程从一开始就

有父进程数据空间及所有描述字的拷贝。但是从子进程返回信息给父进程需要做更多的工作。

----线程有助于解决这两个问题。线程有时被称为轻权进程(lightweight process),因为线程比进程“轻权”,

一般来说,创建一个线程要比创建一个进程快10~100倍。

----一个进程中的所有线程共享相同的全局内存,这使得线程很容易共享信息,但是这种简易性也带来了同步问题。

----一个进程中的所有线程不仅共享全局变量,而且共享:进程指令、大多数数据、打开的文件(如描述字)、信号处理程序与

信号处置、当前工作目录、用户id与组id。

----但是每个线程有自己的线程id、寄存器集合(包括程序计数器与栈指针)、栈(用于存放局部变量与返回地址)、error、信

号掩码、优先级。

----在linux中线程编程符合posix.1标准,称为pthreads。所有的pthread函数都以pthread_开头。

----以下先讲述5个基本线程函数,在调用它们前均要包括pthread.h头文件。然后再给出用它们编写的一个tcp客户/服务器程序例子。

----第一个函数:

----int pthread_create (pthread_t *tid,const pthread_attr_t *attr,void *(*func)(void *),void *arg);

----一个进程中的每个线程都由一个线程id(thread id)标识,其数据类型是pthread_t(常常是unsigned int)。如果新的线程

创建成功,其id将通过tid指针返回。

----每个线程都有很多属性:优先级、起始栈大小、是否应该是一个守护线程等等,当创建线程时,我们可通过初始化一个pthread_attr_t

变量说明这些属性以覆盖缺省值。我们通常使用缺省值,在这种情况下,我们将attr参数说明为空指针。

----最后,当创建一个线程时,我们要说明一个它将执行的函数。线程以调用该函数开始,然后或者显式地终止(调用pthread_exit)


...   下一页
 ·拥有安全的linux桌面    »显示摘要«
    摘要:随着linux桌面应用的扩展,它的安全性越来越受到关注。和企业应用相比,桌面用户要求安全工具安装简单,具有友好的图形界面,易于管理。这里介绍一些工具让linux桌面应用更加安全。 from:赛迪网-开放系统世界安全的传输工具gftp 我们通常使用的网络传输程序ftp、pop3和telnet等在本质上都是不安全的,因为它们在网络上用明文传送口令和数据,黑客利用嗅探器非常容易截获这些口令和数据。现在可以使用更加安全的ssh(secure shell......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE