STEMHA's Blog

Linux程序执行相关函数-exec函数

类Unix系统提供了一系列函数,这些函数能用可执行文件所描述的新上下文代替进程的上下文。这样的函数名以前缀exec开始,后跟一个或两个字母。

Linux程序的执行过程

我们需要知道什么?

进程的概念在UNIX中的表现就是一组程序竞争系统资源的行为。
内核是如何通过程序文件的内容建立进程的执行上下文?
一个程序执行的上下文到底是什么呢?

Linux 设备驱动概述

同类的东西,学习起来找共性就好了。学习Linux设备驱动,需要寻找各种驱动程序与系统的共性,探索其中的规律;

Linux内核驱动

设备文件

类Unix操作系统都是基于文件概念的。

  • 可以直接把I/O设备当作设备文件(device file)来处理。
  • 操作普通文件的系统调用也可以直接用于I/O设备。

STL 算法整理

标准库中常见的函数与头文件

STL 堆常用操作

基本概念

  • STL中并没有把heap作为一种容器组件,heap的实现亦需要更低一层的容器组件(诸如list,array,vector)作为其底层机制。

  • Heap是一个类属算法,包含在< algorithm >中。

  • STL中关于heap默认调整成的是大顶堆,可以用自定义的compare_fuction函数实现大顶堆或小顶堆。

  • heap的低层机制vector本身就是一个类模板,heap基于vector便实现了对各种数据类型(无论基本数据类型还是用户自定义的数据类型)的堆排(前提是用户自定义的数据类型要提供比较机制compare_fuction函数)。

数据库常用概念

基本概念

计算机网络教程-套接字

套接字的数据结构

C 语言将套接字定义为一个结构(struct)。套接字结构由五个字段组成;每个套接字地址是一个由五部分构成的结构。

计算机网络教程-TCP状态转换

TCP状态表

状态 说明 状态 说明
CLOSED 没有连接存在 FIN-WAIT-2 首个FIN 的ACK 已被接收;等待第二个FIN
LISTEN 接收到被动打开;等待SYN CLOSE-WAIT 首个FIN 被接收,ACK 被发送;等待应用关闭
SYN-SENT SYN已被发送;等待ACK TIME-WAIT 第二个FIN 被接收,ACK 被发送;等待2MSL 超时
SYN-RCVD SYN + ACK 已被发送;等待ACK LAST-ACK 第二个FIN 被发送;等待ACK
ESTABLISHED 连接建立;数据传输正在进行 CLOSING 双端决定同时关闭
FIN-WAIT-1 首个FIN 已被发送;等待ACK

计算机网络教程-HTTP协议

HTTP(超文本传输协议)

超文本传输协议(HyperText Transfer Protocol,HTTP)是一种用来定义客户服务器程序如何编写和如何从万维网获取网页的协议。

  • 一个HTTP 客户发送一个请求;HTTP 服务器返回响应。
  • 服务器使用80 端口号;客户使用一个临时端口号。
  • HTTP 使用TCP 服务。这意味着,在客户和服务器进行任何事务之前,它们之间必须建立连接。
  • 在事务之后,连接应当终止。然而,客户和服务器不需要担心交换报文中的差错以及报文的丢失,因为TCP 是可靠的而且将处理这个问题。
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×