信号的处理忽略此信号:大多数信号都可使用这种方式进行处理,但有两种信号却不能被忽略。它们是:SIGKILL和SIGSTOP。这两种信号不能被忽略的原因时:它们向超级用户提供一种进程终止或或停止的可靠方法;捕捉信号:为了做到这一点要通知内核在某种信号发生时,调用一个用户函数。在用户函数中,可执行用户希
C 22 次浏览
进程内存管理通过进程虚拟内存区域(memory region)管理进程线性地址空间上的内存镜像。虚拟空间划分为大小可变的内存区域(4096的倍数),按照访问属性(可读、可写、可执行等)统一管理。
C 24 次浏览
Linux为每个进程维护3种时钟类型: 真实计时器 (wall-clock time):测量进程运行的总时间,包括用户态和内核态以及系统调用和睡眠时间。用户计时器 (user time):测量进程在用户态执行的时间,不包括系统调用和睡眠时间。系统计时器 (system time):测量进程在内核态执
C 19 次浏览
程序流程二填写自身地址信息的sockaddr_in结构struct sockaddr_in my_addr; /*自身的地址信息*/ my_addr.sin_family = AF_INET; /*网络字节顺序*/ my_addr.sin_port = htons(MYPORT); /*自动填本机I
C 21 次浏览
程序流程五涉及接受连接请求,包括定义数据端口 new_fd、连接对方地址信息 their_addr 以及确定其大小 sin_size。随后通过 accept() 函数接收连接请求,并返回新套接字 new_fd。
C 24 次浏览
客户端请求协议普通用户命令:用户申请登录0x80用户退出0x81用户加入房间0x82用户离开房间0x83给用户发消息0x84在房间中讲话0x85取所有房间的信息0x86取某一房间的信息0x87取所有用户的信息0x88取某一用户的信息0x89管理员命令:对所有用户广播0x90踢出用户0x91增加房间管
C 22 次浏览
信号和系统调用由于信号是异步的,它会在程序的任何地方发生。由此程序正常的执行路径被打破,去执行信号处理函数。一般情况下,当进程正在执行某个系统调用,那么在该系统调用返回前信号是不会被递送的。但慢速系统调用除外,如读写终端、网络、磁盘,以及wait和pause。这些系统调用都会返回-1,errno置为
C 23 次浏览
数据结构:in_addr struct in_addr { unsigned long s_addr; };这个数据结构是由于历史原因保留下来的,主要用作与以前的格式兼容。
C 24 次浏览
生产者/消费者问题采用多线程技术解决生产者/消费者问题也称有界缓冲区问题多个生产者线程向缓冲区中写数据多个消费者线程从缓冲区中读取数据生产者线程和消费者线程必须满足生产者写入缓冲区的数目不能超过缓冲区容量消费者读取的数目不能超过生产者写入的数目*
C 28 次浏览