自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 hit-oslab 实验1和实验2

操作系统启动注意:此部分的代码 /boot/bootsect.s 和 /boot/setup.s是需要重构的,而不是按照源码修改1.1我对于开机的系统理解1。就我个人而言开机相当于让整个机器热起来,在通电之后,机器是无知的,这时候需要让源源不断的“内容”加载到内存中,让处理器热起来一直处于工作状态!但是如果一开始不在内存中永久的加入相当于“指路功能的”boot,计算机永远找不到记录在磁盘上的数据,所以我们在内存0xffff0处添加了一直存在的信息就是为了找到操作系统的第一个程序bootsect.s!!

2021-08-30 12:26:30 228

原创 关于C语言中一些语法现象的遗漏

遗漏一:‘&&’,‘||’语法现象&&是与条件符,||是或条件符,这两个条件符都遵从优先判断第一个条件;区别是’&&‘第一个错误就停止判断而‘||’是第一个正确就停止判断e.g. :fork()||fork()如上述代码,该行代码将创建三个线程分别是1:第一个fork()为false,需要判断第二个fork(),而第二个fork()有两个状态,true&false,所以创建了两个线程。2:第一个fork()为true,不进行第二个线程的判断,

2021-08-27 00:42:01 132

原创 Redis设计与实现----底层数据结构之链表

1.链表的基础知识1.1头指针ListNode *L = new ListNode; //生成新节点为头节点,头指针L指向头节点;L->next = NULL; //头节点的指针域为空头指针指向头节点!!!1.2头节点可以直接参考《数据结构》那本书,这里不做赘述!2.Redis中的链表2.1链表节点(ListNode)首先是链表节点因为redis数据库中可能存在双向的迭代,所以我们使用双向链表typedef struct ListNode{ // 前置节点 struct Li

2021-08-23 14:38:09 127

原创 MIT6.828 Homework 2 : shell

实验出处shell1.准备阶段ps:(如果想直接看源码解析请跳转到目录2.源码解析)1.1 文件I/O(文件重定向)文件描述符:STDIN_FILENO ---------- 0 STDOUT_FILENO---------- 1 STDERR_FILENO---------- 2文件描述符的范围是0~OPEN_MAX重定向分为 “<", “>”,"<<",">>"cmd < file: 将文件作为命令的标准输入cmd < f

2021-08-03 18:37:53 402

原创 CDMA/IEEE802.11

CDMA(码分多址)原理:每个比特时间在划分成m个短的时间槽,称为码片码片的个人理解关于码片在我的理解中就相当于一个人的身份证号,但他是+1 ,-1的序列;比如A站发送bit序列的时候是0,1序列,那么A站发送的每个1都有相同的码片序列,但是不同的站点拥有不同的码片序列,且不同的站点码片序列是正交的(两个序列内积为0),what’s more,A站的bit0的码片序列是bit1的码片序列的反码存在如下图的关系所以发送端对数据进行线性叠加,即最普通的向量叠加;接收端分别对叠加的数据与各个站点的码

2021-07-30 20:22:52 178

原创 KMP算法复习

ps:等我学完FSM一定更新next和KMP的原理杭电OJ2087 剪花布条Problem Description一块花布条,里面有些图案,另有一块直接可用的小饰条,里面也有一些图案。对于给定的花布条和小饰条,计算一下能从花布条中尽可能剪出几块小饰条来呢?Input输入中含有一些数据,分别是成对出现的花布条和小饰条,其布条都是用可见ASCII字符表示的,可见的ASCII字符有多少个,布条的花纹也有多少种花样。花纹条和小饰条不会超过1000个字符长。如果遇见#字符,则不再进行工作。Output输

2021-07-08 22:51:02 64

原创 Webbench的一些小困惑

Webbench源码的一些问题case 'p': //使用代理服务器,则设置其代理网络号和端口号,格式:-p server:port tmp = strrchr(optarg,':'); //查找':'在optarg中最后出现的位置 proxyhost = optarg; // if(tmp == NULL) //说明没有端口号 {

2021-07-05 01:09:18 128

原创 Webbench 源码分析--斌酱阅读笔记

一、Webbench 简介Webbench是有名的网站压力测试工具,它是由 Lionbridge公司开发。Webbench源码下载地址Webbech能测试处在相同硬件上,不同服务的性能以及不同硬件上同一个服务的运行状况。webBech的标准测试可以向我们展示服务器的 两项 内容:每秒钟相应请求数和每秒钟传输数据量。webbench不但能具有便准静态页面的测试能力,还能对动态页面(ASP,PHP,JAVA,CGI)进 行测试的能力。还有就是他支持对含有SSL的安全网站例如电子商务网站进行静态或动态的性能

2021-06-06 23:30:31 245 2

原创 人工智能基础-决策树

写在开头:在生活中我们总可以遇到这一类问题,我和我的舍友小伙伴要出去玩,但是出去玩是有条件的。first thing first,宿舍里所有人必须都有时间粗去玩;其次呢,要是像五月的天津动不动下雨可能也是去不了的,最后就是是否是月底没钱了也不能出去玩了,so on,那么试想如果我们给定条件让计算机预测我们能不能出去玩,这时候主角登场决策树!!!准备知识决策树的叶节点:表示类,即对输入得到结果进行分类内部节点: 表示特征,即条件(归纳性方法)有向边: 不同的路径选择准备函

