![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
开源代码项目
杨小帆_
沉下心来做技术
展开
-
【计算机操作系统】存储管理的 C++ 实现(附源码)
文章目录一、实验目的二、实验内容2.1 实现多种页面置换算法并比较算法优劣三、流程图3.1 算法流程四、设计思想4.1 设计思路五、代码实现六、运行结果6.1 单道批处理(FCFS)七、结尾一、实验目的 存储管理的主要功能之一是合理地分配空间。请求页式管理是一种常用的虚拟存储管理技术。本实验的目的是通过请求页式管理中页面置换算法模拟设计,了解虚拟存储技术的特点,掌握请求页式存储管理的页面置换算法。因为源码中我对一些关键步骤的注释已经比较清晰了,所以在本文中不会再对每一个细节都进行分析,只分析整体的代码原创 2020-06-14 21:06:24 · 8230 阅读 · 2 评论 -
【计算机操作系统】银行家算法和安全性算法的 C++ 实现(附源码)
文章目录一、实验目的二、实验内容2.1 数据结构2.2 银行家算法2.3 安全性算法三、流程图3.1 单道批处理系统的作业调度四、代码实现五、运行结果5.1 初始化5.2 验证初始化状态的安全性5.3 进程1请求资源 1 0 2 并通过安全性检查,分配给它资源5.4 进程4请求资源 3 3 0 并因为其请求资源大于Available资源,因此让进程4等待5.5 进程0请求资源 0 2 0 并因为进行安全性检查时不存在安全序列,因此不分配资源5.6 进程0请求资源 0 1 0 并因为符合安全性检查,存在安全队原创 2020-06-13 17:53:55 · 2786 阅读 · 1 评论 -
【计算机操作系统】作业调度算法的 C++ 实现(附源码)
文章目录一、实验目的二、实验内容2.1 单道处理系统的作业调度2.2 多道程序系统的作业调度三、流程图3.1 单道批处理系统的作业调度四、设计思想4.1 设计思路4.2 代码解析六、代码实现七、结尾一、实验目的 用高级语言编写和调试一个或多个作业调度的模拟程序,以加深对作业调度算法的理解。因为源码中我对一些关键步骤的注释已经比较清晰了,所以在本文中不会再对每一个细节都进行分析,只分析整体的代码结构和所使用到的设计模式。 博客内所有文章均为 原创,所有示意图均为 原创,若转载请附原文链接。二、原创 2020-06-12 20:37:40 · 7981 阅读 · 1 评论 -
【计算机操作系统】进程调度算法的 C++ 实现(附源码)
文章目录一、实验目的二、实验内容2.1 优先权法和轮转法2.2 算法描述三、流程图3.1 优先权法3.2 轮转法四、实验要求五、设计思想5.1 总体思想5.2 数据结构5.3 关键代码解析六、代码实现七、源码地址一、实验目的 多道程序设计中,经常是若干个进程同时处于就绪状态,必须依照某种策略来决定那个进程优先占有处理机。因而引起进程调度。本实验模拟在单处理机情况下的处理机调度问题,加深对进程调度的理解。二、实验内容2.1 优先权法和轮转法简化假设1)进程为计算型的(无I/O)2)进程状态原创 2020-06-11 22:07:35 · 6400 阅读 · 2 评论 -
编译原理——基于LR分析表编写语法分析器与基于WINDOWS下FLEX与BISON的计算器实现
文章目录一、概述二、基于LR分析表编写语法分析器2.1 需求描述2.2 实现流程2.3 C++ 源码2.4 测试样例三、基于WINDOWS下FLEX与BISON的计算器实现3.1 需求描述3.2 Flex 源码3.3 Bison 源码3.4 测试样例四、相关草图4.1 可识别活前缀的 DFA 草图4.2 改进后的 SLR(1) 分析表草图一、概述 本篇博文主要提供 基于LR分析表编写语法分析...原创 2019-12-30 22:56:49 · 2029 阅读 · 0 评论 -
基于 RICS-V 架构的单周期 38 条指令处理器设计(含源码及实验报告)
一、概述 之前有专门的写过两篇博文来介绍基于 RICS-V 架构的单周期九条指令处理器设计,并提供了相关的代码结构介绍,之后我又对其进行了拓展,且修补了之前源码中存在的一些小问题,并将指令集从九条拓展至三十八条,基本以及完全覆盖了 RICS-V 的基本指令,并且对所有的三十八条指令都进行了仿真验证。 本着开源来帮助更多人的想法,继续开源三十八条指令的处理器设计,但因为这三十八条指令基本完全...原创 2019-12-27 23:19:48 · 1484 阅读 · 0 评论 -
编译原理——构造词法分析器(基于 Flex 构造和手工构造)
文章目录一、概述二、基于 Flex 构造词法分析器2.1 需求描述2.2 编译流程2.3 Flex 代码三、手工构造词法分析器3.1 需求描述3.2 实现流程3.3 C++ 代码四、测试用例4.1 测试用例一4.1.1 代码输入4.1.2 词法分析结果4.2 测试用例二4.2.1 代码输入4.2.2 词法分析结果4.3 测试用例三4.3.1 代码输入4.3.2 词法分析结果4.4 测试用例四4.4...原创 2019-12-05 18:41:03 · 7686 阅读 · 6 评论 -
基于 RICS-V 架构的单周期处理器设计(含所有格式指令)—— 控制信号选取及代码结构分析
文章目录一、概述二、设计过程2.1 选取指令2.2 指令功能简述2.3 设计过程概述2.4 扩展码取值2.5 三种 ALU 操作信号2.5.1 操作信号取值2.5.1 操作信号编码2.6 控制信号取值三、代码实现3.1 扩展码取值3.2 控制信号取值3.3 逻辑代码结构分析3.4 仿真代码结构分析3.5 其余文件分析3.5.1 inst_rom.data 指令存储器3.5.2 data_rom.d...原创 2019-12-02 20:21:19 · 9608 阅读 · 7 评论 -
基于 RICS-V 架构的单周期处理器设计(含所有格式指令)—— 逻辑部件概述
文章目录一、概述二、原理图2.1 ALU2.1.1 ALU 操作控制信号生成部件2.1.2 ALU 逻辑计算部件2.1.3 ALU 整体逻辑2.2 寄存器2.2.1 Reg 整体逻辑2.3 存储器2.3.1 Mem 整体逻辑2.4 多路选择器2.4.1 ALU_Asrc2.4.2 ALU_Bsrc2.4.3 ALU 和 MEM 之间的多路选择器2.5 PC2.5.1 next_pc 下指令逻辑部件...原创 2019-12-01 23:25:21 · 3798 阅读 · 4 评论 -
谈谈一致性哈希算法及其 Golang 实现(含负载均衡算法概述)
文章目录一、概述二、负载均衡算法2.1 概述2.2 轮询算法2.3 随机算法2.4 随机轮询算法2.5 加权轮询算法2.6 哈希算法三、一致性哈希算法3.1 适用场景3.2 算法思想四、代码实现(Golang)4.1 主要属性和函数4.2 使用方法4.3 存在的问题五、源码地址六、内容总结一、概述 本篇博文我们将会谈一谈一些的常见负载均衡算法,然后重点讨论一下 一致性哈希算法 的适用范围和算...原创 2019-11-16 20:56:38 · 1246 阅读 · 0 评论 -
6.824 Fault-tolerant key/value storage system v1.0(三)( Committing entries from previous terms)
文章目录一、概述二、Raft Leader Election 存在的问题2.1 正常流程2.2 问题描述2.3 出现问题的原因三、优化思路3.1 论文描述3.2 优化分析四、内容总结五、项目源码一、概述 关于 Committing entries from previous terms 是论文 In Search of an Understandable Consensus Algorith...原创 2019-11-01 19:00:34 · 209 阅读 · 0 评论 -
6.824 Fault-tolerant key/value storage system v1.0(二)(Rollback Optimization)
一、概述 二、论文描述 If desired, the protocol can be optimized to reduce the number of rejected AppendEntries RPCs. For example, when rejecting an AppendEntries request, the follower can include the term ...原创 2019-10-29 18:45:46 · 216 阅读 · 0 评论 -
6.824 Fault-tolerant key/value storage system v1.0(一)(附源码)
目录一、概述二、开源地址三、系统介绍四、参考资料五、心得体会六、内容总结一、概述时隔一个多星期之后我又回来了,首先本篇博文是基于 Raft 算法实现的具备容错机制的分布式键值存储系统开发系列博文的第一篇,先大概介绍整个项目的结构以及自己这段时间的心得吧,在下一篇中我将首先介绍 领导选举 和 心跳 的实现思路,注:该系统的第一版是使用Golang基于 MIT ...原创 2019-10-24 22:09:15 · 304 阅读 · 0 评论 -
《移动会议实时互动系统》项目相关总结(一)(代码已开源)
一、总结 承接第一篇博文,今年的六月份结束了中国大学生服务外包大赛,虽没有取得比较理想的成绩,但其中的一些技术细节和部分经历还是让自己获得了比较大的提升。 此项目启动于2018年2月初,历时三个月。二月初我开始进行需求分析、技术调研、原型设计等工作。二月中旬结束准备工作,开始进行小程序端的搭建,半个月左右完成小程序主要界面的搭建,三月初开始进行小程序部分界...原创 2018-09-14 17:44:39 · 1339 阅读 · 0 评论 -
《移动会议实时互动系统》项目相关总结(二)(代码已开源)
三、项目功能描述及界面展示(一)登陆管理系统界面(web端)“扫码登陆”:打开页面后会自动显示二维码,用小程序的扫一扫功能扫描后,即会弹出用户近期(一周以内,并按照据当前时间长短排序)所创建的相关会议,选择相应的会议后即可进入到管理界面。(因为此项目后期没有进行相关的维护,所以暂时无法显示出二维码来进行扫描演示)“密码登陆”:用户使用注册会议时自己设定的密码加上系统自动...原创 2018-09-15 15:31:21 · 922 阅读 · 0 评论 -
《移动会议实时互动系统》项目相关总结(三)(代码已开源)
四、部分功能技术解析(一)微信小程序扫描web二维码登陆 上图为web页面登陆的总体逻辑(1)框架使用 1.1 传统轮询 为了实现小程序与web端的实时通信,定时获取并刷新页面上的数据,以达到两端信息的...原创 2018-09-16 14:01:48 · 842 阅读 · 1 评论 -
基于 SSM 的网上购物系统(源码 + 开发文档 已开源)
你能做到的,比想像的更多。一、项目背景这个项目是自己从四月份开始学习 Spring + SpringMVC + MyBatis 后的一次项目实践,恰好赶上学校的数据库暑期课程实践,跟老师申请后更改到了这个课题——网上购物系统。之所以选择这个课题的原因主要是因为其具有比较好的可发挥性和可扩展性,对于这种类似网上商城的系统,我们不仅可以在商品加载和商品发布等比较基础的功能实现系统的性能优...原创 2019-08-16 11:06:58 · 41996 阅读 · 16 评论 -
Java 秒杀系统性能优化(初始化篇)
一、背景介绍秒杀系统顾名思义是在有限的时间里售出指定数量的商品,这个功能在网上购物项目中是很常见的,同时也是很多大厂面试出现频率很高的知识点,之前自己在阅读面经和学习一些框架和中间件的时候也经常遇到这个功能,如何保证在高并发的情况下不出现超买超卖的情况,如何保证系统能进行比较快速的操作响应,这都是在设计秒杀系统的时候经常需要考虑的问题。在结束了暑期的腾讯实习后,自己对技术有了更多地思考,同...原创 2019-09-07 17:26:50 · 673 阅读 · 1 评论 -
Java 秒杀系统性能优化( Redis缓存 + JVM缓存 + MQ异步 )
一、优化概述对于秒杀系统的优化方式有很多很多,从这篇博文开始我们一步一步的对系统进行性能的优化,同时记录每一步优化的主要思路和相关的代码实现原理,并在每次优化后使用 jmeter 对系统进行压测。这篇博文主要使用 Redis 缓存、JVM 缓存和 MQ 异步执行任务来对系统进行优化。项目源码 GitHub:https://github.com/TIYangFan/SpikeSystem(...原创 2019-09-08 17:31:59 · 2875 阅读 · 1 评论 -
图表型安卓APP——智慧课堂移动端(附源码)
作者享有此项目的软件著作权,禁止他人将此项目作为商用或者用于参加比赛等!一、项目展示视频展示:https://www.bilibili.com/video/av45574063/二、项目背景这个项目的话是我今年的二月份开始做的一个项目,当时做这个项目的目的和去年二月份那个《移动会议实时互动系统》是相同的,也是为了参加全国大学生服务外包大赛而准备的。整个项目的开发大概经历了两三个...原创 2019-07-05 11:10:42 · 1396 阅读 · 0 评论