排序:
默认
按更新时间
按访问量

用户态和内核态的理解和区别

1、linux进程有4GB地址空间,如图所示: 3G-4G大部分是共享的,是内核态的地址空间。这里存放整个内核的代码和所有的内核模块以及内核所维护的数据。 2、特权级的概念: 对于任何操作系统来说,创建一个进程是核心功能。创建进程要做很多工作,会消耗很多物理资源。比如分配物理内存,父子进...

2018-07-21 10:45:21

阅读数:5

评论数:0

MySQL存储引擎

一、MySQL常用存储引擎: 存储引擎:MySQL操作文件的子系统,是基于表的,不是基于数据库的。 MySQL:插件式存储引擎数据库 二、分类: 1、InnoDB存储引擎 (1)InnoDB存储引擎是windows默认的,提供具有提交、回滚和崩溃回复能力的事务安全。支持事务、DLTP:事务...

2018-07-18 12:57:12

阅读数:13

评论数:0

高性能服务器编程——多进程编程

一、多进程编程 1、多进程处理 单机处理不能同时处理两个客户端,因为一旦一方执行起来,获取连接就会一直在while循环里面,而另一方获取不到连接,无法通讯,所以采用多进程处理。 思路:父进程只负责获取连接,然后fork出子进程去和客户端通讯。 注意:父子进程共享文件描述符,所以子进程在通讯时不必再...

2017-11-13 18:50:15

阅读数:79

评论数:0

IP协议

一、微机原理 1、计算机组成:CPU、内存、I/O(输入输出设备) 2、总线: (1)数据总线:链接cpu、I/O、内存的线来传送数据 (2)地址总线:寻址  (3)控制总线:控制CPU、I/O、内存之间的方向 (I/O不可能到CPU)

2017-11-13 15:14:03

阅读数:68

评论数:0

网络编程(三) UDP报头及编程

一、UDP 1、UDP 报头 注意:          数据包长度包括首部在内的UDP报文长度。          校验值:头部和数据部分都校验。 2、TCP和UDP比较 (1)UDP控制信息很少,最多只有8个字节,而TCP最多有20个字节,所以UDP的传输速度较快。 (2)UDP是无连接的...

2017-11-12 21:14:51

阅读数:95

评论数:0

网络编程(二) TCP报头

一、TCP报头 1、TCP头部信息出现在每个TCP报文段中,用于指定通信的源端端口、目的端端口、管理TCP连接等。TCP头部结构包括固定头部结构和头部选项。 2、TCP固定头部结构如图所示: (1)16位源端口号/目的号:说明这个报文是来自哪里;要传给哪个上层协议。进行TCP通信时,客户...

2017-11-06 00:29:24

阅读数:76

评论数:0

网络编程(二)TCP面向连接服务 三次握手和四次挥手

一、TCP面向连接服务 1、三次握手创建连接 TCP连接建立过程:首先由客户端给服务器发送一个SYN连接请求;接着服务器会连同SYN这个请求和它的回馈标识ACK一起发送给客户端,SYN/ACK有两个意义:一是确认收到上一个报文、二是告诉客户端同意连接请求;然后客户端仔给服务器发送一个ACK回馈,...

2017-11-04 21:09:44

阅读数:98

评论数:0

网络编程基础(一)

一、网络数据传递流程 1、数据发送流程图 2、下层为是上层的服务是有限制的,如果上层想获取更多的服务只能通过自己去获取,上层服务没有权限要求下层服务提供更多的服务。 二、网络编程 1、在网络编程上有两个角色:服务器 、  客户端。 服务器:作为一个中间桥梁去完成两个客户端的通信。 ...

2017-11-03 16:43:49

阅读数:61

评论数:0

网络基础

一、网络基础 1、网络就是将计算机主机连接起来,将网络连接起来就是互联网,inter网是最大的互联网; 2、网络设备有路由器和交换机; 路由器是osi协议模型网络层中的分组交换设备。它的基本功能就是通过登录、存储、转发等过程把数据传送到正确的网络;路由器比交换机多一个虚拟拨号功能,但是如果同时使用...

2017-11-02 22:03:16

阅读数:55

评论数:0

线程控制(一)线程基础

一、线程管理 1、线程的概念:线程是进程内部的一条执行序列或者说是执行流(简单说就是执行路线)。因为每个进程都是独立的,所以每个进程至少有一个线程,就是main的执行体,叫做主线程。进程可以通过线程库创建n条线程,新创建的线程叫做函数线程,函数线程和主线程不一样。 2、所有的语言在main函数结束...

