SYSTEM

Macos用户类型相关

Macos用户类型相关

bingliaolong 2年前 12 0

Macos user type admin normal sharing-only group root uid为0 gid为0 admin 根据查到的资料,macOS第一个用户会是管理员权限,gid为501 normal 目前我的做法是,区分了root,admin,guest后...

Linux 高性能服务器编程:高性能定时器

Linux 高性能服务器编程:高性能定时器 5

bingliaolong 4年前 11 0

高性能定时器 时间论 基于排序链表的定时器存在一个问题:添加定时器的效率偏低 时间论解决了这个问题 上图所示时间论,(实线)指针指向轮子的一个槽(slot)。 它恒定的速度顺时针转动,每转动一步就指向下一个槽(虚线指向的槽),每次转动称为一个滴答(tick)。 一个滴答的时间称为...

51CTO:Linux C++网络编程四

51CTO:Linux C++网络编程四

bingliaolong 2年前 11 0

UNIX-LINUX套接字描述符 套接字描述符是一个整数值,用于唯一标识进程中的一个开放的网络连接或者套接字 在UNIX和Linux系统中,套接字描述符是一种特殊类型的文件描述符,可以用于表示打开的文件、管道、设备或者网络连接 套接字描述符唯一标识了进程中的一个网络连接 在创建新...

Windows线程同步相关

Windows线程同步相关

bingliaolong 1年前 11 0

用户模式同步 Interlocked 系列函数 原理 通过 CPU 原子指令(如 LOCK XCHG)直接操作内存,无需进入内核态 场景 简单计数器(如引用计数) 无锁数据结构(如无锁队列) 特点 性能极高(无内核切换) 仅支持单个变量的原子操作,无法实现复杂同步 临界区(Cri...

gdb的操作使用

gdb的操作使用

bingliaolong 6年前 11 0

gdb功能 启动我们的程序,按照我们自定义的要求随心所欲的运行程序 让被调试的程序在我们所指定的调置的断点位置处停住(断点可以是表达式) 当我们的程序被挺住时,我们可以检查此时程序中所发生的事情 动态的改变程序的执行环境 使用gdb 一般来说GDB主要调试的是C/C++的程序。要...

Linux 高性能服务器编程:TCP二

Linux 高性能服务器编程:TCP二

bingliaolong 4年前 11 0

TCP的建立和关闭 复位报文段 在某些特殊的情况,TCP连接的一端会向另一端发送携带RST标志的报文段,即复位报文段,以通知对方关闭连接或重新建立连接。 收到复位报文段的一端应该关闭连接或重新连接,而不能回应这个复位报文段。 异常终止连接 TCP提供了异常终止一个连接的方法,即给...

Windows开发相关简记二:exe和dll双形态

Windows开发相关简记二:exe和dll双形态

bingliaolong 6个月前 11 0

启动流程 BasicEntry 作为dll导出接口 PrepareEnv 先构建运行时 ntdll.dll kernel32.dll 获取当前dll句柄 EXE被当做DLL加载时,首先修复重定位数据,此时的全局变量等还无法访问 因为Windows操作系统不会修复当做DLL加载的E...

Windows机制:消息处理

Windows机制:消息处理

bingliaolong 5年前 11 0

概述 Windows 是事件驱动的,事件驱动围绕着消息的产生与处理展开,事件驱动是靠消息循环机制来实现的。也可以理解为消息是一种报告有关事件发生的通知。 消息(Message)指的就是Windows 操作系统发给应用程序的一个通告,它告诉应用程序某个特定的事件发生了。 比如,用户...

Linux 高性能服务器编程:Libevent

Linux 高性能服务器编程:Libevent 6

bingliaolong 4年前 10 0

概述 Linux服务器程序必须处理三类事件: I/O事件 信号 定时事件 在处理这三类事件时通常需要考虑三个问题: 统一事件源 可移植性 对并发编程的支持 I/O框架概述 I/O框架库以库函数的形式,封装了较为底层的系统调用,给应用程序提供了一组方便使用的接口 这些库函数往往比程...

扫一扫二维码分享