自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

and

  • 博客(39)
  • 问答 (1)
  • 收藏
  • 关注

原创 页面大小优缺点

2、降低装入速度:内存与磁盘之间的传输一般是一次一页,传输的时间大部分花在寻道和旋转延迟上,所以传输一个小页面和一个大页面的时间基本相同,当装入同样大小字节的数据时,使用小页面需要装入更多次,花费的时间更多。2、可以减少内存浪费:如果一个程序运行需要等待内存很小,使用大页面就会产生很多内存浪费,例如,一个程序需要4KB内存,但页面大小是32KB就会浪费掉24KB,如果页面大小是4KB就不会产生内存浪费。3、使用更多的TLB空间:TLB表项相对稀缺,且对性能而言更重要,所以应尽量使用大页表。

2023-10-29 13:11:39 480

原创 【文件权限与目录配置】

在Linux中,每一个文件都有和三种身份的权限。对于一个文件的权限包括三种,r代表可可读,w代表可写,x代表可执行。

2023-09-06 00:06:59 63

原创 【链接文件】

每个文件都有一个inode,inode中会记录该文件具体内容所处的block标号,每个文件又属于它所在目录的具体内容,所以每个文件所在目录的block中会指出该文件的inode编号。实体链接就是将多个文件名对应到同一inode,所以hard link 只是在某个目录下新增一个文件名文件名的inode编号于源文件inode编号相同。在文件属性中第二栏的代表有多少文件名链接连接到此inode,在创建实体链接后,会改变此处内容。

2023-09-05 13:41:56 110

原创 【万用字符和特殊符号】

万用字符:特殊符号:

2023-09-04 12:51:16 51

原创 【正则表达式和扩展正则表达式】

正则表达式延伸正则表达式

2023-09-03 22:06:07 34

原创 【chmod】

可以借由u, g, o来代表三种 身份的权限!可以使用+(加入权限),-(除去权限),=(设置权限)修改各种身份的权限。可以使用数字来代表各个权 限,各权限的分数对照表如下: r:4 ,w:2 , x:1 每种身份(owner/group/others)各自的三个权限(r/w/x)分数是需要累加的。Linux文件的基本权限就有九个,分别是owner/group/others三种身份各有自己的read/write/execute权限,权限的设置方法有两种, 分别可以使用数 字或者是符号来进行权限的变更。

2023-09-03 17:16:11 33

原创 【shell脚本】

1. 指令的执行是从上而下、从左而右的分析与执行;2. 指令、选项与参数间的多个空白都会被忽略掉;3. 空白行也将被忽略掉,并且 [tab] 按键所推开的空白同样视为空白键;4. 如果读取到一个 Enter 符号 (CR) ,就尝试开始执行该行 (或该串) 命令;5. 至于如果一行的内容太多,则可以使用“ [Enter] ”来延伸至下一行;使用反斜线(\)跳脱enter键6. “ # ”可做为注解(除了第一行以外的#)

2023-09-03 17:00:39 31

原创 【文件系统】

(1)superblock:记录文件系统的信息,包括文件系统中inode和block的总量,使用量和剩余量,文件系统的文件格式等(2)inode:记录文件的属性,

2023-09-03 06:47:43 27

原创 【使用变量】

var = value不同于var=value。把var=value写成var = value 是一个常见的错误。两边没有空格的等号是赋值操作符,加上空格的等号表示的 是等量关系测试。和编译型语言不同,大多数 脚本语言不要求在创建变量之前声明其类型。在变量名前面加上一 个美元符号就可以访问到变量的值。如果value不包含任何空白字符(例如空格), 那么就不需要将其放入引号中,否则必须使用单引号或双引号。在变量名之前加上美元符号($)就可以访问变量的内容。在单引号中使用变量,变量是不会被解释的。

2023-09-03 02:25:45 31

原创 【终端打印】

可以将需要打印的文本放到单引号,双引号或者不使用任何引号输出。但是使用双引号shell会解释文本中的特殊字符,如果不需要作解释,可以使用单引号或者使用双引号但在特殊字符前加上反斜线(\)。如果不使用任何引号的话,无法输出分号,分号会被认作命令间的分隔符。echo输出默认会加换行符。可以使用选项-n来禁止这种行为。echo同样接受双包含转义序列的双引号字符串作为参数。在使用转义序列时,需要使用echo -e "包含转义序列的字符串"这种形式。例如:1 2 3脚本可以使用转义序列在终端中生成彩色文本。