2017-10-27 18:52:30

阅读数:92

评论数:0

进程间通讯(四) 共享内存

一、共享内存 1、所谓共享内存就是在物理内存创建一块区域,让进程A、B同时共享这块区域,这个和管道很像,但区别是这块区域不是一块单独的区域,而是既可以把它看为进程A的一部分,又可以把它看为是进程B的一部分。如图所示: 2、共享内存也有内核对象来管理共享的内存区域。 3、特点:共享内存...

2017-10-26 16:26:58

阅读数:74

评论数:0

进程间通讯(三)消息队列

一、消息队列 1、定义: 消息:是一种数据(不仅仅是数据消息,它包括数据和类型);队列:它的数据结构是“先进先出”。 消息队列:是一种临时存储消息的队列,完成进程之间的数据传递。它的特点是:不是完全的先进先出,相当于是有优先级的队列。 2、特点: 与管道相比:它也提供了一种在两个不相关的...

2017-10-25 08:19:35

阅读数:108

评论数:0

c++编译链接运行(一)

1、C和C++写代码必须通过编译、链接,才能得到可执行程序,可执行文件本身在磁盘存着,若要运行它,必须把它加载到内存。因为cpu从内存访问数据的效率远远大于从磁盘访问数据的效率。 2、那么要加载到内存,都要加载哪些东西呢?       无论那种语言写代码都只产生指令和数据。 3、把数据和指令...

2017-10-21 22:27:43

阅读数:75

评论数:0

进程间通讯(二) 无名管道 & 信号量

一、无名管道 1、无名管道是由系统控制,相对于有名管道而言的。无名管道在使用时产生,不使用时释放,并不会在系统上留下任何痕迹,所以在释放之后你并不知道哪一块被用过。 2、使用限制:和有名管道相比,有名管道可以用于任意两个进程(包括父子进程),而无名管道因为使用前没有任何标识,所以只能用于父子进...

2017-10-19 22:56:22

阅读数:92

评论数:0

进程间通讯(一) 有名管道

一、管道文件 1、A进程---->B进程   A进程的数据流通过通道向B进程 2、半双工通讯:数据流向单向传输 (同一时间)    全双工通讯:数据流向双向传输 (同一时间)

2017-10-18 13:48:07

阅读数:84

评论数:0

Strncmp函数

一、Strncmp函数1、参数:str1、str2为需要比较的两个字符串,n为要比较的字符的数目。字符串大小的比较是从ASCLL码表上的顺序来决定,此顺序为字符的值。                strncmp(  )首先将str1第一个字符值减去str2第一个字符值。若差值为0继续比较,直到字...

2017-10-12 15:47:00

阅读数:104

评论数:0

Linux简答知识点

1、简述静态链接库与共享库的区别。        静态库:链接过程使用静态库,链接时将静态库中的内容合成到可执行文件,运行时不在依赖文件。             .a(linux)   .lib(windows)        动态库/共享库:运行时加载动态库,运行时可执行文件依赖于动态库。动态...

2017-09-20 15:15:51

阅读数:58

评论数:0

Linux基本命令(一)

一、Linux基本命令 1、ls:查看当前目录下的文件        ls -a:显示所有文件(以“.”开头的是隐藏文件)    ls -l:每列仅显示一个文件或目录名称,显示属性信息    ls -a -l:每列仅显示一个文件或目录名称,并显示所有文件    ls -i:列出文件inode结点 ...

2017-09-14 23:08:29

阅读数:40

评论数:0

Linux下的系统编程和网络编程知识网络

一、Linux(red hat)基础 Linux文件系统:Linux根目录下子目录含义、文件类型、EXT2系统、Linux文件层次结构 Linux基本操作命令:  文件操作:touch、rm、cp、mv、less、more、head、cat、mkdir、vi/vim、tail        ...

2017-09-10 14:54:32

阅读数:72

评论数:0

排序方法稳定性总结

一、关于常见排序算法稳定性的问题     排序算法的稳定性,简单地讲就是能保证排序前2个相等的数其在序列的前后位置顺序和排序后它们两个的前后位置顺序相同。在简单形式化一下,如果A1 = A2,序列中A1在A2位置前,排序后A1还是要在A2位置前,那么这个算法就算稳定。 (1)冒泡排序 冒泡...

2017-08-31 00:00:08

阅读数:60

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