自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(104)
  • 资源 (1)
  • 收藏
  • 关注

原创 struct ifreq storage size of ‘ifr’ isn’t known记录

解决: 忘记包含头文件。

2023-07-21 15:07:57 286

原创 体系结构31_机群计算机

目前流行的高性能并行计算机系统结构通常可以分成五类:并行向量处理机(PVP)、对称多处理机(SMP)、大规模并行处理机(MPP)、分布共享存储(DSM)多处理机和机群(Cluster)。其中,起源于20世纪90年代中期的机群结构凭借低廉的价格、极强的灵活性和可扩展性(Scalability),成为近年来发展势头最为强劲的系统结构。机群的基本概念和结构机群:由多台同构或异构的独立计算机通过高...

2022-11-25 23:11:09 680 1

原创 体系结构30_同步性能问题

栅栏(barrier)同步 栅栏强制所有到达该栅栏的进程进行等待,直到全部的进程到达栅栏,然后释放全部的进程,从而形成同步。 栅栏的典型实现是要用两个旋转锁:一个用来记录到达栅栏的进程数,另一个用来封锁进程直至最后一个进程到达栅栏。栅栏的实现中要不停的探测指定的变量,直到它满足规定的条件。栅栏的使用会有些特殊情况,比如操作系统大量的进程要进行同步,要反复使用一个栅栏...

2022-11-25 23:10:41 528 1

原创 体系结构29_多处理机的互联网络

互连网络是将集中式系统或分布式系统中的结点连接起来所构成的网络,这些结点可能是处理器、存储模块或者其它设备,它们通过互连网络进行信息交换。在拓扑上,互连网络为输入和输出两组结点之间提供一组互连或映象(mapping) 互连网络的拓扑可以采用静态或动态的结构。静态网络由点和点直接相连而成,这种连接方式在程序执行过程中不会改变。 动态网络是用开关通道实现的...

2022-11-25 23:10:07 1004 1

原创 体系结构28_多处理机(2)