2023-09-03 01:11:41 48

原创 【线上求助】

-help只能用来查询的指令所具备的选项和参数。

2023-09-01 00:35:01 31

原创 【磁盘分区】

各个元件或设备在Linux下都是一个。

2023-08-31 23:52:03 46

原创 【类】

类可以使用typedf和suing自定义某种类型的别名,类型别名也有访问限制,可以为public或private。public://////为std::string::size_type起别名,两种方式等价//std::string::size_type本质上是一个无符号整型,//用来存放string或vector对象的长度,//且他所能表示的长度范围由机器决定private:在类中,如果类的成员使用了外层作用域中的某个名字后,类不能在之后重新定义该名字。

2023-08-28 23:44:48 26

原创 【函数】

函数定义包括四部分:返回类型,函数名,形参和函数体。函数体必须放在花括号里。函数的返回类型不能是数组类型或函数类型,但可以是指向数组或函数的指针。定义空形参列表:局部对象局部变量会隐藏在外层作用域中同名的变量或函数。只能隐藏外层作用域中的变量,如果在同一作用域中定义两个同名变量会返回重复定义的错误。自动对象:把只存在于块执行期间的对象称为自动对象。局部静态对象:将局部变量定义为static类型可以获得局部静态对象。局部静态对象在程序执行路径第一次且仅第一次经过对象定义语句时初始化,并且直到程序终止

2023-08-28 07:56:38 43

原创 【语句】

else与离他最近的尚未匹配的if匹配。如果表达式和某个case标签的值匹配成功,程序从该标签之后的第一条语句开始执行,直到到达switch的结尾或遇到一条break语句为止。case标签必须是整型常量表达式。如果没有任何一个case标签能匹配上,程序将执行default标签后面的语句。语法形式:for(initializer;condition;expression)initializer可以定义多个对象,但是只能有一条声明语句,因此,所有变量的基础类型必须相同。这种语句用于遍历容器或其他序列的所有

2023-08-25 14:41:24 31

原创 【运算符】

逗号运算符有两个运算对象,按照从左到右的顺序依次求值,先对左侧表达式求值,然后将求值结果丢掉,再求右侧表达式的值。,使用复合运算符只求一次,使用普通运算符求两次,两次包括:第一次作为右边子表达式的一部分求值,第二次作为赋值运算的左侧运算对象求值。左移运算符(<<),右移运算符(>>),求反运算符(~),位与(&),位或(|),异或(^)。(3)初始化时,初始值转化成变量的类型,赋值语句中,右侧运算对象转换成左侧运算对象的类型。(4)算术运算或关系运算中的运算对象有多种类型,需要转换成同一种类型。

2023-08-25 00:10:34 26

原创 [const]

8.decltype:仅返回表达式的类型(包括顶层const和引用),编译器分析表达式并返回他的类型,并不会实际执行表达式。指向const类型的指针也可以指向非const类型的变量,但不能通过该指针修改变量值,但可以用其他途径修改变量值。底层const是指对象本身是const类型,底层const与引用指针等复合类型的基准类型有关。6.constexpr声明中有指针时,仅对指针本身有作用,对指针所指对象无作用。指针本身是const类型: int *const p=&i;1.顶层const和底层const。

2023-08-10 16:53:03 29

原创 【字符串、向量、数组】

头文件中的代码不应该使用using声明,因为每个头文件的内容会拷贝到所有引用他的文件中去,如果头文件中有声明,那么每个程序都会有这个声明,可能会产生某些冲突。

2023-08-10 16:32:36 25

原创 【变量类型】

浮点型分为单精度,双精度和扩展精度值。通常情况下,float有32比特,double有64比特,long double有96或128比特,而且一般情况下,float的有效位为7,double的有效位为16。算术类型的尺寸(也就是算术类型所占的比特位)在不同的机器上有所差别。c++的内置类型分为算术类型和空类型(void),其中算术类型包括整型,浮点型,字符型和布尔值。其中,宽字符(wchar_t)要保证可以存放机器字符集中的任意一个字符。字面值常量以0开头的代表八进制,以0x开头的代表十六进制。

