开发与安全

248 篇文章
67 人订阅

全部文章

s1mba

linux系统编程之进程(二):fork函数相关总结

fork的作用是根据一个现有的进程复制出一个新进程,原来的进程称为父进程(Parent Process),新进程称为子进程(Child Process)。系统中...

3636
s1mba

linux系统编程之信号(一):信号基本概述

一、为了理解信号,先从我们最熟悉的场景说起: 1. 用户输入命令,在Shell下启动一个前台进程。 2. 用户按下Ctrl-C,这个键盘输入产生一个硬件中断...

2728
s1mba

muduo网络库学习之EventLoop(七):TcpClient、Connector

Connector 主要用于发起连接,并带有自动重连的功能,成员主要有一个channel_, boost::scoped_ptr<Channel> channe...

2277
s1mba

C++中四种类型转换以及const_cast是否能改变常量的问题

we have four specific casting operators:dynamic_cast, reinterpret_cast, static_c...

21510
s1mba

muduo网络库学习之EventLoop(五):TcpConnection生存期管理(连接关闭)

监听套接字可读事件是POLLIN; 已连接套接字正常可读是POLLIN; 正常可写是POLLOUT; 对等方close/shutdown关闭连接,已连接套接字可...

2186
s1mba

算法:最短路径之弗洛伊德(Floyd)算法

为了能讲明白弗洛伊德(Floyd)算法的主要思想,我们先来看最简单的案例。图7-7-12的左图是一个简单的3个顶点的连通网图。 ? 我们先定义两个二维数组D[3...

6357
s1mba

数据结构:二叉树的遍历和存储结构

在《二叉树的定义和性质》中我们已经认识了二叉树这种数据结构。我们知道链表的每个节点可以有一个后继,而二叉树(Binary Tree)的每个节点可以有两个后继。比...

2919
s1mba

linux系统编程之进程(一):进程基本概述

一、什么是进程 从用户的角度来看进程是程序的一次执行过程。 从操作系统的核心来看,进程是操作系统分配的内存、CPU时间片等资源的基本单位。 进程是资源分配的...

22310
s1mba

linux系统编程之文件与I/O(六):fcntl 函数与文件锁

一、fcntl函数 功能:操纵文件描述符,改变已打开的文件的属性 int fcntl(int fd, int cmd, ... /* arg */ ); ...

2655
s1mba

linux系统编程之进程(三):exec系列函数和system函数

一、exec替换进程映象 在进程的创建上Unix采用了一个独特的方法,它将进程创建与加载一个新进程映象分离。这样的好处是有更多的余地对两种操作进行管理。当我们创...

2596
s1mba

linux网络编程之TCP/IP基础(三):IP数据报格式和IP地址路由

一、IP数据报格式 IP数据报格式如下: ? 注:需要注意的是网络数据包以大端字节序传输,当然头部也得是大端字节序,也就是说: The most signifi...

2707
s1mba

linux网络编程之TCP/IP基础(二):利用ARP和ICMP协议解释ping命令

一、MTU 以太网和IEEE 802.3对数据帧的长度都有限制,其最大值分别是1500和1492字节,将这个限制称作最大传输单元(MTU,Maximum Tra...

34610
s1mba

linux网络编程之TCP/IP基础(一):TCP/IP协议栈与数据报封装

一、ISO/OSI参考模型 OSI(open system interconnection)开放系统互联模型是由ISO(International Organi...

2485
s1mba

linux网络编程之TCP/IP基础(四):TCP连接的建立和断开、滑动窗口

一、TCP段格式: TCP的段格式如下图所示 ? 源端口号与目的端口号 源端口号和目的端口号,加上IP首部的源IP地址和目的IP地址唯一确定一个TCP连接...

2307
s1mba

linux网络编程之TCP/IP基础(五):分析一帧基于UDP的TFTP协议帧

下图是UDP的段格式: ? 相比TCP段格式,UDP要简单得多,也没啥好说的,需要注意的是UDP数据长度指payload加上首部的长度。 下面分析一帧基于UDP...

2077
s1mba

算法:静态查找表(Static Search Table)(顺序查找、二分查找、插值查找、斐波纳契查找)

查找表(Search table)是由同一类型的数据元素(或记录)构成的集合。关键字(key)是数据元素中某个数据项的值,又称为键值,用它可以表示一个数据元素,...

2375
s1mba

算法:二叉排序树的删除节点策略及其图形化(二叉树查找)

二叉排序树(BST,Binary Sort Tree)具有这样的性质:对于二叉树中的任意节点,如果它有左子树或右子树,则该节点的数据成员大于左子树所有节点的数据...

2179
s1mba

linux系统编程之基础必备(五):Linux进程地址空间和虚拟内存

一、虚拟内存 先来看一张图(来自《Linux内核完全剖析》),如下: ? 分段机制:即分成代码段,数据段,堆栈段。每个内存段都与一个特权级相关联,即0~...

2697
s1mba

linux系统编程之文件与I/O(一):文件的打开关闭

一、文件描述符 对于Linux而言,所有对设备或文件的操作都是通过文件描述符进行的。当打开或者创建一个文件的时候,内核向进程返回一个文件描述符(非负整数)。后续...

2449
s1mba

linux系统编程之文件与I/O(二):文件的读取写入

一、read系统调用 一旦有了与一个打开文件描述相关连的文件描述符,只要该文件是用O_RDONLY或O_RDWR标志打开的,就可以用read()系统调用从该文件...

2386

扫码关注云+社区

领取腾讯云代金券