2021-05-28 11:29:52 218

原创 博弈树 α-β剪枝

前言:本篇文章一定让你可以看懂α-β剪枝树,一定要看到最后概念博弈问题:双人对弈:轮流下,一人走一步。信息完备:双方看到的信息一样零和:双方利益冲突,对一方有利则对另一方不利。一般对节点N取一个估价函数f(N),一共两类节点:——叫Max的极大节点追求最大化,有选择时肯定选值最大的;——叫Min的极小节点追求最小化,有选择时肯定选值最小的。所以此时需要对这个问题有一种清晰的刻画,下面我们将引入极大极小搜索方法极大极小搜索办法:极小极大搜索方法是博弈树搜索的基本方法 。首先假定,有一个

2021-05-26 19:36:30 3176

原创 多线程实现归并排序

多线程实现归并排序有点简单直接上代码,呜呜呜//// merge_sort.c// merge_sort// 多线程方法// Created by Yibin on 2021/4/8.// Copyright © 2021 Yibin. All rights reserved.//#include <stdio.h>#include <stdlib.h>#include <pthread.h>#include <string.h&g

2021-04-08 22:34:37 776 1

原创 #斌酱归档-多线程棋盘划分法实现矩阵转置

pthread多线程棋盘划分法实现矩阵转置棋盘法:将整个矩阵抽象为多个同样大小的块。假设处理器的个数为p,编号为0,1,…,p-1,则将n阶矩阵分成p个大小为m*m个子块,p个子块组成一个的子块阵列。note:就是这里一定是划分成thread_num个相同的小矩阵切记,有大小不一的矩阵的话会出现问题的代码如下//// matrix.c// matrix// 棋盘划分法// Created by Yibin on 2021/4/4.// Copyright © 2021 Yibin

2021-04-04 18:15:31 876 1

原创 #斌酱归档-C语言实现简单聊天室

归档-C语言实现简单聊天室1-1.TCP 的分组交换流程站在 Linux 系统编程的角度来看 TCP 协议栈的状态转移分为三个阶段讲解:三次握手建立连接阶段:首先由客户机调用 connect 函数发起主动连接,激发 TCP 协议栈发送 SYN 报文;服务器协议栈收到该 SYN 报文后, 发送给处于 LISTEN 状态的套接字,应用进程通过 accept 函数激发 TCP 协议栈发送 SYN+ACK 报文,接受连接请求;客户机收到服务器 SYN+ACK 报文后发送确认 ACK 报文,进入 ESTABLI

2021-04-03 21:16:35 116

原创 #斌酱归档 - Linux实现ping操作

Linux实现ping操作实验环境:Ubuntu18.04源代码//// ping.c// ping// Created by Yibin on 2021/3/31// Copyright @ 2021 Yibin. All rights reserved.////#include <stdio.h>#include <stdlib.h>#include <string.h>#include <unistd.h>#include &

2021-03-31 23:00:19 129

原创 斌酱归档-蒙特科勒法(概率法)求pi

蒙特科勒法(概率法)求pi所需注意主要思想就是生成随机数,但是注意C语言中rand()不是线程安全的函数-多线程应使用rand_r()!!!原理采用图中第二种方法代码如下//// pi_2.c// pi// 蒙特科勒法// Created by Yibin on 2021/3/28.// Copyright © 2021 Yibin. All rights reserved.//#include <iostream>#include <pthread.

2021-03-29 18:18:46 136 1

原创 斌酱--归档多线程求pi(级数法)

多线程求pi(级数法)posix标准//// pi.c// pi//// Created by Yibin on 2021/3/28.// Copyright © 2021 Yibin. All rights reserved.//#include <stdio.h>#include <stdlib.h>#include <pthread.h>pthread_mutex_t mut;double pi = 0.0;long long

2021-03-28 23:01:53 132

原创 # 斌酱归档--C语言模拟Linux中pwd功能

归档C语言模拟Linux中pwd功能知识储备1int fprintf(FILE *stream,char *format,[argument]);stderr和stdout可以作为fprintf的第一个参数在默认情况下,stdout是行缓冲的,其输出会放在一个buffer里面,只有到换行的时候,才会输出到屏幕。而stderr是无缓冲的,会直接输出,举例来说就是fprintf(stdout, “xxxx”) 和 fprintf(stdout, “xxxx\n”),前者会缓冲,直到遇到新行才会一起输出。

2021-03-11 21:13:31 152

原创 斌酱归档---C语言实现Linux cp命令

C语言实现Linux cp命令前言1.linux cp 命令用来将一个或多个源文件或者目录复制到指定的目的文件或目录。2.它可以将单个源文件复制成一个指定文件名的具体的文件或一个已经存在的目录下。3. cp 命令还支持同时复制多个文件,当一次复制多个文件时,目标文件参数必须是一个已经存在的目录,否则将出现错误。4. cp命令:// linux终端cp -[Rrls] 源文件 SOURCE 目标文件 DEST 学习内容Linux cp 命令的用法。系统调用 open, opendir

2021-03-09 23:14:51 383 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除