2023-08-07 00:48:22 53 1

原创 【MySQL】运维篇

日志主要有错误日志,二进制日志,查询日志和慢查询日志。错误日志:记录当MySQL启动和停止时,以及服务器在运行过程中发生任何严重错误时的相关信息。二进制日志:记录所有DDL语句和DML语句,但不包括数据查询语句。作用:(1)数据恢复;(2)主从复制。MySQL服务器提供三种格式记录二进制日志,如下:(1)statement:基于SQL语句的日志记录,记录的是SQL语句。(2)row:基于行的日志记录,记录的是每一行的数据变更(默认)

2023-07-11 16:54:59 27

原创 变量和基本类型

c++支持分离式编译机制,允许将程序分为若干个文件,每个文件可被独立编译。为支持分离式编译,c++将声明和定义区分开来。声明使一个名字被程序所知,定义负责创建与名字相关联的实体。声明一个变量而不定义,可在变量名前添加关键字extern,而且不显示地初始化变量。任何包含显示初始化地声明都会变成定义。如果要在多个文件中使用同一个变量,那么变量地定义只能出现在一个文件中,而其他用到该变量地文件进行声明,且不能重复定义或初始化变量值。(2)只能以字母和下划线开头(3)不能连续出现两个下划线。

2023-07-09 18:44:45 57 1

原创 【MySQL】优化篇

锁是计算机协调多个进程或线程并发访问某一资源的机制。不同的存储引擎支持不同的锁机制,myisam和memory支持表级锁,bdb支持页面锁和表级锁,innodb支持行级锁和表级锁,其默认情况下采用行级锁。MySQL安装完成后,会自动创建一些数据库。

2023-07-08 00:18:54 40

原创 【MySQL】开发篇

视图是一种虚拟存在的表,在数据库中并不实际存在,行和列数据均来自定义试图的查询中使用的表,并且是在使用视图时动态生成的。视图就是一条select语句执行后返回的结果集。我们在创建视图时,主要工作就落在创建这条SQL查询语句上。视图优势在于:简单,安全和数据独立。存储过程和函数是事先经过编译并存储在数据库中的一段SQL语句的集合,调用存储过程和函数可以简化应用开发人员的很多工作,减少数据在数据库和应用服务器之间的传输,对于提高数据处理的效率是有好处的。存储过程和函数的区别在于函数有返回值,存储过程没有。

2023-06-11 11:18:20 662

原创 设备驱动与文件系统

I/O设备由机械部件和电子部件组成,机械部件就是设备本身,电子部件是设备控制器和适配器。设备控制器的任务就是连接和将串行的位流转化为字节块,这些字节块一般都是先放在缓冲区然后再放到主存中。控制器还有一些控制寄存器,用来与CPU通信。通过写入这些寄存器,操作系统命令设备发送数据,接收数据,开启或关闭,或执行其他操作。读取这些寄存器,操作系统了解设备的状态,是否准备好接收一个新的命令等。io设备还有一个操作系统可以读写的数据缓冲区。CPU如何与设备的控制寄存器和数据缓冲区通信。

2023-05-20 21:58:22 92

原创 内存管理

程序写好后是存在磁盘中的,要想让程序运行起来,首先要将程序写入内存中。程序在编译时,找到内存一块空闲区域然后将程序写入内存中,PC指向开始地址。程序经过编译后转化为汇编形式的代码,会出现相对地址,这时需要进行重定位。:将逻辑地址转化为物理地址的过程。编译时重定位的程序只能放在程序中的固定位置,载入时重定位的程序一旦放入内存中就不能在动了。因为大多数的PC机为了充分利用内存,程序载入后可能还会,所以采用运行时从重定位。

2023-05-17 11:54:03 145

原创 【无标题】

为了支持分离式编译,c++将声明和定义区分开来。//声明i而非定义iint j;//声明并定义j任何包含了显示初始化的声明即成为定义。不可以在函数体内部初始化一个由extern标记的变量。

2023-05-13 16:46:41 33

原创 处理器管理

是指记录当前程序运行的动态信息,通常包括:程序计数器,指令寄存器,条件码,中断字,中断允许、禁止,中断屏蔽,处理器模式,内存保护,调试控制PSW也是计算机系统的寄存器,通常设置一组控制与状态寄存器,也可专设一个PSW寄存器。

