
Linux/Unix
文章平均质量分 76
emmmzhang
这个作者很懒,什么都没留下…
展开
-
用uint64来表示IP+Port
uint64_t这是uint64在<stdint.h>(/usr/include/stdint.h)中的定义/* Unsigned. */typedef unsigned char uint8_t;typedef unsigned short int uint16_t;#ifndef __uint32_t_definedtypedef uns...原创 2018-10-25 17:32:17 · 757 阅读 · 0 评论 -
Unix/Linux的用户态与内核态
一、Unix/Linux的体系架构 Linux操作系统的体系架构分为用户态和内核态。 内核:本质是一种软件,控制计算机的硬件资源,并提供给上层应用程序运行的环境。 用户态:上层应用程序的活动空间。为了是上层应用能访问CPI资源、存储资源、I/O资源等,内核必须为上层应用提供访问的接口:系统调用。 系统调用:是OS的最小功能单位,库函数通过对系统调用的封装,将简单的业务逻辑呈现给上层...原创 2018-11-17 19:20:46 · 903 阅读 · 0 评论 -
C++多线程的原子操作、线程阻塞
头文件#include <Thread>及原子操作在C++11中,<Thread>头文件包含了Thread类,提供线程的管理。原子操作:不可被中断的一个或者一系列操作,这些操作要一次性执行完毕,或者一个都不执行。多线程存在的问题在多线程中,由于进程的多个线程都是共享该进程的所有资源,那么如果有多个线程访问同一个资源时,可能会出现问题。如果多个线程都是只读操作,...原创 2018-11-29 21:55:59 · 8752 阅读 · 1 评论 -
I/O多路复用的select、poll,以及epoll的区别
问题提出在Linux2.6中,加入了新的api:epoll,对比以前使用select和poll,epoll的增加使得性能大大提升,这是如何实现的?epoll的工作模式有哪几种?其内部原理是什么?相关文件描述符:索引值,指向记录表,当程序打开或者创建一个文件时,内核向进程返回一个文件描述符。在网络编程中,很多函数是阻塞的,利用IO复用可以用非阻塞的形式来执行代码。同时处理读写、监听多端口等...原创 2018-12-03 20:12:38 · 337 阅读 · 0 评论