网友收藏 早期的内存分配机制在早期的计算机中,要运行一个程序,会把这些程序全都装入内存,程序都是直接运行在内存上的,也就是说程序中访问的内存地址都是实际的物理内存地址。当计算机同时运行多个程序时,必须保证这些程......
2023-10-10 01:54 阅读
阅读全文 网友收藏 一、tcp并发服务器概述一个好的服务器,一般都是并发服务器(同一时刻可以响应多个客户端的请求)。并发服务器设计技术一般有:多进程服务器、多线程服务器、I/O复用服务器等。二、多进程并发服务器在 Linux 环境下多进程......
2023-10-14 05:15 阅读
阅读全文 网友收藏 一、fork() 函数详解需要的头文件:#include <sys/types.h>#include <unistd.h>pid_t fork(void);功能:用于从一个已存在的进程中创建一个新进程,新进程称为子进程,原进程称为父进程。参数:无返回值:成功:子进程中......
2023-10-14 13:16 阅读
阅读全文 网友收藏 进程相关概念问1. 什么是程序,什么是进程,有什么区别?1.程序是静态的概念,gcc xxx.c –o pro。磁盘中生成pro文件,叫做程序2.进程是程序的一次运行活动,通俗点意思是程序跑起来,系统中就多了一个进程问2. 如何查看系统......
2023-10-14 13:12 阅读
阅读全文 网友收藏 什么是信号?信号是 Linux 进程间通信的最古老的方式。信号是软件中断,它是在软件层次上对中断机制的一种模拟,是一种异步通信的方式。信号可以导致一个正在运行的进程被另一个正在运行的异步进程中断,转而处理某一......
2023-10-10 01:54 阅读
阅读全文 网友收藏 大家都知道C语言中goto关键字可以用来跳转,但你知道它的跳转范围是什么吗?goto语句只能在当前函数内不跳转,不能实现跨函数跳转;为实现这一目的,Linux中引入了setjmp和longjmp,这两个函数对于处理发生深层嵌套函数调用中......
2023-10-13 08:41 阅读
阅读全文 网友收藏 共享内存的函数有以下几个:(1)int shmget(key_t key, int size, int shmflg),开辟或使用一块共享内存。(2)void *shmat(int shmid, const void *shmaddr, int shmflg), 将参数shmid所指向的共享内存与当前进程连接。当使用某共享内存时,需要先使......
2023-10-14 13:28 阅读
阅读全文 网友收藏 在 POSIX 标准中,信号量分两种,一种是无名信号量,一种是有名信号量。无名信号量一般用于线程间同步或互斥,而有名信号量一般用于进程间同步或互斥。它们的区别和管道及命名管道的区别类似,无名信号量则直接保存在......
2023-10-14 13:37 阅读
阅读全文 网友收藏 在 POSIX 标准中,信号量分两种,一种是无名信号量,一种是有名信号量。无名信号量一般用于线程间同步或互斥,而有名信号量一般用于进程间同步或互斥。它们的区别和管道及命名管道的区别类似,无名信号量则直接保存在......
2023-10-14 13:37 阅读
阅读全文 网友收藏 在 POSIX 标准中,信号量分两种,一种是无名信号量,一种是有名信号量。无名信号量一般用于线程间同步或互斥,而有名信号量一般用于进程间同步或互斥。它们的区别和管道及命名管道的区别类似,无名信号量则直接保存在......
2023-10-14 13:37 阅读
阅读全文