Kingtous' Blog

Keep Hungry, Keep Foolish.

算法-递归、分治

策略

分治 将大问题分解成一些规模较小的相同子问题(分而治之) eg:排列n个元素 解:一分为二,分为两个元素的小单位进行排序 1.将规模为n的划分为两个$\frac{n}{2}$规模的问题(如果还大则继续划分) 2.将这些问题递归求解 条件 对于函数f(n)有基本部分和递归部分 基本部分 对于n的一个或多个值,f(n)必须是...

Linux-(信号量)银行-客人问题

1个窗口,10个座位,20个客人

背景 某银行提供1个服务窗口和10个供顾客等待的座位。顾客到达银行时,若有空座位,则到取号机上领取一个号,等待叫号。取号机每次仅允许一位顾客使用。当营业员空闲时,通过叫号选取一位顾客,并为其服务。 关键点 信号量 PS1:服务窗口只有1个,所以不需要设置信号量 PS2:macOS不支持匿名信号量,不支持使用sem_init而改用sem_open ...

操作系统---信号量、管程

PV操作,管程

1. (Signal-PV)Writer-Reader Problem 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 void Reader(){ // operate count // 1. lock count // 2. if <read cou...

计算机网络-传输层

计算机网络知识

运输层 运输层在协议栈中的地位和作用 运输层位于面向通信部分的最高层,同时也是用户功能中的最底层,向它上面的应用层提供服务 运输层和网络层的通信有什么重要区别 运输层(TCP/UDP):为应用进程之间的通信部分提供端到端的通信 网络曾(IP):是为主机之间提供逻辑通信 运输层以复用和分用的形式加载到网络层 多个用户使用一个IO资源 发送消息 时,我们称之为“复用”。 ...

Ettercap-ARP+DNS欺骗

arp中间人

Package :ettercap System: Linux Step.1 enable net.ipv4.ip_forward To allow system to accept network packages to pass through your computer. sudo sysctl -w net.ipv4.ip_forward=1 ...

操作系统-进程的描述与控制

操作系统

前趋图 不允许有循环 程序顺序执行 特征: 顺序性 严格按照程序所规定的顺序执行 封闭性 在封闭的环境下执行,运行时独占全机资源,资源状态只有本程序能够改变他们,执行结果不受外界的影响 可再现性 只要程序执行时的环境和初始条件相同,当程序重复执行时,不管怎么执行,执...

计算机网络-传输层笔记

TCP/IP

传输层 管理两个节点之间的数据传输。负责可靠传输,确保数据被可靠地传送到目标地址。 TCP 四次握手 优点 面向字节流 可靠性传输 细粒度 缺点 对于虚假的请求无法进行很好的防范 DDOS攻击 开销大 ...

计算机组成原理-知识点随心记

知识点

指令系统 堆栈 push A push B ADD pop C 累加器 LOAD A ADD B STORE C R-S LOAD R1,A ADD R1,B STORE C,R1 R-R 只有store和add能访问内存 LOAD R...

Linux-条件变量

通信

条件变量 与互斥变量不同的是,条件变量可以在保证互斥的同时,实现进程之间的同步。(在条件变量等待的情况下,与其绑定的已经加锁的变量仍然可以被其他进程加锁) 子进程调用条件变量等待父进程 父进程做完操作后,调用条件变量,发出信号表明子进程可以继续操作 子进程继续执行 实现代码: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1...

Linux-加锁机制

通信

加锁机制 比如一台电脑,人在用的时候,其他人没发用,只有等那个人下位,其他人才能用 实现代码: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 #include <pthread.h> #include <stdio.h> #...