Linux 高性能服务器编程:高级I/O函数 5
pipe pipe用于创建一个管道,以实现进程间通信。 pipe函数的参数是一个包含两个int的数组指针。 该函数成功时返回0,并将一对打开的文件描述符值填入其参数指向的数组。 如果失败,返回-1并设置errno。 通过pipe创建的这两个文件描述符fd[0]和fd[1]分别构成...
pipe pipe用于创建一个管道,以实现进程间通信。 pipe函数的参数是一个包含两个int的数组指针。 该函数成功时返回0,并将一对打开的文件描述符值填入其参数指向的数组。 如果失败,返回-1并设置errno。 通过pipe创建的这两个文件描述符fd[0]和fd[1]分别构成...
Macos user type admin normal sharing-only group root uid为0 gid为0 admin 根据查到的资料,macOS第一个用户会是管理员权限,gid为501 normal 目前我的做法是,区分了root,admin,guest后...
地址空间 32位系统,CPU可直接寻址4GB空间,这也是每个进程的地址空间大小。 其中,高2GB供内核模块使用,称为内核空间。 低2GB供用户态模块使用,称为用户空间。 使用/3GB开关,可以将用户空间增大到3GB。 Windows内容load到内核空间高地址,主程序load到用...
终端服务命名空间 在正在允许终端服务的计算机中,有多个用于内核对象的命名空间。 其中一个是全局命名空间,所有客户端都能访问到的内核对象要放在这个命名空间里面。这个命名空间主要由服务使用。 此外,每个客户端会话都有一个自己的命名空间。 可以通过ProcessIdToSessionI...
进程描述 进程是一个程序一次执行的过程,它和程序有本质区别。 程序是静态的,它是一些保存在磁盘上的指令的有序集合。 而进程是一个动态的概念。它是一个运行着的程序,包含了进程的动态创建、调度和消亡的过程,是Linux的基本调度单位。 进程是os的最小单元 os会为每个进程分配大小为...
进程的概念 进程是操作系统的概念,每当我们执行一个程序时,对于操作系统来讲就创建了一个进程,在这个过程中,伴随着资源的分配和释放。可以认为进程是一个程序的一次执行过程。 进程通信的概念 进程用户空间是相互独立的,一般而言是不能相互访问的。但很多情况下进程间需要互相通信,来完成系统...
安装Rosetta 2 打开一个Rosetta终端 编译相关 zlib 开始编译 编译openssl 拉代码 rosetta 需要M2下编译x86_64 配置 编译安装 安装上面所指定的路径,将会安装在当前路径下的out文件夹里面 macOS编译libcurl 创建配置 如果提示...
Windows 安装 为了确定安装目标,在安装前后调用了get_reg_items get_reg_items 上买的Windows实现是通过枚举注册表 把几个目标路径的注册表存到一起 然后根据安装前后这些路径下的注册表的项数,来找出新增的那个 通过比较,确定新增项,然后记录下新...
拉代码 开启VPN 用cmd设置 在某个位置创建文件夹 第一次拉代码用fetch breakpad 这是默认depot_tools已经下好了,并且环境变量也设置好了 遇到问题如下: 通过切分支解决 比如chrome_99 这个时候是第二次执行代码了,要用gclient sync ...
线程的互斥 在Posix Thread中定义了一套专门用于线程互斥的mutex函数。mutex是一种简单的加锁的方法来控制对共享资源的存取,这个互斥锁只有两种状态(上锁和解锁),可以把互斥锁看作某种意义上的全局变量。为什么需要加锁,就是因为多个线程共用进程的资源,要访问的是公共区...
搜索当前分类