摘要: 1.Linux前身Unix。1970年Unix元年。Linux时间戳:1970年0点0分0秒开始的秒数。 2.GNU计划。开源计划。GNU/Linux。GCC(GNU Compile Collection) 3.Linux分支:Ubuntu,Debian,Centos等。 4.关机。 # shutd 阅读全文
posted @ 2021-08-09 21:20 萌新的学习之路 阅读(56) 评论(0) 推荐(0) 编辑
摘要: 1.UDP通信 #include <sys/types.h> #include <sys/socket.h> ssize_t sendto(int sockfd, const void *buf, size_t len, int flags, const struct sockaddr *dest_ 阅读全文
posted @ 2021-08-09 21:16 萌新的学习之路 阅读(35) 评论(0) 推荐(0) 编辑
摘要: 1.TCP通信并发。使用多线程或多进程。 1. 一个父进程,多个子进程 2. 父进程负责等待并接受客户端的连接 3. 子进程:完成通信,接收一个客户端连接就创建一个子进程用于通信 ps: 回收子进程使用SIGCHILD信号,使用sigaction()信号捕捉函数,使用waitpid()非阻塞回收子进 阅读全文
posted @ 2021-08-09 21:14 萌新的学习之路 阅读(43) 评论(0) 推荐(0) 编辑
摘要: 1.网络结构模式 C/S结构(客户端/服务器) 服务器存有多个用户共享的信息与功能,执行后台服务,如控制共享数据库的操作等 客户端为用户专有,负责执行前台功能,包括出错提示、在线帮助等功能,并且可以在子程序间自由切换。 优点:1)能充分发挥客户端PC的处理能力,很多工作可以在客户端吃力后嫁给服务器, 阅读全文
posted @ 2021-08-09 21:13 萌新的学习之路 阅读(47) 评论(0) 推荐(0) 编辑
摘要: 平衡树: AVL 树 2-3 树 2-3-4 树 红黑树 B-树 红黑树的性质: 1.每个结点要么是黑色或者红色。 2.根结点和叶节点(nil)是黑色。 3.如果一个结点是红色的,则它的父结点和两个子结点都是黑色的。 4.对每个结点,从该结点到其所有后代叶结点的简单路径上,均包含相同数目的黑色结点, 阅读全文
posted @ 2021-08-09 21:10 萌新的学习之路 阅读(91) 评论(0) 推荐(0) 编辑
摘要: 分治:将问题划分为互不相交的子问题递归求解。 动规:应用于子问题重叠的情况。求解过程中将子问题的解记录在表格中。 动态规划主要用于求解最优化问题。 求解步骤: 找到最优子结构。最优子结构性质:问题的最优解由相关的子问题的最优解组合而成,而这些子问题可以独立求解。 递归地定义最优解的值。 自底向上地计 阅读全文
posted @ 2021-08-09 21:07 萌新的学习之路 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 1. 01背包 问题:N种物品,每种物品1个,第i个物品重量wi,价值vi。背包容量M。选择装入背包的物品使得价值最大。 /* 二维状态:f[i][j] 表示对于前 i 个物品,总体积为 j 的情况下可以获得的最大价值。 结果:max(f[N][M])。 状态转移: 1. 不选择第 i 个物品:f[ 阅读全文
posted @ 2021-08-09 21:05 萌新的学习之路 阅读(101) 评论(0) 推荐(0) 编辑
摘要: 爬楼梯问题: 实际是求排列数。即:对于爬上3层,先2后1和先1后二是两种不同的方法。 状态定义:dp[i] 表示到达第i层的方法有多少种。 状态转移:dp[i] = dp[i - 1] + dp[i- 2]; 零钱兑换问题: 实际是组合数问题。即:要凑3块钱,先选择2块还是先选择1块的零钱都只算1种 阅读全文
posted @ 2021-08-09 21:02 萌新的学习之路 阅读(282) 评论(0) 推荐(0) 编辑
摘要: 剑指offer12:矩阵中的路径 https://leetcode-cn.com/problems/ju-zhen-zhong-de-lu-jing-lcof/ 给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中,返回 true ;否则,返回  阅读全文
posted @ 2021-08-09 21:00 萌新的学习之路 阅读(102) 评论(0) 推荐(0) 编辑
摘要: 1.线程是允许应用进程并发执行多个任务的一种机制。一个进程可以包含多个线程。 同一个程序中多有的线程均会独立执行相同程序,且共享同一份全局内存区域,包括初始化数据段、未初始化数据段、堆内存段。 进程是CPU分配资源的最小单位,线程是操作系统调度执行的最小单位。 线程是轻量级的进程(LWP:Light 阅读全文
posted @ 2021-08-09 20:57 萌新的学习之路 阅读(73) 评论(0) 推荐(0) 编辑
摘要: 1.Web Server(网页服务器)。 通过HTTP协议与客户端(浏览器)进行通信,接收、存储、处理来自客户端的HTTP请求,并对其请求作出HTTP相应,返回给客户端其请求的内容(文件、网页等)或返回一个error信息。 用户在浏览器中键入“域名”或“IP地址:端口号”,浏览器将域名解析成IP地址 阅读全文
posted @ 2021-08-09 20:55 萌新的学习之路 阅读(651) 评论(0) 推荐(0) 编辑
摘要: 1. 程序 vs 进程 程序时包含一系列信息的文件,这些文件描时了如何在运行时创建一个进程。(二进制格式标识、机器语言指令、程序入口地址、数据、符号表和重定位表、共享库和动态链接信息) 进程是正在运行的程序的实例,是一个具有一定独立功能的程序关于某个数据集合的一次运行活动,是操作系统动态执行的基本单 阅读全文
posted @ 2021-08-09 20:53 萌新的学习之路 阅读(262) 评论(0) 推荐(0) 编辑
摘要: 1.进程间通信。 进程是独立的资源分配单元,不同进程之间的资源是独立的,没有关联,不能在一个进程中直接访问另一个进程的资源。 进程之间可以进行信息的交互和状态的传递,称为进程间通信(IPC:Inter Processes Communication)。 进程间通信:数据传输、通知时间、资源共享、进程 阅读全文
posted @ 2021-08-09 20:49 萌新的学习之路 阅读(67) 评论(0) 推荐(0) 编辑
摘要: 1.共享内存。允许两个或多个进程共享物理内存的同一块区域(段)。 共享内存是进程用户空间的一部分,因此这种IPC机制需要更少的内核处理。一个进程将数据复制到共享内存中,那么这部分数据就会对其他所有共享同一个段的进程可用。 与管道等要求发送进程将数据从用户空间的缓冲区复制到内核内存和接收进程将数据从内 阅读全文
posted @ 2021-08-09 20:45 萌新的学习之路 阅读(83) 评论(0) 推荐(0) 编辑
摘要: 1.信号,事件发生时对进程的通知机制,有时称为软件中断,是在软件层次上对中断机制的一种模拟,是一种异步通信方式。发送进程的信号一般来源于内核。 引发内核为进程产生信号的事件: 对于前台进程,用户可以通过键盘输入特殊的中断字符来给它发送信号。 硬件发生异常,即硬件检测到一个错误条件并通知内核,再由内核 阅读全文
posted @ 2021-08-09 20:42 萌新的学习之路 阅读(32) 评论(0) 推荐(0) 编辑
摘要: 1.阻塞/非阻塞,同步/异步 一次典型的IO包括两个阶段:数据就绪和数据读写 数据就绪阶段:阻塞和非阻塞 阻塞:数据还没到达之前,调用IO方法的线程会挂起(并不占用CPU资源) 非阻塞:不会改变线程的状态,会通过返回值判断缓冲区是否有数据传来 int size = recv(sockfd, buf, 阅读全文
posted @ 2021-08-09 20:37 萌新的学习之路 阅读(301) 评论(0) 推荐(0) 编辑
摘要: 1.假设主动关闭方无TIME-WAIT状态会发生什么? 若主动关闭方不进入TIME-WAIT,且最后一个 ACK接收失败,那么被动关闭方会重传FIN包。由于该连接在主动关闭方已认为关闭,无法识别该FIN包。协议栈会认为对端疯了,还没建立连接你给我来个FIN? 于是回复一个RST包给对端,被动关闭方就 阅读全文
posted @ 2021-08-09 20:33 萌新的学习之路 阅读(176) 评论(0) 推荐(0) 编辑