- 博客(34)
- 资源 (6)
- 收藏
- 关注
原创 centos7创建samba
实现用root去访问共享文件夹:安装samba:yum -y install samba samba-client samba-common[root@localhost ~]# smbd -VVersion 4.10.4创建共享文件夹:mkdir -p /home/share配置/etc/samba/smb.conf配置:cp /usr/share/samba/smb.conf /etc/samba/smb.conf[root@localhost share]# vim /etc/sam
2020-06-25 18:57:10 375
原创 centos7解决samba提示NT_STATUS_ACCESS_DENIED
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入问题现象:[root@localhost share]# smbclient //192.168.241.143/shar
2020-06-25 18:10:12 9428
原创 5GC-1.核心网的构架和一些基础概念
1.5G无线接入网络架构主要包括5G接入网和5G核心网,其中NG-RAN代表5G接入网,5GC代表5G核心网。5G核心网主要包括哪些呢?先说一下关键的AMF/SMF/UPFAMF:全称 Access and Mobility Management Function,接入和移动管理功能,终端接入权限和切换等由它来负责。在AMF的单个实例中可以支持部分或全部AMF功能:-终止RAN CP...
2020-04-16 21:38:02 11411
原创 nginx架构-总结
nginx工程的目录结构:nginx├── _include├── signal├── misc├── net├── logic├── proc└── app@app:存放main函数和核心的源文件;@_include:存放各种头文件;@misc:存放杂合性的源文件;@net:存放和网络处理相关的源文件;@logic:存放和业务处理相关的源文件;@proc:存放和进程处...
2020-04-14 20:48:53 217
原创 12.Linux网络编程-POSIX线程
一:POSIX线程的优点POSIX(可移植操作系统接口)线程是提高代码响应和性能的有力手段,体现在如下几点:1)线程拥有并发处理能力线程类似于进程。如同进程,线程由内核按时间分片进行管理。在单处理器系统中,内核使用时间分片来模拟线程的并发执行,这种方式和进程的相同。而在多处理器系统中,如同多个进程,线程实际上一样可以并发执行。2)线程间的共享内存机制对于大多数合作性任务,多线程比多个独立...
2020-04-14 19:34:38 213
原创 11.Linux网络编程-POSIX共享内存
一:POSIX共享内存在Linux中,POSIX共享内存对象驻留在tmpfs伪文件系统中。系统默认挂载在/dev/shm目录下。当调用shm_open函数创建或打开POSIX共享内存对象时,系统会将创建/打开的共享内存文件放到/dev/shm目录下。二:共享内存相关函数#include <sys/mman.h>int shm_open(const char *name, int...
2020-04-07 15:25:57 273
原创 10.Linux网络编程-POSIX消息队列
一:posix消息队列消息队列可以认为是一个消息链表,某个进程往一个消息队列中写入消息之前,不需要另外某个进程在该队列上等待消息的达到,这一点与管道和FIFO相反。Posix消息队列与System V消息队列的区别如下:1) 对Posix消息队列的读总是返回最高优先级的最早消息,对System V消息队列的读则可以返回任意指定优先级的消息;2)当往一个空队列放置一个消息时,Posix消息队列...
2020-04-06 22:33:01 337
原创 3.nginx架构-日志
一:日志日志对于运行环境中系统的监控和问题定位是至关重要的,在系统设计、开发和实现的过程中必须时刻注意着log的输出,这将会对于日后的系统监控和异常分析起至关重要的作用。在系统日志实现上应该注意哪些问题呢?如何做到不滥用日志、减少大量无用信息,让日志记录足够精简明了?1)系统的哪些运行信息需要进行日志记录? 1、功能模块的启动和结束(完整的系统由多个功能模块组成,每个模块负责不同的功能,...
2020-03-25 21:32:08 240
原创 3.nginx架构-进程名称和内存检查工具
一:进程名称修改进程名称的目的是为了实现nginx名称自定义的功能:root@epc:~# ps -ef|grep nginxroot 1036 1 0 07:01 ? 00:00:00 **nginx: master process /usr/sbin/nginx -g daemon on; master_process on;**www-data ...
2020-03-23 20:08:54 308
原创 2.nginx架构-LINUX进程间通信知识
一:终端和进程的关系小工具:ps,kill,strace介绍:ps:用来显示进程信息的命令;kill:用于产生信号strace:用来显示进程收到的信号;通过小例子达到的目的:利用fork产生一个子进程;然后通过ps显示进程信息,通过strace跟踪kill掉子进程后父进程收到SIGCHLD信号;/*利用fork产生一个子进程*/#include <stdio.h>#...
2020-03-05 21:11:32 276
原创 1.nginx架构-基础环境搭建和nginx简介
一:系统Ubuntu16.04-server版本配置国内仓库源:mv /etc/apt/sources.list /etc/apt/sources.list.bakvim /etc/apt/sources.list更换为如下内容deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multivers...
2020-03-05 19:45:14 241
原创 10.Linux网络编程-system v信号量
一:信号量简介信号量本质就是一个计数器,用于统计临界资源数目的计数器,信号量是用来调协进程对共享资源的互斥访问,采用PV原语的原理。它的P(sv)和V(sv)行为是这样的:P(sv):要访问受保护的资源的进程或者线程试图对信号量的值减1,如果信号量的值现在不可用,即信号量为0,减1操作将被阻塞(休眠),直到信号量大于0时,才会得以继续执行;V(sv):要释放受保护的资源时,信号量的值将会加1...
2020-03-03 22:10:01 166
原创 ubuntu16.04安装openstack(ocata)
一、系统和openstack信息Liunx系统:ubuntu16.04 server 64位openstack版本:stable/ocata二、VMware配置1.处理器:数量1,核心数量2,虚拟化IntelVT-x/EPT开启;2.内存配置:4G3.硬盘容量:40G4.网卡:双网卡(必须能连接互联网),ens33配置成桥接(连接INTERNET),ens34设置成NAT(opens...
2020-03-03 14:31:02 1239
原创 9.Linux网络编程-SYSTEM V共享内存
一:内存映射文件1.基本原理mmap是一种内存映射文件的方法,即将一个文件或者其它对象映射到进程的地址空间,实现文件磁盘地址和进程虚拟地址空间中一段虚拟地址的一一对映关系。实现这样的映射关系后,进程就可以采用指针的方式读写操作这一段内存,而系统会自动回写脏页面到对应的文件磁盘上,即完成了对文件的操作而不必再调用read,write等系统调用函数。相反,内核空间对这段区域的修改也直接反映用户空间...
2020-03-02 20:56:50 289
原创 8.Linux网络编程-System V消息队列
一:消息队列消息队列是进程间通信的一种手段,进程产生的数据块以链表的形式存储在消息队列中,每个数据块都被认为是有一个类型,接收者进程接收的数据块可以有不同的类型。消息队列有以下的几个限制,每个消息有最大长度不能超过MSGMAX,每个消息队列的总的字节数不能超过MSGMNB,消息队列的总数不能超过MSGMNI。//查看消息队列限制的值root@epc:~# cat /proc/sys/ker...
2020-02-27 22:39:07 139
原创 7.Linux网络编程-UNIX域套接字
一:UNIX套接字用于同一台pc上运行的进程之间通信,它仅仅复制数据,不执行协议处理,不需要增加删除网络报头,无需计算校验和,不产生顺序号,无需发送确认报文。unix域协议并不是一个实际的协议族,而是在单个主机上执行客户/服务器通信的一种方法。它提供两类套接字,字节流和数据报,分别类似于TCP和UDP。使用unix域套接字的三个好处:unix域套接字通常比通信两端位于同一个主机的TCP套...
2020-02-26 23:05:25 360
原创 6.Linux网络编程-epoll原理
一:对比select发现epoll的有点要比较epoll相比较select高效在什么地方,就需要比较二者做相同事情的方法。要完成对I/O流的复用需要完成如下几个事情:1.用户态怎么将文件句柄传递到内核态?2.内核态怎么判断I/O流可读可写?3.内核怎么通知监控者有I/O流可读可写?4.监控者如何找到可读可写的I/O流并传递给用户态应用程序?5.继续循环时监控者怎样重复上述步骤?搞清...
2020-02-26 22:32:03 188
原创 5.Linux网络编程-select实现超时API
/* * data.h * * Created on: 2020年2月21日 * */#ifndef SRC_DEMO_DATA_H_#define SRC_DEMO_DATA_H_#include <stdio.h>#include <unistd.h>#include <errno.h>#include <sys/soc...
2020-02-26 14:03:41 402
原创 c++11多线程7-异步线程
异步线程异步线程的引入解决了线程有依赖关系的情景。c++11提供了std::async,std::packaged_task,std::promise,三种方法。1.std::asyncstd::async启动一个异步的任务,并返回一个std::future对象,可以通过future对象获取到异步任务的执行结果。async的第一个参数的选择:std::launch::deferred(默...
2019-10-22 21:20:30 948
原创 Centos6.5系统升级软件操作文档
为什么要用Centos6.5系统?答:因为计算板官方推荐Centos6.5。为什么要升级软件?答:软件需支持C++11相关库。1.系统信息系统版本:CentOS-6.5-x86_64-bin-DVD1下载地址:https://www.centos.org/download/注意:Centos6.5用U盘安装特别麻烦,我改用了光盘安装。可以用UltraISO工具制作系统光盘。2.更新...
2019-10-22 16:43:40 412
原创 C++多线程6-条件变量
1.条件变量std::condition_variable是多线程中经常用到的一个类,它的头文件为condition_variable。它常用的成员函数包括,wait,notify_one,notify_all等。它通过wait函数进行条件判断是否阻塞,当wait阻塞后由notify_one,notify_all函数进行唤醒。2.wait成员函数wait的函数它有两个形参,第二个形参可选(默...
2019-10-16 21:56:16 225
原创 C++多线程4-unique_lock详解
unique_lock和lock_guard都是可以自动解锁的类,但是lock_guard更加高效体现在永远在析构函数中解锁,而unique_lock更加灵活,但执行效率会比lock_guard低一些,它们都是有不同的应用场景。unique_lock是通用互斥包装器,允许延迟锁定、尝试锁定、递归锁定、所有权转移和条件变量一同使用;它可以移动mutex的所有权,但不可复制;1.unique_lo...
2019-10-11 15:50:32 487
原创 C++多线程3-共享数据操作保护
目录:1.多线程操作共享数据引出的问题2.解决多线程操作共享数据的方法:锁3.互斥量mutex的概念和用法4.lock普通锁的用法5.lock_guard类模板的用法6.死锁的概念和解决7.unique_lock的用法1.多线程操作共享数据引出的问题//我们用Test::set函数中作为多线程的回调函数,在这个回调函数中打印vector的size,发现它会出现段错误。#incl...
2019-09-24 23:21:36 602
原创 c++11-智能指针
c++智能指针为了更安全地管理动态内存,c++11引入了智能指针,提供了包括shared_ptr,unique_ptr,weak_ptr三种不同类型的智能指针。目录结构:一、三种指针介绍1.shared_ptr2.unique_ptr(待续)3.weak_ptr(待续)二、智能指针的基本使用1.创建shared_ptr对象的两种方法2.智能指针的使用3.引用计数4.复位引用计...
2019-09-24 09:26:24 451 1
原创 c++多线程2-线程参数传递需要注意的几个问题
一.线程的初始化参数需要注意一下几个问题:1.回调函数使用引用参数接收值时,必须声明为const,否则报错;(线程基于数据安全保护的考虑)2.回调函数必须声明为指针,才能修改实参;3.对象隐式转换是在子线程中进行的;4.回调函数参数为非引用时,对象的拷贝是在子线程中进行的;二.使用detach需要注意的问题由上四点可以发现,使用detach需要注意的问题:1.传递对象时,建议用引用的...
2019-09-22 23:05:23 1246
原创 c++多线程1-多线程的创建
什么是多线程?我们可以理解为一个线程执行一个代码段,所以多个线程就是执行多个代码段,当一个线程结束后,进程就退出了,这个线程我们称之为主线程。每个进程可以有一个或一个以上的线程,但只有一个主线程,我们暂且理解主线程为main函数。在多核CPU中,多线程的程序比单线程的运行效率高,因此开启线程的个数,理想情况下是根据CPU的核数来定。linux查看线程的命令:linux查看线程的命令:root...
2019-09-22 17:17:02 214
原创 C++多线程5-单例模式详解
单例模式:只允许创建一个类对象,实现的关键是将构造函数变为私有。单例模式有几种实现方式:懒汉模式饿汉模式线程安全模式局部静态变量模式1.懒汉模式当需要使用类对象时,才去申请堆空间,避免内存浪费,这样的方式会引入两个问题,一个就是在多线程的运用场景下有可能多次申请空间去创建对象造成异常,为了解决这个问题引入了线程安全模式;另外一个就是如何释放堆空间的问题,我们在线程安全模式下再讲解...
2019-09-20 21:07:13 585
原创 3.Linux网络编程-粘包处理
/* * visiopacket.h * * Created on: 2019年5月8日 * Author: hfeng.liu * * 粘包处理:由于TCP是基于流传输的机制,当发送多个间隔较小的小报文时,它会在缓冲区中缓存成一个报文发送给peer,这时peer * 无法区分一个报文的边界。 * 解决的办法:让peer知道一个报文的边界,即知道它...
2019-08-08 23:32:01 249
原创 2.Linux网络编程-socket函数和C2S实现
1.TCP客户/服务器模型TCP服务器:socket()–>bind()–>listen()–>accept()–>block直至客户连接到达---->read()–>处理请求–>write()---->read()–>close()TCP客户端:socket()—>connect()---->write()----->r...
2019-08-08 23:25:19 185
原创 1.Linux网络编程-字节序和地址转换函数
1.IPv4套接口地址结构IPv4套接口地址结构通常称为“网际套接字地址结构”,它以“sockaddr_in”命名,定义在头文件<netinet/in.h>中struct sockaddr_in{ uint8_t sin_len; //整个sockaddr_in结构体的长度; sa_family_t sin_family; //指定地址族,必须设定为AF_INET(ipv...
2019-08-08 23:15:03 381
原创 代码注释规范
一、背景1、当我们第一次接触某段代码,但又被要求在极短的时间内有效地分析这段代码,我们需要什么样的注释信息?2、怎么样避免我们的注释冗长而且凌乱不堪呢?3、在多人协同开发、维护的今天,我们需要怎么样的注释来保证高质、高交的进行开发和维护工作呢?二、意义程序中的注释是程序设计者与程序阅读者之间通信的重要手段。应用注释规范对于软件本身和软件开发人员而言尤为重要。并且在流行的敏捷开发思想中已经...
2019-07-28 21:42:12 672
原创 gdb工具详解
一、 Linux命令行运行gdb -q 进入gdb,不打印版本信息gdb <program> 直接装载程序,但没有运行gdb <program> <core_file> 该core文件是该program非法执行后dump出的gdb -d <directory> 加入一个源程序搜索路径二、 挂接正在运行的程序 gdb gdb a...
2019-07-25 22:31:41 839
word文档样式模板word.dotx
2020-06-16
osf-openstack-training-master.zip
2020-05-16
my0511.tar.gz
2020-05-11
my20200508.tar.gz
2020-05-08
ubuntu-16-server系统离线安装手册.zip
2019-09-18
scrapy 官方文档
2017-12-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人