对称式共享存储器体系结构多处理机Cache一致性 **多个处理器共享一个存储器 **当处理器规模较小时,这种机器十分经济 **支持对共享数据和私有数据的Cache缓存 私有数据供一个单独的处理器使用,而共享数据供多个处理器使用 ** 共享数据进入Cache产生了一个新的问题: Cache的一致性问题(1)不一致产生的原因(Cac...

2022-11-25 23:09:38 1038 1

原创 体系结构27_多处理机(1)

单处理机的发展正在走向尽头?并行处理机在未来将会发挥更大的作用。1.获得超过单处理器的性能,最直接的方法就是把多个处理器连在一起。2.自1985年以来,体系结构的改进使性能迅速提高,这种改进的速度能否持续下去还不清楚,但通过复杂度和硅技术的提高而得到的性能的提高正在减小3.并行计算机应用软件已有缓慢但稳定的发展重点: 中小规模的机器(处理器的个数<100)...

2022-11-25 23:08:41 454 1

原创 体系结构26_输入输出系统(3)

盘阵列(RAID)盘阵列容量大、速度快、可靠性高、造价低廉。它是目前解决计算机I/O瓶颈的有效方法之一,有着广阔的发展前景。盘阵列有多种组织方式:RAID 0 亦称数据分块(Striping),即把数据分布在多个盘上,实际上是非冗余阵列,无冗余信息。严格地说,它不属于RAID系列。RAID 1亦称镜像盘,使用双备份磁盘RAID 2位交叉式海明编码阵...

2022-11-25 23:07:07 382 1

原创 体系结构24_输入输出系统(1)

存储设备磁盘 磁盘始终占据着后备存储器的主宰地位。原因有二: 一是磁盘一直是虚拟存储器技术的物质基础,执行程序时,磁盘用作为交换缓冲区 二是关机时,磁盘作为操作系统和所有应用程序的非易失性的驻留介质磁盘系统的转速一般在每分钟3600转到15000转之间,即3600rpm ~ 15000rpm磁道(每个盘片有5000 ~ 30000条磁道)扇区(每条磁道分为1...

2021-08-23 14:38:53 194

原创 socket通信sendto函数导致Segmentation fault问题解决

起因:在进行UDP进行socket通信时,客户端和服务器通过Msg结构体进行传递数据,typedef struct Msg{ Headmsg hmsg; char from[16]; MsgType type; char* data;}Msg;客户端这边调用sendto 函数进行数据发送sendto(sockfd,&msg,sizeof(msg),0,(struct sockaddr*)&saddr,sizeof(saddr));服...

2021-08-05 20:17:56 860

原创 vim中ctags、taglist插件的安装与使用

ctags功能 ctags是vim中的一款插件,它可以使用户在存在调用关系的函数间来回跳转,多用于查看源代码中的函数、变量或者宏。为源码的变量/对象、结构体/类、函数/接口、宏等产生索引文件,以便快速定位。目前支持41种语言。【注】ctags不会为局部变量生成tags,但我们可以用gd命令去查看。安装1、从 http://ctags.sourceforge.net/ 处下载ctags压缩包;2、将压缩包解压至用户目录的某文件夹下;3、进入解压文件,进行三板斧操作:...

2021-08-05 20:00:19 1436

原创 体系结构23_虚拟存储器

...系统被设计成将主存储器和后备存储器组合在一起,在程序员看来好像只有一级存储,必须进行的地址变换是自动完成的。 ...

2021-07-17 14:07:28 171 1

原创 体系结构22_主存

存储层次的性价比特征 速度越快,每位价格就越高 容量越大,每位价格就越低 容量越大,速度越慢主存的主要性能指标:延迟和带宽 以往:Cache主要关心延迟,I/O主要关心带宽 现在:Cache关心两者本节讨论几种提高主存性能的存储器组织技术,在下面的讨论中,以处理Cache失效为开销例来说明各种存储器组织结构的好处。为了减少失效开销Tm,应该:...

2021-07-15 10:16:01 603 2

原创 登录oneNote失败解决

问题1. 登录时输入账号点击下一步没有反应问题原因:IE设置出错问题解决:IE设置--》Internet 选项--》安全--》自定义级别--》启用脚本-Java小程序脚本和活动脚本问题2.无法安全地连接到此页面,这可能是因为该站点使用过期的或不安全的 TLS 安全设置。问题原因:IE设置问题问题解决:解决:cmd->inetcpl.cpl,此操作其实就是打开IE浏览器的Internet 选项Internet选项--》高级--》打开所有TLS选项参考文章:..

2021-07-15 10:12:52 3319

原创 体系结构21_减少Cache失效开销和命中时间

减少Cache失效开销方法:写缓冲及写合并让读失效优先于写子块放置技术请求字处理技术多级Cache非阻塞Cache技术写缓冲及写合并1.写直达Cache中,因为所有的写请求都必须发送到下级存储层次中,所以经常使用一个写缓冲来降低失效开销2.如何提高写缓冲的效率和利用率 写合并3.在写回法Cache中,也可采用写缓冲器让读失效优先于写1...

2021-02-26 22:47:59 2387

原创 操作系统4-中断、异常和系统调用(2)

系统调用的概念和实现系统调用(1)操作系统服务的编程接口(2)通常由高级语言编写(C或者C++)(3)程序访问通常是通过高层次的API接口(函数库的库函数)而不是直接进行系统调用(4)三种最常用的应用程序编程接口(API) Win32 API 用于Windows POSIX API 用于POSIX-based systems(包括UN...

2021-02-26 22:47:28 79

原创 体系结构20_降低Cache失效率方法(2)

硬件预取技术1.指令和数据都可以预取2.预取内容即可放入Cache,也可放在外缓冲器中 例如:指令流缓冲器3.预取效果(1)Joppi的研究结果 指令预取:(4KB,直接映象Cache,块大小=16字节) 1个块的指令流缓冲器:捕获15%~25%的失效 4个块的指令流缓冲器:捕获50% 16个块...

2021-02-26 22:46:26 326

原创 体系结构19_降低Cache失效率的方法

1.三种失效(3C)(1)强制性失效(Compulsory miss) 当第一次访问一个块时,该块不在Cache中,需从下一级存储器中调入Cache,这就是强制性失效 (冷启动失效,首次访问失效)(2)容量失效(Capacity miss) 如果程序执行时所需的块不能全部调入Cache中,则当某些块被替换后,若又重新被访问,就会发生失效。这种失效称为容量失效...

2021-02-26 22:46:01 2890

原创 体系结构18_存储层次的性能分析

实例例一:DEC的Alpha AXP21064中的内部数据Cache1.简介 容量:8KB 块大小:32B 块数:256 映像方法:直接映像 “写”策略:写直达-不按写分配 写缓冲器大小:4个块2.结构图3.工作过程 (1)“读”访问命中 (2)“写”访问命中 失效情况下的操作4...

2021-02-26 22:45:36 696

原创 体系结构17_Cache基本知识

映像规则1.全相联映像 全相联:主存中的任一块可以被放置到Cache中的任意一个位置。 对比:阅览室位置-----随便坐 特点:空间利用率最高,冲突概率最低,实现最复杂2.直接映像 直接映像:主存中的每一块只能放置到Cache中唯一的一个位置(循环分配) 对比:阅览室位置----只有一个位置可以坐 ...

2021-02-26 22:45:03 482

原创 如何理解copy-on-write机制

参见文章:https://juejin.cn/post/6844903702373859335

2021-02-26 11:14:29 254

原创 linux --重定向

标准输入重定向(STDIN,文件描述符为0):默认从键盘输入,也可从其他文件或命令中输入。标准输出重定向(STDOUT,文件描述符为1):默认输出到屏幕。错误输出重定向(STDERR,文件描述符为2):默认输出到屏幕。 输入重定向中用到的符号及其作用符号 作用 命令 < 文件 将文件作为命令的标准输入 命令 << 分界符...

2021-02-26 11:00:13 54

原创 初识Zigbee协议栈及其安装

1. 什么是Zigbee协议栈 ?什么是 ZigBee 协议栈呢?它和 ZigBee 协议有什么关系呢?协议是一系列的通信标准,通信双方 需要共同按照这一标准进行正常的数据发射和接收。协议 栈是协议的具体实现形式,通俗点来理解就 是协议栈是协议和用户之间的一个接口,开发人员通过使用协议栈来使用这个协议的,进而实现无线 数据收发。ZigBee 的协议分为两部分,IEEE 802.15.4定义了 PHY(物理层)和 MAC(介质访问层)技术规范;ZigBee 联盟定义了 NW K(网络层)、APS(

2021-01-27 11:30:12 1114

原创 统计字符串中的单词数------leetcode

统计字符串中的单词个数,这里的单词指的是连续的不是空格的字符。请注意,你可以假定字符串里不包括任何不可打印的字符。示例:输入: "Hello, my name is John"输出: 5解释: 这里的单词是指连续的不是空格的字符,所以 "Hello," 算作 1 个单词。方法一:(strtok ,不推荐使用)int countSegments(char * s){ char *ptr; int count = 0; if (s == NULL) {

2021-01-25 13:40:26 399

原创 字符串---IP地址无效化(leetcode)

题目描述:给你一个有效的IPv4地址address,返回这个 IP 地址的无效化版本。所谓无效化IP 地址,其实就是用"[.]"代替了每个"."。示例 1:输入:address = "1.1.1.1"输出:"1[.]1[.]1[.]1"/*作者:ying-mu-xiao-hua-dao链接:https://leetcode-cn.com/problems/defanging-an-ip-address/solution/cyu-yan-shuang-bai-jie...

2021-01-23 11:08:34 87

原创 实现网络地址去掉小数点后输出

要求:请写一段代码,可以将输入为”0.0.0.0”—“255.255.255.255”的字符串转换为int型整数数组。输入:”255.255.255.255”输出:255 255 255 255(数组)void transform(char* str){ int i; int len = strlen(str); int res[20] = {-1}; int j = 0; for(i = 0; i < len; i++) { int..

2021-01-22 19:02:00 89

原创 vector容器的简单案例

test01()中容器中放int类型test02()中容器中放类对象test03()中容器中放类对象指针test04()中容器嵌套容器。#include <iostream>#include <vector>#include <algorithm>#include <string>using namespace std;class Person{public: Person(string name,int age) { .

2021-01-22 13:14:24 81

原创 vs2010出现“请确保已安装Microsoft SQL Server Compact 3.5,并且没有其它应用程序正在访问该文件 ”

解决方法:下载安装SQL Server Compact 3.5 SP2下载地址:https://www.microsoft.com/zh-cn/download/confirmation.aspx?id=5783下载完成后提取文件,文件中有SSCERuntime_x86-CHS.msi 和SSCERuntime_x64-CHS.msi,双击安装,我都安装了。...

2021-01-22 09:54:14 2986 12

原创 卸载sql server2012时出现:为INSTALLSHAREDWOWDIR参数指定的目录无效,因为此目录是压缩目录或位于压缩目录中

解决方案: C盘---> 右键属性----> 取消勾选 压缩此驱动器以节省磁盘空间 或者 进入Microsoft SQL Server 文件夹,右键属性 -->高级--->取消勾选 压缩内容以节省磁盘空间

2021-01-05 15:45:37 3757

转载 leetcode----删除链表中的节点

请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点。传入函数的唯一参数为 要被删除的节点 。现有一个链表 --head =[4,5,1,9],它可以表示为:示例 1:输入:head = [4,5,1,9], node = 5输出:[4,1,9]解释:给定你链表中值为5的第二个节点,那么在调用了你的函数之后,该链表应变为 4 -> 1 -> 9.示例 2:输入:head = [4,5,1,9], node = 1输出:[4,5,9]解释:给定你...

2020-10-27 14:07:04 130

原创 体系结构16_存储器的层次结构

从单级存储器到多级存储器处理器性能与存储系统性能之间存在巨大差异。1.为什么? (1)主存储器与CPU速度差距越来越大,存储墙问题严重制约着计算机性能的提升。 (2)系统与应用的规模不断扩大,需要更大的存储器来支撑程序的运行 (3)各类存储器的容量/速度/价格不可兼得,如SRAM、DRAM、磁盘等,凭现有单种存储器件,无法构建一个可行的存储系统。SRAM速度基本和...

2020-10-27 14:01:19 262

原创 体系结构15_多指令流出技术

前面的解决办法都使CPI的值接近1,而不能达到1多指令流出技术1.多指令流出处理器 - 实现一个时钟周期内流出多条指令时 -达到CPI小于12.多流出处理器2种基本结构 超标量(Superscalar) a.超标量每个时钟周期流出的指令数不定 b.可以编译器静态调度,也可以硬件动态调度 超长指令字(VLIW、Very long I...

2020-10-27 14:00:57 986

原创 体系结构14_控制相关的动态解决技术

分支预测缓冲、分支目标缓冲两种解决方法动态分支预测的两个理由1.n流出的处理器加速上限为n倍2.Amdahl定律提示:在较低CPI机器上,控制相关导致的空转对机器性能影响大前面解决控制相关的静态策略需要编译器将一条或多条指令移动到流水线产生的分支延迟槽中关于分支预测策略的两部分工作1.预测的分支是否成功2.执行分支目标指令分支预测的效率1.预测的准确率2...

2020-10-27 14:00:22 1353

转载 Ubuntu18.04下从Win10拖拉拽 文件

首先,因为原来系统里装了虚拟工具条 open-vm-tools,所以先移除#首先移除系统原来的虚拟工具条open-vm-toolssudo apt-get autoremove open-vm-tools然后安装新的工具#安装桌面版的虚拟工具条,以支持windows和ubuntu之间的拖拉拽sudo apt-get install open-vm-tools-desktop...

2020-03-17 02:59:02 927 1

转载 终端(terminal)、tty、shell、控制台(console)、bash之间的区别与联系

转自:https://www.cnblogs.com/sench/p/8920292.html1、终端(terminal)终端(termimal)= tty(Teletypewriter, 电传打印机),作用是提供一个命令的输入输出环境,在linux下使用组合键ctrl+alt+T打开的就是终端,可以认为terminal和tty是同义词。2、shellshell是一个命令行解释器,...

2020-03-01 18:52:00 161

原创 C语言-函数指针和函数指针数组的定义与使用

函数指针的定义方法:1. 先定义出函数类型,再通过类型定义出函数指针2.先定义出函数指针类型,再定义函数指针3.直接定义函数指针变量#include<stdio.h>#include<string.h>#include"config.h"void func(){ printf("hello world\n");}//方法1void te...

2020-03-01 14:28:43 429

原创 结构体偏移量

offsetof()的使用#include<stdio.h>#include<stddef.h>struct Person{ char a; //0~3 int b; //4~7};void test01(){ struct Person p1; struct Person* p = &p1; printf("b的偏移量为:%d...

2020-03-01 14:05:10 113

原创 C语言-面向接口编程-甲乙双方

假如框架接口设计 由甲方设计,具体功能由乙方去完成,最后完成一个对接。例如:框架接口设计: 初始化游戏 核心功能战斗 查看玩家信息 结束游戏甲方编程:#include<stdio.h>//初始化游戏typedef void(* INIT_GAME)(void ** gameHandle,char* name); //函数指针//游戏战斗 ...

2020-03-01 14:02:16 208

原创 Windows下静态库的创建和使用

环境:VS20101.首先创建一个项目取名为staticlib2.在解决方案资源管理器中添加一个叫mylib.h的头文件,在源文件中添加mylib.c(名称由自己定)#include"mylib.h"int myAdd(int a, int b){ return a + b;}#include<stdio.h>int myAdd(int a,int ...

2020-03-01 12:36:08 372

原创 Windows下动态库的创建和使用

要解决空间浪费和更新困难两个问题,最简单的办法就是把程序的模块相互分割开来,形成独立的文件,而不是将它们静态的链接在一起。简单的讲,就是不对那些组成程序的目标程序进行链接,等程序运行的时候才进行链接,也就是说,把整个链接过程推迟到了运行时在进行,这就是动态链接的基本思想。怎么创建呢?1.创建一个新项目mydll2.添加mydll.h文件和mydll.c添加如下内容:#incl...

2020-03-01 12:34:56 459

原创 C语言中的几个特殊的宏的使用

#include<stdio.h>#include<string.h>#include"config.h"void test01(char* p){ if(p == NULL) { printf("文件:%s 的 %d 行 出错了\n",__FILE__,__LINE__); printf("日期:%s\n",__DATE__); printf(...

2020-02-29 22:31:24 191

动态分区分配与回收.vsdx

用Visio画的动态分区分配与回收的操作的流程图。可以帮助理解程序的运行框图。大致的思路,还有程序流程。

2020-02-24

空空如也

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

TA关注的人

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