2023-05-13 16:46:17 92

原创 进程与线程

为了管理CPU,操作系统引进了:CPU交替执行多个程序:一个运行中的程序。

2023-05-13 16:45:41 44

原创 操作系统概述

计算机系统包括和。硬件:各种的有机组合,是系统工作的实体。例如:CPU,主存储器,I/O控制系统,外围设备软件:各种和,用于指挥计算机系统按指定的要求进行协同工作。例如:系统软件、支撑软件和应用软件。其中关键系统软件是操作系统和语言处理程序。

2023-05-03 15:41:28 119

原创 【计网】物理层

一个数据通信系统可划分为三大部分,即源系统一般包括两部分:a.源点:源点设备产生要传输的数据,又称为b.发送器:源点生成的数字比特流要通过发送器编码后才能在传输系统中进行传输目的系统也包括两部分:a.接收器:接收传输系统传送过来的信号,并把它转换为能够被目的设备处理的信息。b.终点:也称通信的目的是传送消息,数据是运送消息的实体,信号是数据的电气或电磁的表现用来表示向某一方向传送信息的媒体,有三种基本方式:单向通信(又称为单工通信),双向交替通信(又称为半双工通信),双向同时通信(全双工通信)。

2023-04-28 13:20:22 52

原创 【计网】链路层

结点,链路,链路层帧点到点的链路,多点连接的链路多点连接:同轴电缆或通过交换机连接。

2023-04-27 14:12:07 222

原创 【计网】网络层

1.数据平面和控制平面2.控制平面:传统路由和SDN(软件定义网络)路由传统路由主要是根据上层传递下来的报文中IP字段与路由表匹配,然后转发数据。路由表由每台路由器生成,是分布式的。SDN网络中,路由器根据上层传递下来的报文中的IP和其他多个字段与流表进行匹配,然后可以做出多个动作,例如:转发,泛洪,修改字段等。流表是由一台远程的控制器(也就是一台服务器)生成,是集中式的。3.网络服务模型网络服务模型定义了分组在发送与接收端系统之间的端到端的运输特性。4.网络层的连接。

2023-04-18 20:09:29 132

原创 【计网】运输层

慢启动结束有三种方式,第一种如果遇到由超时指示的丢包事件(即拥塞),TCP发送方就将拥塞窗口重设为1,重新启动慢启动过程,并将慢启动阈值设置为拥塞发生时慢启动窗口的一半。但是,每当定时器另两个事件(即收到上层应用的数据和收到ACK)中的任意一个启动时,定时器的时间间隔还是由最近的EstimatedRTT和DevRTT推算出的值。TCP发送仅维持已发送但未被确认字节的最小序号和下一个要发送字节的序号,这一点很像GBN,但TCP和GBN也有一些显著的区别,许多TCP实现会将正确接收但失序的报文段缓存起来。

2023-03-30 14:26:16 45

原创 【计网】----概述和应用层

2.邮件传输过程:发送方的用户代理将邮件通过SMTP协议传输到发送方自己的邮件服务器,然后发送方的邮件服务器再通过SMTP协议将邮件传输到接收方的邮件服务器,接收方邮件服务器将邮件送到邮箱中,最后接收方通过用户代理通过拉取协议将邮件从邮箱中拉取到客户端软件中。首部行Host指明对象所在的主机,User-agent用来指明用户代理,即向服务器发送请求的浏览器的类型,服务器可以向不用类型的用户代理实际发送相同对象的不同版本(每个版本都有相同的URL)。TCP提供可靠的、字节流的服务,UDP提供不可靠服务。

2023-03-26 13:18:49 49

原创 【数据结构】字典树(Trie)

字典树

2023-01-29 18:15:06 61

原创 【关键字】auto

c++11新增关键字auto的使用

2023-01-28 13:02:36 50

原创 【c++】输入输出

输入输出

2023-01-25 23:23:26 22

原创 【总结】树形dp

树形dp总结

2023-01-08 23:38:30 233

原创 【python】学习笔记---常用内置函数

python3常用内置函数

2022-12-28 19:33:04 176 1

空空如也

空空如也

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

TA关注的人

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