摘要: 一、整体大纲 st_mode整体介绍: st_mode详细介绍: 二、 Linux文件操作相关函数 1. stat 作用:获得文件信息,也可以获取文件大小。 头文件 函数原型 参数说明: path文件名 buf传出参数,定义结构体struct stat sb; &sb 返回值 失败:返回-1,设置e 阅读全文
posted @ 2019-05-14 12:20 pointerC++ 阅读(922) 评论(0) 推荐(0) 编辑
摘要: 一、整体大纲 二、 系统IO函数1. 一些概念 文件描述符 PCB C库函的IO缓冲区 1) 文件描述符 int 类型 一个进程最多可打开多少文件 2) pcb 进程控制块 在其中有一个文件描述符表 -- 数组[1024] C库IO函数工作流程: pcb和文件描述符: 2. 虚拟地址空间 虚拟地址空 阅读全文
posted @ 2019-05-14 12:20 pointerC++ 阅读(562) 评论(0) 推荐(0) 编辑
摘要: 一、整体大纲 二、makefile的编写 一个规则 两个函数 三个变量 1. 一个规则 三要素:目标, 依赖, 命令 目标:依赖 命令: 第一条规则是用来生成终极目标的规则 a. 如果规则中的依赖不存在, 向下寻找其他的规则 b. 更新机制:比较的是目标文件和依赖文件的时间 2. 两个函数 1) 查 阅读全文
posted @ 2019-05-14 12:20 pointerC++ 阅读(805) 评论(0) 推荐(0) 编辑
摘要: 一、整体大纲 二、gdb调试 1. 启动gdb start -- 只执行一步 n -- next s -- step(单步) -- 可以进入到函数体内部 c - continue -- 直接停在断点的位置 2. 查看代码 l -- list l 10(函数名) l filename:行号(函数名) 阅读全文
posted @ 2019-05-14 12:20 pointerC++ 阅读(529) 评论(0) 推荐(1) 编辑
摘要: 一、整体大纲 二、共享库的制作 1. 命名规则: lib + 名字 + .so 2. 制作步骤: 1) 生成与位置无关的代码 (生成与位置无关的.o) 2) 将.o打包成共享库(动态库) 3. 发布和使用共享库: 4. 解决程序执行时动态库无法被加载的问题: 1)放到系统的库目录 中 -- 不允许使 阅读全文
posted @ 2019-05-14 12:20 pointerC++ 阅读(951) 评论(0) 推荐(0) 编辑
摘要: 一、整体大纲 二、静态库的制作 1)命名规则 lib + 库的名字 + .a 例如:libmytest.a2)制作步骤: 1). 生成对应的.o文件 -- .c --> .o -c 2). 将生成的.o文件打包 ar rcs + 静态库的名字(libMytest.a) + 生成的所有的.o3)发布和 阅读全文
posted @ 2019-05-14 12:19 pointerC++ 阅读(543) 评论(0) 推荐(0) 编辑
摘要: 一、整体大纲 二、gcc编译的四个阶段 阅读全文
posted @ 2019-05-14 12:19 pointerC++ 阅读(303) 评论(0) 推荐(0) 编辑
摘要: 一、整体大纲 二、vim编辑器的使用 vi -- vim vim是从vi发展过来的一款文本编辑器 vi a.txt 前提: 安装了vim软件 工作模式: 1. 命令模式 -- 打开文件之后, 默认进入命令模式 2. 编辑模式 -- 需要输入一些命令, 切换到编辑模式 3. 末行模式 -- 在末行模式 阅读全文
posted @ 2019-05-14 12:19 pointerC++ 阅读(452) 评论(0) 推荐(0) 编辑
摘要: 一、整体大纲 二、相关函数 1. getcwd 函数作用:获取当前目录 头文件 函数原型 参数说明: buf传出参数,路径 size缓冲区大小 返回值 成功:返回路径的指针 失败:返回NULL 2. chdir 函数作用:改变工作路径 头文件 #include <unistd.h> 函数原型 函数参 阅读全文
posted @ 2019-05-14 12:19 pointerC++ 阅读(616) 评论(0) 推荐(0) 编辑
摘要: 一、整体大纲 二、基础知识 1. 进程相关概念 1)程序和进程 程序,是指编译好的二进制文件,在磁盘上,不占用系统资源(cpu、内存、打开的文件、设备、锁....) 进程,是一个抽象的概念,与操作系统原理联系紧密。进程是活跃(运行起来的)的程序,占用系统资源。在内存中执行。(程序运行起来,产生一个进 阅读全文
posted @ 2019-05-14 12:19 pointerC++ 阅读(1428) 评论(0) 推荐(0) 编辑
摘要: 一、整体大纲 二、线程同步 1. 同步概念 所谓同步,即同时起步,协调一致。不同的对象,对“同步”的理解方式略有不同。如,设备同步,是指在两个设备之间规定一个共同的时间参考;数据库同步,是指让两个或多个数据库内容保持一 致,或者按需要部分保持一致;文件同步,是指让两个或多个文件夹里的文件保持一致等等 阅读全文
posted @ 2019-05-14 12:18 pointerC++ 阅读(1683) 评论(0) 推荐(0) 编辑
摘要: 一、协议的概念 1. 什么是协议 从应用的角度出发,协议可理解为“规则”,是数据传输和数据的解释的规则。 假设,A、B双方欲传输文件。规定: 第一次,传输文件名,接收方接收到文件名,应答OK给传输方; 第二次,发送文件的尺寸,接收方接收到该数据再次应答一个OK; 第三次,传输文件内容。同样,接收方接 阅读全文
posted @ 2019-05-14 12:18 pointerC++ 阅读(1028) 评论(0) 推荐(0) 编辑
摘要: 整体大纲 一、套接字概念 Socket本身有“插座”的意思,在Linux环境下,用于表示进程间网络通信的特殊文件类型。本质为内核借助缓冲区形成的伪文件。 既然是文件,那么理所当然的,我们可以使用文件描述符引用套接字。与管道类似的,Linux系统将其封装成文件的目的是为了统一接口,使得读写套接字和读写 阅读全文
posted @ 2019-05-14 12:18 pointerC++ 阅读(851) 评论(0) 推荐(0) 编辑
摘要: 高并发服务器 一、多进程并发服务器 1. 实现示意图 2. 使用多进程并发服务器时要考虑以下几点: 父进程最大文件描述个数(父进程中需要close关闭accept返回的新文件描述符) 系统内创建进程个数(与内存大小相关) 进程创建过多是否降低整体服务性能(进程调度) 3. 使用多进程的方式, 解决服 阅读全文
posted @ 2019-05-14 12:18 pointerC++ 阅读(5639) 评论(0) 推荐(2) 编辑
摘要: 一、整体大纲 二、信号详解 1. 信号的概念 信号在我们的生活中随处可见, 如:古代战争中摔杯为号;现代战争中的信号弹;体育比赛中使用的信号枪......他们都有共性: 1) 简单 2)不能携带大量信息 3)满足某个特设条件才发送。 信号是信息的载体,Linux/UNIX 环境下,古老、经典的通信方 阅读全文
posted @ 2019-05-14 12:17 pointerC++ 阅读(2448) 评论(0) 推荐(0) 编辑
摘要: 一、整体大纲 二、进程组与守护进程 1. 进程组 概念和特性 进程组,也称之为作业。BSD于1980年前后向Unix中增加的一个新特性。代表一个或多个进程的集合。每个进程都属于一个进程组。在waitpid函数和kill函数的参数中都曾使用到。操作系统设计的进程组的概念,是为了简化对多个进程的管理。 阅读全文
posted @ 2019-05-14 12:17 pointerC++ 阅读(1043) 评论(0) 推荐(0) 编辑
摘要: 一、整体大纲 二、线程相关 1. 什么是线程 LWP:light weight process 轻量级的进程,本质仍是进程(在Linux环境下) 进程:独立地址空间,拥有PCB 线程:也有PCB,但没有独立的地址空间(共享) 区别:在于是否共享地址空间。 独居(进程);合租(线程)。 Linux下: 阅读全文
posted @ 2019-05-14 12:17 pointerC++ 阅读(1114) 评论(0) 推荐(0) 编辑
摘要: 一、整体大纲 二、常用文件IO函数介绍 对于Centos7查看系统函数需要安装man手册 1. 常用IO热身: (1)首先来看下面一个示例: 1 #include<stdio.h> 2 #include<fcntl.h> 3 #include<sys/types.h> 4 #include<unis 阅读全文
posted @ 2019-05-14 12:16 pointerC++ 阅读(561) 评论(0) 推荐(1) 编辑
摘要: 一、整体大纲 二、进程间通信概念及方法 Linux环境下,进程地址空间相互独立,每个进程各自有不同的用户地址空间。任何一个进程的全局变量在另一个进程中都看不到,所以进程和进程之间不能相互访问,要交换数据必须通过内核,在内核中开辟一块缓冲区,进程1把数据从用户空间拷到内核缓冲区,进程2再从内核缓冲区把 阅读全文
posted @ 2019-05-14 12:16 pointerC++ 阅读(2118) 评论(0) 推荐(2) 编辑
摘要: 1. 路由(route) 路由(名词) 数据包从源地址到目的地址所经过的路径,由一系列路由节点组成。 路由(动词) 某个路由节点为数据包选择投递方向的选路过程。 2. 路由器工作原理 路由器(Router)是连接因特网中各局域网、广域网的设备,它会根据信道的情况自动选择和设定路由,以最佳路径,按前后 阅读全文
posted @ 2019-05-14 12:16 pointerC++ 阅读(832) 评论(0) 推荐(0) 编辑